Browse Source

Merge branch 'master' of https://git.nanodreamtech.com/wkw/wallet_app

wkw 4 weeks ago
parent
commit
5141da5f79

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "wallet_app",
-  "version": "0.0.0",
+  "version": "1.0.0",
   "private": true,
   "type": "module",
   "scripts": {

File diff suppressed because it is too large
+ 8 - 0
src/assets/svg/acc_logo.svg


+ 2 - 1
src/i18n/enUs/router.js

@@ -1,3 +1,4 @@
 export default {
-  Login: "登录"
+  Login: "登录",
+  LanguageSettings:"LanguageSettings",
 }

+ 4 - 5
src/i18n/vant.js

@@ -1,3 +1,4 @@
+import { Locale } from 'vant';
 import { lang } from "@/settings/designSetting";
 import { useLangStore } from "@/stores/modules/langStore";
 
@@ -9,16 +10,14 @@ const langStore = useLangStore();
 import enUS from 'vant/es/locale/lang/en-US';
 import zhHK from 'vant/es/locale/lang/zh-HK';
 
-const i18nUi = new map([
+const i18nUi = new Map([
   ["zh-HK", zhHK],
   ["en-US", enUS]
 ]); 
 
 
-
-
 // 切换端语言包
 export const useLang = (e) => {
-  const lang = e || langStore?.lang || lang
-  Locale.use(lang, i18nUi.get(lang));
+  const setLang = e || langStore?.lang || lang 
+  Locale.use(setLang, i18nUi.get(setLang));
 }

+ 2 - 0
src/i18n/zhHk/index.js

@@ -2,9 +2,11 @@ import login from './login'
 import global from './global'
 import router from './router'
 import form from './form'
+import settings from './settings'
 export default {
   form,
   login,
   global,
   router,
+  settings
 }

+ 16 - 11
src/i18n/zhHk/router.js

@@ -8,15 +8,20 @@ export default {
   Me: "我的",
   CreateWallet: "創建錢包",
   PersonalInformation: "個人資料",
-  WalletManagement:"錢包管理",
-  receiptOfRecord:"領取記錄",
-  walletDetail:"詳情",
-  transfer:"轉賬",
-  addressBook:"地址簿",
-  addAddress:"添加地址",
-  collectionPayment:"收款",
-  exchange:"兌換",
+  WalletManagement: "錢包管理",
+  receiptOfRecord: "領取記錄",
+  walletDetail: "詳情",
+  transfer: "轉賬",
+  addressBook: "地址簿",
+  addAddress: "添加地址",
+  collectionPayment: "收款",
+  exchange: "兌換",
 
-   UserAgreement: "用戶協議",
-  BackupMnemonic: "備份助記詞"
-}
+  UserAgreement: "用戶協議",
+  BackupMnemonic: "備份助記詞",
+  AboutUs: "關於我們",
+  SystemSettings: "系統設置",
+
+  LanguageSettings:"語言設置",
+  
+};

+ 14 - 0
src/i18n/zhHk/settings.js

@@ -0,0 +1,14 @@
+export default {
+  ServiceAndPrivacyPolicy: "服務條款及隱私政策",
+  OfficialWebsite: "官方網站",
+  VersionUpdate: "版本更新",
+
+  Language: "語言",
+  MonetaryUnit: "貨幣單位",
+  NodeSettings: "節點設置",  
+
+  TraditionalChinese: "繁體中文",
+
+
+
+};

+ 21 - 1
src/router/system.js

@@ -97,6 +97,26 @@ export const systemRoutes = [
         meta: { title: "router.Transaction", keepAlive: false, navbar: true, leftArrow: true }, // 交易所
         component: () => import("@/views/transaction/jys/index.vue"),
       },
+      {
+        path: "aboutUs",
+        name: "aboutUs",
+        meta: { title: "router.AboutUs", keepAlive: false, navbar: true, leftArrow: true }, // 關於我們
+        component: () => import("@/views/settings/aboutUs/index.vue"),
+      },
+
+
+      {
+        path: "systemSettings",
+        name: "systemSettings",
+        meta: { title: "router.SystemSettings", keepAlive: false, navbar: true, leftArrow: true }, //  系統設置
+        component: () => import("@/views/settings/systemSettings/index.vue"),
+      },
+      {
+        path: "languageSettings",
+        name: "languageSettings",
+        meta: { title: "router.LanguageSettings", keepAlive: false, navbar: true, leftArrow: true }, //  系統設置
+        component: () => import("@/views/settings/languageSettings/index.vue"),
+      },
     ],
   },
-];
+]

+ 4 - 5
src/views/me/index.vue

@@ -65,16 +65,15 @@
   </div>
 </template>
 
-<script setup>
-import { useRouter } from 'vue-router'
+<script setup> 
 const router = useRouter();
 const vanListConfig = [
   { title: '元宝兑换', icon:"ingot",  url: 'exchange' },
   { title: '竞赛', icon:"competition",  url: '/' },
   { title: '节点分红', icon:"red-envelope",  url: 'nodeDividend' },
-  { title: '帮助中心', icon:"help",  url: '/' },
-  { title: '关于我们', icon:"me",  url: '/' },
-  { title: '系统设置', icon:"set",  url: '/' },
+  // { title: '帮助中心', icon:"help",  url: '/' },
+  { title: $t('router.AboutUs'), icon:"me",  url: 'aboutUs' },
+  { title: '系统设置', icon:"set",  url: 'systemSettings' },
   { title: '管理员设置', icon:"admin-set",  url: '/' },
 ]
 const evGoPath = (path)=>{

+ 79 - 0
src/views/settings/aboutUs/index.vue

@@ -0,0 +1,79 @@
+<template>
+  <div class="container">
+    <div class="logo-box">
+      <svg-icon name="acc_logo" class="acc-logo" />
+      <span class="logo-text">Angel Token</span>
+      <span class="logo-version">1.0.0</span>
+    </div>
+
+    <van-list class="user-bar-list">
+      <template v-for="(item, index) in vanListConfig" >
+        <van-cell  
+          v-if="item.txt"
+          :class="index == vanListConfig.length - 1 ? 'user-bar-list-last' : ''"
+          :title="item.title"
+          :value="item.txt"
+          
+        />
+        <van-cell   
+          v-else
+          :class="index == vanListConfig.length - 1 ? 'user-bar-list-last' : ''"
+          :title="item.title"
+          :value="item.txt"
+          is-link
+          @click="evGoPath(item.url)"
+        />
+      </template>
+    </van-list>
+  </div>
+</template>
+
+<script setup> 
+const router = useRouter();
+
+const vanListConfig = [
+  { title: $t('settings.ServiceAndPrivacyPolicy'), icon:"ingot",  url: 'agreement' },
+  { title: $t('settings.OfficialWebsite'),   txt:"https://wallet.angeltokens.io" },
+  { title: $t('settings.VersionUpdate'),   url: 'nodeDividend' },
+]
+
+const evGoPath = (path)=>{
+  if(path == "agreement") router.push(path)
+}
+
+</script>
+
+<style scoped lang="less">
+.logo-box {
+  width: 100%;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  .logo-text {
+    font-weight: 500;
+    font-size: 17px;
+    margin-top: 8px;
+  }
+  .logo-version {
+    font-weight: 400;
+    font-size: 12px;
+    color: #8d8d8d;
+    margin-top: 4px;
+  }
+}
+.acc-logo {
+  margin-top: 17px;
+  width: 73px;
+  height: 73px;
+}
+
+.user-bar-list{
+  margin: 25px 17px 0 17px;
+  border-radius: 12px 12px 12px 12px;
+  overflow: hidden; 
+ 
+  :deep(.van-cell__value){
+    min-width: 200px;
+  }
+}
+</style>

+ 33 - 0
src/views/settings/languageSettings/index.vue

@@ -0,0 +1,33 @@
+<template>
+  <van-radio-group v-model="langStore.lang" @change="handleChange" class="radio-group">
+    <van-cell-group inset>
+      <van-cell  v-for="(item, index) in langList" :key="index" :title="item.label" clickable  @click="langStore.lang = item.key" >
+        <template #right-icon>
+          <van-radio :name="item.key" />
+        </template>
+      </van-cell>
+    </van-cell-group>
+  </van-radio-group>
+</template>
+
+<script setup> 
+import { langList } from "@/i18n/index.js" 
+import { useLang } from "@/i18n/vant.js"
+import { useLangStore } from "@/stores/modules/langStore"
+
+const langStore = useLangStore() 
+const router = useRouter()
+
+const handleChange =  async (value) =>{
+  await langStore.changeLang(value)
+  useLang(value)
+  router.go(0)
+}
+
+</script>
+
+<style lang="less" scoped>
+.radio-group{
+  margin-top: 17px;
+}
+</style>

+ 42 - 0
src/views/settings/systemSettings/index.vue

@@ -0,0 +1,42 @@
+<template>
+  <div class="c">
+    <van-list class="user-bar-list">
+      <van-cell
+        v-for="(item, index) in vanListConfig"
+        :key="index"
+        :class="index == vanListConfig.length - 1 ? 'user-bar-list-last' : ''"
+        :title="item.title"
+        :value="item.txt"
+        is-link
+        @click="evGoPath(item.url)"
+      />
+    </van-list>
+ 
+  </div>
+</template>
+
+<script setup> 
+
+const router = useRouter() 
+const vanListConfig = [
+  { title: $t('settings.Language'), icon:"ingot",  url: 'languageSettings', txt: $t("settings.TraditionalChinese")  },
+  // { title: $t('settings.MonetaryUnit'),   txt:"USD" },
+  // { title: $t('settings.NodeSettings'),   url: 'nodeDividend',  },
+]
+
+const evGoPath = (url) => { 
+  router.push(url)
+}
+</script>
+
+<style scoped lang="less"> 
+.user-bar-list{
+  margin: 25px 17px 0 17px;
+  border-radius: 12px 12px 12px 12px;
+  overflow: hidden; 
+
+  :deep(.van-cell__value){
+    min-width: 200px;
+  }
+}
+</style>

Some files were not shown because too many files changed in this diff