Browse Source

fix: 增加语言配置

周玉环 3 days ago
parent
commit
862c15c354

+ 1 - 1
xinkeaboard-web/components/NavTopBar.vue

@@ -151,8 +151,8 @@ const loginOut = async () => {
   localStorage.setItem('isLoggedIn', 'false');
   setTimeout(() => {
       localStorage.removeItem('isLoggedIn');
+      window.location.reload();
   }, 200)
-  // window.location.reload();
 };
 
 

+ 1 - 0
xinkeaboard-web/components/SldDiy.vue

@@ -1229,6 +1229,7 @@ const loginOut = async () => {
   localStorage.setItem('isLoggedIn', 'false');
    setTimeout(() => {
       localStorage.removeItem('isLoggedIn');
+      window.location.reload();
   }, 200)
 };
 

+ 2 - 2
xinkeaboard-web/composables/request.js

@@ -2,7 +2,7 @@ import axios from 'axios'
 import qs from "qs";
 import {ElMessage} from 'element-plus'
 import { useFiltersStore } from '@/store/filter.js'
-import { webSiteFlagRelation } from "../utils/common";
+import { webSiteFlagRelation, webSiteLanguageRelation } from "../utils/common";
 
 const timeout = 10000
 
@@ -124,6 +124,6 @@ const initRequestHeader = async (method, url, data = {}, type = 'urlencoded') =>
         headers.Authorization = 'Bearer ' + token;
     }
 
-    result = { url, data, headers: {...headers, 'Web-Site': webSiteFlagRelation[config.public.appType]} };
+    result = { url, data, headers: {...headers, 'Web-Site': webSiteFlagRelation[config.public.appType], Language: webSiteLanguageRelation[config.public.appType]} };
     return result;
 }

+ 3 - 2
xinkeaboard-web/composables/useFetchRaw.ts

@@ -1,5 +1,5 @@
 import { useFetch as _useFetch } from '#app'
-import { webSiteFlagRelation } from "../utils/common";
+import { webSiteFlagRelation, webSiteLanguageRelation } from "../utils/common";
 
 export async function useFetchRaw<T = any>(url: string, options?: any) {
   const config = useRuntimeConfig()
@@ -7,7 +7,8 @@ export async function useFetchRaw<T = any>(url: string, options?: any) {
     ...(options ?? {}),
     headers: {
       ...(options?.headers || {}),
-      'Web-Site': webSiteFlagRelation[config.public.appType]
+      'Web-Site': webSiteFlagRelation[config.public.appType],
+      Language: webSiteLanguageRelation[config.public.appType]
     },
   }
   const { data, error, pending, refresh, execute } = await _useFetch<T>(url, newOptions)

+ 6 - 1
xinkeaboard-web/pages/member/index/home.vue

@@ -7,7 +7,7 @@
           <img :src="memberInfoFromData.info.memberAvatar" class="head_img" />
         </div>
         <div class="info">
-            <p>{{ L['会员名:'] }}  {{ memberInfoFromData.info.memberNickName }} ({{ contactType === 'email' ? memberInfoFromData.info.memberName : memberInfoFromData.info.memberMobile }})</p>
+            <p>{{ L['会员名:'] }} {{ userName }}</p>
             <p v-if="contactType === 'email'">Email:  {{memberInfoFromData.info.memberEmail}}</p>
             <p v-if="contactType === 'mobile'">联系方式:  {{ memberInfoFromData.info.memberMobile }}</p>
         </div>
@@ -238,6 +238,11 @@ const { proxy } = getCurrentInstance();
 const dialogVisible = ref(false)
 const detailInfo = reactive({data:{}})
 
+const userName = computed(() => {
+  const { memberNickName = '', memberName = '', memberMobile = '' } = memberInfoFromData.info;
+  return contactType === 'email' ? memberNickName + ' ( ' + memberName + ' )' : memberMobile
+})
+
 //展示询盘详情
 const showDetail = (item) => {
   dialogVisible.value = true

+ 6 - 2
xinkeaboard-web/pages/member/pwd/login.vue

@@ -160,7 +160,7 @@ const verifyFail = () => {
 
 const getSmsCode = () => {
   var param = {};
-  param.verifyType = 1;
+  param.verifyType = contactType === 'email' ? 1 : 2;
   const verifyAddr = contactType === 'email' ? memberInfo.data.memberEmail : memberInfo.data.memberMobile
   param.verifyAddr = verifyAddr;
   getSmsLoading.value = true;
@@ -213,7 +213,11 @@ const next = () => {
     url = "v3/member/front/memberPassword/editLoginPwd";
     param.oldLoginPwd = old_password.value;
     param.loginPwd = password.value;
-    param.memberEmail = memberInfo.data.memberEmail;
+    if(contactType === 'email') {
+      param.memberEmail = memberInfo.data.memberEmail;
+    } else {
+      param.memberMobile = memberInfo.data.memberMobile;
+    }
     param.verifyCode = sms_code.value;
   }
   post(url, param).then((res) => {

+ 5 - 0
xinkeaboard-web/utils/common.ts

@@ -53,6 +53,11 @@ const webSiteContactRelation: Record<string, string> = {
   'distributor': 'mobile' // 国内分销商
 }
 
+export const webSiteLanguageRelation: Record<string, string> = {
+  'user': 'en', // 海外用户
+  'distributor': 'zh' // 国内分销商
+}
+
 export const getContactType = () => {
   const config = useRuntimeConfig()
   const contactType = webSiteContactRelation[config.public.appType];