From 782ba234354fd5aa893993d92845306a505f436d Mon Sep 17 00:00:00 2001 From: ktianc <2445667550@qq.com> Date: Fri, 16 Sep 2022 17:34:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kinit-admin/mock/user/index.ts | 48 +- kinit-admin/src/api/login/index.ts | 6 +- kinit-admin/src/api/login/types.ts | 4 +- kinit-admin/src/config/app.ts | 4 +- kinit-admin/src/config/axios/config.ts | 2 +- kinit-admin/src/config/axios/service.ts | 14 +- kinit-admin/src/locales/en.ts | 2 + kinit-admin/src/locales/zh-CN.ts | 2 + kinit-admin/src/router/index.ts | 426 ------- kinit-admin/src/store/modules/app.ts | 1 + kinit-admin/src/store/modules/auth.ts | 52 + kinit-admin/src/store/modules/dict.ts | 1 + kinit-admin/src/store/modules/locale.ts | 1 + kinit-admin/src/store/modules/permission.ts | 1 + kinit-admin/src/views/Components/CountTo.vue | 100 -- .../src/views/Components/Descriptions.vue | 142 --- kinit-admin/src/views/Components/Dialog.vue | 147 --- kinit-admin/src/views/Components/Echart.vue | 36 - .../src/views/Components/Editor/Editor.vue | 32 - .../src/views/Components/Form/DefaultForm.vue | 1127 ----------------- .../src/views/Components/Form/RefForm.vue | 269 ---- .../src/views/Components/Form/UseFormDemo.vue | 279 ---- .../src/views/Components/Highlight.vue | 20 - kinit-admin/src/views/Components/Icon.vue | 62 - .../src/views/Components/ImageViewer.vue | 30 - kinit-admin/src/views/Components/Infotip.vue | 33 - .../src/views/Components/InputPassword.vue | 21 - kinit-admin/src/views/Components/Qrcode.vue | 108 -- kinit-admin/src/views/Components/Search.vue | 226 ---- kinit-admin/src/views/Components/Sticky.vue | 62 - .../views/Components/Table/DefaultTable.vue | 100 -- .../src/views/Components/Table/RefTable.vue | 181 --- .../views/Components/Table/UseTableDemo.vue | 180 --- .../views/Example/Dialog/ExampleDialog.vue | 273 ---- .../Example/Dialog/components/Detail.vue | 40 - .../views/Example/Dialog/components/Write.vue | 55 - .../src/views/Example/Page/ExampleAdd.vue | 52 - .../src/views/Example/Page/ExampleDetail.vue | 32 - .../src/views/Example/Page/ExampleEdit.vue | 64 - .../src/views/Example/Page/ExamplePage.vue | 164 --- .../views/Example/Page/components/Detail.vue | 65 - .../views/Example/Page/components/Write.vue | 146 --- kinit-admin/src/views/Guide/Guide.vue | 20 - kinit-admin/src/views/Level/Menu111.vue | 20 - kinit-admin/src/views/Level/Menu12.vue | 20 - kinit-admin/src/views/Level/Menu2.vue | 20 - .../src/views/Login/components/LoginForm.vue | 27 +- .../src/views/hooks/useCrudSchemas.vue | 222 ---- kinit-admin/src/views/hooks/useWatermark.vue | 32 - kinit-admin/types/global.d.ts | 1 + kinit-admin/vite.config.ts | 6 +- kinit-api/apps/vadmin/auth/utils/login.py | 19 +- kinit-api/utils/response.py | 9 +- kinit-api/utils/status.py | 4 +- 54 files changed, 128 insertions(+), 4882 deletions(-) create mode 100644 kinit-admin/src/store/modules/auth.ts delete mode 100644 kinit-admin/src/views/Components/CountTo.vue delete mode 100644 kinit-admin/src/views/Components/Descriptions.vue delete mode 100644 kinit-admin/src/views/Components/Dialog.vue delete mode 100644 kinit-admin/src/views/Components/Echart.vue delete mode 100644 kinit-admin/src/views/Components/Editor/Editor.vue delete mode 100644 kinit-admin/src/views/Components/Form/DefaultForm.vue delete mode 100644 kinit-admin/src/views/Components/Form/RefForm.vue delete mode 100644 kinit-admin/src/views/Components/Form/UseFormDemo.vue delete mode 100644 kinit-admin/src/views/Components/Highlight.vue delete mode 100644 kinit-admin/src/views/Components/Icon.vue delete mode 100644 kinit-admin/src/views/Components/ImageViewer.vue delete mode 100644 kinit-admin/src/views/Components/Infotip.vue delete mode 100644 kinit-admin/src/views/Components/InputPassword.vue delete mode 100644 kinit-admin/src/views/Components/Qrcode.vue delete mode 100644 kinit-admin/src/views/Components/Search.vue delete mode 100644 kinit-admin/src/views/Components/Sticky.vue delete mode 100644 kinit-admin/src/views/Components/Table/DefaultTable.vue delete mode 100644 kinit-admin/src/views/Components/Table/RefTable.vue delete mode 100644 kinit-admin/src/views/Components/Table/UseTableDemo.vue delete mode 100644 kinit-admin/src/views/Example/Dialog/ExampleDialog.vue delete mode 100644 kinit-admin/src/views/Example/Dialog/components/Detail.vue delete mode 100644 kinit-admin/src/views/Example/Dialog/components/Write.vue delete mode 100644 kinit-admin/src/views/Example/Page/ExampleAdd.vue delete mode 100644 kinit-admin/src/views/Example/Page/ExampleDetail.vue delete mode 100644 kinit-admin/src/views/Example/Page/ExampleEdit.vue delete mode 100644 kinit-admin/src/views/Example/Page/ExamplePage.vue delete mode 100644 kinit-admin/src/views/Example/Page/components/Detail.vue delete mode 100644 kinit-admin/src/views/Example/Page/components/Write.vue delete mode 100644 kinit-admin/src/views/Guide/Guide.vue delete mode 100644 kinit-admin/src/views/Level/Menu111.vue delete mode 100644 kinit-admin/src/views/Level/Menu12.vue delete mode 100644 kinit-admin/src/views/Level/Menu2.vue delete mode 100644 kinit-admin/src/views/hooks/useCrudSchemas.vue delete mode 100644 kinit-admin/src/views/hooks/useWatermark.vue diff --git a/kinit-admin/mock/user/index.ts b/kinit-admin/mock/user/index.ts index 83bcd87..a6e64f4 100644 --- a/kinit-admin/mock/user/index.ts +++ b/kinit-admin/mock/user/index.ts @@ -54,30 +54,30 @@ export default [ } }, // 登录接口 - { - url: '/user/login', - method: 'post', - timeout, - response: ({ body }) => { - const data = body - let hasUser = false - for (const user of List) { - if (user.username === data.username && user.password === data.password) { - hasUser = true - return { - code: result_code, - data: user - } - } - } - if (!hasUser) { - return { - code: '500', - message: '账号或密码错误' - } - } - } - }, + // { + // url: '/user/login', + // method: 'post', + // timeout, + // response: ({ body }) => { + // const data = body + // let hasUser = false + // for (const user of List) { + // if (user.username === data.username && user.password === data.password) { + // hasUser = true + // return { + // code: result_code, + // data: user + // } + // } + // } + // if (!hasUser) { + // return { + // code: '500', + // message: '手机号或密码错误' + // } + // } + // } + // }, // 退出接口 { url: '/user/loginOut', diff --git a/kinit-admin/src/api/login/index.ts b/kinit-admin/src/api/login/index.ts index 04bcbda..8fc3240 100644 --- a/kinit-admin/src/api/login/index.ts +++ b/kinit-admin/src/api/login/index.ts @@ -1,12 +1,12 @@ import request from '@/config/axios' -import type { UserType } from './types' +import type { UserLoginType, UserType } from './types' interface RoleParams { roleName: string } -export const loginApi = (data: UserType): Promise> => { - return request.post({ url: '/user/login', data }) +export const loginApi = (data: UserLoginType): Promise => { + return request.post({ url: '/api/auth/login', data }) } export const loginOutApi = (): Promise => { diff --git a/kinit-admin/src/api/login/types.ts b/kinit-admin/src/api/login/types.ts index 446a023..49aee22 100644 --- a/kinit-admin/src/api/login/types.ts +++ b/kinit-admin/src/api/login/types.ts @@ -1,10 +1,10 @@ export type UserLoginType = { - username: string + telephone: string password: string } export type UserType = { - username: string + telephone: string password: string role: string roleId: string diff --git a/kinit-admin/src/config/app.ts b/kinit-admin/src/config/app.ts index 2c51654..4660d0c 100644 --- a/kinit-admin/src/config/app.ts +++ b/kinit-admin/src/config/app.ts @@ -52,7 +52,7 @@ export const appModules: AppState = { sizeMap: ['default', 'large', 'small'], mobile: false, // 是否是移动端 title: import.meta.env.VITE_APP_TITLE, // 标题 - pageLoading: false, // 路由跳转loading + pageLoading: true, // 路由跳转loading breadcrumb: true, // 面包屑 breadcrumbIcon: true, // 面包屑图标 @@ -68,7 +68,7 @@ export const appModules: AppState = { fixedHeader: true, // 固定toolheader footer: true, // 显示页脚 greyMode: false, // 是否开始灰色模式,用于特殊悼念日 - dynamicRouter: wsCache.get('dynamicRouter') || false, // 是否动态路由 + dynamicRouter: wsCache.get('dynamicRouter') || true, // 是否动态路由 layout: wsCache.get('layout') || 'classic', // layout布局 isDark: wsCache.get('isDark') || false, // 是否是暗黑模式 diff --git a/kinit-admin/src/config/axios/config.ts b/kinit-admin/src/config/axios/config.ts index 69c2fc0..1830335 100644 --- a/kinit-admin/src/config/axios/config.ts +++ b/kinit-admin/src/config/axios/config.ts @@ -29,7 +29,7 @@ const config: { /** * 接口成功返回状态码 */ - result_code: '0000', + result_code: '200', /** * 接口请求超时时间 diff --git a/kinit-admin/src/config/axios/service.ts b/kinit-admin/src/config/axios/service.ts index a3cacd9..7c28020 100644 --- a/kinit-admin/src/config/axios/service.ts +++ b/kinit-admin/src/config/axios/service.ts @@ -43,7 +43,7 @@ service.interceptors.request.use( }, (error: AxiosError) => { // Do something with request error - console.log(error) // for debug + console.log('请求报错', error) // for debug Promise.reject(error) } ) @@ -61,8 +61,16 @@ service.interceptors.response.use( } }, (error: AxiosError) => { - console.log('err' + error) // for debug - ElMessage.error(error.message) + console.log('err' + error) + let { message } = error + if (message == 'Network Error') { + message = '后端接口连接异常' + } else if (message.includes('timeout')) { + message = '系统接口请求超时' + } else if (message.includes('Request failed with status code')) { + message = '系统接口' + message.substr(message.length - 3) + '异常' + } + ElMessage.error(message) return Promise.reject(error) } ) diff --git a/kinit-admin/src/locales/en.ts b/kinit-admin/src/locales/en.ts index 6f6ec58..6ace4b6 100644 --- a/kinit-admin/src/locales/en.ts +++ b/kinit-admin/src/locales/en.ts @@ -87,6 +87,7 @@ export default { welcome: 'Welcome to the system', message: 'Backstage management system', username: 'Username', + telephone: 'Telephone', password: 'Password', register: 'Register', checkPassword: 'Confirm password', @@ -96,6 +97,7 @@ export default { hasUser: 'Existing account? Go to login', forgetPassword: 'Forget password', usernamePlaceholder: 'Please input username', + telephonePlaceholder: 'Please input telephone', passwordPlaceholder: 'Please input password', code: 'Verification code', codePlaceholder: 'Please input verification code' diff --git a/kinit-admin/src/locales/zh-CN.ts b/kinit-admin/src/locales/zh-CN.ts index 7600880..bdb4f52 100644 --- a/kinit-admin/src/locales/zh-CN.ts +++ b/kinit-admin/src/locales/zh-CN.ts @@ -87,6 +87,7 @@ export default { welcome: '欢迎使用本系统', message: '开箱即用的中后台管理系统', username: '用户名', + telephone: '手机号', password: '密码', register: '注册', checkPassword: '确认密码', @@ -96,6 +97,7 @@ export default { hasUser: '已有账号?去登录', forgetPassword: '忘记密码', usernamePlaceholder: '请输入用户名', + telephonePlaceholder: '请输入手机号', passwordPlaceholder: '请输入密码', code: '验证码', codePlaceholder: '请输入验证码' diff --git a/kinit-admin/src/router/index.ts b/kinit-admin/src/router/index.ts index edb4b68..7fe0028 100644 --- a/kinit-admin/src/router/index.ts +++ b/kinit-admin/src/router/index.ts @@ -87,432 +87,6 @@ export const asyncRouterMap: AppRouteRecordRaw[] = [ } } ] - }, - { - path: '/external-link', - component: Layout, - meta: {}, - name: 'ExternalLink', - children: [ - { - path: 'https://element-plus-admin-doc.cn/', - name: 'DocumentLink', - meta: { - title: t('router.document'), - icon: 'clarity:document-solid' - } - } - ] - }, - { - path: '/guide', - component: Layout, - name: 'Guide', - meta: {}, - children: [ - { - path: 'index', - component: () => import('@/views/Guide/Guide.vue'), - name: 'GuideDemo', - meta: { - title: t('router.guide'), - icon: 'cib:telegram-plane' - } - } - ] - }, - { - path: '/components', - component: Layout, - name: 'ComponentsDemo', - meta: { - title: t('router.component'), - icon: 'bx:bxs-component', - alwaysShow: true - }, - children: [ - { - path: 'form', - component: getParentLayout(), - redirect: '/components/form/default-form', - name: 'Form', - meta: { - title: t('router.form'), - alwaysShow: true - }, - children: [ - { - path: 'default-form', - component: () => import('@/views/Components/Form/DefaultForm.vue'), - name: 'DefaultForm', - meta: { - title: t('router.defaultForm') - } - }, - { - path: 'use-form', - component: () => import('@/views/Components/Form/UseFormDemo.vue'), - name: 'UseForm', - meta: { - title: 'UseForm' - } - }, - { - path: 'ref-form', - component: () => import('@/views/Components/Form/RefForm.vue'), - name: 'RefForm', - meta: { - title: 'RefForm' - } - } - ] - }, - { - path: 'table', - component: getParentLayout(), - redirect: '/components/table/default-table', - name: 'TableDemo', - meta: { - title: t('router.table'), - alwaysShow: true - }, - children: [ - { - path: 'default-table', - component: () => import('@/views/Components/Table/DefaultTable.vue'), - name: 'DefaultTable', - meta: { - title: t('router.defaultTable') - } - }, - { - path: 'use-table', - component: () => import('@/views/Components/Table/UseTableDemo.vue'), - name: 'UseTable', - meta: { - title: 'UseTable' - } - }, - { - path: 'ref-table', - component: () => import('@/views/Components/Table/RefTable.vue'), - name: 'RefTable', - meta: { - title: 'RefTable' - } - } - ] - }, - { - path: 'editor-demo', - component: getParentLayout(), - redirect: '/components/editor-demo/editor', - name: 'EditorDemo', - meta: { - title: t('router.editor'), - alwaysShow: true - }, - children: [ - { - path: 'editor', - component: () => import('@/views/Components/Editor/Editor.vue'), - name: 'Editor', - meta: { - title: t('router.richText') - } - } - ] - }, - { - path: 'search', - component: () => import('@/views/Components/Search.vue'), - name: 'Search', - meta: { - title: t('router.search') - } - }, - { - path: 'descriptions', - component: () => import('@/views/Components/Descriptions.vue'), - name: 'Descriptions', - meta: { - title: t('router.descriptions') - } - }, - { - path: 'image-viewer', - component: () => import('@/views/Components/ImageViewer.vue'), - name: 'ImageViewer', - meta: { - title: t('router.imageViewer') - } - }, - { - path: 'dialog', - component: () => import('@/views/Components/Dialog.vue'), - name: 'Dialog', - meta: { - title: t('router.dialog') - } - }, - { - path: 'icon', - component: () => import('@/views/Components/Icon.vue'), - name: 'Icon', - meta: { - title: t('router.icon') - } - }, - { - path: 'echart', - component: () => import('@/views/Components/Echart.vue'), - name: 'Echart', - meta: { - title: t('router.echart') - } - }, - { - path: 'count-to', - component: () => import('@/views/Components/CountTo.vue'), - name: 'CountTo', - meta: { - title: t('router.countTo') - } - }, - { - path: 'qrcode', - component: () => import('@/views/Components/Qrcode.vue'), - name: 'Qrcode', - meta: { - title: t('router.qrcode') - } - }, - { - path: 'highlight', - component: () => import('@/views/Components/Highlight.vue'), - name: 'Highlight', - meta: { - title: t('router.highlight') - } - }, - { - path: 'infotip', - component: () => import('@/views/Components/Infotip.vue'), - name: 'Infotip', - meta: { - title: t('router.infotip') - } - }, - { - path: 'input-password', - component: () => import('@/views/Components/InputPassword.vue'), - name: 'InputPassword', - meta: { - title: t('router.inputPassword') - } - }, - { - path: 'sticky', - component: () => import('@/views/Components/Sticky.vue'), - name: 'Sticky', - meta: { - title: t('router.sticky') - } - } - ] - }, - { - path: '/hooks', - component: Layout, - redirect: '/hooks/useWatermark', - name: 'Hooks', - meta: { - title: 'hooks', - icon: 'ic:outline-webhook', - alwaysShow: true - }, - children: [ - { - path: 'useWatermark', - component: () => import('@/views/hooks/useWatermark.vue'), - name: 'UseWatermark', - meta: { - title: 'useWatermark' - } - }, - { - path: 'useCrudSchemas', - component: () => import('@/views/hooks/useCrudSchemas.vue'), - name: 'UseCrudSchemas', - meta: { - title: 'useCrudSchemas' - } - } - ] - }, - { - path: '/level', - component: Layout, - redirect: '/level/menu1/menu1-1/menu1-1-1', - name: 'Level', - meta: { - title: t('router.level'), - icon: 'carbon:skill-level-advanced' - }, - children: [ - { - path: 'menu1', - name: 'Menu1', - component: getParentLayout(), - redirect: '/level/menu1/menu1-1/menu1-1-1', - meta: { - title: t('router.menu1') - }, - children: [ - { - path: 'menu1-1', - name: 'Menu11', - component: getParentLayout(), - redirect: '/level/menu1/menu1-1/menu1-1-1', - meta: { - title: t('router.menu11'), - alwaysShow: true - }, - children: [ - { - path: 'menu1-1-1', - name: 'Menu111', - component: () => import('@/views/Level/Menu111.vue'), - meta: { - title: t('router.menu111') - } - } - ] - }, - { - path: 'menu1-2', - name: 'Menu12', - component: () => import('@/views/Level/Menu12.vue'), - meta: { - title: t('router.menu12') - } - } - ] - }, - { - path: 'menu2', - name: 'Menu2', - component: () => import('@/views/Level/Menu2.vue'), - meta: { - title: t('router.menu2') - } - } - ] - }, - { - path: '/example', - component: Layout, - redirect: '/example/example-dialog', - name: 'Example', - meta: { - title: t('router.example'), - icon: 'ep:management', - alwaysShow: true - }, - children: [ - { - path: 'example-dialog', - component: () => import('@/views/Example/Dialog/ExampleDialog.vue'), - name: 'ExampleDialog', - meta: { - title: t('router.exampleDialog') - } - }, - { - path: 'example-page', - component: () => import('@/views/Example/Page/ExamplePage.vue'), - name: 'ExamplePage', - meta: { - title: t('router.examplePage') - } - }, - { - path: 'example-add', - component: () => import('@/views/Example/Page/ExampleAdd.vue'), - name: 'ExampleAdd', - meta: { - title: t('router.exampleAdd'), - noTagsView: true, - noCache: true, - hidden: true, - canTo: true, - activeMenu: '/example/example-page' - } - }, - { - path: 'example-edit', - component: () => import('@/views/Example/Page/ExampleEdit.vue'), - name: 'ExampleEdit', - meta: { - title: t('router.exampleEdit'), - noTagsView: true, - noCache: true, - hidden: true, - canTo: true, - activeMenu: '/example/example-page' - } - }, - { - path: 'example-detail', - component: () => import('@/views/Example/Page/ExampleDetail.vue'), - name: 'ExampleDetail', - meta: { - title: t('router.exampleDetail'), - noTagsView: true, - noCache: true, - hidden: true, - canTo: true, - activeMenu: '/example/example-page' - } - } - ] - }, - { - path: '/error', - component: Layout, - redirect: '/error/404', - name: 'Error', - meta: { - title: t('router.errorPage'), - icon: 'ci:error', - alwaysShow: true - }, - children: [ - { - path: '404-demo', - component: () => import('@/views/Error/404.vue'), - name: '404Demo', - meta: { - title: '404' - } - }, - { - path: '403-demo', - component: () => import('@/views/Error/403.vue'), - name: '403Demo', - meta: { - title: '403' - } - }, - { - path: '500-demo', - component: () => import('@/views/Error/500.vue'), - name: '500Demo', - meta: { - title: '500' - } - } - ] } // { // path: '/authorization', diff --git a/kinit-admin/src/store/modules/app.ts b/kinit-admin/src/store/modules/app.ts index beb6884..8cd233e 100644 --- a/kinit-admin/src/store/modules/app.ts +++ b/kinit-admin/src/store/modules/app.ts @@ -12,6 +12,7 @@ export const useAppStore = defineStore({ id: 'app', state: (): AppState => appModules, persist: { + // 开启持久化存储 enabled: true }, getters: { diff --git a/kinit-admin/src/store/modules/auth.ts b/kinit-admin/src/store/modules/auth.ts new file mode 100644 index 0000000..6151ffa --- /dev/null +++ b/kinit-admin/src/store/modules/auth.ts @@ -0,0 +1,52 @@ +import { defineStore } from 'pinia' +import { store } from '../index' +import { UserLoginType } from '@/api/login/types' +import { loginApi } from '@/api/login' + +export interface AuthState { + token: string + is_reset_password: boolean + user_id: number +} + +export const useAuthStore = defineStore({ + id: 'auth', + state: (): AuthState => ({ + token: '', + is_reset_password: false, + user_id: 0 + }), + persist: { + // 开启持久化存储 + enabled: true + }, + getters: { + getToken(): string { + return this.token + }, + getUserId(): number { + return this.user_id + }, + getIsResetPassword(): boolean { + return this.is_reset_password + } + }, + actions: { + async login(formData: UserLoginType) { + const res = await loginApi(formData) + if (res) { + console.log('登录成功', res) + } else { + console.log('登录失败', res) + } + // this.token = token + // this.is_reset_password = is_reset_password + // this.user_id = user_id + return res + } + } +}) + +export const useAuthStoreWithOut = () => { + return useAuthStore(store) +} diff --git a/kinit-admin/src/store/modules/dict.ts b/kinit-admin/src/store/modules/dict.ts index 446b925..9de648c 100644 --- a/kinit-admin/src/store/modules/dict.ts +++ b/kinit-admin/src/store/modules/dict.ts @@ -13,6 +13,7 @@ export const useDictStore = defineStore({ dictObj: {} }), persist: { + // 开启持久化存储 enabled: true }, getters: { diff --git a/kinit-admin/src/store/modules/locale.ts b/kinit-admin/src/store/modules/locale.ts index 4b7d064..385df9f 100644 --- a/kinit-admin/src/store/modules/locale.ts +++ b/kinit-admin/src/store/modules/locale.ts @@ -10,6 +10,7 @@ export const useLocaleStore = defineStore({ id: 'locales', state: (): LocaleState => localeModules, persist: { + // 开启持久化存储 enabled: true }, getters: { diff --git a/kinit-admin/src/store/modules/permission.ts b/kinit-admin/src/store/modules/permission.ts index 22ca1a5..822a2d4 100644 --- a/kinit-admin/src/store/modules/permission.ts +++ b/kinit-admin/src/store/modules/permission.ts @@ -20,6 +20,7 @@ export const usePermissionStore = defineStore({ menuTabRouters: [] }), persist: { + // 开启持久化存储 enabled: true }, getters: { diff --git a/kinit-admin/src/views/Components/CountTo.vue b/kinit-admin/src/views/Components/CountTo.vue deleted file mode 100644 index 4c906b9..0000000 --- a/kinit-admin/src/views/Components/CountTo.vue +++ /dev/null @@ -1,100 +0,0 @@ - - - diff --git a/kinit-admin/src/views/Components/Descriptions.vue b/kinit-admin/src/views/Components/Descriptions.vue deleted file mode 100644 index e85408d..0000000 --- a/kinit-admin/src/views/Components/Descriptions.vue +++ /dev/null @@ -1,142 +0,0 @@ - - - - - diff --git a/kinit-admin/src/views/Components/Dialog.vue b/kinit-admin/src/views/Components/Dialog.vue deleted file mode 100644 index a5d2425..0000000 --- a/kinit-admin/src/views/Components/Dialog.vue +++ /dev/null @@ -1,147 +0,0 @@ - - - diff --git a/kinit-admin/src/views/Components/Echart.vue b/kinit-admin/src/views/Components/Echart.vue deleted file mode 100644 index da3493c..0000000 --- a/kinit-admin/src/views/Components/Echart.vue +++ /dev/null @@ -1,36 +0,0 @@ - - - diff --git a/kinit-admin/src/views/Components/Editor/Editor.vue b/kinit-admin/src/views/Components/Editor/Editor.vue deleted file mode 100644 index 9dde431..0000000 --- a/kinit-admin/src/views/Components/Editor/Editor.vue +++ /dev/null @@ -1,32 +0,0 @@ - - - diff --git a/kinit-admin/src/views/Components/Form/DefaultForm.vue b/kinit-admin/src/views/Components/Form/DefaultForm.vue deleted file mode 100644 index 238dd06..0000000 --- a/kinit-admin/src/views/Components/Form/DefaultForm.vue +++ /dev/null @@ -1,1127 +0,0 @@ - - - - - diff --git a/kinit-admin/src/views/Components/Form/RefForm.vue b/kinit-admin/src/views/Components/Form/RefForm.vue deleted file mode 100644 index f6e7137..0000000 --- a/kinit-admin/src/views/Components/Form/RefForm.vue +++ /dev/null @@ -1,269 +0,0 @@ - - - diff --git a/kinit-admin/src/views/Components/Form/UseFormDemo.vue b/kinit-admin/src/views/Components/Form/UseFormDemo.vue deleted file mode 100644 index 61d87d8..0000000 --- a/kinit-admin/src/views/Components/Form/UseFormDemo.vue +++ /dev/null @@ -1,279 +0,0 @@ - - - diff --git a/kinit-admin/src/views/Components/Highlight.vue b/kinit-admin/src/views/Components/Highlight.vue deleted file mode 100644 index 96baedc..0000000 --- a/kinit-admin/src/views/Components/Highlight.vue +++ /dev/null @@ -1,20 +0,0 @@ - - - diff --git a/kinit-admin/src/views/Components/Icon.vue b/kinit-admin/src/views/Components/Icon.vue deleted file mode 100644 index 7ec3273..0000000 --- a/kinit-admin/src/views/Components/Icon.vue +++ /dev/null @@ -1,62 +0,0 @@ - - - diff --git a/kinit-admin/src/views/Components/ImageViewer.vue b/kinit-admin/src/views/Components/ImageViewer.vue deleted file mode 100644 index d732a4e..0000000 --- a/kinit-admin/src/views/Components/ImageViewer.vue +++ /dev/null @@ -1,30 +0,0 @@ - - - diff --git a/kinit-admin/src/views/Components/Infotip.vue b/kinit-admin/src/views/Components/Infotip.vue deleted file mode 100644 index 49cff12..0000000 --- a/kinit-admin/src/views/Components/Infotip.vue +++ /dev/null @@ -1,33 +0,0 @@ - - - diff --git a/kinit-admin/src/views/Components/InputPassword.vue b/kinit-admin/src/views/Components/InputPassword.vue deleted file mode 100644 index bfae7e5..0000000 --- a/kinit-admin/src/views/Components/InputPassword.vue +++ /dev/null @@ -1,21 +0,0 @@ - - - diff --git a/kinit-admin/src/views/Components/Qrcode.vue b/kinit-admin/src/views/Components/Qrcode.vue deleted file mode 100644 index 6b7d792..0000000 --- a/kinit-admin/src/views/Components/Qrcode.vue +++ /dev/null @@ -1,108 +0,0 @@ - - - diff --git a/kinit-admin/src/views/Components/Search.vue b/kinit-admin/src/views/Components/Search.vue deleted file mode 100644 index 206d69e..0000000 --- a/kinit-admin/src/views/Components/Search.vue +++ /dev/null @@ -1,226 +0,0 @@ - - - diff --git a/kinit-admin/src/views/Components/Sticky.vue b/kinit-admin/src/views/Components/Sticky.vue deleted file mode 100644 index 44fd2b9..0000000 --- a/kinit-admin/src/views/Components/Sticky.vue +++ /dev/null @@ -1,62 +0,0 @@ - - - diff --git a/kinit-admin/src/views/Components/Table/DefaultTable.vue b/kinit-admin/src/views/Components/Table/DefaultTable.vue deleted file mode 100644 index e9a9217..0000000 --- a/kinit-admin/src/views/Components/Table/DefaultTable.vue +++ /dev/null @@ -1,100 +0,0 @@ - - - diff --git a/kinit-admin/src/views/Components/Table/RefTable.vue b/kinit-admin/src/views/Components/Table/RefTable.vue deleted file mode 100644 index 3874d49..0000000 --- a/kinit-admin/src/views/Components/Table/RefTable.vue +++ /dev/null @@ -1,181 +0,0 @@ - - - diff --git a/kinit-admin/src/views/Components/Table/UseTableDemo.vue b/kinit-admin/src/views/Components/Table/UseTableDemo.vue deleted file mode 100644 index 9df25f1..0000000 --- a/kinit-admin/src/views/Components/Table/UseTableDemo.vue +++ /dev/null @@ -1,180 +0,0 @@ - - - diff --git a/kinit-admin/src/views/Example/Dialog/ExampleDialog.vue b/kinit-admin/src/views/Example/Dialog/ExampleDialog.vue deleted file mode 100644 index afc629d..0000000 --- a/kinit-admin/src/views/Example/Dialog/ExampleDialog.vue +++ /dev/null @@ -1,273 +0,0 @@ - - - diff --git a/kinit-admin/src/views/Example/Dialog/components/Detail.vue b/kinit-admin/src/views/Example/Dialog/components/Detail.vue deleted file mode 100644 index 0b280b7..0000000 --- a/kinit-admin/src/views/Example/Dialog/components/Detail.vue +++ /dev/null @@ -1,40 +0,0 @@ - - - diff --git a/kinit-admin/src/views/Example/Dialog/components/Write.vue b/kinit-admin/src/views/Example/Dialog/components/Write.vue deleted file mode 100644 index 6cd960b..0000000 --- a/kinit-admin/src/views/Example/Dialog/components/Write.vue +++ /dev/null @@ -1,55 +0,0 @@ - - - diff --git a/kinit-admin/src/views/Example/Page/ExampleAdd.vue b/kinit-admin/src/views/Example/Page/ExampleAdd.vue deleted file mode 100644 index a29413d..0000000 --- a/kinit-admin/src/views/Example/Page/ExampleAdd.vue +++ /dev/null @@ -1,52 +0,0 @@ - - - diff --git a/kinit-admin/src/views/Example/Page/ExampleDetail.vue b/kinit-admin/src/views/Example/Page/ExampleDetail.vue deleted file mode 100644 index 39f170f..0000000 --- a/kinit-admin/src/views/Example/Page/ExampleDetail.vue +++ /dev/null @@ -1,32 +0,0 @@ - - - diff --git a/kinit-admin/src/views/Example/Page/ExampleEdit.vue b/kinit-admin/src/views/Example/Page/ExampleEdit.vue deleted file mode 100644 index 6818e9c..0000000 --- a/kinit-admin/src/views/Example/Page/ExampleEdit.vue +++ /dev/null @@ -1,64 +0,0 @@ - - - diff --git a/kinit-admin/src/views/Example/Page/ExamplePage.vue b/kinit-admin/src/views/Example/Page/ExamplePage.vue deleted file mode 100644 index cbe3886..0000000 --- a/kinit-admin/src/views/Example/Page/ExamplePage.vue +++ /dev/null @@ -1,164 +0,0 @@ - - - diff --git a/kinit-admin/src/views/Example/Page/components/Detail.vue b/kinit-admin/src/views/Example/Page/components/Detail.vue deleted file mode 100644 index b89ed4d..0000000 --- a/kinit-admin/src/views/Example/Page/components/Detail.vue +++ /dev/null @@ -1,65 +0,0 @@ - - - diff --git a/kinit-admin/src/views/Example/Page/components/Write.vue b/kinit-admin/src/views/Example/Page/components/Write.vue deleted file mode 100644 index 641d66b..0000000 --- a/kinit-admin/src/views/Example/Page/components/Write.vue +++ /dev/null @@ -1,146 +0,0 @@ - - - diff --git a/kinit-admin/src/views/Guide/Guide.vue b/kinit-admin/src/views/Guide/Guide.vue deleted file mode 100644 index 38a710a..0000000 --- a/kinit-admin/src/views/Guide/Guide.vue +++ /dev/null @@ -1,20 +0,0 @@ - - - diff --git a/kinit-admin/src/views/Level/Menu111.vue b/kinit-admin/src/views/Level/Menu111.vue deleted file mode 100644 index 015d0f8..0000000 --- a/kinit-admin/src/views/Level/Menu111.vue +++ /dev/null @@ -1,20 +0,0 @@ - - - diff --git a/kinit-admin/src/views/Level/Menu12.vue b/kinit-admin/src/views/Level/Menu12.vue deleted file mode 100644 index 8e2725d..0000000 --- a/kinit-admin/src/views/Level/Menu12.vue +++ /dev/null @@ -1,20 +0,0 @@ - - - diff --git a/kinit-admin/src/views/Level/Menu2.vue b/kinit-admin/src/views/Level/Menu2.vue deleted file mode 100644 index 72e2abb..0000000 --- a/kinit-admin/src/views/Level/Menu2.vue +++ /dev/null @@ -1,20 +0,0 @@ - - - diff --git a/kinit-admin/src/views/Login/components/LoginForm.vue b/kinit-admin/src/views/Login/components/LoginForm.vue index 5bceb8a..b11e87d 100644 --- a/kinit-admin/src/views/Login/components/LoginForm.vue +++ b/kinit-admin/src/views/Login/components/LoginForm.vue @@ -4,13 +4,14 @@ import { Form } from '@/components/Form' import { useI18n } from '@/hooks/web/useI18n' import { ElButton, ElCheckbox, ElLink } from 'element-plus' import { useForm } from '@/hooks/web/useForm' -import { loginApi, getTestRoleApi, getAdminRoleApi } from '@/api/login' +import { getTestRoleApi, getAdminRoleApi } from '@/api/login' import { useCache } from '@/hooks/web/useCache' import { useAppStore } from '@/store/modules/app' +import { useAuthStoreWithOut } from '@/store/modules/auth' import { usePermissionStore } from '@/store/modules/permission' import { useRouter } from 'vue-router' import type { RouteLocationNormalizedLoaded, RouteRecordRaw } from 'vue-router' -import { UserType } from '@/api/login/types' +import { UserType, UserLoginType } from '@/api/login/types' import { useValidator } from '@/hooks/web/useValidator' const { required } = useValidator() @@ -21,6 +22,8 @@ const appStore = useAppStore() const permissionStore = usePermissionStore() +const authStore = useAuthStoreWithOut() + const { currentRoute, addRoute, push } = useRouter() const { wsCache } = useCache() @@ -28,7 +31,7 @@ const { wsCache } = useCache() const { t } = useI18n() const rules = { - username: [required()], + telephone: [required()], password: [required()] } @@ -40,15 +43,15 @@ const schema = reactive([ } }, { - field: 'username', - label: t('login.username'), - value: 'admin', + field: 'telephone', + label: t('login.telephone'), + value: '15093430559', component: 'Input', colProps: { span: 24 }, componentProps: { - placeholder: t('login.usernamePlaceholder') + placeholder: t('login.telephonePlaceholder') } }, { @@ -123,10 +126,10 @@ const signIn = async () => { if (isValid) { loading.value = true const { getFormData } = methods - const formData = await getFormData() + const formData = await getFormData() try { - const res = await loginApi(formData) + const res = await authStore.login(formData) if (res) { wsCache.set(appStore.getUserInfo, res.data) @@ -154,18 +157,18 @@ const getRole = async () => { const { getFormData } = methods const formData = await getFormData() const params = { - roleName: formData.username + roleName: formData.telephone } // admin - 模拟后端过滤菜单 // test - 模拟前端过滤菜单 const res = - formData.username === 'admin' ? await getAdminRoleApi(params) : await getTestRoleApi(params) + formData.telephone === 'admin' ? await getAdminRoleApi(params) : await getTestRoleApi(params) if (res) { const { wsCache } = useCache() const routers = res.data || [] wsCache.set('roleRouters', routers) - formData.username === 'admin' + formData.telephone === 'admin' ? await permissionStore.generateRoutes('admin', routers).catch(() => {}) : await permissionStore.generateRoutes('test', routers).catch(() => {}) diff --git a/kinit-admin/src/views/hooks/useCrudSchemas.vue b/kinit-admin/src/views/hooks/useCrudSchemas.vue deleted file mode 100644 index afac0d7..0000000 --- a/kinit-admin/src/views/hooks/useCrudSchemas.vue +++ /dev/null @@ -1,222 +0,0 @@ - - - diff --git a/kinit-admin/src/views/hooks/useWatermark.vue b/kinit-admin/src/views/hooks/useWatermark.vue deleted file mode 100644 index 88029c0..0000000 --- a/kinit-admin/src/views/hooks/useWatermark.vue +++ /dev/null @@ -1,32 +0,0 @@ - - - diff --git a/kinit-admin/types/global.d.ts b/kinit-admin/types/global.d.ts index 04c753a..cb6b54e 100644 --- a/kinit-admin/types/global.d.ts +++ b/kinit-admin/types/global.d.ts @@ -37,4 +37,5 @@ declare interface AxiosConfig { declare interface IResponse { code: string data: T extends any ? T : T & any + message: string } diff --git a/kinit-admin/vite.config.ts b/kinit-admin/vite.config.ts index 50a6af0..13d1747 100644 --- a/kinit-admin/vite.config.ts +++ b/kinit-admin/vite.config.ts @@ -115,11 +115,11 @@ export default ({ command, mode }: ConfigEnv): UserConfig => { } }, server: { - port: 4000, + port: 5000, proxy: { // 选项写法 '/api': { - target: 'http://127.0.0.1:8000', + target: 'http://127.0.0.1:9000', changeOrigin: true, rewrite: path => path.replace(/^\/api/, '') } @@ -127,7 +127,7 @@ export default ({ command, mode }: ConfigEnv): UserConfig => { hmr: { overlay: false }, - host: '0.0.0.0' + host: '127.0.0.1' }, optimizeDeps: { include: [ diff --git a/kinit-api/apps/vadmin/auth/utils/login.py b/kinit-api/apps/vadmin/auth/utils/login.py index 8cfd957..e18d27b 100644 --- a/kinit-api/apps/vadmin/auth/utils/login.py +++ b/kinit-api/apps/vadmin/auth/utils/login.py @@ -53,8 +53,7 @@ async def login_for_access_token(request: Request, data: dict = Depends(authenti "telephone": user.telephone, "name": user.name, "nickname": user.nickname, - "avatar": user.avatar, - "roles": [{"name": i.name, "value": i.role_key} for i in user.roles] + "avatar": user.avatar } } await VadminLoginRecord.create_login_record(telephone=user.telephone, status=data.get("status"), request=request, @@ -75,22 +74,6 @@ async def get_user_info(auth: AdminAuth = Depends(full_admin)): return SuccessResponse(result) -@app.get("/getPermCode/", summary="获取当前登录用户所有权限") -async def get_perm_code(auth: AdminAuth = Depends(full_admin)): - roles = [] - for i in auth.admin.roles: - if i.is_admin: - return SuccessResponse(["*:*:*"]) - roles.append(i.id) - permissions = set() - for data_id in roles: - role_obj = await RoleDal(auth.db).get_data(data_id, options=[VadminRole.menus]) - for menu in role_obj.menus: - if menu.perms and menu.status: - permissions.add(menu.perms) - return SuccessResponse(list(permissions)) - - @app.get("/getMenuList/", summary="获取当前用户菜单树") async def get_menu_list(auth: AdminAuth = Depends(full_admin)): datas = await MenuDal(auth.db).get_routers(auth.admin) diff --git a/kinit-api/utils/response.py b/kinit-api/utils/response.py index 4d5af95..28d236f 100644 --- a/kinit-api/utils/response.py +++ b/kinit-api/utils/response.py @@ -13,8 +13,7 @@ class SuccessResponse(Response): self.data = { "code": code, "message": msg, - "result": data, - "type": "success", + "data": data } self.data.update(kwargs) super().__init__(content=self.data, status_code=status) @@ -24,13 +23,11 @@ class ErrorResponse(Response): """ 失败响应 """ - def __init__(self, msg=None, code=http.HTTP_ERROR, status=http_status.HTTP_400_BAD_REQUEST - , **kwargs): + def __init__(self, msg=None, code=http.HTTP_ERROR, status=http_status.HTTP_200_OK, **kwargs): self.data = { "code": code, "message": msg, - "result": [], - "type": "error", + "data": [] } self.data.update(kwargs) super().__init__(content=self.data, status_code=status) diff --git a/kinit-api/utils/status.py b/kinit-api/utils/status.py index 68ec4d6..a29689e 100644 --- a/kinit-api/utils/status.py +++ b/kinit-api/utils/status.py @@ -7,5 +7,5 @@ # @desc : 简要说明 -HTTP_SUCCESS = 0 -HTTP_ERROR = 1 +HTTP_SUCCESS = 200 +HTTP_ERROR = 400