diff --git a/src/app.tsx b/src/app.tsx index c6a43e5250b2758bc2ecfd6eff6f6e7503d10935..9daa001735b67c1e6e5deb5784a1318da87a4a43 100644 --- a/src/app.tsx +++ b/src/app.tsx @@ -35,7 +35,7 @@ export async function getInitialState(): Promise<{ const { code, msg, data } = await getUserInfo(); if (code !== 200) { /* 未登录跳转 */ - toLoginPage() + toLoginPage(data) return null } return data; diff --git a/src/components/RightContent/AvatarDropdown.tsx b/src/components/RightContent/AvatarDropdown.tsx index 3dc0433b49b821229fe8a005d2b31029cf143c8e..d52094c6dcc001fdd5b15f5497e40dfba08265e4 100644 --- a/src/components/RightContent/AvatarDropdown.tsx +++ b/src/components/RightContent/AvatarDropdown.tsx @@ -30,10 +30,16 @@ const loginOut = async () => { // Note: There may be security issues, please note //@ts-ignore - if (["openanolis", "opensource"].includes(window.webSiteEnv)) { + if (["opensource", "openanolis"].includes(window.webSiteEnv)) { window.location.href = `/api/user/logout` return } + //@ts-ignore + else if (["group"].includes(window.webSiteEnv)) { + const { data } = await request(`/api/user/logout`) + window.location.href = data + return + } else request(`/api/user/logout`) if (window.location.pathname !== '/login' && !redirect) { diff --git a/src/locales/en-US/menu.ts b/src/locales/en-US/menu.ts index eae3e532e24bce7df027d3302eb0a7d95f88a862..5c08b55e27b667381baf09e8fb56a3d618faf974 100644 --- a/src/locales/en-US/menu.ts +++ b/src/locales/en-US/menu.ts @@ -1,4 +1,78 @@ + export default { + "menu.outline": "测试大纲", + "menu.demand": "测试需求", + "menu.plan": "测试方案", + "menu.plan.plan": "测试方案", + "menu.plan.report": "测试报告", + "menu.plan.create": "创建方案", + "menu.plan.edit": "编辑方案", + "menu.suite": "测试用例", + "menu.task": "测试任务", + "menu.server": "测试设备", + "menu.sys": "设置", + "menu.sys.user-list": "用户管理", + "menu.sys.tag": "标签管理", + "menu.sys.suite": "测试套管理", + "menu.sys.approval": "审批管理", + "menu.sys.approval.approval": "待审批", + "menu.sys.approval.record": "审批记录", + + "menu.login": "用户登录", + "menu.regist": "注册账号", + + 'menu.welcome': '欢迎', + 'menu.more-blocks': '更多区块', + 'menu.home': '首页', + 'menu.admin': '管理页', + 'menu.admin.sub-page': '二级管理页', + 'menu.register-result': '注册结果', + 'menu.dashboard': 'Dashboard', + 'menu.dashboard.analysis': '分析页', + 'menu.dashboard.monitor': '监控页', + 'menu.dashboard.workplace': '工作台', + 'menu.exception.403': '403', + 'menu.exception.404': '404', + 'menu.exception.500': '500', + 'menu.form': '表单页', + 'menu.form.basic-form': '基础表单', + 'menu.form.step-form': '分步表单', + 'menu.form.step-form.info': '分步表单(填写转账信息)', + 'menu.form.step-form.confirm': '分步表单(确认转账信息)', + 'menu.form.step-form.result': '分步表单(完成)', + 'menu.form.advanced-form': '高级表单', + 'menu.list': '列表页', + 'menu.list.table-list': '查询表格', + 'menu.list.basic-list': '标准列表', + 'menu.list.card-list': '卡片列表', + 'menu.list.search-list': '搜索列表', + 'menu.list.search-list.articles': '搜索列表(文章)', + 'menu.list.search-list.projects': '搜索列表(项目)', + 'menu.list.search-list.applications': '搜索列表(应用)', + 'menu.profile': '详情页', + 'menu.profile.basic': '基础详情页', + 'menu.profile.advanced': '高级详情页', + 'menu.result': '结果页', + 'menu.result.success': '成功页', + 'menu.result.fail': '失败页', + 'menu.exception': '异常页', + 'menu.exception.not-permission': '403', + 'menu.exception.not-find': '404', + 'menu.exception.server-error': '500', + 'menu.exception.trigger': '触发错误', + 'menu.account': '个人页', + 'menu.account.center': '个人中心', + 'menu.account.settings': '个人设置', + 'menu.account.trigger': '触发报错', + 'menu.account.logout': '退出登录', + 'menu.editor': '图形编辑器', + 'menu.editor.flow': '流程编辑器', + 'menu.editor.mind': '脑图编辑器', + 'menu.editor.koni': '拓扑编辑器', +}; + + +/* export default { 'menu.welcome': 'Welcome', 'menu.more-blocks': 'More Blocks', 'menu.home': 'Home', @@ -50,3 +124,4 @@ export default { 'menu.editor.mind': 'Mind Editor', 'menu.editor.koni': 'Koni Editor', }; + */ \ No newline at end of file diff --git a/src/pages/Suite/components/RightContent/ExportCase.tsx b/src/pages/Suite/components/RightContent/ExportCase.tsx index 8c179bc9ab6482639e73a74be32e6e8a580ef73c..2e0e5e03dbc0304ac51018e431e09ad3e9b90bec 100644 --- a/src/pages/Suite/components/RightContent/ExportCase.tsx +++ b/src/pages/Suite/components/RightContent/ExportCase.tsx @@ -12,6 +12,8 @@ type IRefs = { [k: string]: any } +const accept = '.xls,.xlsx,.tar,.yaml' + const ReactComponent: React.ForwardRefRenderFunction = (props, ref) => { const { onOk } = props @@ -22,7 +24,7 @@ const ReactComponent: React.ForwardRefRenderFunction = (props, re const uploadProps: UploadProps = { action: "/api/case/import/", method: 'post', - accept: '.xls,.xlsx', + accept, name: "excel", maxCount: 1, multiple: false, @@ -109,7 +111,7 @@ const ReactComponent: React.ForwardRefRenderFunction = (props, re - 支持扩展名:.xlsx + 支持扩展名:{accept} diff --git a/src/pages/Sys/Users/index.tsx b/src/pages/Sys/Users/index.tsx index 650990192806349f721e0a22a840e8907c8a5280..226d2f3c5afe4e16b0608b8fdb602baaf85262ab 100644 --- a/src/pages/Sys/Users/index.tsx +++ b/src/pages/Sys/Users/index.tsx @@ -115,7 +115,15 @@ const TableList: React.FC = (props) => { style={{ width: 200 }} selectedKeys={[row.role]} > - + + + + 系统管理员 + 拥有所有权限 + + + + 测试管理员 diff --git a/src/request.tsx b/src/request.tsx index fbd1375f7a9781971df9fe27125d45e38141f872..4eafe55e28b746c36c53cc8bdc9ef0f656d18b28 100644 --- a/src/request.tsx +++ b/src/request.tsx @@ -37,7 +37,7 @@ const requestInterceptor = (url: string, options: any) => { // 全局相应拦截 const responseInterceptor = async (response: any, options: any) => { const data = await response.clone().json(); - if (data.code === 401) return toLoginPage() + if (data.code === 401) return toLoginPage(data.data) return response; }; diff --git a/src/utils/index.ts b/src/utils/index.ts index 241ea65523ccc4180100de2a251dfe971bdc3363..8fac4c70141c69996a42b3fd5935d5ad4f27c82a 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -6,11 +6,18 @@ import Clipboard from "clipboard" const loginPath = '/login'; const siteEnv = (window as any).webSiteEnv -export const toLoginPage = () => { +export const toLoginPage = (url?: string) => { if (siteEnv === "openanolis") { window.location.href = `https://passport.openanolis.cn/login?callback=${window.location.href}` return } + + if (siteEnv === "group") { + if (url) + window.location.href = url + return + } + history.push(loginPath); }