From 3dbe4ea2afb1bf048b57656f418a21e682773bf0 Mon Sep 17 00:00:00 2001 From: blp <2962632571@qq.com> Date: Tue, 10 Jan 2023 11:04:52 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E7=99=BB=E5=BD=95=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components.d.ts | 14 + package.json | 1 + public/images/logo.png | Bin 0 -> 13753 bytes src/api/login.js | 15 ++ src/router/menu.ts | 4 + src/store/userInfo.ts | 42 +++ src/utils/variable.ts | 4 +- src/views/user/Login/index.vue | 479 +++++++++++++++++++++++++++++++++ 8 files changed, 558 insertions(+), 1 deletion(-) create mode 100644 public/images/logo.png create mode 100644 src/api/login.js create mode 100644 src/store/userInfo.ts create mode 100644 src/views/user/Login/index.vue diff --git a/components.d.ts b/components.d.ts index 01a36e5e..146a60a7 100644 --- a/components.d.ts +++ b/components.d.ts @@ -7,10 +7,24 @@ export {} declare module '@vue/runtime-core' { export interface GlobalComponents { + ABadge: typeof import('ant-design-vue/es')['Badge'] + AButton: typeof import('ant-design-vue/es')['Button'] ACard: typeof import('ant-design-vue/es')['Card'] + ACheckbox: typeof import('ant-design-vue/es')['Checkbox'] ACol: typeof import('ant-design-vue/es')['Col'] + ADatePicker: typeof import('ant-design-vue/es')['DatePicker'] + ADivider: typeof import('ant-design-vue/es')['Divider'] + AForm: typeof import('ant-design-vue/es')['Form'] + AFormItem: typeof import('ant-design-vue/es')['FormItem'] + AInput: typeof import('ant-design-vue/es')['Input'] + AInputNumber: typeof import('ant-design-vue/es')['InputNumber'] + AInputPassword: typeof import('ant-design-vue/es')['InputPassword'] + AModal: typeof import('ant-design-vue/es')['Modal'] ARow: typeof import('ant-design-vue/es')['Row'] + ASelect: typeof import('ant-design-vue/es')['Select'] + ASpin: typeof import('ant-design-vue/es')['Spin'] ATooltip: typeof import('ant-design-vue/es')['Tooltip'] + AUpload: typeof import('ant-design-vue/es')['Upload'] BadgeStatus: typeof import('./src/components/BadgeStatus/index.vue')['default'] CardBox: typeof import('./src/components/CardBox/index.vue')['default'] GeoComponent: typeof import('./src/components/GeoComponent/index.vue')['default'] diff --git a/package.json b/package.json index 55e0ef59..b21ab2cd 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "@vuemap/vue-amap": "^1.1.20", "ant-design-vue": "^3.2.15", "axios": "^1.2.1", + "js-cookie": "^3.0.1", "less": "^4.1.3", "less-loader": "^11.1.0", "lodash-es": "^4.17.21", diff --git a/public/images/logo.png b/public/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6629518541bb068107feaeddf652457067fcada1 GIT binary patch literal 13753 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 server.get(`/authorize/captcha/config`) + +export const code = () => server.get(`/authorize/captcha/image?width=130&height=30`) + +export const authLogin = (data) => server.post(`/authorize/login`, data) + +export const getInitSet = () => server.get(`/user/settings/init`) + +export const postInitSet = (data) => server.post(`/user/settings/init`, data) + +export const systemVersion = () => server.get(`/system/version`) + +export const bindInfo = () => server.get(`/application/sso/_all`) \ No newline at end of file diff --git a/src/router/menu.ts b/src/router/menu.ts index 6110e81b..8aea26a2 100644 --- a/src/router/menu.ts +++ b/src/router/menu.ts @@ -20,6 +20,10 @@ export default [ // } // start: 测试用, 可删除 + { + path: '/login', + component: () => import('@/views/user/Login/index.vue') + }, { path: '/demo', component: () => import('@/views/demo/index.vue') diff --git a/src/store/userInfo.ts b/src/store/userInfo.ts new file mode 100644 index 00000000..4cf56cc6 --- /dev/null +++ b/src/store/userInfo.ts @@ -0,0 +1,42 @@ +import { defineStore } from 'pinia'; +import { authLogin } from '@/api/login'; +import { LocalStore } from '@/utils/comm'; +import { TOKEN_KEY } from '@/utils/variable'; + +/** + * 用户信息 + * @methods setUserInfos 设置用户信息 + */ +export const useUserInfo = defineStore('userInfo', { + state: () => ({ + userInfos: { + id: '', + username: '', + isAdmin: true, + currentAuthority: [], + expires: 0, + permissions: [], + roles: [], + token: '', + user: {}, + }, + }), + actions: { + login(userInfo: any) { + const username = userInfo.userName.trim(); + const password = userInfo.password; + const verifyCode = userInfo.verifyCode; + return new Promise((resolve: any, reject: any) => { + authLogin({ username, password, verifyCode }) + .then((res: any) => { + Object.assign(this.userInfos, res.result); + LocalStore.set(TOKEN_KEY, res?.result.token); + resolve(res); + }) + .catch((error: any) => { + reject(error); + }); + }); + }, + }, +}); diff --git a/src/utils/variable.ts b/src/utils/variable.ts index 7fc92ea9..591acb68 100644 --- a/src/utils/variable.ts +++ b/src/utils/variable.ts @@ -1,3 +1,5 @@ export const BASE_API_PATH = import.meta.env.VITE_APP_BASE_API -export const TOKEN_KEY = 'X-Access-Token' \ No newline at end of file +export const TOKEN_KEY = 'X-Access-Token' + +export const Version_Code = 'version_code' \ No newline at end of file diff --git a/src/views/user/Login/index.vue b/src/views/user/Login/index.vue new file mode 100644 index 00000000..9e7f4273 --- /dev/null +++ b/src/views/user/Login/index.vue @@ -0,0 +1,479 @@ + + + + +