| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- // import { makeAutoObservable } from 'mobx';
- import { message } from 'antd';
- // import { apis, LoginApiParams } from '@/apis';
- // import LocalStorage from '@/LocalStorage';
- // import router from '@/router';
- import { State, ReadonlyState, StateAction, LoginStore } from './types';
- import { useState } from 'react'
- // 定义状态
- const stateGenerator = (): ReadonlyState => ({
- buttonLoading: false,
- tenantEnabled: true,
- tenantEnabledList: [],
- captchaData: {
- uuid: '',
- img: ''
- }
- });
- // 修改状态
- const stateActionsGenerator = (state: State): StateAction => {
- return {
- setButtonLoading: (loading) => {
- state.buttonLoading = loading;
- },
- setCaptchaData: (data: any) => {
- state.captchaData = data
- },
- setTenantEnabled: (data: any) => {
- state.tenantEnabled = data.tenantEnabled
- state.tenantEnabledList = data.voList.map((item: any) => {
- return {
- value: item.tenantId,
- label: item.companyName,
- domain: item.domain,
- }
- })
- }
- };
- };
- // 使用仓库
- const useLoginStore = (): any => {
- // const state = makeAutoObservable(stateGenerator());
- // const actions = stateActionsGenerator(state);
- // const api = {
- // // 登录
- // login: async (data: LoginApiParams, remember: boolean) => {
- // actions.setButtonLoading(true);
- // try {
- // const res = await apis.login({
- // ...data,
- // });
- // const info = res.data;
- // if (remember) {// 记住密码
- // LocalStorage.setAccountPassword({
- // account: data.username,
- // password: data.password,
- // });
- // } else {// 不记住密码
- // LocalStorage.setAccountPassword(undefined);
- // }
- // // 首次登陆,重置菜单类型
- // LocalStorage.setMenuType(1);
- // LocalStorage.setToken(info.access_token);
- // // 获取用户详细信息(permissions,role, user)
- // const resuser = await apis.fetchUserInfo();
- // console.log('resUserInfo',resuser)
- // if (resuser.code === 200) {
- // const resUserInfo = resuser.data;
- // LocalStorage.setPermissions(resUserInfo.permissions);
- // LocalStorage.setUserInfo({
- // id: resUserInfo.user.userId,
- // name: resUserInfo.user.nickName,
- // tenantId: resUserInfo.user.tenantId,
- // });
- // // LocalStorage.setRoles(resUserInfo.roles);
- // // if (!LocalStorage.getStatusFlag('deepseek:application:list') &&
- // // !LocalStorage.getStatusFlag('deepseek:knowledge:list') &&
- // // !LocalStorage.getStatusFlag('deepseek:dialog:list') &&
- // // !LocalStorage.getStatusFlag('system:audit:list')) {
- // // message.error('权限不足,请联系管理员');
- // // LocalStorage.clear();
- // // router.navigate({ pathname: '/login' }, { replace: true });
- // // return;
- // // }
- // // if (LocalStorage.getStatusFlag('/')) {
- // router.navigate({ pathname: '/' }, { replace: true });
- // // } else {
- // // router.navigate({ pathname: '/404' }, { replace: true });
- // // }
- // message.success('登录成功');
- // }
- // } catch (error: any) {
- // LocalStorage.clear();
- // message.error(error.msg);
- // api.captchaImage()
- // } finally {
- // actions.setButtonLoading(false);
- // }
- // },
- // // 验证码
- // captchaImage: async () => {
- // console.log('验证码图片加载')
- // try {
- // const res = await apis.captchaImage();
- // actions.setCaptchaData(res?.data || {});
- // return res;
- // } catch (error: any) {
- // console.log('error', error)
- // message.error(error);
- // }
- // }
- // }
- // // 点击登录
- // const onClickLogin: LoginStore['onClickLogin'] = async (data, remember) => {
- // // 登录
- // await api.login(data, remember);
- // }
- // // 切换验证码
- // const onCaptchaImage = async () => {
- // await api.captchaImage();
- // }
- // // 初始渲染
- // const init: LoginStore['init'] = async (form) => {
- // api.captchaImage();
- // const res = await apis.getTenantList(false)
- // console.log('res----', res.data)
- // if (res.data.tenantEnabled) {
- // actions.setTenantEnabled(res.data)
- // form.setFieldsValue({
- // tenantId: res.data?.tenantEnabled ? res.data?.voList[0].tenantId : null,
- // });
- // }
- // const accountPassword = LocalStorage.getAccountPassword();
- // if (accountPassword) {
- // form.setFieldsValue({
- // account: accountPassword.account,
- // password: accountPassword.password,
- // remember: true,
- // tenantId: res.data?.tenantEnabled ? res.data?.voList[0].tenantId : null,
- // });
- // }
- // }
- // // 状态重置
- // const reset: LoginStore['reset'] = () => {
- // const initialButtonLoading = stateGenerator().buttonLoading;
- // actions.setButtonLoading(initialButtonLoading);
- // }
- return {
- // state,
- // onClickLogin,
- // onCaptchaImage,
- // init,
- // reset
- };
- };
- export default useLoginStore();
|