|
@@ -1,25 +1,40 @@
|
|
|
-import { Modal } from 'ant-design-vue'
|
|
|
|
|
|
|
+import { Modal, message } from 'ant-design-vue'
|
|
|
import { defineStore } from 'pinia'
|
|
import { defineStore } from 'pinia'
|
|
|
import { reactive, h } from 'vue'
|
|
import { reactive, h } from 'vue'
|
|
|
import { useSchedulerOnce } from 'flicker-vue-hooks'
|
|
import { useSchedulerOnce } from 'flicker-vue-hooks'
|
|
|
import { UserController } from '@/controller'
|
|
import { UserController } from '@/controller'
|
|
|
|
|
+import { useRouter, useRoute } from 'vue-router'
|
|
|
|
|
|
|
|
export const useUserStore = defineStore('userStore', () => {
|
|
export const useUserStore = defineStore('userStore', () => {
|
|
|
|
|
+ const router = useRouter()
|
|
|
|
|
+ const route = useRoute()
|
|
|
|
|
+
|
|
|
const userInfo = reactive({})
|
|
const userInfo = reactive({})
|
|
|
|
|
|
|
|
const clearUserInfo = () => {
|
|
const clearUserInfo = () => {
|
|
|
return new Promise((resolve) => {
|
|
return new Promise((resolve) => {
|
|
|
// 做些什么
|
|
// 做些什么
|
|
|
|
|
+ message.loading('清除用户信息中......')
|
|
|
|
|
+ window.localStorage.removeItem('userInfo')
|
|
|
useSchedulerOnce(() => resolve(true), 500)
|
|
useSchedulerOnce(() => resolve(true), 500)
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const login = async (data: USER.Params.Login) => {
|
|
const login = async (data: USER.Params.Login) => {
|
|
|
// 存储用户信息 跳转页面
|
|
// 存储用户信息 跳转页面
|
|
|
- await UserController.login({
|
|
|
|
|
|
|
+ const { data: tenant, code } = await UserController.login({
|
|
|
...data,
|
|
...data,
|
|
|
password: encryptPassWord(data.password)
|
|
password: encryptPassWord(data.password)
|
|
|
})
|
|
})
|
|
|
|
|
+ if (code === 200) {
|
|
|
|
|
+ window.localStorage.setItem('userInfo', JSON.stringify(tenant))
|
|
|
|
|
+ message.success('登录成功, 正在为您跳转页面...')
|
|
|
|
|
+ if (route.query.redirectUrl) {
|
|
|
|
|
+ router.push({ path: route.query.redirectUrl as string })
|
|
|
|
|
+ } else {
|
|
|
|
|
+ router.push({ path: router.getRoutes()[0].path })
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const openUserInfoModal = () => {
|
|
const openUserInfoModal = () => {
|
|
@@ -44,7 +59,9 @@ export const useUserStore = defineStore('userStore', () => {
|
|
|
onCancel: () => {},
|
|
onCancel: () => {},
|
|
|
onOk: async () => {
|
|
onOk: async () => {
|
|
|
await clearUserInfo()
|
|
await clearUserInfo()
|
|
|
|
|
+ message.success('登出成功')
|
|
|
// 退出
|
|
// 退出
|
|
|
|
|
+ router.push({ path: '/login' })
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|