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({});
- })
- })
- }
|