| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 | import {globalConfig} from '@/config';import storage from '@/utils/storage';import {constant} from '@/utils/constant';import { login, logout, getInfo } from '@/api/login';import { getToken, setToken, removeToken } from '@/utils/auth';import profileImg from '@/static/images/profile.jpg';type State = {  token: string,  name: string,  avatar: string,  roles: string[],  permissions: string[],}const tokenValue = getToken() ??'' as string;console.log('Token value:', tokenValue);const nameValue = storage.get(constant.name)??'' as string;console.log('Name value:', nameValue);const avatarValue = storage.get(constant.avatar)??'' as string;console.log('Avatar value:', avatarValue);const rolesValue = storage.get(constant.roles)?? [] as string[];console.log('Roles value:', rolesValue);const permissionsValue = storage.get(constant.permissions)?? [] as string[];console.log('Permissions value:', permissionsValue);export const state = reactive({  token: tokenValue,  name: nameValue as string,  avatar: avatarValue as string,  roles: rolesValue as string[],  permissions: permissionsValue as string[]} as State)export const SetToken=(token: string)=>{	state.token = token;	setToken(token)}export const SetName=(name: string)=>{	state.name = name;	storage.set(constant.name, name);}export const cleanAll=()=>{	uni.removeStorageSync('storage_data')}export const SetAvatar=(avatar: string)=> {	state.avatar = avatar;	storage.set(constant.avatar, avatar);}export const SetRoles=(roles: string[])=>{    state.roles = roles;    storage.set(constant.roles, roles);}	export const SetPermissions=(permissions: string[]) =>{	  state.permissions = permissions;	  storage.set(constant.permissions, permissions);}  // 登录export const Login=(userInfo:UTSJSONObject):Promise<void>=> {    const username:string = (userInfo.getString("username") as string).trim() as string;    const password:string = userInfo.getString("password") as string;    const code:string = userInfo.getString("code") as string;    const uuid:string = userInfo.getString("uuid") as string;				return new Promise((resolve, reject) => {			  login(username, password, code, uuid).then((res:UTSJSONObject) => {	    //SetToken(res.getString("token") as string);		console.log(res)		let msg = res.getString("errMsg")		let data = res.getArray("data") as UTSJSONObject[]		if(msg == 'ok' && data.length>0){			SetToken(data[0].getString("token") as string)			resolve()		}else{			reject('登录失败')		}	    	  })	})  }  // 获取用户信息export const GetInfo=():Promise<UTSJSONObject>=> {  return new Promise((resolve, reject) => {	getInfo().then((res:UTSJSONObject) => {	  let avatar:string=profileImg as string	  let username:string="" as string	  const resMap=res.toMap() as Map<string,any>	   if(resMap.has("data")){		   const data:UTSJSONObject[]|null = resMap?.get("data") as UTSJSONObject[] ?? null;		   if(data!=null && data.length>0){			const user = data?.[0] as UTSJSONObject   			const userMap=user.toMap() as Map<string,any>			if(userMap.has("avatar")&&user.getString("avatar")!=null&&user.getString("avatar")!=""){				avatar=globalConfig.baseUrl + user.getString("avatar") as string			}			if(userMap.has("username")&&user.getString("username")!=null&&user.getString("username")!=""){				username= user.getString("username") as string			}		   }	   }	   let roles=[] as string[]	   if(resMap.has("roles")){		   roles=res.getArray<string>("roles") as string[]		   if(roles.length>0){			   let permissions=[] as string[]			   if(resMap.has("permissions")){				   permissions=res.getArray<string>("permissions") as string[]			   }			   SetPermissions?.(permissions);		   }	   }	   SetRoles?.(roles)	   SetName?.(username);	   SetAvatar?.(avatar);	   resolve(res)	})  })}  // 退出系统  export const LogOut=():Promise<UTSJSONObject>=> {	return new Promise<UTSJSONObject>((resolve, reject) => {	  console.log(state.token)	  logout(state.token).then(() => {	    SetToken('');		SetRoles([]);		SetPermissions([]);   		removeToken();		cleanAll();	    resolve({});	  })	})  }
 |