Ver código fonte

```
feat: 添加协议链接和登录协议文本

- 在页脚添加服务协议和隐私政策的可点击链接,并支持国际化
- 在登录对话框中添加登录协议提示文本和隐私政策链接
- 引入vue-router的useRouter并创建router实例用于页面跳转
- 添加登录协议和隐私政策的国际化文本配置
```

zhangningning 4 semanas atrás
pai
commit
1ad534c22c
4 arquivos alterados com 17 adições e 3 exclusões
  1. 2 2
      src/App.vue
  2. 11 1
      src/components/LoginDialog.vue
  3. 2 0
      src/locales/en.js
  4. 2 0
      src/locales/zh-CN.js

+ 2 - 2
src/App.vue

@@ -46,9 +46,9 @@
       <el-footer>
         <div class="footer-content" >
           <p> 
-            <span class="cursor-pointer">《服务协议》</span>
+            <span class="cursor-pointer" @click="router.push({name:'Agreement',query:{type:'serviceAgreement'}})">{{ $t('agreement.serviceAgreement') }}</span>
             <span class="gray999"> | </span>
-            <span class="cursor-pointer">《隐私政策》</span> 
+            <span class="cursor-pointer" @click="router.push({name:'Agreement',query:{type:'privacy_policy'}})">{{ $t('agreement.privacy_policy') }}</span> 
             <span class="gray999"> | </span>
             <span @click="openNewTab('https://beian.miit.gov.cn/')" class="cursor-pointer">粤ICP备2025364959号-1</span>
             <span class="gray999"> | </span>

+ 11 - 1
src/components/LoginDialog.vue

@@ -204,6 +204,15 @@
         </el-button>
       </div>
     </div>
+    <div class="flex-center mt20">
+      <div>
+        <span class="gray999">{{ $t('login.loginAgreement') }}</span>
+        <span class="cursor-pointer link"
+        @click="router.push({name:'Agreement',query:{type:'privacy_policy'}});dialogVisible=false;">
+          《{{ $t('agreement.privacy_policy') }}》
+        </span>
+      </div>
+    </div>
     
     <!-- 注册链接 -->
     <!-- <div class="register-link">
@@ -222,8 +231,9 @@ import WeChatIcon from '@/assets/imgs/WeChat.png'
 import { getCaptcha, loginUsername, loginPhone, loginEmail, getSmsCode, getEmailCode, resetPassword, getPasswordresetCode } from '@/api/auth.js'
 import { useAppStore } from '@/pinia/appStore'
 const appStore = useAppStore();
-import { useRoute } from 'vue-router'
+import { useRoute, useRouter } from 'vue-router'
 const route = useRoute()
+const router = useRouter()
 import { useI18n } from 'vue-i18n' 
 const { t } = useI18n() 
 // 正则表达式

+ 2 - 0
src/locales/en.js

@@ -141,6 +141,7 @@ export default {
     captchaSendSuccess:"Captcha send success",
     loginSuccess:"Login Success",
     logoutSuccess:"Logout Success",
+    loginAgreement:"Login Agreement",
   },
   // 添加路由标题翻译
   route: {
@@ -314,5 +315,6 @@ export default {
   agreement:{
     serviceAgreement:'AI Learning Forum Service Agreement',
     IntellectualAgreement:'AI Learning Forum Intellectual Property Protection Agreement',
+    privacy_policy:'Privacy Policy',
   }
 }

+ 2 - 0
src/locales/zh-CN.js

@@ -146,6 +146,7 @@ export default {
     captchaSendSuccess:"验证码发送成功",
     loginSuccess:"登录成功",
     logoutSuccess:"注销成功",
+    loginAgreement:"登录即同意",
   },
   // 添加路由标题翻译
   route: {
@@ -318,6 +319,7 @@ export default {
   agreement:{
     serviceAgreement:'AI学习论坛服务协议',
     IntellectualAgreement:'AI学习论坛知识产权保护协议',
+    privacy_policy:'隐私政策',
   }
 
 }