From 2b89158d7bf80f2c9a8a4203b4837de92837e7ca Mon Sep 17 00:00:00 2001
From: admin <344137771@qq.com>
Date: Mon, 19 Jan 2026 13:52:48 +0800
Subject: [PATCH] 1
---
src/page/newUser/setting.vue | 296 ++++++++++++++++++++++++++++------------------------------
1 files changed, 143 insertions(+), 153 deletions(-)
diff --git a/src/page/newUser/setting.vue b/src/page/newUser/setting.vue
index 52bee7e..6a5a3b2 100644
--- a/src/page/newUser/setting.vue
+++ b/src/page/newUser/setting.vue
@@ -1,61 +1,25 @@
<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="handleGoToBankCard()">
- <div class="left_gn">
- <div class="l_icon">
- <!-- <img src="../../assets/img/yeb.png" alt /> -->
- </div>
- <div class="r_title">
- <span>{{ $t("hj147") }}</span>
- </div>
- </div>
- <div class="right_gos">
- <img src="../../assets/img/youjiantou.png" alt />
- </div>
- </div>
- <div class="jy" @click="goToSettings()">
- <div class="left_gn">
- <div class="l_icon">
- <!-- <img src="../../assets/img/yeb.png" alt /> -->
- </div>
- <div class="r_title">
- <span>{{ $t("hj144") }}</span>
- </div>
- </div>
- <div class="right_gos">
- <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="left_gn">
<div class="l_icon">
- <!-- <img src="../../assets/img/yeb.png" alt /> -->
+ <van-icon name="manager" size=".8rem" />
</div>
<div class="r_title">
- <span>{{ $t("hj146") }}</span>
+ <span>{{ $t('rnv') }}</span>
</div>
</div>
<div class="right_gos">
@@ -65,35 +29,50 @@
<img v-else 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 class="jy" @click="handleGoToBankCard()">
+ <div class="left_gn">
+ <div class="l_icon">
+ <van-icon name="card" size=".8rem" />
+ </div>
+ <div class="r_title">
+ <span>{{ $t("hj147") }}</span>
+ </div>
+ </div>
+ <div class="right_gos">
+ <img src="../../assets/img/youjiantou.png" alt />
+ </div>
+ </div> -->
+ <div class="jy" @click="goToSettings()">
+ <div class="left_gn">
+ <div class="l_icon">
+ <van-icon name="lock" size=".8rem" />
+ </div>
+ <div class="r_title">
+ <span>{{ $t("hj144") }}</span>
+ </div>
+ </div>
+ <div class="right_gos">
+ <img src="../../assets/img/youjiantou.png" alt />
+ </div>
+ </div>
+ <!-- <div class="jy" @click="handleGoToBankCard1()">
+ <div class="left_gn">
+ <div class="l_icon">
+ <van-icon name="friends" size=".8rem" />
+ </div>
+ <div class="r_title">
+ <span>{{ $t("关于我们") }}</span>
+ </div>
+ </div>
+ <div class="right_gos">
+ <img src="../../assets/img/youjiantou.png" alt />
+ </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">
@@ -128,7 +90,7 @@
<span>{{ $t("hj150") + ":" }}</span>
</div>
<div class="right_password_input">
- <input type="password" v-model="oldPassword" />
+ <input v-model="oldPassword" />
</div>
</div>
<div class="old_password">
@@ -164,6 +126,9 @@
import * as api from "@/axios/api";
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",
@@ -178,53 +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: {
- popClose() {
- this.settingDialog = false;
- },
- qkclick(e) {
- this.settingDialog = false;
- window.localStorage.setItem("language", e.lang);
- this.$i18n.locale = e.lang;
- this.language = e.text;
+ ...mapMutations(["undataToken"]),
+ onChange(e) {
+ this.language = e;
},
clicklang() {
- this.settingDialog = true;
+ this.$refs.language.settingDialog = true;
},
yebclick() {
this.$router.push("/yeb");
@@ -298,13 +230,14 @@
navigator.vibrate([55]);
}
},
+ // 获取用户信息
async getUserInfo() {
- // 获取用户信息
let data = await api.getUserInfo();
if (data.status === 0) {
// 判断是否登录
this.$store.commit("dialogVisible", false);
this.$store.state.userInfo = data.data;
+ document.title = "Setting";
this.userInfo = data.data;
} else {
this.$store.commit("dialogVisible", true);
@@ -321,24 +254,41 @@
// }
this.$router.push("/setting");
},
+ // 退出登录
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() {
- // 每次打开dialog 清空密码数据
+ // 每次打开dialog 清空密码数据
+ async goToSettings() {
this.pswDialog = !this.pswDialog;
if (this.pswDialog) {
- this.oldPassword = "";
this.newPassword = "";
this.cirNewPassword = "";
+ // 获取旧密码并回显
+ await this.getOldPassword();
+ }
+ },
+ // 获取旧密码
+ async getOldPassword() {
+ try {
+ const data = await api.getPassword();
+ if (data.status === 0) {
+ this.oldPassword = data.data || "";
+ } else {
+ // 如果获取失败,清空旧密码输入框
+ this.oldPassword = "";
+ Toast(data.msg || this.$t("获取数据失败"));
+ }
+ } catch (error) {
+ this.oldPassword = "";
+ Toast(this.$t("获取数据失败"));
}
},
handleGoToTransfer() {
@@ -351,7 +301,11 @@
this.$router.push("/download");
},
handleGoToBankCard() {
- this.$router.push("/bankCard");
+ // this.$router.push("/bankCard");
+ this.$router.push("/banklist");
+ },
+ handleGoToBankCard1() {
+ this.$router.push("/bankCard1");
},
async toRegister() {
// 注销登陆
@@ -360,6 +314,7 @@
let data = await api.logout();
if (data.status === 0) {
// Toast(data.msg)
+ this.undataToken(null);
this.$router.push("/login");
} else {
Toast(data.msg);
@@ -383,13 +338,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;
@@ -403,15 +364,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;
@@ -456,7 +437,7 @@
width: 100%;
height: 1.3rem;
border-radius: 0.15rem;
- background: #2d6ae9;
+ background: @green;
color: #fff;
font-size: 0.4615rem;
margin-top: 0.5rem;
@@ -469,6 +450,7 @@
}
}
}
+
.lang_box_txta {
width: 100%;
height: 100px;
@@ -476,6 +458,7 @@
line-height: 100px;
border-bottom: 1px solid #ecf5ff;
}
+
.lang_box_txt {
width: 100%;
height: 100px;
@@ -484,6 +467,7 @@
border-bottom: 1px solid #ecf5ff;
color: #2196f3;
}
+
.lang_box {
width: 100%;
display: flex;
@@ -491,25 +475,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;
@@ -533,10 +520,11 @@
display: flex;
justify-content: center;
align-items: center;
+ padding-left: 0.4rem;
img {
- width: 0.5041rem;
- height: 0.5041rem;
+ width: .8rem;
+ height: .8rem;
}
}
@@ -547,7 +535,7 @@
align-items: center;
font-size: 0.4046rem;
color: #404040;
- padding-left: 0.4rem;
+ padding-left: 0.2rem;
span {
font-weight: 600;
@@ -568,6 +556,7 @@
}
}
}
+
body {
background-color: #f8f8f8;
}
@@ -633,7 +622,8 @@
height: 2rem;
display: flex;
background-color: #fff;
- > div {
+
+ >div {
width: 10%;
height: 100%;
display: flex;
@@ -662,4 +652,4 @@
}
}
}
-</style>
\ No newline at end of file
+</style>
--
Gitblit v1.9.3