This is an automated email from the ASF dual-hosted git repository.
wangyizhi pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git
The following commit(s) were added to refs/heads/dev by this push:
new fc16282 [Feature][UI Next] Interface debugging(login)
fc16282 is described below
commit fc162826d91576da2649f5acfd6f11bcff58c5d7
Author: labbomb <[email protected]>
AuthorDate: Fri Dec 17 21:10:59 2021 +0800
[Feature][UI Next] Interface debugging(login)
---
dolphinscheduler-ui-next/package.json | 2 ++
.../src/locales/modules/en_US.ts | 8 ++---
.../src/locales/modules/zh_CN.ts | 8 ++---
dolphinscheduler-ui-next/src/router/index.ts | 1 -
dolphinscheduler-ui-next/src/service/service.ts | 26 +++++++++++---
dolphinscheduler-ui-next/src/store/theme/theme.ts | 2 +-
dolphinscheduler-ui-next/src/views/login/index.tsx | 42 ++++++++++++----------
7 files changed, 56 insertions(+), 33 deletions(-)
diff --git a/dolphinscheduler-ui-next/package.json
b/dolphinscheduler-ui-next/package.json
index 300b9b0..712e768 100644
--- a/dolphinscheduler-ui-next/package.json
+++ b/dolphinscheduler-ui-next/package.json
@@ -16,6 +16,7 @@
"naive-ui": "^2.21.5",
"nprogress": "^0.2.0",
"pinia": "^2.0.0-rc.10",
+ "qs": "^6.10.2",
"vfonts": "^0.1.0",
"vue": "^3.2.23",
"vue-i18n": "^9.2.0-beta.23",
@@ -24,6 +25,7 @@
"devDependencies": {
"@types/node": "^16.11.13",
"@types/nprogress": "^0.2.0",
+ "@types/qs": "^6.9.7",
"@typescript-eslint/eslint-plugin": "^5.6.0",
"@typescript-eslint/parser": "^5.6.0",
"@vitejs/plugin-vue": "^1.10.2",
diff --git a/dolphinscheduler-ui-next/src/locales/modules/en_US.ts
b/dolphinscheduler-ui-next/src/locales/modules/en_US.ts
index 66c5d90..16633d2 100644
--- a/dolphinscheduler-ui-next/src/locales/modules/en_US.ts
+++ b/dolphinscheduler-ui-next/src/locales/modules/en_US.ts
@@ -17,10 +17,10 @@
const login = {
test: 'Test',
- username: 'Username',
- username_tips: 'Please enter your username',
- password: 'Password',
- password_tips: 'Please enter your password',
+ userName: 'Username',
+ userName_tips: 'Please enter your username',
+ userPassword: 'Password',
+ userPassword_tips: 'Please enter your password',
signin: 'Sign In',
}
diff --git a/dolphinscheduler-ui-next/src/locales/modules/zh_CN.ts
b/dolphinscheduler-ui-next/src/locales/modules/zh_CN.ts
index 8e7cdd7..a25564d 100644
--- a/dolphinscheduler-ui-next/src/locales/modules/zh_CN.ts
+++ b/dolphinscheduler-ui-next/src/locales/modules/zh_CN.ts
@@ -17,10 +17,10 @@
const login = {
test: '测试',
- username: '用户名',
- username_tips: '请输入用户名',
- password: '密码',
- password_tips: '请输入密码',
+ userName: '用户名',
+ userName_tips: '请输入用户名',
+ userPassword: '密码',
+ userPassword_tips: '请输入密码',
signin: '登录',
}
diff --git a/dolphinscheduler-ui-next/src/router/index.ts
b/dolphinscheduler-ui-next/src/router/index.ts
index 5aaae75..ed70ba8 100644
--- a/dolphinscheduler-ui-next/src/router/index.ts
+++ b/dolphinscheduler-ui-next/src/router/index.ts
@@ -18,7 +18,6 @@
import {
createRouter,
createWebHistory,
- RouteRecordRaw,
NavigationGuardNext,
RouteLocationNormalized,
} from 'vue-router'
diff --git a/dolphinscheduler-ui-next/src/service/service.ts
b/dolphinscheduler-ui-next/src/service/service.ts
index a8211dc..b3f0fe6 100644
--- a/dolphinscheduler-ui-next/src/service/service.ts
+++ b/dolphinscheduler-ui-next/src/service/service.ts
@@ -16,24 +16,42 @@
*/
import axios, { AxiosRequestConfig, AxiosResponse, AxiosError } from 'axios'
+import qs from 'qs'
const baseRequestConfig: AxiosRequestConfig = {
- baseURL: '/dolphinscheduler',
+ baseURL: import.meta.env.VITE_APP_WEB_URL + '/dolphinscheduler',
timeout: 10000,
+ transformRequest: (params) => {
+ return qs.stringify(params, { arrayFormat: 'repeat' })
+ },
+ paramsSerializer: (params) => {
+ return qs.stringify(params, { arrayFormat: 'repeat'})
+ }
}
const service = axios.create(baseRequestConfig)
-const err = (error: AxiosError): Promise<AxiosError> => {
- return Promise.reject(error)
+const err = (err: AxiosError): Promise<AxiosError> => {
+ return Promise.reject(err)
}
service.interceptors.request.use((config: AxiosRequestConfig<any>) => {
+ console.log('config', config)
return config
}, err)
+// The response to intercept
service.interceptors.response.use((res: AxiosResponse) => {
- return res.data
+
+ // No code will be processed
+ if (res.data.code === undefined) {
+ return res.data
+ }
+
+ switch (res.data.code) {
+ case 0: return res.data.data
+ default: throw new Error(`${res.data.msg}: ${res.config.url}`)
+ }
}, err)
export { service as axios }
diff --git a/dolphinscheduler-ui-next/src/store/theme/theme.ts
b/dolphinscheduler-ui-next/src/store/theme/theme.ts
index a9f8be6..eb8364e 100644
--- a/dolphinscheduler-ui-next/src/store/theme/theme.ts
+++ b/dolphinscheduler-ui-next/src/store/theme/theme.ts
@@ -21,7 +21,7 @@ import ThemeState from './types'
export const useThemeStore = defineStore({
id: 'theme',
state: (): ThemeState => ({
- darkTheme: true,
+ darkTheme: false,
}),
getters: {
getTheme(): boolean {
diff --git a/dolphinscheduler-ui-next/src/views/login/index.tsx
b/dolphinscheduler-ui-next/src/views/login/index.tsx
index c052007..ebd7d42 100644
--- a/dolphinscheduler-ui-next/src/views/login/index.tsx
+++ b/dolphinscheduler-ui-next/src/views/login/index.tsx
@@ -21,31 +21,32 @@ import { useI18n } from 'vue-i18n'
import { NInput, NButton, NSwitch, NForm, NFormItem, FormRules } from
'naive-ui'
import { useRouter } from 'vue-router'
import type { Router } from 'vue-router'
+import { queryLog } from '@/service/modules/login'
-const Login = defineComponent({
+const login = defineComponent({
name: 'login',
setup() {
const { t, locale } = useI18n()
const state = reactive({
loginFormRef: ref(),
loginForm: {
- username: '',
- password: '',
+ userName: '',
+ userPassword: '',
},
rules: {
- username: {
+ userName: {
trigger: ['input', 'blur'],
validator() {
- if (state.loginForm.username === '') {
- return new Error(`${t('login.username_tips')}`)
+ if (state.loginForm.userName === '') {
+ return new Error(`${t('login.userName_tips')}`)
}
},
},
- password: {
+ userPassword: {
trigger: ['input', 'blur'],
validator() {
- if (state.loginForm.password === '') {
- return new Error(`${t('login.password_tips')}`)
+ if (state.loginForm.userPassword === '') {
+ return new Error(`${t('login.userPassword_tips')}`)
}
},
},
@@ -60,7 +61,10 @@ const Login = defineComponent({
const handleLogin = () => {
state.loginFormRef.validate((valid: any) => {
if (!valid) {
- router.push({ path: 'home' })
+ queryLog({...state.loginForm}).then((res: Response) => {
+ console.log('res', res)
+ router.push({ path: 'home' })
+ })
} else {
console.log('Invalid')
}
@@ -91,29 +95,29 @@ const Login = defineComponent({
<div class={styles['form-model']}>
<NForm rules={this.rules} ref='loginFormRef'>
<NFormItem
- label={this.t('login.username')}
+ label={this.t('login.userName')}
label-style={{ color: 'black' }}
- path='username'
+ path='userName'
>
<NInput
type='text'
size='large'
- v-model={[this.loginForm.username, 'value']}
- placeholder={this.t('login.username_tips')}
+ v-model={[this.loginForm.userName, 'value']}
+ placeholder={this.t('login.userName_tips')}
autofocus
onKeydown={withKeys(this.handleLogin, ['enter'])}
/>
</NFormItem>
<NFormItem
- label={this.t('login.password')}
+ label={this.t('login.userPassword')}
label-style={{ color: 'black' }}
- path='password'
+ path='userPassword'
>
<NInput
type='password'
size='large'
- v-model={[this.loginForm.password, 'value']}
- placeholder={this.t('login.password_tips')}
+ v-model={[this.loginForm.userPassword, 'value']}
+ placeholder={this.t('login.userPassword_tips')}
onKeydown={withKeys(this.handleLogin, ['enter'])}
/>
</NFormItem>
@@ -128,4 +132,4 @@ const Login = defineComponent({
},
})
-export default Login
+export default login