| | |
| | | import {login, logout, getInfo, loginCheck, loginCheckFactory,tideLogin} from '@/api/login'
|
| | | import { getToken, setToken, removeToken } from '@/utils/auth'
|
| | | import { isHttp, isEmpty } from "@/utils/validate"
|
| | | import defAva from '@/assets/images/profile.jpg'
|
| | | import { defineStore } from 'pinia'
|
| | |
|
| | | const useUserStore = defineStore(
|
| | | 'user',
|
| | | {
|
| | | import {login, logout, getInfo, loginCheck, loginCheckFactory,tideLogin} from '@/api/login' |
| | | import { getToken, setToken, removeToken } from '@/utils/auth' |
| | | import { isHttp, isEmpty } from "@/utils/validate" |
| | | import defAva from '@/assets/images/profile.jpg' |
| | | import { defineStore } from 'pinia' |
| | | |
| | | const useUserStore = defineStore( |
| | | 'user', |
| | | { |
| | | state: () => ({ |
| | | token: getToken(), |
| | | id: '', |
| | |
| | | roles: [], |
| | | permissions: [], |
| | | aiEnabled: 0 |
| | | }),
|
| | | actions: {
|
| | | // 登录
|
| | | }), |
| | | actions: { |
| | | // 登录 |
| | | login(userInfo) { |
| | | const username = userInfo.username.trim() |
| | | const password = userInfo.password |
| | |
| | | reject(error) |
| | | }) |
| | | }) |
| | | },
|
| | | getCurrentTime() {
|
| | | const now = new Date();
|
| | | const year = now.getFullYear(); // 获取年份
|
| | | const month = String(now.getMonth() + 1).padStart(2, '0'); // 月份从0开始,要+1,并补零
|
| | | const day = String(now.getDate()).padStart(2, '0'); // 日期补零
|
| | | const hours = String(now.getHours()).padStart(2, '0'); // 小时补零
|
| | | const minutes = String(now.getMinutes()).padStart(2, '0'); // 分钟补零
|
| | | const seconds = String(now.getSeconds()).padStart(2, '0'); // 秒数补零
|
| | | return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
|
| | | },
|
| | | // 获取用户信息
|
| | | getInfo() {
|
| | | return new Promise((resolve, reject) => {
|
| | | getInfo().then(res => {
|
| | | const user = res.user || {} |
| | | let avatar = user.avatar || ""
|
| | | avatar = import.meta.env.VITE_APP_BASE_API + '/profile/' + avatar
|
| | | if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
|
| | | this.roles = res.roles
|
| | | this.permissions = res.permissions
|
| | | } else {
|
| | | this.roles = ['ROLE_DEFAULT']
|
| | | }
|
| | | }, |
| | | getCurrentTime() { |
| | | const now = new Date(); |
| | | const year = now.getFullYear(); // 获取年份 |
| | | const month = String(now.getMonth() + 1).padStart(2, '0'); // 月份从0开始,要+1,并补零 |
| | | const day = String(now.getDate()).padStart(2, '0'); // 日期补零 |
| | | const hours = String(now.getHours()).padStart(2, '0'); // 小时补零 |
| | | const minutes = String(now.getMinutes()).padStart(2, '0'); // 分钟补零 |
| | | const seconds = String(now.getSeconds()).padStart(2, '0'); // 秒数补零 |
| | | return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; |
| | | }, |
| | | // 获取用户信息 |
| | | getInfo() { |
| | | return new Promise((resolve, reject) => { |
| | | getInfo().then(res => { |
| | | const data = res?.data ?? res |
| | | const user = data.user || {} |
| | | let avatar = user.avatar || "" |
| | | avatar = import.meta.env.VITE_APP_BASE_API + '/profile/' + avatar |
| | | if (data.roles && data.roles.length > 0) { // 验证返回的roles是否是一个非空数组 |
| | | this.roles = data.roles |
| | | this.permissions = data.permissions |
| | | } else { |
| | | this.roles = ['ROLE_DEFAULT'] |
| | | } |
| | | this.id = user.userId || '' |
| | | this.name = user.userName || '' |
| | | this.avatar = avatar
|
| | | this.avatar = avatar |
| | | this.currentFactoryName = user.currentFactoryName || '' |
| | | this.nickName = user.nickName || '' |
| | | this.roleName = Array.isArray(user.roles) && user.roles.length > 0 ? (user.roles[0].roleName || '') : '' |
| | | this.currentDeptId = user.tenantId || '' |
| | | this.currentLoginTime = this.getCurrentTime() |
| | | this.aiEnabled = Number(res.aiEnabled) === 1 ? 1 : 0 |
| | | resolve(res) |
| | | this.aiEnabled = Number(data.aiEnabled) === 1 ? 1 : 0 |
| | | resolve(data) |
| | | }).catch(error => { |
| | | reject(error) |
| | | }) |
| | | }) |
| | | },
|
| | | // 退出系统
|
| | | logOut() {
|
| | | return new Promise((resolve, reject) => {
|
| | | logout(this.token).then(() => {
|
| | | }, |
| | | // 退出系统 |
| | | logOut() { |
| | | return new Promise((resolve, reject) => { |
| | | logout(this.token).then(() => { |
| | | this.token = '' |
| | | this.roles = [] |
| | | this.permissions = [] |
| | |
| | | }).catch(error => { |
| | | reject(error) |
| | | }) |
| | | })
|
| | | },
|
| | | // 登录校验
|
| | | loginCheck(userInfo) {
|
| | | const username = userInfo.username.trim()
|
| | | const password = userInfo.password
|
| | | return new Promise((resolve, reject) => {
|
| | | loginCheck(username, password).then(res => {
|
| | | resolve(res)
|
| | | }).catch(error => {
|
| | | reject(error)
|
| | | })
|
| | | })
|
| | | },
|
| | | // 部门登录
|
| | | }) |
| | | }, |
| | | // 登录校验 |
| | | loginCheck(userInfo) { |
| | | const username = userInfo.username.trim() |
| | | const password = userInfo.password |
| | | return new Promise((resolve, reject) => { |
| | | loginCheck(username, password).then(res => { |
| | | resolve(res) |
| | | }).catch(error => { |
| | | reject(error) |
| | | }) |
| | | }) |
| | | }, |
| | | // 部门登录 |
| | | loginCheckFactory(userInfo) { |
| | | const username = userInfo.username.trim() |
| | | const password = userInfo.password |
| | |
| | | reject(error) |
| | | }) |
| | | }) |
| | | },
|
| | | }, |
| | | TideLogin(code) { |
| | | return new Promise((resolve, reject) => { |
| | | tideLogin(code) |
| | |
| | | }; |
| | | resolve(); |
| | | }) |
| | | .catch((error) => {
|
| | | reject(error);
|
| | | });
|
| | | });
|
| | | },
|
| | | }
|
| | | })
|
| | |
|
| | | export default useUserStore
|
| | | .catch((error) => { |
| | | reject(error); |
| | | }); |
| | | }); |
| | | }, |
| | | } |
| | | }) |
| | | |
| | | export default useUserStore |