Yi.Vue3.x.Vant/src/store/modules/user.ts

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

import { login, logout, getInfo } from '@/api/login'
import { getToken, setToken, removeToken } from '@/utils/auth'
// import defAva from '@/assets/images/profile.jpg'
import {defineStore} from 'pinia'
const useUserStore = defineStore(
  'user',
  {
    state: () => ({
      token: getToken(),
      user:{username:"",nick:"",icon:""},
      roles: [],
      permissions: []
    }),
    actions: {
      // 登录
      login(userInfo:any ) {
        const username = userInfo.username.trim()
        const password = userInfo.password
        const code = userInfo.code
        const uuid = userInfo.uuid
        return new Promise((resolve, reject) => {
       
          login(username, password, code, uuid).then(res => {
            if(!res.status)
            {
              reject(res)
            }
            setToken(res.data.token);
            this.token = res.data.token;
            resolve(res);
          }).catch(error => {
            reject(error)
          })
        })
      },
      // 获取用户信息
      getInfo() {
        return new Promise((resolve, reject) => {
          getInfo().then(response => {
            const res=response.data;
            const user = res.user
            // const avatar = (user.avatar == "" || user.avatar == null) ? defAva : import.meta.env.VITE_APP_BASE_API + user.avatar;

            if (res.roleCodes && res.roleCodes.length > 0) { // 验证返回的roles是否是一个非空数组
              this.roles = res.roleCodes
              this.permissions = res.permissionCodes
              // this.roles = ["admin"];
              // this.permissions=["*:*:*"]

            } else {
              this.roles = ["ROLE_DEFAULT"] as never[]
            }
            // this.roles = ["admin"];
            // this.permissions=["*:*:*"]
            this.user.username = user.userName;
            this.user.nick=user.nick
            this.user.icon = user.icon;
            resolve(res)
          }).catch(error => {
            reject(error)
后面还有 25 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。