2026-01-08 16:35:06 +08:00
|
|
|
import { MyResponseType } from '@/common';
|
|
|
|
|
import { Apis } from '@/gen/Apis';
|
|
|
|
|
import { state } from './state';
|
|
|
|
|
|
|
|
|
|
export const stateActions = {
|
|
|
|
|
addLoading() {
|
|
|
|
|
state.session.loading++;
|
|
|
|
|
},
|
|
|
|
|
subLoading() {
|
|
|
|
|
state.session.loading--;
|
|
|
|
|
},
|
|
|
|
|
setReady(val: boolean) {
|
|
|
|
|
state.session.ready = val;
|
|
|
|
|
},
|
|
|
|
|
setLogin(res: MyResponseType) {
|
|
|
|
|
state.session.user = res.data.user;
|
|
|
|
|
state.session.campus = res.data.campus;
|
2026-01-19 14:56:53 +08:00
|
|
|
state.session.company_configs = res.data.company_configs;
|
2026-01-08 16:35:06 +08:00
|
|
|
state.session.permissions = res.data.permissions;
|
2026-02-04 12:32:17 +08:00
|
|
|
state.session.current_project = res.data.current_project;
|
2026-01-08 16:35:06 +08:00
|
|
|
if (res.data?.token?.access_token)
|
|
|
|
|
state.storage.access_token = res.data?.token?.access_token;
|
|
|
|
|
// 解析apis
|
|
|
|
|
const apiKeys: string[] = [];
|
|
|
|
|
res.data.permissions.forEach((permission: any) => {
|
|
|
|
|
if (permission.key) {
|
|
|
|
|
apiKeys.push(permission.key);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
// console.log('apis', apis);
|
|
|
|
|
state.session.apiKeys = apiKeys;
|
|
|
|
|
},
|
|
|
|
|
setLogout() {
|
|
|
|
|
state.session.user = undefined;
|
|
|
|
|
state.session.campus = undefined;
|
|
|
|
|
state.session.permissions = undefined;
|
|
|
|
|
state.storage.access_token = undefined;
|
|
|
|
|
},
|
|
|
|
|
me: async () => {
|
|
|
|
|
const res = await Apis.Common.Auth.Me();
|
|
|
|
|
if (res.success) {
|
|
|
|
|
stateActions.setLogin(res);
|
|
|
|
|
return {
|
|
|
|
|
name: state.session.user.username,
|
|
|
|
|
apiKeys: state.session.apiKeys,
|
|
|
|
|
// permissions: res.data.permissions,
|
|
|
|
|
};
|
|
|
|
|
} else {
|
|
|
|
|
return { name: '未登录', apiKeys: [] };
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
};
|