li.shaoyi il y a 1 an
Parent
commit
a23974f540
56 fichiers modifiés avec 153 ajouts et 47 suppressions
  1. 33 0
      file/泰商所.ai
  2. 5 0
      oem/gstj/locales/extras/zh-CN.json
  3. 5 0
      oem/qdhs/locales/extras/zh-CN.json
  4. 1 2
      oem/thj/config/appconfig.json
  5. 6 0
      oem/thj/locales/extras/zh-CN.json
  6. BIN
      oem/tss/app/icons/1024x1024.png
  7. BIN
      oem/tss/app/icons/120x120.png
  8. BIN
      oem/tss/app/icons/144x144.png
  9. BIN
      oem/tss/app/icons/152x152.png
  10. BIN
      oem/tss/app/icons/167x167.png
  11. BIN
      oem/tss/app/icons/180x180.png
  12. BIN
      oem/tss/app/icons/192x192.png
  13. BIN
      oem/tss/app/icons/20x20.png
  14. BIN
      oem/tss/app/icons/29x29.png
  15. BIN
      oem/tss/app/icons/40x40.png
  16. BIN
      oem/tss/app/icons/58x58.png
  17. BIN
      oem/tss/app/icons/60x60.png
  18. BIN
      oem/tss/app/icons/72x72.png
  19. BIN
      oem/tss/app/icons/76x76.png
  20. BIN
      oem/tss/app/icons/80x80.png
  21. BIN
      oem/tss/app/icons/87x87.png
  22. BIN
      oem/tss/app/icons/96x96.png
  23. BIN
      oem/tss/app/splashscreen/1080x1920.png
  24. BIN
      oem/tss/app/splashscreen/480x853.png
  25. BIN
      oem/tss/app/splashscreen/720x1280.png
  26. 1 2
      oem/tss/config/appconfig.json
  27. BIN
      oem/tss/favicon.ico
  28. 6 0
      oem/tss/locales/extras/en-US.json
  29. 6 0
      oem/tss/locales/extras/th-TH.json
  30. 6 0
      oem/tss/locales/extras/zh-CN.json
  31. BIN
      oem/tss/logo/logo-horizontal.png
  32. 12 0
      package-lock.json
  33. 1 0
      package.json
  34. 1 1
      public/config/appconfig.json
  35. 1 1
      public/locales/en-US.json
  36. 1 0
      public/locales/extras/en-US.json
  37. 1 0
      public/locales/extras/th-TH.json
  38. 1 0
      public/locales/extras/zh-CN.json
  39. 1 1
      public/locales/th-TH.json
  40. 2 2
      public/locales/zh-CN.json
  41. 2 1
      src/packages/gstj/main.ts
  42. 3 2
      src/packages/mobile/views/home/main/Index.vue
  43. 1 1
      src/packages/pc/components/layouts/header/index.vue
  44. 11 7
      src/packages/pc/components/layouts/page/index.vue
  45. 3 3
      src/packages/pc/router/index.ts
  46. 2 10
      src/packages/pc/views/auth/components/layout/index.vue
  47. 2 2
      src/packages/pc/views/market/trade/pricing/list/listing/index.vue
  48. 2 1
      src/packages/qdhs/main.ts
  49. 1 3
      src/packages/qdhs/views/home/main/Index.vue
  50. 1 1
      src/packages/thj/views/home/main/Index.vue
  51. 1 1
      src/packages/tjmd/views/home/main/Index.vue
  52. BIN
      src/packages/tss/assets/images/login-logo.png
  53. 5 1
      src/packages/tss/views/user/login/Index.vue
  54. 13 0
      src/packages/tss/views/user/login/index.less
  55. 0 2
      src/stores/modules/global.ts
  56. 16 3
      src/stores/modules/language.ts

Fichier diff supprimé car celui-ci est trop grand
+ 33 - 0
file/泰商所.ai


+ 5 - 0
oem/gstj/locales/extras/zh-CN.json

@@ -0,0 +1,5 @@
+{
+    "app": {
+        "name": "甘肃碳交"
+    }
+}

+ 5 - 0
oem/qdhs/locales/extras/zh-CN.json

@@ -0,0 +1,5 @@
+{
+    "app": {
+        "name": "青岛海商"
+    }
+}

+ 1 - 2
oem/thj/config/appconfig.json

@@ -12,6 +12,5 @@
   "quotationPropertys": [
     "totalvolume"
   ],
-  "registrationCodeRule": 0,
-  "slogan": "铁合金供应链\r\n交易服务平台"
+  "registrationCodeRule": 0
 }

+ 6 - 0
oem/thj/locales/extras/zh-CN.json

@@ -0,0 +1,6 @@
+{
+    "app": {
+        "name": "铁合金掌上行",
+        "slogan": "铁合金供应链\r\n交易服务平台"
+    }
+}

BIN
oem/tss/app/icons/1024x1024.png


BIN
oem/tss/app/icons/120x120.png


BIN
oem/tss/app/icons/144x144.png


BIN
oem/tss/app/icons/152x152.png


BIN
oem/tss/app/icons/167x167.png


BIN
oem/tss/app/icons/180x180.png


BIN
oem/tss/app/icons/192x192.png


BIN
oem/tss/app/icons/20x20.png


BIN
oem/tss/app/icons/29x29.png


BIN
oem/tss/app/icons/40x40.png


BIN
oem/tss/app/icons/58x58.png


BIN
oem/tss/app/icons/60x60.png


BIN
oem/tss/app/icons/72x72.png


BIN
oem/tss/app/icons/76x76.png


BIN
oem/tss/app/icons/80x80.png


BIN
oem/tss/app/icons/87x87.png


BIN
oem/tss/app/icons/96x96.png


BIN
oem/tss/app/splashscreen/1080x1920.png


BIN
oem/tss/app/splashscreen/480x853.png


BIN
oem/tss/app/splashscreen/720x1280.png


+ 1 - 2
oem/tss/config/appconfig.json

@@ -1,6 +1,6 @@
 {
   "appId": "com.muchinfo.tss",
-  "appName": "app.name",
+  "appName": "TCE",
   "version": "1.0.0",
   "versionCode": "100000",
   "apiUrl": "http://192.168.31.204:8080/cfg?key=test_204",
@@ -8,7 +8,6 @@
   "modules": [
     "register"
   ],
-  "slogan": "app.title",
   "quotationPropertys": [
     "holdvolume"
   ]

BIN
oem/tss/favicon.ico


+ 6 - 0
oem/tss/locales/extras/en-US.json

@@ -0,0 +1,6 @@
+{
+    "app": {
+        "name": "THAI EX",
+        "slogan": "Digital Trading Platform\r\nModern Integrated Services"
+    }
+}

+ 6 - 0
oem/tss/locales/extras/th-TH.json

@@ -0,0 +1,6 @@
+{
+    "app": {
+        "name": "หลายศตวรรษ",
+        "slogan": "แพลตฟอร์มการเทรดแบบดิจิทัล\r\nบริการ ที่ทันสมัย และทันสมัย"
+    }
+}

+ 6 - 0
oem/tss/locales/extras/zh-CN.json

@@ -0,0 +1,6 @@
+{
+    "app": {
+        "name": "泰商所",
+        "slogan": "数字化交易平台\r\n现代化综合服务"
+    }
+}

BIN
oem/tss/logo/logo-horizontal.png


+ 12 - 0
package-lock.json

@@ -21,6 +21,7 @@
         "jquery": "^3.7.1",
         "long": "^5.2.0",
         "moment": "^2.29.3",
+        "moment-timezone": "^0.5.45",
         "photoswipe": "^5.3.6",
         "qrcode": "^1.5.1",
         "sortablejs": "^1.15.0",
@@ -14470,6 +14471,17 @@
         "node": "*"
       }
     },
+    "node_modules/moment-timezone": {
+      "version": "0.5.45",
+      "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.45.tgz",
+      "integrity": "sha512-HIWmqA86KcmCAhnMAN0wuDOARV/525R2+lOLotuGFzn4HO+FH+/645z2wx0Dt3iDv6/p61SIvKnDstISainhLQ==",
+      "dependencies": {
+        "moment": "^2.29.4"
+      },
+      "engines": {
+        "node": "*"
+      }
+    },
     "node_modules/mrmime": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz",

+ 1 - 0
package.json

@@ -25,6 +25,7 @@
     "jquery": "^3.7.1",
     "long": "^5.2.0",
     "moment": "^2.29.3",
+    "moment-timezone": "^0.5.45",
     "photoswipe": "^5.3.6",
     "qrcode": "^1.5.1",
     "sortablejs": "^1.15.0",

+ 1 - 1
public/config/appconfig.json

@@ -4,7 +4,7 @@
   "appTitle": "多元世纪交易中心",
   "version": "1.0.8",
   "versionCode": "10008",
-  "apiUrl": "http://192.168.31.210:8080/cfg?key=test_210",
+  "apiUrl": "http://192.168.31.204:8080/cfg?key=test_204",
   "tradeChannel": "ws",
   "modules": [
     "register",

+ 1 - 1
public/locales/en-US.json

@@ -1,7 +1,7 @@
 {
     "app": {
         "name": "Muchinfo",
-        "title": "Digital Trading Platform\r\nModern Integrated Services"
+        "slogan": "Digital Trading Platform\r\nModern Integrated Services"
     },
     "common": {
         "nodatas": "No Datas",

+ 1 - 0
public/locales/extras/en-US.json

@@ -0,0 +1 @@
+{}

+ 1 - 0
public/locales/extras/th-TH.json

@@ -0,0 +1 @@
+{}

+ 1 - 0
public/locales/extras/zh-CN.json

@@ -0,0 +1 @@
+{}

+ 1 - 1
public/locales/th-TH.json

@@ -1,7 +1,7 @@
 {
     "app": {
         "name": "หลายศตวรรษ",
-        "title": "แพลตฟอร์มการซื้อขายดิจิทัล\r\nบริการครบวงจรที่ทันสมัย"
+        "slogan": "แพลตฟอร์มการซื้อขายดิจิทัล\r\nบริการครบวงจรที่ทันสมัย"
     },
     "common": {
         "nodatas": "ไม่มีข้อมูล",

+ 2 - 2
public/locales/zh-CN.json

@@ -1,7 +1,7 @@
 {
     "app": {
-        "name": "多元世纪",
-        "title": "数字化交易平台\r\n现代化综合服务"
+        "name": "多元世纪交易中心",
+        "slogan": "数字化交易平台\r\n现代化综合服务"
     },
     "common": {
         "nodatas": "暂无数据",

+ 2 - 1
src/packages/gstj/main.ts

@@ -13,11 +13,12 @@ import VXETable from 'vxe-table'
 import 'vxe-table/lib/style.css'
 import './assets/themes/style.less' // 主题样式
 // import { timerInterceptor } from '@/utils/timer'
-// import { useGlobalStore } from '@/stores'
+import { i18n } from '@/stores'
 // import Vconsole from 'vconsole'
 // new Vconsole()
 
 const app = createApp(App)
+app.use(i18n)
 app.use(router)
 app.use(directives)
 app.use(VXETable)

+ 3 - 2
src/packages/mobile/views/home/main/Index.vue

@@ -1,7 +1,7 @@
 <template>
   <app-view class="home-main">
     <template #header>
-      <app-navbar :title="globalStore.getSystemInfo('appName')" :show-back-button="false" />
+      <app-navbar :title="$t('app.name')" :show-back-button="false" />
     </template>
     <Banner :data-list="topBanners" />
     <PullRefresh class="home-main__container" v-model="refreshing" @refresh="onRefresh">
@@ -26,7 +26,8 @@
       </app-block>
       <app-block class="home-main__news">
         <CellGroup class="article">
-          <Cell class="home-main__titlebar" :title="$t('routes.news')" :value="$t('common.more')" icon="fire" :to="{ name: 'news-list' }" is-link />
+          <Cell class="home-main__titlebar" :title="$t('routes.news')" :value="$t('common.more')" icon="fire"
+            :to="{ name: 'news-list' }" is-link />
           <template v-for="(item, index) in newsList" :key="index">
             <Cell class="article-item" :title="item.title" :value="formatDate(item.publishdate, 'MM/DD')"
               :to="{ name: 'news-detail', query: { id: item.id } }" />

+ 1 - 1
src/packages/pc/components/layouts/header/index.vue

@@ -2,7 +2,7 @@
     <div class="app-header">
         <div class="app-header__left">
             <slot name="left"></slot>
-            <span>{{ t(globalStore.getSystemInfo('appName')) }}</span>
+            <span>{{ t('app.name') }}</span>
         </div>
         <div class="app-header__right">
             <slot name="right"></slot>

+ 11 - 7
src/packages/pc/components/layouts/page/index.vue

@@ -47,16 +47,18 @@
           <li>
             <el-popover trigger="hover" :title="t('account.formula')" :content="t('account.tips1')" :width="220">
               <template #reference>
-                <span :class="accountStore.currentAccount.hazardRatioColor" style="cursor: pointer;">{{ t('account.riskRate1') }}{{
-                  parsePercent(accountStore.currentAccount.hazardRatio) }}</span>
+                <span :class="accountStore.currentAccount.hazardRatioColor" style="cursor: pointer;">{{
+                  t('account.riskRate1') }}{{
+                    parsePercent(accountStore.currentAccount.hazardRatio) }}</span>
               </template>
             </el-popover>
           </li>
           <li>
             <el-popover trigger="hover" :title="t('account.formula')" :content="t('account.tips2')" :width="280">
               <template #reference>
-                <span :class="accountStore.currentAccount.hazardRatioColor" style="cursor: pointer;">{{ t('account.cutRate') }}{{
-                  parsePercent(accountStore.currentAccount.liquidationRate) }}</span>
+                <span :class="accountStore.currentAccount.hazardRatioColor" style="cursor: pointer;">{{
+                  t('account.cutRate') }}{{
+                    parsePercent(accountStore.currentAccount.liquidationRate) }}</span>
               </template>
             </el-popover>
           </li>
@@ -73,7 +75,8 @@
             <span>{{ serverTime?.format('HH:mm:ss') }}</span>
           </li>
           <li>
-            <el-tooltip :hide-after="0" :content="`${ t('account.quoteservice') }${ quoteServerStatus ? t('account.connected') : t('account.unconnected') }`">
+            <el-tooltip :hide-after="0"
+              :content="`${t('account.quoteservice')}${quoteServerStatus ? t('account.connected') : t('account.unconnected')}`">
               <i :class="['server-status', quoteServerStatus ? 'green' : 'red']"></i>
             </el-tooltip>
           </li>
@@ -86,7 +89,7 @@
 <script lang="ts" setup>
 import { ref, onMounted, onUnmounted, computed } from 'vue'
 import { RouteRecordNormalized, RouteRecordName } from 'vue-router'
-import moment, { Moment } from 'moment'
+import moment, { Moment } from 'moment-timezone'
 import { timerTask } from '@/utils/timer'
 import { parsePercent } from '@/filters'
 import { getServerTime } from '@/services/api/common'
@@ -182,7 +185,8 @@ const onTabChange = () => {
 // 校验服务器时间
 const checkServerTime = () => {
   getServerTime().then((res) => {
-    serverTime.value = moment.parseZone(res.data)
+    const localTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone // 获取本地时区
+    serverTime.value = moment.tz(res.data, localTimeZone)
     // 每1分钟同步一次服务器时间
     timerTask.setTimeout(() => {
       checkServerTime()

+ 3 - 3
src/packages/pc/router/index.ts

@@ -1,10 +1,10 @@
 import { createWebHashHistory, RouteRecordRaw } from 'vue-router'
-import { useGlobalStore, useLoginStore, useMenuStore } from '@/stores'
+import { useLoginStore, useMenuStore, i18n } from '@/stores'
 import dynamicRouter from './dynamicRouter'
 import historyRouter from './historyRouter'
 import service from '@/services'
 
-const globalStore = useGlobalStore()
+const t = i18n.global.t
 const loginStore = useLoginStore()
 const menuStore = useMenuStore()
 
@@ -61,7 +61,7 @@ const router = historyRouter.create({
 router.beforeEach((to, from, next) => {
     const isLoginOrRegister = to.name === 'login' || to.name === 'register'
     const title = to.meta.title
-    document.title = globalStore.getSystemInfo('appName') + (title ? ` - ${title}` : '')
+    document.title = t('app.name') + (title ? ` - ${title}` : '')
 
     // 判断服务是否加载完成
     if (service.isReady) {

+ 2 - 10
src/packages/pc/views/auth/components/layout/index.vue

@@ -2,7 +2,7 @@
   <div class="sign-layout">
     <div class="sign-layout__wrapper">
       <div class="left">
-        <pre>{{ i18n.global.t(slogan) }}</pre>
+        <pre>{{ i18n.global.t('app.slogan') }}</pre>
       </div>
       <div class="right">
         <div class="right-logo">
@@ -21,8 +21,7 @@
 </template>
 
 <script lang="ts" setup>
-import { shallowRef } from 'vue'
-import { useGlobalStore, i18n } from '@/stores'
+import { i18n } from '@/stores'
 
 defineProps({
   title: {
@@ -31,15 +30,8 @@ defineProps({
   },
 })
 
-const globalStore = useGlobalStore()
-const slogan = shallowRef('')
-
 const meta = document.getElementsByTagName('meta')
 const version = meta.namedItem('revised')?.content ?? '0'
-
-globalStore.getSystemConfig().then((res) => {
-  slogan.value = res.slogan
-})
 </script>
 
 <style lang="less">

+ 2 - 2
src/packages/pc/views/market/trade/pricing/list/listing/index.vue

@@ -3,7 +3,7 @@
         <div class="pricing-listing__forex" v-if="selectedGoods">
             <Forex v-bind="{ goodsCode: selectedGoods.goodscode }" @price-click="onPriceClick" />
         </div>
-        <div class="pricing-listing__form">
+        <el-scrollbar class="pricing-listing__form" always>
             <h4 class="header-title">{{ t('quote.pricing.title1') }}</h4>
             <el-form ref="formRef" class="el-form--vertical" label-width="60px" :show-message="false" :model="formData"
                 :rules="formRules">
@@ -77,7 +77,7 @@
                     </template>
                 </el-form-item>
             </el-form> 
-        </div>
+        </el-scrollbar>
     </div>
 </template>
 

+ 2 - 1
src/packages/qdhs/main.ts

@@ -13,11 +13,12 @@ import VXETable from 'vxe-table'
 import 'vxe-table/lib/style.css'
 import './assets/themes/style.less' // 主题样式
 // import { timerInterceptor } from '@/utils/timer'
-// import { useGlobalStore } from '@/stores'
+import { i18n } from '@/stores'
 // import Vconsole from 'vconsole'
 // new Vconsole()
 
 const app = createApp(App)
+app.use(i18n)
 app.use(router)
 app.use(directives)
 app.use(VXETable)

+ 1 - 3
src/packages/qdhs/views/home/main/Index.vue

@@ -1,7 +1,7 @@
 <template>
   <app-view class="home-main">
     <template #header>
-      <app-navbar :title="globalStore.getSystemInfo('appName')" :show-back-button="false" />
+      <app-navbar :title="$t('app.name')" :show-back-button="false" />
     </template>
     <Banner :data-list="topBanners" />
     <PullRefresh class="home-main__container" v-model="refreshing" @refresh="onRefresh">
@@ -27,10 +27,8 @@ import { Cell, CellGroup, PullRefresh } from "vant";
 import { formatDate } from "@/filters";
 import { queryImageConfigs } from "@/services/api/common";
 import { queryNewTitles } from "@/services/api/news";
-import {  useGlobalStore } from '@/stores'
 import Banner from '@mobile/components/base/banner/index.vue'
 
-const globalStore = useGlobalStore()
 const refreshing = shallowRef(false); // 是否处于加载中状态
 const topBanners = shallowRef<string[]>([]); // 轮播图列表
 const newsList = shallowRef<Model.NewTitlesRsp[]>([]); // 资讯列表

+ 1 - 1
src/packages/thj/views/home/main/Index.vue

@@ -1,7 +1,7 @@
 <template>
   <app-view class="home-main">
     <template #header>
-      <app-navbar :title="globalStore.getSystemInfo('appName')" :show-back-button="false" />
+      <app-navbar :title="$t('app.name')" :show-back-button="false" />
     </template>
     <Banner :data-list="topBanners" />
     <PullRefresh class="home-main__container" v-model="refreshing" @refresh="onRefresh">

+ 1 - 1
src/packages/tjmd/views/home/main/Index.vue

@@ -1,7 +1,7 @@
 <template>
   <app-view class="home-main">
     <template #header>
-      <app-navbar :title="globalStore.getSystemInfo('appName')" :show-back-button="false" />
+      <app-navbar :title="$t('app.name')" :show-back-button="false" />
     </template>
     <Banner :data-list="topBanners" />
     <div class="home-main__container">

BIN
src/packages/tss/assets/images/login-logo.png


+ 5 - 1
src/packages/tss/views/user/login/Index.vue

@@ -10,4 +10,8 @@ import logoImage from '../../../assets/images/login-logo.png'
 
 onMounted(() => plus.setStatusBarStyle('dark'))
 onUnmounted(() => plus.setStatusBarStyle('light'))
-</script>
+</script>
+
+<style lang="less">
+@import './index.less';
+</style>

+ 13 - 0
src/packages/tss/views/user/login/index.less

@@ -0,0 +1,13 @@
+.login {
+    background: linear-gradient(325deg, #f9f9f9, #f9f6f4);
+
+    &-form {
+        .button-submit {
+            --van-button-primary-background: #c19239;
+        }
+
+        .van-field__control{
+            background-color: #f7f7f7;
+        }
+    }
+}

+ 0 - 2
src/stores/modules/global.ts

@@ -14,7 +14,6 @@ export interface SystemInfo {
     modules: ('register' | 'delivery')[]; // 应用包含的模块
     quotationPropertys: (keyof Model.QuoteDayRsp)[]; // 盘面可显示的属性
     forcedPasswordChange: boolean; // 首次登录是否强制修改密码
-    slogan: string; // 标语
     registrationCodeRule: -1 | 0 | 1; // 注册编码规则,-1隐藏,0非必填,1必填
     riskType: 0 | 1 | 2; // 风控类型,1按单风控,2按账户风控
 }
@@ -39,7 +38,6 @@ export const useGlobalStore = defineStore(() => {
             modules: [],
             quotationPropertys: [],
             forcedPasswordChange: false,
-            slogan: '数字化交易平台\r\n现代化综合服务',
             registrationCodeRule: 1,
             riskType: 0
         }

+ 16 - 3
src/stores/modules/language.ts

@@ -1,8 +1,9 @@
-import { createI18n } from 'vue-i18n'
-import { localData } from '../storage'
+import axios from 'axios'
 import zhCN from '@public/locales/zh-CN.json'
 import enUS from '@public/locales/en-US.json'
 import thTH from '@public/locales/th-TH.json'
+import { createI18n } from 'vue-i18n'
+import { localData } from '../storage'
 
 const appLanguage = localData.getRef('appLanguage')
 
@@ -12,6 +13,18 @@ export const i18n = createI18n({
     messages: {
         'zh-CN': zhCN,
         'en-US': enUS,
-        "th-TH": thTH
+        'th-TH': thTH
     }
+})
+
+axios('./locales/extras/zh-CN.json').then((res) => {
+    i18n.global.mergeLocaleMessage('zh-CN', res.data)
+})
+
+axios('./locales/extras/en-US.json').then((res) => {
+    i18n.global.mergeLocaleMessage('en-US', res.data)
+})
+
+axios('./locales/extras/th-TH.json').then((res) => {
+    i18n.global.mergeLocaleMessage('th-TH', res.data)
 })

Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff