li.shaoyi %!s(int64=2) %!d(string=hai) anos
pai
achega
2f1be9376a
Modificáronse 47 ficheiros con 274 adicións e 355 borrados
  1. 8 0
      fxgl.txt
  2. 64 112
      package-lock.json
  3. 2 2
      package.json
  4. BIN=BIN
      src/packages/mobile/assets/images/block-bg.png
  5. BIN=BIN
      src/packages/mobile/assets/images/login-bg.jpg
  6. BIN=BIN
      src/packages/mobile/assets/images/login-logo.png
  7. 3 3
      src/packages/mobile/assets/themes/default/default.less
  8. 4 4
      src/packages/mobile/components/base/qrcode-scan/index.vue
  9. 2 3
      src/packages/mobile/components/base/qrcode/index.vue
  10. 13 15
      src/packages/mobile/components/base/select/index.vue
  11. 1 0
      src/packages/mobile/main.ts
  12. 2 2
      src/packages/mobile/views/account/certification/index.vue
  13. 2 2
      src/packages/mobile/views/bank/sign/components/edit/index.vue
  14. 2 2
      src/packages/mobile/views/bank/sign/index.vue
  15. 3 3
      src/packages/mobile/views/bank/wallet/components/deposit/index.vue
  16. 2 2
      src/packages/mobile/views/bank/wallet/components/withdraw/index.vue
  17. 1 1
      src/packages/mobile/views/boot/index.vue
  18. 3 3
      src/packages/mobile/views/contract/details/index.backup.vue
  19. 3 3
      src/packages/mobile/views/contract/details/index.vue
  20. 3 3
      src/packages/mobile/views/credit/lottery/index.vue
  21. 31 31
      src/packages/mobile/views/credit/signin/index.less
  22. 4 4
      src/packages/mobile/views/credit/signin/index.vue
  23. 23 13
      src/packages/mobile/views/home/components/main/index.less
  24. 21 48
      src/packages/mobile/views/home/components/main/index.vue
  25. 3 3
      src/packages/mobile/views/mine/address/components/edit/index.vue
  26. 2 2
      src/packages/mobile/views/mine/generalize/components/promotion/index.vue
  27. 3 3
      src/packages/mobile/views/mine/invoice/components/edit/index.vue
  28. 1 1
      src/packages/mobile/views/mine/main/index.less
  29. 3 3
      src/packages/mobile/views/mine/main/index.vue
  30. 8 10
      src/packages/mobile/views/mine/order/detail/purchasetrade/index.vue
  31. 2 2
      src/packages/mobile/views/mine/order/detail/transfer/index.vue
  32. 2 2
      src/packages/mobile/views/mine/order/detail/wrorder/index.vue
  33. 2 2
      src/packages/mobile/views/mine/wareorder/components/listing/index.vue
  34. 2 2
      src/packages/mobile/views/mine/wareorder/components/pickup/index.vue
  35. 11 5
      src/packages/mobile/views/purchase/detail/index.backup.vue
  36. 3 3
      src/packages/mobile/views/purchase/detail/index.vue
  37. 2 2
      src/packages/mobile/views/supply-demand/detail/components/delisting/index.vue
  38. 2 2
      src/packages/mobile/views/supply-demand/detail/components/listing/index.vue
  39. 5 5
      src/packages/mobile/views/user/forget/index.vue
  40. 6 7
      src/packages/mobile/views/user/login/index.less
  41. 5 5
      src/packages/mobile/views/user/login/index.vue
  42. 2 2
      src/packages/mobile/views/user/logoff/index.vue
  43. 2 2
      src/packages/mobile/views/user/password/index.vue
  44. 5 5
      src/packages/mobile/views/user/register/index.vue
  45. 1 1
      src/stores/modules/theme.ts
  46. 5 5
      src/utils/vant/index.ts
  47. 0 25
      vue.config.js

+ 8 - 0
fxgl.txt

@@ -2,6 +2,14 @@ Store Password : muchinfo
 key Alias : fxgl
 key Password : muchinfo
 
+
+Alias: fxgl
+MD5: A3:B7:B0:4A:8F:D2:DE:CB:0F:CF:63:AD:11:B3:B7:A5
+SHA1: 36:AA:06:F2:CC:92:AC:81:F4:EC:9C:57:9D:A1:64:4E:A5:B9:A0:5A
+SHA-256: 3D:B9:CF:30:FD:E3:73:8D:2F:2B:FF:37:4B:39:BA:8E:A9:60:FB:BA:A1:D3:59:ED:A4:9F:8C:CA:37:A7:33:A1
+
+
+
 cn.muchinfo.thj_debug_v1.0.0.apk
 cn.muchinfo.thj_demo_v1.0.0.apk
 cn.muchinfo.thj_release_v1.0.0.apk

+ 64 - 112
package-lock.json

@@ -9,6 +9,7 @@
       "version": "0.1.0",
       "dependencies": {
         "@tinymce/tinymce-vue": "^5.0.0",
+        "@vant/compat": "^1.0.0",
         "axios": "^0.26.1",
         "core-js": "^3.8.3",
         "crypto-js": "^4.1.1",
@@ -21,7 +22,7 @@
         "protobufjs": "^6.11.2",
         "sortablejs": "^1.15.0",
         "uuid": "^8.3.2",
-        "vant": "^3.4.8",
+        "vant": "^4.0.3",
         "vue": "^3.2.13",
         "vue-class-component": "^8.0.0-0",
         "vue-i18n": "^9.2.2",
@@ -47,7 +48,6 @@
         "less-loader": "^8.0.0",
         "mockjs": "^1.1.0",
         "resize-observer-polyfill": "^1.5.1",
-        "ts-import-plugin": "^2.0.0",
         "typescript": "~4.5.5",
         "vconsole": "^3.14.6",
         "worker-loader": "^3.0.8"
@@ -1886,9 +1886,9 @@
       }
     },
     "node_modules/@jridgewell/sourcemap-codec": {
-      "version": "1.4.11",
-      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz",
-      "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==",
+      "version": "1.4.14",
+      "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
+      "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
       "dev": true
     },
     "node_modules/@jridgewell/trace-mapping": {
@@ -1960,15 +1960,6 @@
       "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==",
       "dev": true
     },
-    "node_modules/@popperjs/core": {
-      "version": "2.11.5",
-      "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.5.tgz",
-      "integrity": "sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw==",
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/popperjs"
-      }
-    },
     "node_modules/@protobufjs/aspromise": {
       "version": "1.1.2",
       "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
@@ -2608,23 +2599,20 @@
         "url": "https://opencollective.com/typescript-eslint"
       }
     },
-    "node_modules/@vant/icons": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/@vant/icons/-/icons-1.8.0.tgz",
-      "integrity": "sha512-sKfEUo2/CkQFuERxvkuF6mGQZDKu3IQdj5rV9Fm0weJXtchDSSQ+zt8qPCNUEhh9Y8shy5PzxbvAfOOkCwlCXg=="
+    "node_modules/@vant/compat": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmmirror.com/@vant/compat/-/compat-1.0.0.tgz",
+      "integrity": "sha512-u3YOaLkz/5qtF+57hhveZWYdPHSpaN01WNbuS5WZAD7PNTeF7AqKvQ7Ws8KK4e2lCWN+FeRWfNuCk0xv6TxAvw=="
     },
     "node_modules/@vant/popperjs": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/@vant/popperjs/-/popperjs-1.1.0.tgz",
-      "integrity": "sha512-8MD1gz146awV/uPxYjz4pet22f7a9YVKqk7T+gFkWFwT9mEcrIUEg/xPrdOnWKLP9puXyYtm7oVfSDSefZ/p/w==",
-      "dependencies": {
-        "@popperjs/core": "^2.9.2"
-      }
+      "version": "1.3.0",
+      "resolved": "https://registry.npmmirror.com/@vant/popperjs/-/popperjs-1.3.0.tgz",
+      "integrity": "sha512-hB+czUG+aHtjhaEmCJDuXOep0YTZjdlRR+4MSmIFnkCQIxJaXLQdSsR90XWvAI2yvKUI7TCGqR8pQg2RtvkMHw=="
     },
     "node_modules/@vant/use": {
-      "version": "1.3.6",
-      "resolved": "https://registry.npmjs.org/@vant/use/-/use-1.3.6.tgz",
-      "integrity": "sha512-3z+nywPaV2F5BdJO7RQxWlgfzJeEOmViD2yHMb7Tg+R4NR/7iQskqW8v2Cnv9FWSJgTOSHlcr7UzeLpiTAP4HA=="
+      "version": "1.4.3",
+      "resolved": "https://registry.npmmirror.com/@vant/use/-/use-1.4.3.tgz",
+      "integrity": "sha512-rSnETN7P9qT1WbItMpQxBqe3cHeK2ZFYp1sCxWUXaTeI71TqA8sOdzC36ledZ36NQgFNTch9fsRPYOkrCgZfQA=="
     },
     "node_modules/@vue/babel-helper-vue-jsx-merge-props": {
       "version": "1.2.1",
@@ -3662,9 +3650,9 @@
       }
     },
     "node_modules/acorn": {
-      "version": "8.7.0",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz",
-      "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==",
+      "version": "8.8.1",
+      "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.8.1.tgz",
+      "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
       "dev": true,
       "bin": {
         "acorn": "bin/acorn"
@@ -6504,9 +6492,9 @@
       "dev": true
     },
     "node_modules/fast-glob": {
-      "version": "3.2.11",
-      "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
-      "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
+      "version": "3.2.12",
+      "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.2.12.tgz",
+      "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
       "dev": true,
       "dependencies": {
         "@nodelib/fs.stat": "^2.0.2",
@@ -7490,15 +7478,12 @@
       }
     },
     "node_modules/is-core-module": {
-      "version": "2.8.1",
-      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz",
-      "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==",
+      "version": "2.11.0",
+      "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.11.0.tgz",
+      "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
       "dev": true,
       "dependencies": {
         "has": "^1.0.3"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
       }
     },
     "node_modules/is-docker": {
@@ -10322,20 +10307,17 @@
       "dev": true
     },
     "node_modules/resolve": {
-      "version": "1.22.0",
-      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
-      "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
+      "version": "1.22.1",
+      "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.1.tgz",
+      "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
       "dev": true,
       "dependencies": {
-        "is-core-module": "^2.8.1",
+        "is-core-module": "^2.9.0",
         "path-parse": "^1.0.7",
         "supports-preserve-symlinks-flag": "^1.0.0"
       },
       "bin": {
         "resolve": "bin/resolve"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
       }
     },
     "node_modules/resolve-from": {
@@ -11392,19 +11374,6 @@
       "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=",
       "dev": true
     },
-    "node_modules/ts-import-plugin": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ts-import-plugin/-/ts-import-plugin-2.0.0.tgz",
-      "integrity": "sha512-pjWVq8uCjExk1XarLAUCWssEnCtHHlcQavLdhpsxIguTgKyz7sx2GqR8a0irnrHZR/+bu1SPT5L77LCuu6y5BA==",
-      "dev": true,
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/Brooooooklyn"
-      },
-      "peerDependencies": {
-        "typescript": ">= 4.2"
-      }
-    },
     "node_modules/ts-loader": {
       "version": "9.2.8",
       "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.2.8.tgz",
@@ -11696,13 +11665,12 @@
       }
     },
     "node_modules/vant": {
-      "version": "3.4.8",
-      "resolved": "https://registry.npmjs.org/vant/-/vant-3.4.8.tgz",
-      "integrity": "sha512-xPAiPdCiaZbcdbVplVh4N2lmYzDAr2UdadkUHoa9uwfHS9/dab4f8TigfCFzlfAEk53U1J6w+6qZ+whtt4T3hw==",
+      "version": "4.0.3",
+      "resolved": "https://registry.npmmirror.com/vant/-/vant-4.0.3.tgz",
+      "integrity": "sha512-rBQCSdMyYxO9I3weQmdTxY28OkVLM7MSIjMx3qwMTsFONek6bodVGEYXF0+mzh/5EBMVXjqtHj6CvD6QphKkCg==",
       "dependencies": {
-        "@vant/icons": "^1.8.0",
-        "@vant/popperjs": "^1.1.0",
-        "@vant/use": "^1.3.6"
+        "@vant/popperjs": "^1.3.0",
+        "@vant/use": "^1.4.3"
       },
       "peerDependencies": {
         "vue": "^3.0.0"
@@ -14136,9 +14104,9 @@
       "dev": true
     },
     "@jridgewell/sourcemap-codec": {
-      "version": "1.4.11",
-      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz",
-      "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==",
+      "version": "1.4.14",
+      "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
+      "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
       "dev": true
     },
     "@jridgewell/trace-mapping": {
@@ -14198,11 +14166,6 @@
       "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==",
       "dev": true
     },
-    "@popperjs/core": {
-      "version": "2.11.5",
-      "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.5.tgz",
-      "integrity": "sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw=="
-    },
     "@protobufjs/aspromise": {
       "version": "1.1.2",
       "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
@@ -14717,23 +14680,20 @@
         "eslint-visitor-keys": "^3.0.0"
       }
     },
-    "@vant/icons": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/@vant/icons/-/icons-1.8.0.tgz",
-      "integrity": "sha512-sKfEUo2/CkQFuERxvkuF6mGQZDKu3IQdj5rV9Fm0weJXtchDSSQ+zt8qPCNUEhh9Y8shy5PzxbvAfOOkCwlCXg=="
+    "@vant/compat": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmmirror.com/@vant/compat/-/compat-1.0.0.tgz",
+      "integrity": "sha512-u3YOaLkz/5qtF+57hhveZWYdPHSpaN01WNbuS5WZAD7PNTeF7AqKvQ7Ws8KK4e2lCWN+FeRWfNuCk0xv6TxAvw=="
     },
     "@vant/popperjs": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/@vant/popperjs/-/popperjs-1.1.0.tgz",
-      "integrity": "sha512-8MD1gz146awV/uPxYjz4pet22f7a9YVKqk7T+gFkWFwT9mEcrIUEg/xPrdOnWKLP9puXyYtm7oVfSDSefZ/p/w==",
-      "requires": {
-        "@popperjs/core": "^2.9.2"
-      }
+      "version": "1.3.0",
+      "resolved": "https://registry.npmmirror.com/@vant/popperjs/-/popperjs-1.3.0.tgz",
+      "integrity": "sha512-hB+czUG+aHtjhaEmCJDuXOep0YTZjdlRR+4MSmIFnkCQIxJaXLQdSsR90XWvAI2yvKUI7TCGqR8pQg2RtvkMHw=="
     },
     "@vant/use": {
-      "version": "1.3.6",
-      "resolved": "https://registry.npmjs.org/@vant/use/-/use-1.3.6.tgz",
-      "integrity": "sha512-3z+nywPaV2F5BdJO7RQxWlgfzJeEOmViD2yHMb7Tg+R4NR/7iQskqW8v2Cnv9FWSJgTOSHlcr7UzeLpiTAP4HA=="
+      "version": "1.4.3",
+      "resolved": "https://registry.npmmirror.com/@vant/use/-/use-1.4.3.tgz",
+      "integrity": "sha512-rSnETN7P9qT1WbItMpQxBqe3cHeK2ZFYp1sCxWUXaTeI71TqA8sOdzC36ledZ36NQgFNTch9fsRPYOkrCgZfQA=="
     },
     "@vue/babel-helper-vue-jsx-merge-props": {
       "version": "1.2.1",
@@ -15548,9 +15508,9 @@
       }
     },
     "acorn": {
-      "version": "8.7.0",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz",
-      "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==",
+      "version": "8.8.1",
+      "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.8.1.tgz",
+      "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
       "dev": true
     },
     "acorn-import-assertions": {
@@ -17631,9 +17591,9 @@
       "dev": true
     },
     "fast-glob": {
-      "version": "3.2.11",
-      "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
-      "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
+      "version": "3.2.12",
+      "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.2.12.tgz",
+      "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
       "dev": true,
       "requires": {
         "@nodelib/fs.stat": "^2.0.2",
@@ -18347,9 +18307,9 @@
       }
     },
     "is-core-module": {
-      "version": "2.8.1",
-      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz",
-      "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==",
+      "version": "2.11.0",
+      "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.11.0.tgz",
+      "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
       "dev": true,
       "requires": {
         "has": "^1.0.3"
@@ -20431,12 +20391,12 @@
       "dev": true
     },
     "resolve": {
-      "version": "1.22.0",
-      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
-      "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
+      "version": "1.22.1",
+      "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.1.tgz",
+      "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
       "dev": true,
       "requires": {
-        "is-core-module": "^2.8.1",
+        "is-core-module": "^2.9.0",
         "path-parse": "^1.0.7",
         "supports-preserve-symlinks-flag": "^1.0.0"
       }
@@ -21239,13 +21199,6 @@
       "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=",
       "dev": true
     },
-    "ts-import-plugin": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ts-import-plugin/-/ts-import-plugin-2.0.0.tgz",
-      "integrity": "sha512-pjWVq8uCjExk1XarLAUCWssEnCtHHlcQavLdhpsxIguTgKyz7sx2GqR8a0irnrHZR/+bu1SPT5L77LCuu6y5BA==",
-      "dev": true,
-      "requires": {}
-    },
     "ts-loader": {
       "version": "9.2.8",
       "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.2.8.tgz",
@@ -21461,13 +21414,12 @@
       }
     },
     "vant": {
-      "version": "3.4.8",
-      "resolved": "https://registry.npmjs.org/vant/-/vant-3.4.8.tgz",
-      "integrity": "sha512-xPAiPdCiaZbcdbVplVh4N2lmYzDAr2UdadkUHoa9uwfHS9/dab4f8TigfCFzlfAEk53U1J6w+6qZ+whtt4T3hw==",
+      "version": "4.0.3",
+      "resolved": "https://registry.npmmirror.com/vant/-/vant-4.0.3.tgz",
+      "integrity": "sha512-rBQCSdMyYxO9I3weQmdTxY28OkVLM7MSIjMx3qwMTsFONek6bodVGEYXF0+mzh/5EBMVXjqtHj6CvD6QphKkCg==",
       "requires": {
-        "@vant/icons": "^1.8.0",
-        "@vant/popperjs": "^1.1.0",
-        "@vant/use": "^1.3.6"
+        "@vant/popperjs": "^1.3.0",
+        "@vant/use": "^1.4.3"
       }
     },
     "vary": {

+ 2 - 2
package.json

@@ -11,6 +11,7 @@
   },
   "dependencies": {
     "@tinymce/tinymce-vue": "^5.0.0",
+    "@vant/compat": "^1.0.0",
     "axios": "^0.26.1",
     "core-js": "^3.8.3",
     "crypto-js": "^4.1.1",
@@ -23,7 +24,7 @@
     "protobufjs": "^6.11.2",
     "sortablejs": "^1.15.0",
     "uuid": "^8.3.2",
-    "vant": "^3.4.8",
+    "vant": "^4.0.3",
     "vue": "^3.2.13",
     "vue-class-component": "^8.0.0-0",
     "vue-i18n": "^9.2.2",
@@ -49,7 +50,6 @@
     "less-loader": "^8.0.0",
     "mockjs": "^1.1.0",
     "resize-observer-polyfill": "^1.5.1",
-    "ts-import-plugin": "^2.0.0",
     "typescript": "~4.5.5",
     "vconsole": "^3.14.6",
     "worker-loader": "^3.0.8"

BIN=BIN
src/packages/mobile/assets/images/block-bg.png


BIN=BIN
src/packages/mobile/assets/images/login-bg.jpg


BIN=BIN
src/packages/mobile/assets/images/login-logo.png


+ 3 - 3
src/packages/mobile/assets/themes/default/default.less

@@ -18,7 +18,7 @@
     /* 导航栏 */
     --navbar-height: .88rem;
     --navbar-color: #fff;
-    --navbar-background: #2481dd;
+    --navbar-background: #C30D23;
     --navbar-backbutton-color: #fff;
 
     /* 标签栏 */
@@ -31,10 +31,10 @@
 
     /* Vant-Button */
     --van-button-border-width: 0;
-    --van-button-primary-background-color: #00577C;
+    --van-button-primary-background: linear-gradient(31deg, #C30D23 0%, #DD364A 100%);
 
     /* Vant-Checkbox */
-    --van-checkbox-checked-icon-color: var(--van-button-primary-background-color) !important;
+    --van-checkbox-checked-icon-color: #DD364A !important;
 
     .app-tabs {
         .tabs {

+ 4 - 4
src/packages/mobile/components/base/qrcode-scan/index.vue

@@ -11,7 +11,7 @@
 
 <script lang="ts" setup>
 import { onMounted, shallowRef } from 'vue'
-import { Button, Toast } from 'vant'
+import { Button, showFailToast } from 'vant'
 import { Html5Qrcode } from 'html5-qrcode'
 import plus from '@/utils/h5plus'
 
@@ -38,7 +38,7 @@ const scan = () => {
         }
         barcode.onerror = (err: any) => {
             console.log('扫码失败', err)
-            Toast.fail('扫码失败')
+            showFailToast('扫码失败')
         }
         plus.webview.currentWebview().append(barcode);//必要的
     })
@@ -61,11 +61,11 @@ const onScan = () => {
                 (err) => {
                     console.log('html5QrCode', err)
                 }).catch(() => {
-                    Toast.fail('获取设备信息失败')
+                    showFailToast('获取设备信息失败')
                 })
         }
     }).catch(() => {
-        Toast.fail('您需要授予相机访问权限')
+        showFailToast('您需要授予相机访问权限')
     })
 }
 

+ 2 - 3
src/packages/mobile/components/base/qrcode/index.vue

@@ -1,8 +1,8 @@
 <template>
-    <van-dialog class="app-qrcode" v-model:show="showDialog" :show-confirm-button="showConfirmButton"
+    <Dialog class="app-qrcode" v-model:show="showDialog" :show-confirm-button="showConfirmButton"
         confirm-button-text="保存" show-cancel-button @confirm="onConfirm">
         <vue-qr ref="qrRef" :size="400" :logoSrc="require('@mobile/assets/logo.svg')" :text="content" />
-    </van-dialog>
+    </Dialog>
 </template>
 
 <script lang="ts" setup>
@@ -20,7 +20,6 @@ const props = defineProps({
     fileName: String
 })
 
-const VanDialog = Dialog.Component
 const emit = defineEmits(['update:show'])
 const showConfirmButton = shallowRef(false)
 const qrRef = shallowRef()

+ 13 - 15
src/packages/mobile/components/base/select/index.vue

@@ -11,7 +11,7 @@
 
 <script lang="ts" setup>
 import { shallowRef, computed, PropType, watch } from 'vue'
-import { Popup, Picker, PickerOption, FieldInstance } from 'vant'
+import { Popup, Picker, PickerConfirmEventParams, FieldInstance } from 'vant'
 
 const props = defineProps({
     modelValue: {
@@ -38,14 +38,17 @@ const props = defineProps({
     },
 })
 
-const emit = defineEmits(['update:show', 'update:modelValue', 'confirm', 'cancel'])
+const emit = defineEmits(['update:show', 'update:modelValue', 'confirm'])
 const fieldRef = shallowRef<FieldInstance>()
 const show = shallowRef(false) // 是否弹出选择器
 const selectedIndex = shallowRef(-1)
 
 const columns = computed(() => {
     if (props.options) {
-        return props.options.map((e) => e[props.optionProps.label])
+        return props.options.map((e) => ({
+            text: e[props.optionProps.label],
+            value: e[props.optionProps.value],
+        }))
     }
     return []
 })
@@ -65,24 +68,19 @@ const onClick = () => {
     }
 }
 
-const onCancel = (currentValue: PickerOption, currentIndex: number) => {
+const onCancel = () => {
     show.value = false
-    emit('cancel', props.modelValue, currentIndex)
 }
 
-const onConfirm = (currentValue: PickerOption, currentIndex: number) => {
+const onConfirm = ({ selectedIndexes: [index], selectedValues: [value] }: PickerConfirmEventParams) => {
     show.value = false
-    if (selectedIndex.value !== currentIndex) {
+    if (selectedIndex.value !== index) {
         // 更新当前选中的值
-        const item = props.options[currentIndex]
-        if (item) {
-            const value = item[props.optionProps.value]
-            selectedIndex.value = currentIndex
-            fieldRef.value?.validate()
+        selectedIndex.value = index
+        fieldRef.value?.validate()
 
-            emit('update:modelValue', value)
-            emit('confirm', value, currentIndex)
-        }
+        emit('update:modelValue', value)
+        emit('confirm', value, index)
     }
 }
 

+ 1 - 0
src/packages/mobile/main.ts

@@ -10,6 +10,7 @@ import '@/mock' // 模拟数据
 import '@/utils/h5plus' // 加载html5+
 import client from '@/utils/client' // 适配客户端
 import layouts from './components/layouts' // 全局布局组件
+import 'vant/lib/index.css'
 import './assets/iconfont/iconfont.js'
 import './assets/themes/style.less' // 主题样式
 import { timerInterceptor } from '@/utils/timer'

+ 2 - 2
src/packages/mobile/views/account/certification/index.vue

@@ -37,7 +37,7 @@
 
 <script lang="ts" setup>
 import { shallowRef, computed, ref } from 'vue'
-import { CellGroup, Button, Field, Form, FormInstance, Uploader, Toast, FieldRule } from 'vant'
+import { CellGroup, Button, Field, Form, FormInstance, Uploader, showFailToast, FieldRule } from 'vant'
 import { addAuthReq } from '@/business/user'
 import { fullloading, dialog } from '@/utils/vant';
 import { getCertificateTypeList } from "@/constants/account";
@@ -128,7 +128,7 @@ const onSubmit = () => {
                 router.back()
             })
         }).catch((err) => {
-            Toast.fail(err)
+            showFailToast(err)
         })
     })
 }

+ 2 - 2
src/packages/mobile/views/bank/sign/components/edit/index.vue

@@ -30,7 +30,7 @@
 <script lang="ts" setup>
 
 import { shallowRef } from 'vue'
-import { CellGroup, Button, Field, Form, FormInstance, FieldRule, Toast } from 'vant'
+import { CellGroup, Button, Field, Form, FormInstance, FieldRule, showFailToast } from 'vant'
 import { fullloading, dialog } from '@/utils/vant'
 import { useDoBankSign } from '@/business/bank'
 import { useNavigation } from '@/hooks/navigation'
@@ -77,7 +77,7 @@ const formSubmit = () => {
                 router.back()
             })
         }).catch((err) => {
-            Toast.fail(err)
+            showFailToast(err)
         })
     })
 }

+ 2 - 2
src/packages/mobile/views/bank/sign/index.vue

@@ -29,7 +29,7 @@
 
 <script lang="ts" setup>
 import { onActivated } from 'vue'
-import { CellGroup, Cell, Button, Empty, Toast } from 'vant'
+import { CellGroup, Cell, Button, Empty, showFailToast } from 'vant'
 import { fullloading, dialog } from '@/utils/vant'
 import { getSignStatusName, SignStatus } from '@/constants/bank'
 import { useDoCancelBankSign } from '@/business/bank'
@@ -49,7 +49,7 @@ const formSubmit = () => {
                     router.back()
                 })
             }).catch((err) => {
-                Toast.fail(err)
+                showFailToast(err)
             })
         })
     })

+ 3 - 3
src/packages/mobile/views/bank/wallet/components/deposit/index.vue

@@ -25,7 +25,7 @@
 
 <script lang="ts" setup>
 import { ref } from 'vue'
-import { Form, Field, CellGroup, Button, Uploader, FieldRule, FormInstance, Toast } from 'vant'
+import { Form, Field, CellGroup, Button, Uploader, FieldRule, FormInstance, showFailToast } from 'vant'
 import { useDoDeposit } from '@/business/bank'
 import { fullloading, dialog } from '@/utils/vant';
 import { useNavigation } from '@/hooks/navigation'
@@ -67,7 +67,7 @@ const afterRead = (file: any) => {
 };
 
 const onOversize = () => {
-    Toast('图片大小不能超过 5Mb')
+    showFailToast('图片大小不能超过 5Mb')
 };
 
 // 表单验证规则
@@ -90,7 +90,7 @@ const formSubmit = () => {
                 router.back()
             })
         }).catch((err) => {
-            Toast.fail(err)
+            showFailToast(err)
         })
     })
 }

+ 2 - 2
src/packages/mobile/views/bank/wallet/components/withdraw/index.vue

@@ -44,7 +44,7 @@
 
 <script lang="ts" setup>
 import { useDoWithdraw, useAccountFundInfo } from '@/business/bank';
-import { Form, Field, CellGroup, FormInstance, Button, FieldRule, Toast } from 'vant'
+import { Form, Field, CellGroup, FormInstance, Button, FieldRule, showFailToast } from 'vant'
 import { shallowRef } from 'vue'
 import { fullloading, dialog } from '@/utils/vant'
 import { useNavigation } from '@/hooks/navigation'
@@ -81,7 +81,7 @@ const formSubmit = () => {
                 router.back()
             })
         }).catch((err) => {
-            Toast.fail(err)
+            showFailToast(err)
         })
     })
 }

+ 1 - 1
src/packages/mobile/views/boot/index.vue

@@ -51,7 +51,7 @@ const onLoad = (async () => {
 const autoLogin = async (loading = false) => {
   const toast = loading ? showLoading() : undefined
   const complete = () => {
-    toast?.clear()
+    toast?.close()
     localStorage.setItem('thj_app_guide', 'false')
     plus.exitFullSreen()
   }

+ 3 - 3
src/packages/mobile/views/contract/details/index.backup.vue

@@ -59,7 +59,7 @@
 
 <script lang="ts" setup>
 import { shallowRef, computed, defineAsyncComponent } from 'vue'
-import { CellGroup, Button, Field, Form, FormInstance, Toast, FieldRule, Divider } from 'vant'
+import { CellGroup, Button, Field, Form, FormInstance,showSuccessToast, showFailToast, FieldRule, Divider } from 'vant'
 import { fullloading } from '@/utils/vant'
 import { getImageUrl, formatDate, parsePercent } from '@/filters'
 import { useNavigation } from '@/hooks/navigation'
@@ -122,10 +122,10 @@ const onDateChange = (value: string) => {
 const onSubmit = () => {
     fullloading(() => {
         destingSubmit().then(() => {
-            Toast.success('摘牌成功')
+            showSuccessToast('摘牌成功')
             router.replace({ name: 'my-order' })
         }).catch((err) => {
-            Toast.fail(err)
+            showFailToast(err)
         })
     })
 }

+ 3 - 3
src/packages/mobile/views/contract/details/index.vue

@@ -58,7 +58,7 @@
 
 <script lang="ts" setup>
 import { shallowRef, computed, defineAsyncComponent } from 'vue'
-import { CellGroup, Button, Field, Form, FormInstance, Toast, Divider } from 'vant'
+import { CellGroup, Button, Field, Form, FormInstance, showSuccessToast, showFailToast, Divider } from 'vant'
 import { fullloading, dialog } from '@/utils/vant'
 import { getImageUrl, formatDate, parsePercent } from '@/filters'
 import { useNavigation } from '@/hooks/navigation'
@@ -146,10 +146,10 @@ const onSubmit = (item: Model.THJPurchaseTransferDetailRsp['deliverydate'][numbe
         formData.TransferID = Long.fromString(item.transferid)
         fullloading(() => {
             destingSubmit().then(() => {
-                Toast.success('摘牌成功')
+                showSuccessToast('摘牌成功')
                 router.replace({ name: 'my-order' })
             }).catch((err) => {
-                Toast.fail(err)
+                showFailToast(err)
             })
         })
     })

+ 3 - 3
src/packages/mobile/views/credit/lottery/index.vue

@@ -50,7 +50,7 @@
 
 <script lang="ts" setup>
 import { shallowRef } from 'vue'
-import { Toast } from 'vant'
+import { showFailToast } from 'vant'
 import { fullloading } from '@/utils/vant'
 import { useCreditLottery } from '@/business/credit'
 import AppReward from '@mobile/components/modules/reward/index.vue'
@@ -67,14 +67,14 @@ const onSubmit = () => {
     const { curscore = 0 } = userAccount.value
     const { parma1 = 0 } = creditConfig.value
     if (curscore < parma1) {
-        Toast.fail('可用积分不足')
+        showFailToast('可用积分不足')
     } else {
         fullloading((hideLoading) => {
             formSubmit().then(() => {
                 hideLoading()
                 showReward.value = true
             }).catch(() => {
-                Toast.fail('抽奖失败')
+                showFailToast('抽奖失败')
             })
         })
     }

+ 31 - 31
src/packages/mobile/views/credit/signin/index.less

@@ -1,11 +1,11 @@
 .credit-signin {
-    @backgroundImage: linear-gradient(#FF9145, #FF512F 3.9rem, transparent 3.9rem);
+    @backgroundImage: linear-gradient(#DD364A, #C30D23 3.9rem, transparent 3.9rem);
 
     .app-navbar {
         background-image: @backgroundImage;
 
         &__wrapper {
-            color           : #fff;
+            color: #fff;
             background-color: transparent;
         }
 
@@ -15,28 +15,28 @@
     }
 
     &__header {
-        color           : #000;
+        color: #000;
         background-color: #fff;
         background-image: @backgroundImage;
-        padding         : .36rem;
-        padding-bottom  : 0;
+        padding: .36rem;
+        padding-bottom: 0;
 
         &-wrapper {
-            background-color       : #fff;
-            border-top-left-radius : .2rem;
+            background-color: #fff;
+            border-top-left-radius: .2rem;
             border-top-right-radius: .2rem;
-            padding                : .24rem;
+            padding: .24rem;
         }
 
         .integral {
-            display       : flex;
+            display: flex;
             flex-direction: column;
-            align-items   : center;
-            padding-top   : .36rem;
+            align-items: center;
+            padding-top: .36rem;
 
             &-title {
                 font-size: .32rem;
-                color    : #666;
+                color: #666;
 
                 .app-iconfont__label {
                     margin-left: .08rem;
@@ -44,9 +44,9 @@
             }
 
             &-balance {
-                font-size  : .56rem;
+                font-size: .56rem;
                 font-weight: bold;
-                margin-top : .2rem;
+                margin-top: .2rem;
             }
         }
 
@@ -54,13 +54,13 @@
             padding: .32rem;
 
             ul {
-                display        : flex;
+                display: flex;
                 justify-content: space-between;
 
                 li {
-                    display       : flex;
+                    display: flex;
                     flex-direction: column;
-                    align-items   : center;
+                    align-items: center;
 
                     .app-iconfont {
                         &__icon {
@@ -68,7 +68,7 @@
                         }
 
                         &__label {
-                            font-size : .32rem;
+                            font-size: .32rem;
                             margin-top: .12rem;
                         }
                     }
@@ -79,28 +79,28 @@
 
     &__task {
         background-color: #fff;
-        padding         : .32rem;
-        padding-top     : 0;
+        padding: .32rem;
+        padding-top: 0;
 
         .list {
             &-title {
-                font-size  : .4rem;
+                font-size: .4rem;
                 font-weight: bold;
             }
 
             &-item {
-                display        : flex;
+                display: flex;
                 justify-content: space-between;
-                align-items    : center;
-                padding        : .24rem 0;
+                align-items: center;
+                padding: .24rem 0;
 
                 &__title {
-                    display    : flex;
+                    display: flex;
                     align-items: center;
 
                     .icon-title {
                         .app-iconfont__icon {
-                            font-size   : .48rem;
+                            font-size: .48rem;
                             margin-right: .12rem;
                         }
 
@@ -110,19 +110,19 @@
                     }
 
                     .icon-score {
-                        font-size  : .24rem;
+                        font-size: .24rem;
                         font-weight: bold;
-                        color      : #FB560A;
+                        color: #FB560A;
                         margin-left: .12rem;
                     }
                 }
 
                 &__button {
                     .van-button {
-                        width     : 1.6rem;
-                        height    : .64rem;
+                        width: 1.6rem;
+                        height: .64rem;
                         background: linear-gradient(270deg, #FF5842 0%, #FF8259 100%);
-                        border    : 0;
+                        border: 0;
                     }
                 }
             }

+ 4 - 4
src/packages/mobile/views/credit/signin/index.vue

@@ -82,7 +82,7 @@
 
 <script lang="ts" setup>
 import { shallowRef, onActivated } from 'vue'
-import { Toast, Button } from 'vant'
+import {showSuccessToast, showFailToast, Button } from 'vant'
 import { fullloading } from '@/utils/vant'
 import { useLoginStore } from '@/stores'
 import { queryUserAccount } from '@/services/api/account'
@@ -131,13 +131,13 @@ const userSignin = () => {
             success: (res) => {
                 if (res.data.signinstatus === 1) {
                     getUserAccount()
-                    Toast.success('签到成功')
+                    showSuccessToast('签到成功')
                 } else {
-                    Toast.fail('今日已签到')
+                    showFailToast('今日已签到')
                 }
             },
             fail: () => {
-                Toast.fail('签到失败')
+                showFailToast('签到失败')
             },
         })
     }, '签到中...')

+ 23 - 13
src/packages/mobile/views/home/components/main/index.less

@@ -1,16 +1,18 @@
 @import '@mobile/assets/themes/base/mixin.less';
 
 .home-main {
+    &__header {
+        background: linear-gradient(var(--navbar-background), var(--navbar-background) 60%, transparent 60%);
+        padding: .2rem;
+    }
+
     &__container {
-        flex: 1;
-        overflow-y: auto;
+        padding: .2rem;
     }
 
     &__banner {
-        background-color: #fff;
-
         .van-swipe {
-            background-color: #999;
+            background-color: #ddd;
 
             &-item {
                 font-size: 0;
@@ -26,6 +28,8 @@
         &--header {
             .van-swipe {
                 min-height: 3rem;
+                border-radius: .1rem;
+                box-shadow: 0 0 .12rem .02rem rgba(0, 0, 0, .35);
 
                 &-item {
                     height: 3rem;
@@ -34,11 +38,11 @@
         }
 
         &--body {
-            padding: .24rem;
+            margin-bottom: .2rem;
 
             .van-swipe {
                 min-height: 1.5rem;
-                border-radius: .16rem;
+                border-radius: .1rem;
 
                 &-item {
                     height: 1.5rem;
@@ -48,8 +52,12 @@
     }
 
     &__iconbar {
-        background-color: #fff;
+        background: #fff url('@mobile/assets/images/block-bg.png') no-repeat center bottom;
+        background-size: 100%;
+        border-radius: .1rem;
+        overflow: hidden;
         padding-bottom: .24rem;
+        margin-bottom: .2rem;
 
         ul {
             display: flex;
@@ -79,7 +87,7 @@
         align-items: center;
         background-color: #fff;
         padding: .16rem;
-        margin: .2rem 0;
+        margin-bottom: .2rem;
 
         .left {
             display: flex;
@@ -130,15 +138,17 @@
     }
 
     &__news {
+        border-radius: .1rem;
+        overflow: hidden;
+
         .titlebar {
             &-title {
-                font-size: .36rem;
+                font-size: .32rem;
                 font-weight: bold;
             }
 
             &-more {
-                font-size: .28rem;
-                color: #00577C;
+                color: #666;
             }
         }
 
@@ -148,11 +158,11 @@
                     span {
                         .mixin-text-overflow()
                     }
-
                 }
 
                 &__time {
                     flex: initial;
+                    font-size: .24rem;
                     margin-left: .48rem;
                 }
             }

+ 21 - 48
src/packages/mobile/views/home/components/main/index.vue

@@ -1,57 +1,43 @@
 <template>
-  <app-view class="home-main" flex>
-    <template #header>
+  <app-scroll-view class="home-main">
+    <template #afterHeader>
       <app-navbar title="铁合金掌上行" :show-back-button="false" />
     </template>
-    <PullRefresh
-      class="home-main__container"
-      v-model="refreshing"
-      @refresh="onRefresh"
-    >
-      <div class="home-main__banner home-main__banner--header">
+    <app-statusbar class="home-main__header">
+      <div class="home-main__banner home-main__banner--header" style="margin-top:.28rem">
         <Swipe :autoplay="5000" indicator-color="white" lazy-render>
           <SwipeItem v-for="(item, index) in topBanners" :key="index">
             <img :src="getImageUrl(item.imagepath)" />
           </SwipeItem>
         </Swipe>
       </div>
+    </app-statusbar>
+    <PullRefresh class="home-main__container" v-model="refreshing" @refresh="onRefresh">
       <div class="home-main__iconbar">
         <ul>
           <li @click="routerTo('product')">
-            <app-iconfont icon="icon-chanpinjieshao" label-direction="bottom"
-              >产品介绍</app-iconfont
-            >
+            <app-iconfont icon="icon-chanpinjieshao" label-direction="bottom">产品介绍</app-iconfont>
           </li>
           <li @click="routerTo('Market')">
-            <app-iconfont icon="icon-maoyirongzi" label-direction="bottom"
-              >产品价格</app-iconfont
-            >
+            <app-iconfont icon="icon-maoyirongzi" label-direction="bottom">产品价格</app-iconfont>
           </li>
           <li @click="routerTo('NavigationPTGZ')">
-            <app-iconfont icon="icon-pingtaiguize" label-direction="bottom"
-              >平台规则</app-iconfont
-            >
+            <app-iconfont icon="icon-pingtaiguize" label-direction="bottom">平台规则</app-iconfont>
           </li>
         </ul>
         <ul>
           <li @click="routerTo('credit-signin')">
-            <app-iconfont icon="icon-woderenwu" label-direction="bottom"
-              >我的任务</app-iconfont
-            >
+            <app-iconfont icon="icon-woderenwu" label-direction="bottom">我的任务</app-iconfont>
           </li>
           <li @click="routerTo('contract')">
-            <app-iconfont icon="icon-chanpinjiage" label-direction="bottom"
-              >合同转让</app-iconfont
-            >
+            <app-iconfont icon="icon-chanpinjiage" label-direction="bottom">合同转让</app-iconfont>
           </li>
           <li @click="routerTo('rules-ccwl')">
-            <app-iconfont icon="icon-a-bianzu12" label-direction="bottom"
-              >仓储物流</app-iconfont
-            >
+            <app-iconfont icon="icon-a-bianzu12" label-direction="bottom">仓储物流</app-iconfont>
           </li>
         </ul>
       </div>
-      <div class="home-main__market" v-if="false">
+      <div class="home-main__market">
         <div class="left">
           <h2>合金指数</h2>
           <span>{{ formatDate(marketRun.tradedate, "YYYY-MM-DD") }}</span>
@@ -73,41 +59,28 @@
           </Swipe>
         </div>
       </div>
-      <div class="home-main__banner home-main__banner--body" v-if="false">
+      <div class="home-main__banner home-main__banner--body">
         <Swipe :autoplay="5000" indicator-color="white" lazy-render>
           <SwipeItem v-for="(item, index) in bodyBanners" :key="index">
             <img :src="getImageUrl(item.imagepath)" />
           </SwipeItem>
         </Swipe>
       </div>
-      <div class="home-main__news" style="margin-top: 0.2rem">
-        <Cell
-          class="titlebar"
-          title-class="titlebar-title"
-          value-class="titlebar-more"
-          title="市场资讯"
-          value="更多资讯"
-          :to="{ name: 'news-list' }"
-          is-link
-        />
+      <div class="home-main__news">
+        <Cell class="titlebar" title-class="titlebar-title" value-class="titlebar-more" title="市场资讯" value="更多"
+          :to="{ name: 'news-list' }" is-link />
         <CellGroup class="article">
           <template v-for="(item, index) in newsList" :key="index">
-            <Cell
-              class="article-item"
-              title-class="article-item__title"
-              value-class="article-item__time"
-              :title="item.title"
-              :value="formatDate(item.creaedate, 'MM/DD')"
-              :to="{
+            <Cell class="article-item" title-class="article-item__title" value-class="article-item__time"
+              :title="item.title" :value="formatDate(item.creaedate, 'MM/DD')" :to="{
                 name: 'news-details',
                 params: { item: JSON.stringify(item) },
-              }"
-            />
+              }" />
           </template>
         </CellGroup>
       </div>
     </PullRefresh>
-  </app-view>
+  </app-scroll-view>
 </template>
 
 <script lang="ts" setup>

+ 3 - 3
src/packages/mobile/views/mine/address/components/edit/index.vue

@@ -34,7 +34,7 @@
 
 <script lang="ts" setup>
 import { shallowRef, PropType, defineAsyncComponent } from 'vue'
-import { CellGroup, Button, Field, Form, FormInstance, Toast, FieldRule } from 'vant'
+import { CellGroup, Button, Field, Form, FormInstance, showFailToast, FieldRule } from 'vant'
 import { fullloading, dialog } from '@/utils/vant'
 import { validateRules } from '@/constants/regex'
 import { useAddressForm } from '@/business/user'
@@ -98,7 +98,7 @@ const formSubmit = () => {
             hideLoading()
             closed(true)
         }).catch((err) => {
-            Toast.fail(err)
+            showFailToast(err)
         })
     })
 }
@@ -113,7 +113,7 @@ const formDelete = () => {
                 hideLoading()
                 closed(true)
             }).catch((err) => {
-                Toast.fail(err)
+                showFailToast(err)
             })
         })
     })

+ 2 - 2
src/packages/mobile/views/mine/generalize/components/promotion/index.vue

@@ -22,7 +22,7 @@ import { useQueryTHJPromotionIncome } from '@/business/order'
 import { useTHJProfitDrawApplyReq } from '@/business/trade'
 import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 import AppList from '@mobile/components/base/list/index.vue'
-import { Empty, Toast, Button } from 'vant'
+import { Empty, showFailToast, Button } from 'vant'
 import { useNavigation } from '@/hooks/navigation'
 import { fullloading, dialog } from '@/utils/vant'
 
@@ -84,7 +84,7 @@ const submit = (item: Model.THJPromotionIncomeRsp) => {
                     pullRefreshRef.value?.refresh()
                 })
             }).catch((err) => {
-                Toast.fail(err)
+                showFailToast(err)
             })
         })
     })

+ 3 - 3
src/packages/mobile/views/mine/invoice/components/edit/index.vue

@@ -42,7 +42,7 @@
 
 <script lang="ts" setup>
 import { shallowRef, PropType } from 'vue'
-import { CellGroup, Button, Field, Form, FormInstance, Toast, FieldRule } from 'vant'
+import { CellGroup, Button, Field, Form, FormInstance, showFailToast, FieldRule } from 'vant'
 import { fullloading, dialog } from '@/utils/vant'
 import { ReceiptType, getReceiptTypeList } from '@/constants/receipt'
 import { validateRules } from '@/constants/regex'
@@ -89,7 +89,7 @@ const formSubmit = () => {
             hideLoading()
             closed(true)
         }).catch((err) => {
-            Toast.fail(err)
+            showFailToast(err)
         })
     })
 }
@@ -104,7 +104,7 @@ const formDelete = () => {
                 hideLoading()
                 closed(true)
             }).catch((err) => {
-                Toast.fail(err)
+                showFailToast(err)
             })
         })
     })

+ 1 - 1
src/packages/mobile/views/mine/main/index.less

@@ -1,5 +1,5 @@
 .mine {
-    @backgroundImage: linear-gradient(#1A84B0, #00587D 3rem, transparent 3rem);
+    @backgroundImage: linear-gradient(var(--navbar-background), var(--navbar-background) 3rem, transparent 3rem);
 
     .app-navbar {
         background-image: @backgroundImage;

+ 3 - 3
src/packages/mobile/views/mine/main/index.vue

@@ -44,7 +44,7 @@
         </div>
         <div class="button">
           <Button size="small" @click="doInOutMoney('1')" round>提现</Button>
-          <Button type="primary" size="small" color="#00577C" @click="doInOutMoney('0')" round>充值</Button>
+          <Button type="primary" size="small" @click="doInOutMoney('0')" round>充值</Button>
         </div>
       </div>
     </div>
@@ -114,7 +114,7 @@
 
 <script lang="ts" setup>
 import { shallowRef, onActivated } from 'vue'
-import { Cell, CellGroup, Button, Tag, Toast } from 'vant'
+import { Cell, CellGroup, Button, Tag, showFailToast } from 'vant'
 import { fullloading, dialog } from '@/utils/vant'
 import { useNavigation } from '@/hooks/navigation'
 import { useLoginStore, useAccountStore, } from '@/stores'
@@ -155,7 +155,7 @@ const doInOutMoney = (tab: string) => {
           })
         }
       }).catch(() => {
-        Toast.fail('加载失败')
+        showFailToast('加载失败')
       })
     }, '正在加载...')
   } else {

+ 8 - 10
src/packages/mobile/views/mine/order/detail/purchasetrade/index.vue

@@ -49,10 +49,10 @@
             </div>
         </template>
         <!-- 转让价格 -->
-        <van-dialog class-name="order-detail__dialog" v-model:show="show" title="合同转让" show-cancel-button
+        <Dialog class-name="order-detail__dialog" v-model:show="show" title="合同转让" show-cancel-button
             @confirm="spotListingSubmit" @cancel="cancelDialog">
             <input type="number" v-model="formData.TransferPrice" placeholder="请输入转让价格" />
-        </van-dialog>
+        </Dialog>
     </app-view>
 </template>
 
@@ -60,12 +60,10 @@
 import { shallowRef } from 'vue'
 import { useNavigation } from '@/hooks/navigation'
 import { fullloading, dialog } from '@/utils/vant'
-import { CellGroup, Cell, Empty, Button, Toast, Dialog } from 'vant'
+import { CellGroup, Cell, Empty, Button, showFailToast, Dialog } from 'vant'
 import { formatDate, getUrl, handleNumberValue, parsePercent } from '@/filters'
 import { useSpotPresaleDeliveryConfirm, useSpotPresaleBreachOfContractApply, useSpotPresaleTransferCancel, useSpotPresaleTransferListing, useSpotPresalePlayment } from "@/business/trade";
 
-const vanDialog = Dialog.Component
-
 const { route, router } = useNavigation()
 /// 是否显示dialog
 const show = shallowRef(false)
@@ -103,7 +101,7 @@ const spotConfirmSubmit = () => {
                         router.back()
                     })
                 }).catch((err) => {
-                    Toast.fail(err)
+                    showFailToast(err)
                 })
             })
         })
@@ -124,7 +122,7 @@ const spotApplySubmit = () => {
                         router.back()
                     })
                 }).catch((err) => {
-                    Toast.fail(err)
+                    showFailToast(err)
                 })
             })
         })
@@ -145,7 +143,7 @@ const spotPlaymentSubmit = () => {
                         router.back()
                     })
                 }).catch((err) => {
-                    Toast.fail(err)
+                    showFailToast(err)
                 })
             })
         })
@@ -163,7 +161,7 @@ const spotListingSubmit = () => {
                     router.back()
                 })
             }).catch((err) => {
-                Toast.fail(err)
+                showFailToast(err)
             })
         })
     }
@@ -181,7 +179,7 @@ const spotCancelSubmit = () => {
                     router.back()
                 })
             }).catch((err) => {
-                Toast.fail(err)
+                showFailToast(err)
             })
         })
     })

+ 2 - 2
src/packages/mobile/views/mine/order/detail/transfer/index.vue

@@ -45,7 +45,7 @@
 <script lang="ts" setup>
 import { useNavigation } from '@/hooks/navigation'
 import { fullloading, dialog } from '@/utils/vant'
-import { CellGroup, Cell, Empty, Button, Toast } from 'vant'
+import { CellGroup, Cell, Empty, Button, showFailToast } from 'vant'
 import { getUrl } from '@/filters'
 import { useSpotPresaleTransferCancel } from "@/business/trade"
 import { useQueryTTHJPurchaseTransferOrderDetail } from "@/business/order"
@@ -77,7 +77,7 @@ const spotCancelSubmit = () => {
                     router.back()
                 })
             }).catch((err) => {
-                Toast.fail(err)
+                showFailToast(err)
             })
         })
     })

+ 2 - 2
src/packages/mobile/views/mine/order/detail/wrorder/index.vue

@@ -33,7 +33,7 @@
 import { shallowRef } from 'vue'
 import { useNavigation } from '@/hooks/navigation'
 import { fullloading, dialog } from '@/utils/vant'
-import { CellGroup, Cell, Empty, Button, Toast } from 'vant'
+import { CellGroup, Cell, Empty, Button, showFailToast } from 'vant'
 import { getWRTradeOrderStatusName } from '@/constants/order'
 import { formatDate } from '@/filters'
 import { getBuyOrSellName } from '@/constants/order'
@@ -64,7 +64,7 @@ const spotConfirmSubmit = () => {
                         router.back()
                     })
                 }).catch((err) => {
-                    Toast.fail(err)
+                    showFailToast(err)
                 })
             })
         })

+ 2 - 2
src/packages/mobile/views/mine/wareorder/components/listing/index.vue

@@ -45,7 +45,7 @@
 
 <script lang="ts" setup>
 import { shallowRef, PropType } from 'vue'
-import { CellGroup, Button, Field, Form, FormInstance, FieldRule, Toast } from 'vant'
+import { CellGroup, Button, Field, Form, FormInstance, FieldRule, showFailToast } from 'vant'
 import { useHdWROrder } from "@/business/trade"
 import { fullloading, dialog } from '@/utils/vant'
 import Long from 'long'
@@ -90,7 +90,7 @@ const formSubmit = () => {
                 closed(true)
             })
         }).catch((err) => {
-            Toast.fail(err)
+            showFailToast(err)
         })
     })
 }

+ 2 - 2
src/packages/mobile/views/mine/wareorder/components/pickup/index.vue

@@ -58,7 +58,7 @@
 
 <script lang="ts" setup>
 import { shallowRef, PropType } from 'vue'
-import { CellGroup, Button, Field, Form, FormInstance, FieldRule, Toast, Radio, RadioGroup } from 'vant'
+import { CellGroup, Button, Field, Form, FormInstance, FieldRule, showFailToast, Radio, RadioGroup } from 'vant'
 import { useWrOutInApply } from "@/business/trade";
 import { fullloading, dialog } from '@/utils/vant'
 import { getReceiptTypeName } from '@/constants/receipt'
@@ -175,7 +175,7 @@ const formSubmit = () => {
                 closed(true)
             })
         }).catch((err) => {
-            Toast.fail(err)
+            showFailToast(err)
         })
     })
 }

+ 11 - 5
src/packages/mobile/views/purchase/detail/index.backup.vue

@@ -22,7 +22,7 @@
                 <Field name="DepositID" label="支付方式" :rules="formRules.DepositID" is-link
                     v-if="selectedDate?.presaleapplyid">
                     <template #input>
-                        <app-select v-model="formData.DepositID" placeholder="请选择" :options="presaleApplyDeposits" />
+                        <app-select placeholder="请选择" :options="presaleApplyDeposits" @confirm="onDepositChange" />
                     </template>
                 </Field>
                 <Field v-model="formData.Qty" name="Qty" type="digit" label="采购数量" :rules="formRules.Qty">
@@ -86,7 +86,7 @@
 
 <script lang="ts" setup>
 import { shallowRef, computed, defineAsyncComponent } from 'vue'
-import { CellGroup, Button, Field, Form, FormInstance, Toast, FieldRule, Divider } from 'vant'
+import { CellGroup, Button, Field, Form, FormInstance, showSuccessToast, showFailToast, FieldRule, Divider } from 'vant'
 import { fullloading } from '@/utils/vant'
 import { getImageUrl, parsePercent } from '@/filters'
 import { getGoodsUnitName } from '@/constants/unit'
@@ -155,7 +155,7 @@ const deposit = computed(() => {
     const { Qty = 0, DepositID } = formData.value
     const { presaleapplydeposits } = details.value
     const { unitprice = 0 } = selectedDate.value ?? {}
-    const apply = presaleapplydeposits?.find((e) => e.depositid === DepositID) // 选中的支付方式
+    const apply = presaleapplydeposits?.find((e) => e.depositid === DepositID?.toString()) // 选中的支付方式
 
     if (apply) {
         return (unitprice * apply.depositrate * Qty).toFixed(2)
@@ -246,6 +246,12 @@ const onDayChange = (value: string) => {
     formRef.value?.validate('PresaleApplyID')
 }
 
+// 切换支付方式
+const onDepositChange = (value: string) => {
+    formData.value.DepositID = Long.fromString(value)
+    formRef.value?.validate('DepositID')
+}
+
 // 更新表单数据
 const updateForm = (formValue: Proto.SpotPresaleDestingOrderReq) => {
     formData.value = formValue
@@ -254,10 +260,10 @@ const updateForm = (formValue: Proto.SpotPresaleDestingOrderReq) => {
 const onSubmit = () => {
     fullloading(() => {
         formSubmit().then(() => {
-            Toast.success('下单成功')
+            showSuccessToast('下单成功')
             router.replace({ name: 'my-order' })
         }).catch((err) => {
-            Toast.fail(err)
+            showFailToast(err)
         })
     })
 }

+ 3 - 3
src/packages/mobile/views/purchase/detail/index.vue

@@ -95,7 +95,7 @@
 
 <script lang="ts" setup>
 import { shallowRef, computed, defineAsyncComponent } from 'vue'
-import { CellGroup, Button, Field, Form, FormInstance, Toast, FieldRule, Divider } from 'vant'
+import { CellGroup, Button, Field, Form, FormInstance, showSuccessToast, showFailToast, FieldRule, Divider } from 'vant'
 import { fullloading, dialog } from '@/utils/vant'
 import { getImageUrl, parsePercent } from '@/filters'
 import { getGoodsUnitName } from '@/constants/unit'
@@ -248,10 +248,10 @@ const onSubmit = () => {
     }).then(() => {
         fullloading(() => {
             formSubmit().then(() => {
-                Toast.success('下单成功')
+                showSuccessToast('下单成功')
                 router.replace({ name: 'my-order' })
             }).catch((err) => {
-                Toast.fail(err)
+                showFailToast(err)
             })
         })
     })

+ 2 - 2
src/packages/mobile/views/supply-demand/detail/components/delisting/index.vue

@@ -48,7 +48,7 @@
 
 <script lang="ts" setup>
 import { shallowRef, PropType, computed } from 'vue'
-import { Form, Field, Stepper, Button, Toast, FieldRule, FormInstance } from 'vant'
+import { Form, Field, Stepper, Button, showFailToast, FieldRule, FormInstance } from 'vant'
 import { fullloading, dialog } from '@/utils/vant'
 import { useLoginStore, useAccountStore } from '@/stores'
 import { BuyOrSell } from '@/constants/order'
@@ -137,7 +137,7 @@ const onSubmit = () => {
             hideLoading()
             dialog('摘牌提交成功。').then(() => closed(true))
         }).catch((err) => {
-            Toast.fail(err)
+            showFailToast(err)
         })
     })
 }

+ 2 - 2
src/packages/mobile/views/supply-demand/detail/components/listing/index.vue

@@ -39,7 +39,7 @@
 
 <script lang="ts" setup>
 import { shallowRef, PropType } from 'vue'
-import { Form, Field, Stepper, Button, Toast, FieldRule, FormInstance } from 'vant'
+import { Form, Field, Stepper, Button, showFailToast, FieldRule, FormInstance } from 'vant'
 import { fullloading, dialog } from '@/utils/vant'
 import { useLoginStore, useAccountStore } from '@/stores'
 import { BuyOrSell } from '@/constants/order'
@@ -133,7 +133,7 @@ const onSubmit = () => {
             hideLoading()
             dialog('挂牌提交成功。').then(() => closed())
         }).catch((err) => {
-            Toast.fail(err)
+            showFailToast(err)
         })
     })
 }

+ 5 - 5
src/packages/mobile/views/user/forget/index.vue

@@ -32,7 +32,7 @@
 
 <script lang="ts" setup>
 import { reactive, ref, computed } from 'vue'
-import { CellGroup, Button, Field, Form, FormInstance, Toast, FieldRule } from 'vant'
+import { CellGroup, Button, Field, Form, FormInstance, showFailToast, FieldRule } from 'vant'
 import { useCountDown } from '@vant/use'
 import { fullloading, dialog } from '@/utils/vant'
 import { getEncryptMobile } from '@/filters'
@@ -118,7 +118,7 @@ const sendVerifyCode = () => {
                 countdown.start()
             },
             fail: () => {
-                Toast.fail('发送失败')
+                showFailToast('发送失败')
             }
         })
     })
@@ -150,16 +150,16 @@ const formSubmit = () => {
                                 router.back()
                             })
                         } else {
-                            Toast.fail(res.message)
+                            showFailToast(res.message)
                         }
                     },
                     fail: (err) => {
-                        Toast.fail(err)
+                        showFailToast(err)
                     }
                 })
             },
             fail: (err) => {
-                Toast.fail(err)
+                showFailToast(err)
             }
         })
     })

+ 6 - 7
src/packages/mobile/views/user/login/index.less

@@ -1,15 +1,14 @@
 .login {
     display: flex;
     flex-direction: column;
-    background: #d4eaf4 url('@mobile/assets/images/login-bg.jpg') no-repeat center top;
-    background-size: 100% auto;
+    background: url('@mobile/assets/images/login-bg.jpg') no-repeat center top;
+    background-size: 100% 100%;
 
     &-logo {
-        font-size: .64rem;
-        font-weight: bold;
-        text-align: center;
-        color: #00577C;
-        padding: 2.2rem 0 1.6rem 0;
+        height: 3.28rem;
+        background: url('@mobile/assets/images/login-logo.png') no-repeat center top;
+        background-size: 4.86rem 3.28rem;
+        margin: 1.6rem 0 .5rem .96rem;
     }
 
     &-form {

+ 5 - 5
src/packages/mobile/views/user/login/index.vue

@@ -1,6 +1,6 @@
 <template>
   <app-statusbar class="login">
-    <div class="login-logo">铁合金掌上行</div>
+    <div class="login-logo"></div>
     <Form class="login-form" @submit="formSubmit">
       <CellGroup>
         <Field v-model="user.LoginID" name="account" label="用户名" size="large" placeholder="请输入用户名"
@@ -35,7 +35,7 @@
 <script lang="ts" setup>
 import { shallowRef } from 'vue'
 import { useRoute, useRouter } from 'vue-router'
-import { Button, Field, CellGroup, Form, Checkbox, Toast } from 'vant'
+import { Button, Field, CellGroup, Form, Checkbox, showFailToast, showToast } from 'vant'
 import { fullloading } from '@/utils/vant'
 import { useAuth } from '@/business/auth'
 import { useNavigation } from '@/hooks/navigation'
@@ -56,7 +56,7 @@ const navigationTo = (name: string) => {
       hideLoading()
       routerTo(name)
     }).catch(() => {
-      Toast.fail('初始化失败')
+      showFailToast('初始化失败')
     })
   }, '加载中...')
 }
@@ -73,11 +73,11 @@ const formSubmit = () => {
           router.replace('/')
         }
       }).catch((err) => {
-        Toast.fail(err)
+        showFailToast(err)
       })
     }, '登录中...')
   } else {
-    Toast('请先同意使用条款')
+    showToast('请先同意使用条款')
   }
 }
 

+ 2 - 2
src/packages/mobile/views/user/logoff/index.vue

@@ -22,7 +22,7 @@
 </template>
 
 <script lang="ts" setup>
-import { Toast, Button } from 'vant'
+import { showFailToast, Button } from 'vant'
 import { fullloading, dialog } from '@/utils/vant'
 import { useAccountCancellation } from '@/business/user'
 
@@ -38,7 +38,7 @@ const onSubmit = () => {
                 hideLoading()
                 dialog('提交成功,请等待审核。')
             }).catch((err) => {
-                Toast.fail(err)
+                showFailToast(err)
             })
         })
     })

+ 2 - 2
src/packages/mobile/views/user/password/index.vue

@@ -23,7 +23,7 @@
 
 <script lang="ts" setup>
 import { shallowRef } from 'vue'
-import { CellGroup, Button, Field, Form, FormInstance, FieldRule, Toast } from 'vant'
+import { CellGroup, Button, Field, Form, FormInstance, FieldRule, showFailToast } from 'vant'
 import { fullloading, dialog } from '@/utils/vant'
 import { validateRules } from '@/constants/regex'
 import { useAccountPassword } from '@/business/user'
@@ -69,7 +69,7 @@ const onSubmit = () => {
                 eventBus.$emit('LogoutNotify')
             })
         }).catch((err) => {
-            Toast.fail(err)
+            showFailToast(err)
         })
     })
 }

+ 5 - 5
src/packages/mobile/views/user/register/index.vue

@@ -50,7 +50,7 @@
 
 <script lang="ts" setup>
 import { reactive, ref, computed } from 'vue'
-import { CellGroup, Cell, Button, Field, Form, FormInstance, Checkbox, Toast, FieldRule } from 'vant'
+import { CellGroup, Cell, Button, Field, Form, FormInstance, Checkbox, showFailToast, showToast, FieldRule } from 'vant'
 import { useCountDown } from '@vant/use'
 import { fullloading, dialog } from '@/utils/vant'
 import { validateRules } from '@/constants/regex'
@@ -139,7 +139,7 @@ const sendVerifyCode = () => {
         countdown.start()
       },
       fail: () => {
-        Toast.fail('发送失败')
+        showFailToast('发送失败')
       }
     })
   })
@@ -195,16 +195,16 @@ const formSubmit = () => {
               })
             }, 3000)
           } else {
-            Toast.fail(res.message)
+            showFailToast(res.message)
           }
         },
         fail: (err) => {
-          Toast.fail(err)
+          showFailToast(err)
         }
       })
     }, '正在注册...')
   } else {
-    Toast('请先同意注册条款')
+    showToast('请先同意注册条款')
   }
 }
 </script>

+ 1 - 1
src/stores/modules/theme.ts

@@ -10,7 +10,7 @@ interface StoreState {
 
 const store = new (class extends VueStore<StoreState>{
     constructor() {
-        const storage = new WebStorage<AppTheme>(localStorage, 'appTheme', AppTheme.Light)
+        const storage = new WebStorage<AppTheme>(localStorage, 'appTheme', AppTheme.Default)
         const state: StoreState = {
             appTheme: storage.getRef()
         }

+ 5 - 5
src/utils/vant/index.ts

@@ -1,4 +1,4 @@
-import { Notify, NotifyType, Toast, Dialog, DialogOptions } from 'vant'
+import { showNotify, NotifyType, showLoadingToast, showDialog, DialogOptions } from 'vant'
 import { timerInterceptor } from '@/utils/timer'
 import plus from '@/utils/h5plus'
 
@@ -11,7 +11,7 @@ import plus from '@/utils/h5plus'
 export function notify(message?: string, type?: NotifyType, duration = 2000) {
     plus.hideStatusBar()
 
-    Notify({ type, message, duration })
+    showNotify({ type, message, duration })
 
     timerInterceptor.debounce(() => {
         plus.showStatusBar()
@@ -25,12 +25,12 @@ export function notify(message?: string, type?: NotifyType, duration = 2000) {
  * @returns 
  */
 export function showLoading(message = '加载中...', callback?: (hideLoading: () => void) => void,) {
-    const toast = Toast.loading({
+    const toast = showLoadingToast({
         message,
         duration: 0,
         forbidClick: true,
     })
-    callback && callback(toast.clear)
+    callback && callback(toast.close)
     return toast
 }
 
@@ -49,7 +49,7 @@ export function fullloading(callback: (hideLoading: () => void) => void, message
  * @param type 
  */
 export function dialog<T = unknown>(message: string, type?: DialogOptions) {
-    return Dialog({
+    return showDialog({
         message,
         ...type
     }) as Promise<T>

+ 0 - 25
vue.config.js

@@ -1,8 +1,6 @@
-const { merge } = require('webpack-merge')
 const { resolve } = require('path')
 const moment = require('moment')
 const { defineConfig } = require('@vue/cli-service')
-const tsImportPluginFactory = require('ts-import-plugin')
 
 module.exports = defineConfig({
   transpileDependencies: [/node_modules/],
@@ -22,28 +20,5 @@ module.exports = defineConfig({
   chainWebpack: (config) => {
     config.resolve.alias
       .set('@' + process.env.VUE_APP_ENV, resolve(__dirname, process.env.VUE_APP_ROOT))
-
-    config.module
-      .rule('ts')
-      .use('ts-loader')
-      .tap((options) => {
-        options = merge(options, {
-          transpileOnly: true,
-          getCustomTransformers: () => ({
-            before: [
-              // vant 按需引入
-              tsImportPluginFactory({
-                libraryName: 'vant',
-                libraryDirectory: 'es',
-                style: true
-              })
-            ],
-            compilerOptions: {
-              module: 'es2015'
-            }
-          })
-        })
-        return options;
-      })
   }
 })