| | |
| | | import { login, logout, getInfo } from '@/api/login'
|
| | | import {login, logout, getInfo, loginCheck, loginCheckFactory} from '@/api/login'
|
| | | import { getToken, setToken, removeToken } from '@/utils/auth'
|
| | | import { isHttp, isEmpty } from "@/utils/validate"
|
| | | import defAva from '@/assets/images/profile.jpg'
|
| | |
|
| | | const useUserStore = defineStore(
|
| | |
| | | {
|
| | | state: () => ({
|
| | | token: getToken(),
|
| | | id: '',
|
| | | name: '',
|
| | | avatar: '',
|
| | | roles: [],
|
| | |
| | | })
|
| | | })
|
| | | },
|
| | | 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
|
| | | const avatar = (user.avatar == "" || user.avatar == null) ? defAva : import.meta.env.VITE_APP_BASE_API + user.avatar;
|
| | |
|
| | | 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']
|
| | | }
|
| | | this.id = user.userId
|
| | | this.name = user.userName
|
| | | this.avatar = avatar;
|
| | | this.avatar = avatar
|
| | | this.currentFactoryName = user.currentFactoryName
|
| | | this.nickName = user.nickName
|
| | | this.roleName = user.roles[0].roleName
|
| | | this.currentDeptId = user.tenantId
|
| | | this.currentLoginTime = this.getCurrentTime()
|
| | | resolve(res)
|
| | | }).catch(error => {
|
| | | reject(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
|
| | | const factoryId = userInfo.currentFatoryId
|
| | | return new Promise((resolve, reject) => {
|
| | | loginCheckFactory(username, password, factoryId).then(res => {
|
| | | setToken(res.token)
|
| | | this.token = res.token
|
| | | resolve()
|
| | | }).catch(error => {
|
| | | reject(error)
|
| | | })
|
| | | })
|
| | | },
|
| | | }
|
| | | })
|
| | |
|