| | |
| | | <meta charset="UTF-8" /> |
| | | <link rel="shortcut icon" type="image/x-icon" href="https://unpkg.byted-static.com/latest/byted/arco-config/assets/favicon.ico"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
| | | <title>Arco Design Pro</title> |
| | | <title>大模型平台</title> |
| | | </head> |
| | | <body> |
| | | <div id="app"></div> |
| | |
| | | <template> |
| | | <a-layout-footer class="footer">Arco Pro</a-layout-footer> |
| | | <a-layout-footer class="footer">大模型平台</a-layout-footer> |
| | | </template> |
| | | |
| | | <script lang="ts" setup></script> |
| | |
| | | 'messageBox.switchRoles': '切换角色', |
| | | 'messageBox.userCenter': '用户中心', |
| | | 'messageBox.userSettings': '用户设置', |
| | | 'messageBox.logout': '登出登录', |
| | | 'messageBox.logout': '退出登录', |
| | | }; |
| | |
| | | :style="{ margin: 0, fontSize: '18px' }" |
| | | :heading="5" |
| | | > |
| | | Arco Pro |
| | | 大模型平台 |
| | | </a-typography-title> |
| | | <icon-menu-fold |
| | | v-if="!topMenu && appStore.device === 'mobile'" |
| | |
| | | const logout = async (logoutTo?: string) => { |
| | | await userStore.logout(); |
| | | const currentRoute = router.currentRoute.value; |
| | | Message.success('登出成功'); |
| | | Message.success('退出成功'); |
| | | router.push({ |
| | | name: logoutTo && typeof logoutTo === 'string' ? logoutTo : 'login', |
| | | query: { |
| | |
| | | 'menu.profile': 'Profile', |
| | | 'menu.visualization': 'Data Visualization', |
| | | 'menu.user': 'User Center', |
| | | 'menu.arcoWebsite': 'Arco Design', |
| | | 'menu.arcoWebsite': '大模型平台', |
| | | 'menu.faq': 'FAQ', |
| | | 'navbar.docs': 'Docs', |
| | | 'navbar.action.locale': 'Switch to English', |
| | |
| | | 'menu.profile': '详情页', |
| | | 'menu.visualization': '数据可视化', |
| | | 'menu.user': '个人中心', |
| | | 'menu.arcoWebsite': 'Arco Design', |
| | | 'menu.arcoWebsite': '大模型平台', |
| | | 'menu.faq': '常见问题', |
| | | 'navbar.docs': '文档中心', |
| | | 'navbar.action.locale': '切换为中文', |
| | |
| | | export default { |
| | | 'menu.dashboard.workplace': '工作台', |
| | | 'workplace.welcome': '欢迎回来!', |
| | | 'workplace.welcome': '登录成功!', |
| | | 'workplace.balance': '余额(元)', |
| | | 'workplace.order.pending': '待支付', |
| | | 'workplace.order.pendingRenewal': '待续费订单', |
| | |
| | | <template> |
| | | <div class="login-form-wrapper"> |
| | | <div class="login-form-title">{{ $t('login.form.title') }}</div> |
| | | <!-- <div class="login-form-sub-title">{{ $t('login.form.title') }}</div>--> |
| | | <!-- <div class="login-form-sub-title">{{ $t('login.form.title') }}</div>--> |
| | | <div class="login-form-error-msg">{{ errorMessage }}</div> |
| | | <a-form |
| | | ref="loginForm" |
| | |
| | | :validate-trigger="['change', 'blur']" |
| | | hide-label |
| | | > |
| | | <a-input |
| | | v-model="userInfo.email" |
| | | placeholder="请输入邮箱" |
| | | > |
| | | <a-input v-model="userInfo.email" placeholder="请输入邮箱"> |
| | | <template #prefix> |
| | | <icon-user /> |
| | | </template> |
| | |
| | | <a-button type="primary" html-type="submit" long :loading="loading"> |
| | | {{ $t('login.form.login') }} |
| | | </a-button> |
| | | <a-button type="text" long class="login-form-register-btn"> |
| | | <!-- <a-button type="text" long class="login-form-register-btn"> |
| | | {{ $t('login.form.register') }} |
| | | </a-button> |
| | | </a-button> --> |
| | | </a-space> |
| | | </a-form> |
| | | </div> |
| | |
| | | setLoading(true); |
| | | try { |
| | | const rsaPassWord = rsaPsw(values.password) as string; |
| | | console.log(values,'登录信息'); |
| | | console.log(values, '登录信息'); |
| | | await userStore.login({ |
| | | email: values.email, |
| | | password: rsaPassWord, |
| | |
| | | ...othersQuery, |
| | | }, |
| | | }); |
| | | Message.success(t('欢迎回来')); |
| | | Message.success(t('登录成功')); |
| | | const { rememberPassword } = loginConfig.value; |
| | | const { email, password } = values; |
| | | // 实际生产环境需要进行加密存储。 |
| | | // The actual production environment requires encrypted storage. |
| | | loginConfig.value.email = rememberPassword ? email : ''; |
| | | loginConfig.value.password = rememberPassword ? password : ''; |
| | | |
| | | |
| | | } catch (err) { |
| | | errorMessage.value = (err as Error).message; |
| | | } finally { |
| | |
| | | alt="logo" |
| | | src="//p3-armor.byteimg.com/tos-cn-i-49unhts6dw/dfdba5317c0c20ce20e64fac803d52bc.svg~tplv-49unhts6dw-image.image" |
| | | /> |
| | | <div class="logo-text">Arco Design Pro</div> |
| | | <div class="logo-text">大模型平台</div> |
| | | </div> |
| | | <LoginBanner /> |
| | | <div class="content"> |
| | |
| | | export default { |
| | | 'login.form.title': 'RagFlow', |
| | | 'login.form.title': '大模型平台', |
| | | 'login.form.userName.errMsg': '用户名不能为空', |
| | | 'login.form.password.errMsg': '密码不能为空', |
| | | 'login.form.login.errMsg': '登录出错,轻刷新重试', |
| | |
| | | 'login.form.forgetPassword': '忘记密码', |
| | | 'login.form.login': '登录', |
| | | 'login.form.register': '注册账号', |
| | | 'login.banner.slogan1': '开箱即用的高质量模板', |
| | | 'login.banner.slogan1': '大模型平台', |
| | | 'login.banner.subSlogan1': '丰富的的页面模板,覆盖大多数典型业务场景', |
| | | 'login.banner.slogan2': '内置了常见问题的解决方案', |
| | | 'login.banner.subSlogan2': '国际化,路由配置,状态管理应有尽有', |