diff --git a/index.html b/index.html index 83cb221..c316114 100644 --- a/index.html +++ b/index.html @@ -14,13 +14,6 @@ 100%{-webkit-transform:translate(150px)} } - -
diff --git a/public/locales/en/common.json b/public/locales/en/common.json index a513e2a..85155ad 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -22,6 +22,7 @@ "Login": "Login", "Username": "Username", + "Realname": "Realname", "Password": "Password", "ChangePassword": "Change password", diff --git a/public/locales/zh/common.json b/public/locales/zh/common.json index 59c417e..1ffb8ae 100644 --- a/public/locales/zh/common.json +++ b/public/locales/zh/common.json @@ -22,6 +22,7 @@ "Login": "登录", "Username": "账号", + "Realname": "姓名", "Password": "密码", "ChangePassword": "修改密码", diff --git a/src/stores/Account.js b/src/stores/Account.js index a57b6db..47abc92 100644 --- a/src/stores/Account.js +++ b/src/stores/Account.js @@ -1,5 +1,6 @@ import { create } from 'zustand' import { fetchJSON, postForm } from '@/utils/request' +import { isEmpty } from '@/utils/commons' import { HT_HOST } from "@/config" import { usingStorage } from '@/hooks/usingStorage' @@ -147,6 +148,7 @@ const useAccountStore = create((set, get) => ({ const resultArray = await fetchAccountList(searchParams) + console.info(resultArray) const mapAccoutList = resultArray.map((r) => { return { accountId: r.wu_id, @@ -160,7 +162,7 @@ const useAccountStore = create((set, get) => ({ travelAgencyId: r.travel_agency_id, disabled: r.wu_limitsign, // 数据库支持逗号分隔多角色(5,6,7),目前界面只需单个。 - roleId: parseInt(r.roles), + roleId: isEmpty(r.roles) ? 0 : parseInt(r.roles), role: r.roles_name, } }) diff --git a/src/stores/Auth.js b/src/stores/Auth.js index 56e7a80..cc47621 100644 --- a/src/stores/Auth.js +++ b/src/stores/Auth.js @@ -43,8 +43,18 @@ async function fetchLastRequet() { return errcode !== 0 ? {} : result } +const initialState = { + tokenInterval: null, + tokenTimeout: true, + loginStatus: 0, + defaltRoute: '', + permissionList: [] +} + const useAuthStore = create(lifecycleware((set, get) => ({ + ...initialState, + onAuth: async () => { const { startTokenInterval, loadUserPermission } = get() const { userId, loginToken } = usingStorage() @@ -98,16 +108,11 @@ const useAuthStore = create(lifecycleware((set, get) => ({ const { clearStorage } = usingStorage() clearStorage() clearInterval(tokenInterval) - set(() => ({ - defaultRoute: '/', - loginStatus: 0, - tokenInterval: null, - tokenTimeout: true - })) + set(initialState) }, startTokenInterval: () => { - const { loginTimeout } = get() + const { logout } = get() async function checkTokenTimeout() { const { LastReqDate } = await fetchLastRequet() @@ -116,27 +121,17 @@ const useAuthStore = create(lifecycleware((set, get) => ({ const diffTime = now.getTime() - lastReqDate.getTime() const diffHours = diffTime/1000/60/60 if (diffHours > 1) { - loginTimeout() + logout() } } - const interval = setInterval(() => checkTokenTimeout(), 1000*60*20) + const interval = setInterval(() => checkTokenTimeout(), 1000*60*10) set(() => ({ tokenInterval: interval })) }, - loginTimeout: () => { - const { tokenInterval } = get() - const { clearStorage } = usingStorage() - clearStorage() - clearInterval(tokenInterval) - set(() => ({ - tokenTimeout: true - })) - }, - - // 迁移到 Account.js + // TODO: 迁移到 Account.js changeUserPassword: (password, newPassword) => { const { userId } = usingStorage() const formData = new FormData(); @@ -174,16 +169,6 @@ const useAuthStore = create(lifecycleware((set, get) => ({ }) }, - tokenInterval: null, - - tokenTimeout: false, - - loginStatus: 0, - - defaltRoute: '', - - permissionList: [], - }))) export default useAuthStore \ No newline at end of file diff --git a/src/views/App.jsx b/src/views/App.jsx index 22b385d..564e93e 100644 --- a/src/views/App.jsx +++ b/src/views/App.jsx @@ -48,6 +48,7 @@ function App() { .then(u => { setUserDetail({ username: u.LoginName, + realname: u.real_name, travelAgencyName: u.VName, }) }) @@ -157,7 +158,6 @@ function App() { items: [...[ { label: {t('ChangePassword')}, key: '0' }, { label: {t('Profile')}, key: '1' }, - { type: 'divider' }, isPermitted(PERM_ACCOUNT_MANAGEMENT) ? { label: {t('account:accountList')}, key: '3' } : null, isPermitted(PERM_ROLE_NEW) ? { label: {t('account:roleList')}, key: '4' } : null, { type: 'divider' }, @@ -169,7 +169,7 @@ function App() { > e.preventDefault()}> - {userDetail?.username} + {userDetail?.realname} diff --git a/src/views/account/Management.jsx b/src/views/account/Management.jsx index 94d1a30..7e0d236 100644 --- a/src/views/account/Management.jsx +++ b/src/views/account/Management.jsx @@ -81,13 +81,15 @@ function Management() { useEffect(() => { fetchRoleList() .then((roleList) => { - setRoleAllList(roleList.map(r => { + const roleListMap = roleList.map(r => { return { value: r.role_id, label: r.role_name, disabled: r.role_id === 1 } - })) + }) + roleListMap.unshift({ value: 0, label: '未设置', disabled: true }); + setRoleAllList(roleListMap) }) }, []) diff --git a/src/views/account/Profile.jsx b/src/views/account/Profile.jsx index 1691081..ce8b3e1 100644 --- a/src/views/account/Profile.jsx +++ b/src/views/account/Profile.jsx @@ -15,7 +15,8 @@ function Profile() { .then(json => { setUserDetail({ username: json.LoginName, - telephone: json.LkPhone, + realname: json.real_name, + rolesName: json.roles_name, emailAddress: json.LMI_listmail, travelAgencyName: json.VName, }) @@ -28,7 +29,7 @@ function Profile() { {userDetail?.username} - {userDetail?.telephone} + {userDetail?.realname}({userDetail?.rolesName}) {userDetail?.emailAddress} {userDetail?.travelAgencyName}