import { clientQuery, queryLogin } from '@/modules/query'; import { create } from 'zustand'; import { toast } from 'react-toastify'; type SettingState = { username?: string; initAdmin: () => any; login: (username: string, password: string) => any; config?: any; saveConfig: any; } export const useStore = create((set => ({ username: undefined, config: undefined, initAdmin: async () => { const res = await clientQuery.post({ path: 'config' }) console.log('initAdmin', res); if (res.code === 200) { const auth = res.data.auth || {} if (auth.username) { set({ username: auth.username }); } set({ config: res.data }); } }, login: async (username: string, password: string) => { const res = await clientQuery.post({ path: 'admin', key: 'login', username, password }); if (res.code === 200) { set({ username }); const setToken = await queryLogin.setLoginToken(res.data) toast.success('登录成功'); } return res; }, saveConfig: async (config: any) => { const res = await clientQuery.post({ path: 'config', key: 'set', data: config }) if (res.code === 200) { set({ config }) toast.success('配置保存成功'); } console.log('saveConfig res', res); return res; } })));