From 7043590a8a1d24a4c86472051c103a8e4dc2ddb4 Mon Sep 17 00:00:00 2001
From: PC-20250623MANY\Administrator <344137771@qq.com>
Date: Sat, 09 Aug 2025 17:34:01 +0800
Subject: [PATCH] 1

---
 src/page/newUser/setting.vue |  263 ++++++++++++++++++++--------------------------------
 1 files changed, 100 insertions(+), 163 deletions(-)

diff --git a/src/page/newUser/setting.vue b/src/page/newUser/setting.vue
index d1a7530..d5180a9 100644
--- a/src/page/newUser/setting.vue
+++ b/src/page/newUser/setting.vue
@@ -1,19 +1,38 @@
 <template>
   <div class="content">
-    <div class="top_back">
+    <van-nav-bar :placeholder="true" :safe-area-inset-top="true" :title="$t('setting')" left-arrow
+      @click-left="$router.go(-1)">
+    </van-nav-bar>
+    <!-- <div class="top_back">
       <div class="left_back_icon" @click="$router.go(-1)">
         <img src="../../assets/img/zuojiantou.png" alt />
       </div>
       <div class="titles">
         <span>{{ $t("setting") }}</span>
       </div>
-    </div>
+    </div> -->
     <div style="width: 100%; height: 10px; background-color: #f8f8f8"></div>
 
+    <div class="jy" @click="handleGoToAuthentication()">
+      <div class="left_gn">
+        <div class="l_icon">
+          <van-icon name="manager" size=".8rem" />
+        </div>
+        <div class="r_title">
+          <span>{{ $t('rnv') }}</span>
+        </div>
+      </div>
+      <div class="right_gos">
+        <div class="right_gos_txt" v-if="userInfo.realName">
+          {{ $t("ysmrz") }}
+        </div>
+        <img v-else src="../../assets/img/youjiantou.png" alt />
+      </div>
+    </div>
     <div class="jy" @click="handleGoToBankCard()">
       <div class="left_gn">
         <div class="l_icon">
-          <!-- <img src="../../assets/img/yeb.png" alt /> -->
+          <van-icon name="card" size=".8rem" />
         </div>
         <div class="r_title">
           <span>{{ $t("hj147") }}</span>
@@ -26,7 +45,7 @@
     <div class="jy" @click="goToSettings()">
       <div class="left_gn">
         <div class="l_icon">
-          <!-- <img src="../../assets/img/yeb.png" alt /> -->
+          <van-icon name="lock" size=".8rem" />
         </div>
         <div class="r_title">
           <span>{{ $t("hj144") }}</span>
@@ -36,64 +55,24 @@
         <img src="../../assets/img/youjiantou.png" alt />
       </div>
     </div>
-
-    <!-- 		<div class="jy" @click="handleGoToTransfer()">
-			<div class="left_gn">
-				<div class="l_icon">
-				</div>
-				<div class="r_title">
-					<span>{{ $t('hj145') }}</span>
-				</div>
-			</div>
-			<div class="right_gos">
-				<img src="../../assets/img/youjiantou.png" alt />
-			</div>
-		</div> -->
-    <div class="jy" @click="handleGoToAuthentication()">
+    <!-- <div class="jy" @click="handleGoToBankCard1()">
       <div class="left_gn">
         <div class="l_icon">
-          <!-- <img src="../../assets/img/yeb.png" alt /> -->
+          <van-icon name="friends" size=".8rem" />
         </div>
         <div class="r_title">
-          <span>{{ $t("hj146") }}</span>
+          <span>{{ $t("关于我们") }}</span>
         </div>
       </div>
       <div class="right_gos">
-        <div class="right_gos_txt" v-if="userInfo.realName">
-          {{ $t("ysmrz") }}
-        </div>
-        <img v-else src="../../assets/img/youjiantou.png" alt />
+        <img src="../../assets/img/youjiantou.png" alt />
       </div>
-    </div>
-    <!-- 
-		<div class="jy" @click="subclick()">
-			<div class="left_gn">
-				<div class="l_icon">
-				</div>
-				<div class="r_title">
-					<span>{{ $t('subdk') }}</span>
-				</div>
-			</div>
-			<div class="right_gos">
-				<img src="../../assets/img/youjiantou.png" alt />
-			</div>
-		</div>
-
-		<div class="jy" @click="yebclick()">
-			<div class="left_gn">
-				<div class="l_icon">
-				</div>
-				<div class="r_title">
-					<span>{{ $t('yeb') }}</span>
-				</div>
-			</div>
-			<div class="right_gos">
-				<img src="../../assets/img/youjiantou.png" alt />
-			</div>
-		</div> -->
+    </div> -->
     <div class="jy" @click="clicklang()">
       <div class="left_gn">
-        <div class="l_icon"></div>
+        <div class="l_icon">
+          <img src="../../assets/img/语言切换.png" alt />
+        </div>
         <div class="r_title">
           <span>{{ $t("yy") }}</span>
         </div>
@@ -102,25 +81,8 @@
         <div style="margin-right: 10px">{{ language }}</div>
       </div>
     </div>
-    <van-popup
-      v-model="settingDialog"
-      position="bottom"
-      :style="{ height: '35%' }"
-      @close="popClose"
-    >
-      <div
-        class="lang_box"
-        v-for="(item, index) in actions"
-        :key="index"
-        @click="qkclick(item)"
-      >
-        <div
-          :class="$i18n.locale == item.lang ? 'lang_box_txt' : 'lang_box_txta'"
-        >
-          {{ item.text }}
-        </div>
-      </div>
-    </van-popup>
+    <Language ref="language" @onChange="onChange" />
+
     <van-popup v-model="pswDialog" position="bottom" :style="{ height: '40%' }">
       <div class="setting_content">
         <div class="old_password">
@@ -165,6 +127,8 @@
 import { Toast, MessageBox } from "mint-ui";
 import { isNull, pwdReg } from "@/utils/utils";
 import { mapMutations } from "vuex";
+import { Notify } from "vant";
+import Language from "@/components/Language/index.vue";
 
 export default {
   name: "newUser",
@@ -179,54 +143,20 @@
       cirNewPassword: "", // 确认新密码
       userInfo: [],
       onlineService: "",
-      language: "",
-      actions: [
-        {
-          text: "English",
-          icon: require("@/assets/ico/english.png"),
-          lang: "zh-CN",
-        },
-        { text: "हिंदी", icon: require("@/assets/ico/india.png"), lang: "en" },
-        { text: "한국인", icon: require("@/assets/ico/india.png"), lang: "hy" },
-        {
-          text: "ภาษาไทย",
-          icon: require("@/assets/ico/india.png"),
-          lang: "ty",
-        },
-        {
-          text: "日本語にほんご",
-          icon: require("@/assets/ico/india.png"),
-          lang: "ry",
-        },
-
-        // { text: '繁体中文', icon: require('@/assets/ico/tw.png'), lang: 'tw' }
-      ],
+      language: ""
     };
   },
-  components: {},
+  components: { Language },
   created() {
     this.getUserInfo();
-    this.language = window.localStorage.getItem("language");
-    console.log(window.localStorage.getItem("language"));
-    if (this.language == "zh-CN") {
-      this.language = "English";
-    } else {
-      this.language = "हिंदी";
-    }
   },
   methods: {
     ...mapMutations(["undataToken"]),
-    popClose() {
-      this.settingDialog = false;
-    },
-    qkclick(e) {
-      this.settingDialog = false;
-      window.localStorage.setItem("language", e.lang);
-      this.$i18n.locale = e.lang;
-      this.language = e.text;
+    onChange(e) {
+      this.language = e;
     },
     clicklang() {
-      this.settingDialog = true;
+      this.$refs.language.settingDialog = true;
     },
     yebclick() {
       this.$router.push("/yeb");
@@ -275,17 +205,9 @@
       }
     },
     goWall() {
-      if (this.userInfo.length === 0) {
-        this.$store.commit("dialogVisible", true);
-        return;
-      }
       this.$router.push("/wallet");
     },
     gotoa(e) {
-      if (this.userInfo.length === 0) {
-        this.$store.commit("dialogVisible", true);
-        return;
-      }
       if (e == 0) {
         this.$router.push("/wallet");
       } else if (e == 1) {
@@ -303,10 +225,6 @@
     handleZh() {
       this.selectUserFlag = !this.selectUserFlag;
 
-      if (this.userInfo.length === 0) {
-        this.$store.commit("dialogVisible", true);
-        return;
-      }
       if (navigator.vibrate) {
         // 支持
         navigator.vibrate([55]);
@@ -319,6 +237,7 @@
         // 判断是否登录
         this.$store.commit("dialogVisible", false);
         this.$store.state.userInfo = data.data;
+        document.title = "Setting";
         this.userInfo = data.data;
       } else {
         this.$store.commit("dialogVisible", true);
@@ -337,20 +256,16 @@
     },
     handleOutLoginClick() {
       // 退出登录
-      MessageBox.confirm(this.$t("hj149") + "?", this.$t("hj165"), {
-        confirmButtonText: this.$t("hj161"),
-        cancelButtonText: this.$t("hj106"),
+      MessageBox.confirm(this.$t("hj149"), this.$t(""), {
+        confirmButtonText: this.$t("qr"),
+        cancelButtonText: this.$t("hj106")
       })
         .then(() => {
           this.toRegister();
         })
-        .catch(() => {});
+        .catch(() => { });
     },
     goToSettings() {
-      if (this.userInfo.length === 0) {
-        this.$store.commit("dialogVisible", true);
-        return;
-      }
       // 每次打开dialog 清空密码数据
       this.pswDialog = !this.pswDialog;
       if (this.pswDialog) {
@@ -360,42 +275,29 @@
       }
     },
     handleGoToTransfer() {
-      if (this.userInfo.length === 0) {
-        this.$store.commit("dialogVisible", true);
-        return;
-      }
       this.$router.push("/transfers");
     },
     handleGoToAuthentication() {
-      if (this.userInfo.length === 0) {
-        this.$store.commit("dialogVisible", true);
-        return;
-      }
       this.$router.push("/authentications");
     },
     handleGoToAuthenticationaz() {
-      if (this.userInfo.length === 0) {
-        this.$store.commit("dialogVisible", true);
-        return;
-      }
       this.$router.push("/download");
     },
     handleGoToBankCard() {
-      if (this.userInfo.length === 0) {
-        this.$store.commit("dialogVisible", true);
-        return;
-      }
-      this.$router.push("/bankCard");
+      // this.$router.push("/bankCard");
+      this.$router.push("/banklist");
+    },
+    handleGoToBankCard1() {
+      this.$router.push("/bankCard1");
     },
     async toRegister() {
       // 注销登陆
-
       window.localStorage.removeItem("USERTOKEN"); // 清空本地存储 USERTOKEN字段
       this.clearCookie();
       let data = await api.logout();
       if (data.status === 0) {
-        this.undataToken("");
         // Toast(data.msg)
+        this.undataToken(null);
         this.$router.push("/login");
       } else {
         Toast(data.msg);
@@ -419,13 +321,19 @@
         if (this.newPassword === this.cirNewPassword) {
           let opts = {
             oldPwd: this.oldPassword,
-            newPwd: this.newPassword,
+            newPwd: this.newPassword
           };
           let data = await api.changePassword(opts);
           if (data.status === 0) {
             this.changeLoginPsdBox = false;
-            Toast(data.msg);
+
+            this.pswDialog = false;
             this.settingDialog = false;
+            Notify({
+              type: "success",
+              message: this.$t("密码修改成功")
+            });
+            this.toRegister();
           } else {
             Toast(data.msg);
             this.settingDialog = false;
@@ -439,15 +347,35 @@
         // 支持
         navigator.vibrate([55]);
       }
-    },
-  },
+    }
+  }
 };
 </script>
 
 <style scoped lang="less">
+@green: #c4d600;
+
+/deep/ .van-nav-bar__content {
+  height: 65px;
+}
+
+/deep/ .van-nav-bar__title {
+  font-family: "DINPro";
+  width: 100%;
+  height: 1.17333rem;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  font-style: normal;
+  font-weight: 700;
+  font-size: 0.48rem;
+  color: #14181f;
+}
+
 .right_gos_txt {
   margin-right: 15px;
 }
+
 .setting_content {
   width: 100%;
   height: 5rem;
@@ -492,7 +420,7 @@
     width: 100%;
     height: 1.3rem;
     border-radius: 0.15rem;
-    background: #2d6ae9;
+    background: @green;
     color: #fff;
     font-size: 0.4615rem;
     margin-top: 0.5rem;
@@ -505,6 +433,7 @@
     }
   }
 }
+
 .lang_box_txta {
   width: 100%;
   height: 100px;
@@ -512,6 +441,7 @@
   line-height: 100px;
   border-bottom: 1px solid #ecf5ff;
 }
+
 .lang_box_txt {
   width: 100%;
   height: 100px;
@@ -520,6 +450,7 @@
   border-bottom: 1px solid #ecf5ff;
   color: #2196f3;
 }
+
 .lang_box {
   width: 100%;
   display: flex;
@@ -527,25 +458,28 @@
   align-items: center;
   flex-direction: column;
 }
+
 .btn_s_box {
-  border: none;
-  background: #409eff;
-  color: #fff;
+  border: @green solid 0.01em;
+  background: #fff;
+  color: @green;
   height: 70px;
   width: 100%;
   line-height: 70px;
   font-size: 16px;
   text-align: center;
-  border-radius: 15px;
+  border-radius: 5px;
   font-weight: 600;
   margin: 40px 20px 0 20px;
 }
+
 .btn_s {
   width: 100%;
   display: flex;
   justify-content: center;
   align-items: center;
 }
+
 .jy {
   width: 100%;
   height: 1.5rem;
@@ -569,10 +503,11 @@
       display: flex;
       justify-content: center;
       align-items: center;
+      padding-left: 0.4rem;
 
       img {
-        width: 0.5041rem;
-        height: 0.5041rem;
+        width: .8rem;
+        height: .8rem;
       }
     }
 
@@ -583,7 +518,7 @@
       align-items: center;
       font-size: 0.4046rem;
       color: #404040;
-      padding-left: 0.4rem;
+      padding-left: 0.2rem;
 
       span {
         font-weight: 600;
@@ -604,6 +539,7 @@
     }
   }
 }
+
 body {
   background-color: #f8f8f8;
 }
@@ -669,7 +605,8 @@
     height: 2rem;
     display: flex;
     background-color: #fff;
-    > div {
+
+    >div {
       width: 10%;
       height: 100%;
       display: flex;
@@ -698,4 +635,4 @@
     }
   }
 }
-</style>
\ No newline at end of file
+</style>

--
Gitblit v1.9.3