Jelajahi Sumber

feat: 增加login接口

lvkun996 2 tahun lalu
induk
melakukan
ed0598c683

+ 8 - 0
src/api/user/index.ts

@@ -30,3 +30,11 @@ export const updateUser = (data: USER.User.Detail) => {
     data
   })
 }
+
+export const login = (data: COMMON.LOGIN.Login) => {
+  return request<string>({
+    url: '/login',
+    method: 'POST',
+    data
+  })
+}

+ 6 - 1
src/controller/user/index.ts

@@ -1,7 +1,12 @@
-import { addUser, delUser, page, updateUser } from '@/api/user'
+import { addUser, delUser, login, page, updateUser } from '@/api/user'
 import { message } from 'ant-design-vue'
 
 export class UserController {
+  static async login (data: COMMON.LOGIN.Login) {
+    await login(data)
+    message.success('登录成功')
+  }
+
   static async page (queryState: USER.Params.Query) {
     return await page(queryState)
   }

+ 1 - 0
src/global.d.ts

@@ -1,2 +1,3 @@
 declare const window: Window & typeof globalThis & {flv: any}
 declare module '@vue-js-cron/ant'
+declare module 'flicker-vue-hooks'

+ 1 - 0
src/shims-vue.d.ts

@@ -5,4 +5,5 @@ declare module '*.vue' {
   const component: DefineComponent<{}, {}, any>
 
   export default component
+  
 }

+ 6 - 3
src/store/modules/user/index.ts

@@ -1,6 +1,8 @@
 import { Modal } from 'ant-design-vue'
 import { defineStore } from 'pinia'
 import { reactive, h } from 'vue'
+import { useSchedulerOnce } from 'flicker-vue-hooks'
+import { UserController } from '@/controller'
 
 export const useUserStore = defineStore('userStore', () => {
   const userInfo = reactive({})
@@ -8,12 +10,13 @@ export const useUserStore = defineStore('userStore', () => {
   const clearUserInfo = () => {
     return new Promise((resolve) => {
       // 做些什么
-      // useSchedulerOnce(() => resolve(true), 500)
+      useSchedulerOnce(() => resolve(true), 500)
     })
   }
 
-  const login = () => {
-    // 设置用户信息, 校验后的登录
+  const login = async (data: COMMON.LOGIN.Login) => {
+    // 存储用户信息 跳转页面
+    await UserController.login(data)
   }
 
   const openUserInfoModal = () => {

+ 7 - 0
src/type/common.d.ts

@@ -40,4 +40,11 @@ declare namespace COMMON {
       }
     }
 
+    namespace LOGIN {
+      interface Login {
+        accout: string,
+        password: string
+      }
+    }
+
 }

+ 1 - 0
src/type/user.d.ts

@@ -14,6 +14,7 @@ declare namespace USER {
       id?: string
       [key: string]: string
     }
+
   }
 
 }

+ 3 - 3
yarn.lock

@@ -4593,9 +4593,9 @@ flatted@^3.1.0:
   integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==
 
 flicker-vue-hooks@^1.0.16:
-  version "1.0.16"
-  resolved "https://registry.npmjs.org/flicker-vue-hooks/-/flicker-vue-hooks-1.0.16.tgz#573aa7bff5c5cb2e01d54f4a26ee0a2d212fe063"
-  integrity sha512-ELAXVDuCyI9WqmC5H6dz2iizFamDrcHxDjulb1nPXjsswbcXWhHiXVTL86z4LOBYED1xAU6i4s6SfiRb7gVMJw==
+  version "1.0.17"
+  resolved "https://registry.npmjs.org/flicker-vue-hooks/-/flicker-vue-hooks-1.0.17.tgz#58abadca39e0f1896043b7e0c3c38f1a8b1fcb1e"
+  integrity sha512-4I1ZI9xGe7zSvJRbW6u6FjTi8xUhl1/d0tFJUbKOvHlIqYKHLpP75qbEQuQMBBfRtA4SWhTzysuXx+S062XK4w==
 
 follow-redirects@^1.0.0, follow-redirects@^1.15.0:
   version "1.15.2"