diff --git a/frontend/config/vite.config.dev.ts b/frontend/config/vite.config.dev.ts index 62fbe187a8..394eda156e 100644 --- a/frontend/config/vite.config.dev.ts +++ b/frontend/config/vite.config.dev.ts @@ -22,6 +22,11 @@ export default mergeConfig( changeOrigin: true, rewrite: (path: string) => path.replace(/^\/front\/file/, ''), }, + '/plugin/image': { + target: 'http://172.16.200.18:8081/', + changeOrigin: true, + rewrite: (path: string) => path.replace(/^\/front\/plugin\/image/, ''), + }, '/base-display': { target: 'http://172.16.200.18:8081/', changeOrigin: true, diff --git a/frontend/public/images/avatar/avatar-1.jpg b/frontend/public/images/avatar/avatar-1.jpg new file mode 100644 index 0000000000..b0680a3cd9 Binary files /dev/null and b/frontend/public/images/avatar/avatar-1.jpg differ diff --git a/frontend/public/images/avatar/avatar-10.jpg b/frontend/public/images/avatar/avatar-10.jpg new file mode 100644 index 0000000000..2d111a1771 Binary files /dev/null and b/frontend/public/images/avatar/avatar-10.jpg differ diff --git a/frontend/public/images/avatar/avatar-11.jpg b/frontend/public/images/avatar/avatar-11.jpg new file mode 100644 index 0000000000..75e2087147 Binary files /dev/null and b/frontend/public/images/avatar/avatar-11.jpg differ diff --git a/frontend/public/images/avatar/avatar-12.jpg b/frontend/public/images/avatar/avatar-12.jpg new file mode 100644 index 0000000000..28d11860fd Binary files /dev/null and b/frontend/public/images/avatar/avatar-12.jpg differ diff --git a/frontend/public/images/avatar/avatar-13.jpg b/frontend/public/images/avatar/avatar-13.jpg new file mode 100644 index 0000000000..bfceb44a97 Binary files /dev/null and b/frontend/public/images/avatar/avatar-13.jpg differ diff --git a/frontend/public/images/avatar/avatar-14.jpg b/frontend/public/images/avatar/avatar-14.jpg new file mode 100644 index 0000000000..bb9320d4f3 Binary files /dev/null and b/frontend/public/images/avatar/avatar-14.jpg differ diff --git a/frontend/public/images/avatar/avatar-15.jpg b/frontend/public/images/avatar/avatar-15.jpg new file mode 100644 index 0000000000..38433cb9fa Binary files /dev/null and b/frontend/public/images/avatar/avatar-15.jpg differ diff --git a/frontend/public/images/avatar/avatar-16.jpg b/frontend/public/images/avatar/avatar-16.jpg new file mode 100644 index 0000000000..03308fc070 Binary files /dev/null and b/frontend/public/images/avatar/avatar-16.jpg differ diff --git a/frontend/public/images/avatar/avatar-17.jpg b/frontend/public/images/avatar/avatar-17.jpg new file mode 100644 index 0000000000..86f44ddd77 Binary files /dev/null and b/frontend/public/images/avatar/avatar-17.jpg differ diff --git a/frontend/public/images/avatar/avatar-18.jpg b/frontend/public/images/avatar/avatar-18.jpg new file mode 100644 index 0000000000..3b650c51d9 Binary files /dev/null and b/frontend/public/images/avatar/avatar-18.jpg differ diff --git a/frontend/public/images/avatar/avatar-19.jpg b/frontend/public/images/avatar/avatar-19.jpg new file mode 100644 index 0000000000..984d9fc93b Binary files /dev/null and b/frontend/public/images/avatar/avatar-19.jpg differ diff --git a/frontend/public/images/avatar/avatar-2.jpg b/frontend/public/images/avatar/avatar-2.jpg new file mode 100644 index 0000000000..2d111a1771 Binary files /dev/null and b/frontend/public/images/avatar/avatar-2.jpg differ diff --git a/frontend/public/images/avatar/avatar-20.jpg b/frontend/public/images/avatar/avatar-20.jpg new file mode 100644 index 0000000000..c7640755c2 Binary files /dev/null and b/frontend/public/images/avatar/avatar-20.jpg differ diff --git a/frontend/public/images/avatar/avatar-21.jpg b/frontend/public/images/avatar/avatar-21.jpg new file mode 100644 index 0000000000..a5ee18e0f7 Binary files /dev/null and b/frontend/public/images/avatar/avatar-21.jpg differ diff --git a/frontend/public/images/avatar/avatar-22.jpg b/frontend/public/images/avatar/avatar-22.jpg new file mode 100644 index 0000000000..1ee9e6ebdc Binary files /dev/null and b/frontend/public/images/avatar/avatar-22.jpg differ diff --git a/frontend/public/images/avatar/avatar-23.jpg b/frontend/public/images/avatar/avatar-23.jpg new file mode 100644 index 0000000000..a4029eb7e8 Binary files /dev/null and b/frontend/public/images/avatar/avatar-23.jpg differ diff --git a/frontend/public/images/avatar/avatar-24.jpg b/frontend/public/images/avatar/avatar-24.jpg new file mode 100644 index 0000000000..9df91d55ca Binary files /dev/null and b/frontend/public/images/avatar/avatar-24.jpg differ diff --git a/frontend/public/images/avatar/avatar-25.jpg b/frontend/public/images/avatar/avatar-25.jpg new file mode 100644 index 0000000000..2a894d16cc Binary files /dev/null and b/frontend/public/images/avatar/avatar-25.jpg differ diff --git a/frontend/public/images/avatar/avatar-26.jpg b/frontend/public/images/avatar/avatar-26.jpg new file mode 100644 index 0000000000..03d74ce0b3 Binary files /dev/null and b/frontend/public/images/avatar/avatar-26.jpg differ diff --git a/frontend/public/images/avatar/avatar-27.jpg b/frontend/public/images/avatar/avatar-27.jpg new file mode 100644 index 0000000000..2e867b84aa Binary files /dev/null and b/frontend/public/images/avatar/avatar-27.jpg differ diff --git a/frontend/public/images/avatar/avatar-28.jpg b/frontend/public/images/avatar/avatar-28.jpg new file mode 100644 index 0000000000..770940adf4 Binary files /dev/null and b/frontend/public/images/avatar/avatar-28.jpg differ diff --git a/frontend/public/images/avatar/avatar-29.jpg b/frontend/public/images/avatar/avatar-29.jpg new file mode 100644 index 0000000000..5a522fd172 Binary files /dev/null and b/frontend/public/images/avatar/avatar-29.jpg differ diff --git a/frontend/public/images/avatar/avatar-3.jpg b/frontend/public/images/avatar/avatar-3.jpg new file mode 100644 index 0000000000..3d7a6973c7 Binary files /dev/null and b/frontend/public/images/avatar/avatar-3.jpg differ diff --git a/frontend/public/images/avatar/avatar-30.jpg b/frontend/public/images/avatar/avatar-30.jpg new file mode 100644 index 0000000000..a15d4583b3 Binary files /dev/null and b/frontend/public/images/avatar/avatar-30.jpg differ diff --git a/frontend/public/images/avatar/avatar-31.jpg b/frontend/public/images/avatar/avatar-31.jpg new file mode 100644 index 0000000000..e4f70c15c7 Binary files /dev/null and b/frontend/public/images/avatar/avatar-31.jpg differ diff --git a/frontend/public/images/avatar/avatar-32.jpg b/frontend/public/images/avatar/avatar-32.jpg new file mode 100644 index 0000000000..d67d3c7512 Binary files /dev/null and b/frontend/public/images/avatar/avatar-32.jpg differ diff --git a/frontend/public/images/avatar/avatar-33.jpg b/frontend/public/images/avatar/avatar-33.jpg new file mode 100644 index 0000000000..758f569387 Binary files /dev/null and b/frontend/public/images/avatar/avatar-33.jpg differ diff --git a/frontend/public/images/avatar/avatar-34.jpg b/frontend/public/images/avatar/avatar-34.jpg new file mode 100644 index 0000000000..85d447a6c6 Binary files /dev/null and b/frontend/public/images/avatar/avatar-34.jpg differ diff --git a/frontend/public/images/avatar/avatar-35.jpg b/frontend/public/images/avatar/avatar-35.jpg new file mode 100644 index 0000000000..e169f4a216 Binary files /dev/null and b/frontend/public/images/avatar/avatar-35.jpg differ diff --git a/frontend/public/images/avatar/avatar-36.jpg b/frontend/public/images/avatar/avatar-36.jpg new file mode 100644 index 0000000000..5dfdcb7b76 Binary files /dev/null and b/frontend/public/images/avatar/avatar-36.jpg differ diff --git a/frontend/public/images/avatar/avatar-37.jpg b/frontend/public/images/avatar/avatar-37.jpg new file mode 100644 index 0000000000..f6119869b6 Binary files /dev/null and b/frontend/public/images/avatar/avatar-37.jpg differ diff --git a/frontend/public/images/avatar/avatar-38.jpg b/frontend/public/images/avatar/avatar-38.jpg new file mode 100644 index 0000000000..a33f5cfc91 Binary files /dev/null and b/frontend/public/images/avatar/avatar-38.jpg differ diff --git a/frontend/public/images/avatar/avatar-39.jpg b/frontend/public/images/avatar/avatar-39.jpg new file mode 100644 index 0000000000..311035c863 Binary files /dev/null and b/frontend/public/images/avatar/avatar-39.jpg differ diff --git a/frontend/public/images/avatar/avatar-4.jpg b/frontend/public/images/avatar/avatar-4.jpg new file mode 100644 index 0000000000..35183c0301 Binary files /dev/null and b/frontend/public/images/avatar/avatar-4.jpg differ diff --git a/frontend/public/images/avatar/avatar-40.jpg b/frontend/public/images/avatar/avatar-40.jpg new file mode 100644 index 0000000000..18cc414191 Binary files /dev/null and b/frontend/public/images/avatar/avatar-40.jpg differ diff --git a/frontend/public/images/avatar/avatar-41.jpg b/frontend/public/images/avatar/avatar-41.jpg new file mode 100644 index 0000000000..b42edc419f Binary files /dev/null and b/frontend/public/images/avatar/avatar-41.jpg differ diff --git a/frontend/public/images/avatar/avatar-42.jpg b/frontend/public/images/avatar/avatar-42.jpg new file mode 100644 index 0000000000..b7611c1d65 Binary files /dev/null and b/frontend/public/images/avatar/avatar-42.jpg differ diff --git a/frontend/public/images/avatar/avatar-43.jpg b/frontend/public/images/avatar/avatar-43.jpg new file mode 100644 index 0000000000..3280befc30 Binary files /dev/null and b/frontend/public/images/avatar/avatar-43.jpg differ diff --git a/frontend/public/images/avatar/avatar-44.jpg b/frontend/public/images/avatar/avatar-44.jpg new file mode 100644 index 0000000000..6607bf4504 Binary files /dev/null and b/frontend/public/images/avatar/avatar-44.jpg differ diff --git a/frontend/public/images/avatar/avatar-45.jpg b/frontend/public/images/avatar/avatar-45.jpg new file mode 100644 index 0000000000..b78878ba7e Binary files /dev/null and b/frontend/public/images/avatar/avatar-45.jpg differ diff --git a/frontend/public/images/avatar/avatar-46.jpg b/frontend/public/images/avatar/avatar-46.jpg new file mode 100644 index 0000000000..3d7a6973c7 Binary files /dev/null and b/frontend/public/images/avatar/avatar-46.jpg differ diff --git a/frontend/public/images/avatar/avatar-5.jpg b/frontend/public/images/avatar/avatar-5.jpg new file mode 100644 index 0000000000..55ae058e21 Binary files /dev/null and b/frontend/public/images/avatar/avatar-5.jpg differ diff --git a/frontend/public/images/avatar/avatar-6.jpg b/frontend/public/images/avatar/avatar-6.jpg new file mode 100644 index 0000000000..b322f3fcc0 Binary files /dev/null and b/frontend/public/images/avatar/avatar-6.jpg differ diff --git a/frontend/public/images/avatar/avatar-7.jpg b/frontend/public/images/avatar/avatar-7.jpg new file mode 100644 index 0000000000..4e3dcf8a97 Binary files /dev/null and b/frontend/public/images/avatar/avatar-7.jpg differ diff --git a/frontend/public/images/avatar/avatar-8.jpg b/frontend/public/images/avatar/avatar-8.jpg new file mode 100644 index 0000000000..3e60d04f81 Binary files /dev/null and b/frontend/public/images/avatar/avatar-8.jpg differ diff --git a/frontend/public/images/avatar/avatar-9.jpg b/frontend/public/images/avatar/avatar-9.jpg new file mode 100644 index 0000000000..acfed99f11 Binary files /dev/null and b/frontend/public/images/avatar/avatar-9.jpg differ diff --git a/frontend/public/images/tapd-user.png b/frontend/public/images/tapd-user.png new file mode 100644 index 0000000000..97adec0280 Binary files /dev/null and b/frontend/public/images/tapd-user.png differ diff --git a/frontend/src/api/modules/system.ts b/frontend/src/api/modules/system.ts index 8df933abe9..4757745096 100644 --- a/frontend/src/api/modules/system.ts +++ b/frontend/src/api/modules/system.ts @@ -1,10 +1,18 @@ // 系统全局类的接口 import MSR from '@/api/http/index'; -import { GetVersionUrl } from '@/api/requrls/system'; +import { GetVersionUrl, OrgOptionsUrl, SwitchOrgUrl } from '@/api/requrls/system'; // 获取系统版本 export function getSystemVersion() { return MSR.get({ url: GetVersionUrl }, { ignoreCancelToken: true }); } -export default { getSystemVersion }; +// 获取当前登录用户组织机构下拉选项 +export function getOrgOptions() { + return MSR.get<{ id: string; name: string }[]>({ url: OrgOptionsUrl }, { ignoreCancelToken: true }); +} + +// 切换用户当前组织 +export function switchUserOrg(organizationId: string, userId: string) { + return MSR.post({ url: SwitchOrgUrl, data: { organizationId, userId } }, { ignoreCancelToken: true }); +} diff --git a/frontend/src/api/requrls/system.ts b/frontend/src/api/requrls/system.ts index 9cb94adcbe..540d4bd21b 100644 --- a/frontend/src/api/requrls/system.ts +++ b/frontend/src/api/requrls/system.ts @@ -1,5 +1,5 @@ // 系统全局类的接口 export const GetVersionUrl = '/system/version/current'; - -export default { GetVersionUrl }; +export const OrgOptionsUrl = '/system/organization/switch-option'; +export const SwitchOrgUrl = '/system/organization/switch'; diff --git a/frontend/src/components/business/ms-case-associate/index.vue b/frontend/src/components/business/ms-case-associate/index.vue index 8c8da60a38..0a1f1d3324 100644 --- a/frontend/src/components/business/ms-case-associate/index.vue +++ b/frontend/src/components/business/ms-case-associate/index.vue @@ -50,7 +50,7 @@
-
+
{{ activeFolderName }}
({{ activeFolderName }})
diff --git a/frontend/src/components/pure/menu/index.vue b/frontend/src/components/business/ms-menu/index.vue similarity index 63% rename from frontend/src/components/pure/menu/index.vue rename to frontend/src/components/business/ms-menu/index.vue index 2032f92718..8438793fb9 100644 --- a/frontend/src/components/pure/menu/index.vue +++ b/frontend/src/components/business/ms-menu/index.vue @@ -1,17 +1,22 @@ + + diff --git a/frontend/src/components/business/ms-personal-drawer/components/baseInfo.vue b/frontend/src/components/business/ms-personal-drawer/components/baseInfo.vue new file mode 100644 index 0000000000..c1ec7e42d8 --- /dev/null +++ b/frontend/src/components/business/ms-personal-drawer/components/baseInfo.vue @@ -0,0 +1,265 @@ + + + + + diff --git a/frontend/src/components/business/ms-personal-drawer/components/localExec.vue b/frontend/src/components/business/ms-personal-drawer/components/localExec.vue new file mode 100644 index 0000000000..fd865a27e3 --- /dev/null +++ b/frontend/src/components/business/ms-personal-drawer/components/localExec.vue @@ -0,0 +1,192 @@ + + + + + diff --git a/frontend/src/components/business/ms-personal-drawer/components/setPsw.vue b/frontend/src/components/business/ms-personal-drawer/components/setPsw.vue new file mode 100644 index 0000000000..3db672de2c --- /dev/null +++ b/frontend/src/components/business/ms-personal-drawer/components/setPsw.vue @@ -0,0 +1,100 @@ + + + + + diff --git a/frontend/src/components/business/ms-personal-drawer/components/tripartite.vue b/frontend/src/components/business/ms-personal-drawer/components/tripartite.vue new file mode 100644 index 0000000000..7b007c73f9 --- /dev/null +++ b/frontend/src/components/business/ms-personal-drawer/components/tripartite.vue @@ -0,0 +1,231 @@ + + + + + diff --git a/frontend/src/components/business/ms-personal-drawer/index.vue b/frontend/src/components/business/ms-personal-drawer/index.vue new file mode 100644 index 0000000000..f97a60d715 --- /dev/null +++ b/frontend/src/components/business/ms-personal-drawer/index.vue @@ -0,0 +1,100 @@ + + + + + diff --git a/frontend/src/components/business/ms-personal-drawer/locale/en-US.ts b/frontend/src/components/business/ms-personal-drawer/locale/en-US.ts new file mode 100644 index 0000000000..f1e2babc87 --- /dev/null +++ b/frontend/src/components/business/ms-personal-drawer/locale/en-US.ts @@ -0,0 +1,87 @@ +export default { + 'ms.personal': 'Personal center', + 'ms.personal.info': 'Personal information', + 'ms.personal.baseInfo': 'Basic Information', + 'ms.personal.setPsw': 'Password settings', + 'ms.personal.setting': 'Personal settings', + 'ms.personal.apiKey': 'APIKEY', + 'ms.personal.tripartite': 'Tripartite account', + 'ms.personal.changeAvatar': 'Change avatar', + 'ms.personal.name': 'User name', + 'ms.personal.namePlaceholder': 'Please enter user name', + 'ms.personal.nameRequired': 'Username cannot be empty', + 'ms.personal.email': 'Email', + 'ms.personal.emailPlaceholder': 'Please input your email', + 'ms.personal.emailRequired': 'E-mail can not be empty', + 'ms.personal.emailTip': + 'After modifying the email address, you need to use the new email address to log in to the system', + 'ms.personal.phone': 'Phone number', + 'ms.personal.phonePlaceholder': 'Please enter the phone number', + 'ms.personal.phoneRequired': 'Phone number can not be blank', + 'ms.personal.org': 'Organizations and projects', + 'ms.personal.builtIn': 'System built-in', + 'ms.personal.wordAvatar': 'Text avatar', + 'ms.personal.default': 'Default', + 'ms.personal.avatar': 'Avatar{index}', + 'ms.personal.currentPsw': 'Current Password', + 'ms.personal.newPsw': 'New Password', + 'ms.personal.changePswTip': 'After changing the password, you need to use the new email to log in to the system', + 'ms.personal.apiKeyTip': 'After adding, you can access MeterSphere', + 'ms.personal.expireTime': 'Expiration', + 'ms.personal.expired': 'Expired', + 'ms.personal.expiredTip': 'The expiration time can be changed in [Settings]', + 'ms.personal.validTime': 'Effective time', + 'ms.personal.desc': 'Description', + 'ms.personal.createTime': 'Created time', + 'ms.personal.copySuccess': 'Copied successfully', + 'ms.personal.maxTip': 'Up to 5 APIKEYs can be added', + 'ms.personal.confirmClose': 'Confirm to close?', + 'ms.personal.closeTip': + 'After closing, the test tasks executed using the Access Key will fail. Please operate with caution!', + 'ms.personal.closeSuccess': 'Closed successfully', + 'ms.personal.confirmDelete': 'Confirm deletion?', + 'ms.personal.deleteTip': + 'After deletion, the test tasks executed using the Access Key will fail. Please operate with caution!', + 'ms.personal.openSuccess': 'Activated successfully', + 'ms.personal.forever': 'Permanently valid', + 'ms.personal.custom': 'Custom', + 'ms.personal.timeSetting': 'Time setting', + 'ms.personal.expiredTime': 'Expire date', + 'ms.personal.expiredTimeRequired': 'Expiration time cannot be empty', + 'ms.personal.accessKeyDesc': 'Access Key description', + 'ms.personal.accessKeyDescPlaceholder': 'Please enter Access Key description', + 'ms.personal.localExecution': 'Execute locally', + 'ms.personal.apiLocalExecution': 'Interface execution locally', + 'ms.personal.apiLocalExecutionPlaceholder': + 'Please enter the local interface execution program URL and press Enter to detect', + 'ms.personal.apiLocalExecutionOpen': 'Interface local priority execution is enabled', + 'ms.personal.apiLocalExecutionClose': 'Interface local priority execution is turned off', + 'ms.personal.uiLocalExecution': 'UI execution locally', + 'ms.personal.uiLocalExecutionPlaceholder': 'Please enter the local selenium-server address and press Enter to check', + 'ms.personal.uiLocalExecutionOpen': 'UI local priority execution is enabled', + 'ms.personal.uiLocalExecutionClose': 'UI local priority execution is turned off', + 'ms.personal.test': 'Test and save', + 'ms.personal.testPass': 'Test passed', + 'ms.personal.testFail': 'Test failed', + 'ms.personal.unConfig': 'Not configured', + 'ms.personal.priorityLocalExec': 'Prioritize local execution', + 'ms.personal.jiraTip': + 'This information is the user authentication information for submitting defects through Jira. If not filled in, the default information configured by the organization will be used.', + 'ms.personal.validPass': 'Verification passed', + 'ms.personal.validFail': 'Verification failed', + 'ms.personal.unValid': 'Not verified', + 'ms.personal.valid': 'Verify', + 'ms.personal.authType': 'Authentication', + 'ms.personal.platformAccount': 'Account', + 'ms.personal.platformAccountPlaceholder': 'Please enter {type} account', + 'ms.personal.platformPsw': 'Password', + 'ms.personal.platformPswPlaceholder': 'Please enter {type} password', + 'ms.personal.platformName': 'Nickname', + 'ms.personal.platformNamePlaceholder': 'Please enter TAPD nickname', + 'ms.personal.zendao': 'ZenTao', + 'ms.personal.zendaoTip': + 'This information is the user name and password for submitting defects through ZenTao. If not filled in, the default information configured by the organization is used.', + 'ms.personal.azureTip': + 'This information is the user token information for submitting defects through Azure Devops. If not filled in, the default information configured by the organization will be used.', + 'ms.personal.azurePlaceholder': 'Please enter Personal Access Tokens', +}; diff --git a/frontend/src/components/business/ms-personal-drawer/locale/zh-CN.ts b/frontend/src/components/business/ms-personal-drawer/locale/zh-CN.ts new file mode 100644 index 0000000000..cafc162f25 --- /dev/null +++ b/frontend/src/components/business/ms-personal-drawer/locale/zh-CN.ts @@ -0,0 +1,80 @@ +export default { + 'ms.personal': '个人中心', + 'ms.personal.info': '个人信息', + 'ms.personal.baseInfo': '基本信息', + 'ms.personal.setPsw': '密码设置', + 'ms.personal.setting': '个人设置', + 'ms.personal.apiKey': 'APIKEY', + 'ms.personal.tripartite': '三方平台账号', + 'ms.personal.changeAvatar': '更换头像', + 'ms.personal.name': '用户名称', + 'ms.personal.namePlaceholder': '请输入用户名称', + 'ms.personal.nameRequired': '用户名称不能为空', + 'ms.personal.email': '邮箱', + 'ms.personal.emailPlaceholder': '请输入邮箱', + 'ms.personal.emailRequired': '邮箱不能为空', + 'ms.personal.emailTip': '修改邮箱后,需要使用新的邮箱登录系统', + 'ms.personal.phone': '手机号码', + 'ms.personal.phonePlaceholder': '请输入手机号码', + 'ms.personal.phoneRequired': '手机号码不能为空', + 'ms.personal.org': '组织与项目', + 'ms.personal.builtIn': '系统内置', + 'ms.personal.wordAvatar': '文字头像', + 'ms.personal.default': '默认', + 'ms.personal.avatar': '头像{index}', + 'ms.personal.currentPsw': '当前密码', + 'ms.personal.newPsw': '新密码', + 'ms.personal.changePswTip': '修改密码后,需要使用新的邮箱登录系统', + 'ms.personal.apiKeyTip': '新增后,可访问 MeterSphere', + 'ms.personal.expireTime': '过期时间', + 'ms.personal.expired': '已到期', + 'ms.personal.expiredTip': '可在【设置】内更改到期时间', + 'ms.personal.validTime': '有效时间', + 'ms.personal.desc': '描述', + 'ms.personal.createTime': '创建时间', + 'ms.personal.copySuccess': '复制成功', + 'ms.personal.maxTip': '最多可添加 5 个APIKEY', + 'ms.personal.confirmClose': '确认关闭吗', + 'ms.personal.closeTip': '关闭后,将导致使用该 Access Key 执行的测试任务执行失败,请谨慎操作!', + 'ms.personal.closeSuccess': '关闭成功', + 'ms.personal.confirmDelete': '确认删除吗', + 'ms.personal.deleteTip': '删除后,将导致使用该 Access Key 执行的测试任务执行失败,请谨慎操作!', + 'ms.personal.openSuccess': '启用成功', + 'ms.personal.forever': '永久有效', + 'ms.personal.custom': '自定义', + 'ms.personal.timeSetting': '时间设置', + 'ms.personal.expiredTime': '到期时间', + 'ms.personal.expiredTimeRequired': '到期时间不能为空', + 'ms.personal.accessKeyDesc': 'Access Key 描述', + 'ms.personal.accessKeyDescPlaceholder': '请输入Access Key 描述', + 'ms.personal.localExecution': '本地执行', + 'ms.personal.apiLocalExecution': '接口本地执行', + 'ms.personal.apiLocalExecutionPlaceholder': '请输入本地接口执行程序URL,回车检测', + 'ms.personal.apiLocalExecutionOpen': '接口本地优先执行已开启', + 'ms.personal.apiLocalExecutionClose': '接口本地优先执行已关闭', + 'ms.personal.uiLocalExecution': 'UI 本地执行', + 'ms.personal.uiLocalExecutionPlaceholder': '请输入本地 selenium-server 地址,回车检测', + 'ms.personal.uiLocalExecutionOpen': 'UI 本地优先执行已开启', + 'ms.personal.uiLocalExecutionClose': 'UI 本地优先执行已关闭', + 'ms.personal.test': '检测并保存', + 'ms.personal.testPass': '检测通过', + 'ms.personal.testFail': '检测失败', + 'ms.personal.unConfig': '未配置', + 'ms.personal.priorityLocalExec': '优先本地执行', + 'ms.personal.jiraTip': '该信息为通过 Jira 提交缺陷的用户认证信息,若未填写,则使用组织配置的默认信息', + 'ms.personal.validPass': '校验通过', + 'ms.personal.validFail': '校验失败', + 'ms.personal.unValid': '未校验', + 'ms.personal.valid': '校验', + 'ms.personal.authType': '认证方式', + 'ms.personal.platformAccount': '平台账号', + 'ms.personal.platformAccountPlaceholder': '请输入 {type} 账号', + 'ms.personal.platformPsw': '平台密码', + 'ms.personal.platformPswPlaceholder': '请输入 {type} 密码', + 'ms.personal.platformName': '平台昵称', + 'ms.personal.platformNamePlaceholder': '请输入 TAPD 昵称', + 'ms.personal.zendao': '禅道', + 'ms.personal.zendaoTip': '该信息为通过禅道提交缺陷的的用户名、密码,若未填写,则使用组织配置的默认信息', + 'ms.personal.azureTip': '该信息为通过Azure Devops提交缺陷的用户令牌信息,若未填写,则使用组织配置的默认信息', + 'ms.personal.azurePlaceholder': '请输入 Personal Access Tokens', +}; diff --git a/frontend/src/components/pure/ms-avatar/index.vue b/frontend/src/components/pure/ms-avatar/index.vue new file mode 100644 index 0000000000..f220f68b16 --- /dev/null +++ b/frontend/src/components/pure/ms-avatar/index.vue @@ -0,0 +1,17 @@ + + + + + diff --git a/frontend/src/components/pure/ms-description/index.vue b/frontend/src/components/pure/ms-description/index.vue index 78ed85a5ea..64045242e9 100644 --- a/frontend/src/components/pure/ms-description/index.vue +++ b/frontend/src/components/pure/ms-description/index.vue @@ -21,43 +21,45 @@
{{ item.value }} @@ -108,6 +110,7 @@ value: (string | number) | (string | number)[]; key?: string; isTag?: boolean; // 是否标签 + tagClass?: string; // 标签自定义类名 closable?: boolean; // 标签是否可关闭 showTagAdd?: boolean; // 是否显示添加标签 isButton?: boolean; diff --git a/frontend/src/components/pure/ms-drawer/index.vue b/frontend/src/components/pure/ms-drawer/index.vue index b7c5b253ad..0ab971b7f9 100644 --- a/frontend/src/components/pure/ms-drawer/index.vue +++ b/frontend/src/components/pure/ms-drawer/index.vue @@ -117,11 +117,6 @@ } ); - const contentExtraHeight = computed(() => { - // 默认有页脚、内边距时的额外高度146,内边距 30,页脚 60 - return 146 - (props.noContentPadding ? 24 : 0) - (props.footer ? 0 : 60); - }); - const handleContinue = () => { emit('continue'); }; @@ -178,6 +173,12 @@ }; + + diff --git a/frontend/src/components/pure/ms-menu-panel/index.vue b/frontend/src/components/pure/ms-menu-panel/index.vue new file mode 100644 index 0000000000..0db51bcb76 --- /dev/null +++ b/frontend/src/components/pure/ms-menu-panel/index.vue @@ -0,0 +1,74 @@ + + + + + diff --git a/frontend/src/components/pure/ms-password-input/index.vue b/frontend/src/components/pure/ms-password-input/index.vue new file mode 100644 index 0000000000..e293907fe0 --- /dev/null +++ b/frontend/src/components/pure/ms-password-input/index.vue @@ -0,0 +1,86 @@ + + + + + diff --git a/frontend/src/components/pure/ms-password-input/locale/en-US.ts b/frontend/src/components/pure/ms-password-input/locale/en-US.ts new file mode 100644 index 0000000000..68b0fe97bc --- /dev/null +++ b/frontend/src/components/pure/ms-password-input/locale/en-US.ts @@ -0,0 +1,6 @@ +export default { + 'ms.passwordInput.passwordPlaceholder': 'Please enter password', + 'ms.passwordInput.passwordTipTitle': 'Passwords must match both, and only the following rules are supported:', + 'ms.passwordInput.passwordLengthRule': 'Length is 8-32 bits', + 'ms.passwordInput.passwordWordRule': 'Must contain numbers and letters, Chinese or spaces are not allowed', +}; diff --git a/frontend/src/components/pure/ms-password-input/locale/zh-CN.ts b/frontend/src/components/pure/ms-password-input/locale/zh-CN.ts new file mode 100644 index 0000000000..ebdad65d36 --- /dev/null +++ b/frontend/src/components/pure/ms-password-input/locale/zh-CN.ts @@ -0,0 +1,6 @@ +export default { + 'ms.passwordInput.passwordPlaceholder': '请输入密码', + 'ms.passwordInput.passwordTipTitle': '密码须同时符合,仅支持以下规则', + 'ms.passwordInput.passwordLengthRule': '长度为8-32位', + 'ms.passwordInput.passwordWordRule': '必须包含数字和字母,不允许输入中文或空格', +}; diff --git a/frontend/src/components/pure/ms-table-more-action/index.vue b/frontend/src/components/pure/ms-table-more-action/index.vue index 8693d4cc8c..0165f07348 100644 --- a/frontend/src/components/pure/ms-table-more-action/index.vue +++ b/frontend/src/components/pure/ms-table-more-action/index.vue @@ -6,7 +6,13 @@