From ec9ceb31ba024dc075938daff0ebc76f668ee8f4 Mon Sep 17 00:00:00 2001 From: Seven Date: Wed, 17 Dec 2025 03:59:47 +0700 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=E9=93=B6=E8=A1=8C?= =?UTF-8?q?=E5=8D=A1=E7=AE=A1=E7=90=86=E5=8A=9F=E8=83=BD=EF=BC=8C=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=94=AF=E6=8C=81=E9=93=B6=E8=A1=8C=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=EF=BC=8C=E4=BC=98=E5=8C=96=E8=A1=A8=E5=8D=95=E4=BA=A4=E4=BA=92?= =?UTF-8?q?=E5=92=8C=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- auto-imports.d.ts | 2 +- package.json | 2 +- pnpm-lock.yaml | 12 +++--- src/api/types.ts | 2 + src/store/wallet.ts | 18 ++++---- src/theme/variables.css | 2 + src/utils/ionic-helper.ts | 1 + .../trade-settings/bank-management/add.vue | 40 ++++++++---------- .../trade-settings/bank-management/index.vue | 41 +------------------ src/views/user/components/issuing-asset.vue | 2 +- src/views/user/components/my-revenue.vue | 2 +- src/views/user/components/trade-settings.vue | 2 +- src/views/user/components/wallet-card.vue | 3 ++ 13 files changed, 49 insertions(+), 80 deletions(-) diff --git a/auto-imports.d.ts b/auto-imports.d.ts index 9c86d5a..9203b8a 100644 --- a/auto-imports.d.ts +++ b/auto-imports.d.ts @@ -354,7 +354,7 @@ declare global { export type { Component, Slot, Slots, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, ShallowRef, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue' import('vue') // @ts-ignore - export type { PageInstance, InputInstance, ModalInstance } from './src/utils/ionic-helper' + export type { PageInstance, InputInstance, ModalInstance, FormInstance } from './src/utils/ionic-helper' import('./src/utils/ionic-helper') } diff --git a/package.json b/package.json index ef9ee5f..074f58c 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@elysiajs/eden": "^1.4.5", "@ionic/vue": "^8.7.11", "@ionic/vue-router": "^8.7.11", - "@riwa/api-types": "http://192.168.1.36:9527/api/riwa-api-types-0.0.21.tgz", + "@riwa/api-types": "http://192.168.1.36:9527/api/riwa-api-types-0.0.22.tgz", "@tailwindcss/vite": "^4.1.18", "@vee-validate/yup": "^4.15.1", "@vueuse/core": "^14.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e69c442..73f39d3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -36,8 +36,8 @@ importers: specifier: ^8.7.11 version: 8.7.11(@stencil/core@4.39.0)(vue-router@4.6.3(vue@3.5.25(typescript@5.9.3)))(vue@3.5.25(typescript@5.9.3)) '@riwa/api-types': - specifier: http://192.168.1.36:9527/api/riwa-api-types-0.0.21.tgz - version: http://192.168.1.36:9527/api/riwa-api-types-0.0.21.tgz(@elysiajs/eden@1.4.5(elysia@1.4.18(@sinclair/typebox@0.34.41)(exact-mirror@0.2.5(@sinclair/typebox@0.34.41))(file-type@21.1.1)(openapi-types@12.1.3)(typescript@5.9.3))) + specifier: http://192.168.1.36:9527/api/riwa-api-types-0.0.22.tgz + version: http://192.168.1.36:9527/api/riwa-api-types-0.0.22.tgz(@elysiajs/eden@1.4.5(elysia@1.4.18(@sinclair/typebox@0.34.41)(exact-mirror@0.2.5(@sinclair/typebox@0.34.41))(file-type@21.1.1)(openapi-types@12.1.3)(typescript@5.9.3))) '@tailwindcss/vite': specifier: ^4.1.18 version: 4.1.18(vite@7.2.7(@types/node@24.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2)) @@ -1263,9 +1263,9 @@ packages: '@quansync/fs@1.0.0': resolution: {integrity: sha512-4TJ3DFtlf1L5LDMaM6CanJ/0lckGNtJcMjQ1NAV6zDmA0tEHKZtxNKin8EgPaVX1YzljbxckyT2tJrpQKAtngQ==} - '@riwa/api-types@http://192.168.1.36:9527/api/riwa-api-types-0.0.21.tgz': - resolution: {tarball: http://192.168.1.36:9527/api/riwa-api-types-0.0.21.tgz} - version: 0.0.21 + '@riwa/api-types@http://192.168.1.36:9527/api/riwa-api-types-0.0.22.tgz': + resolution: {tarball: http://192.168.1.36:9527/api/riwa-api-types-0.0.22.tgz} + version: 0.0.22 peerDependencies: '@elysiajs/eden': ^1.4.5 @@ -6101,7 +6101,7 @@ snapshots: dependencies: quansync: 1.0.0 - '@riwa/api-types@http://192.168.1.36:9527/api/riwa-api-types-0.0.21.tgz(@elysiajs/eden@1.4.5(elysia@1.4.18(@sinclair/typebox@0.34.41)(exact-mirror@0.2.5(@sinclair/typebox@0.34.41))(file-type@21.1.1)(openapi-types@12.1.3)(typescript@5.9.3)))': + '@riwa/api-types@http://192.168.1.36:9527/api/riwa-api-types-0.0.22.tgz(@elysiajs/eden@1.4.5(elysia@1.4.18(@sinclair/typebox@0.34.41)(exact-mirror@0.2.5(@sinclair/typebox@0.34.41))(file-type@21.1.1)(openapi-types@12.1.3)(typescript@5.9.3)))': dependencies: '@elysiajs/eden': 1.4.5(elysia@1.4.18(@sinclair/typebox@0.34.41)(exact-mirror@0.2.5(@sinclair/typebox@0.34.41))(file-type@21.1.1)(openapi-types@12.1.3)(typescript@5.9.3)) diff --git a/src/api/types.ts b/src/api/types.ts index e873c1c..2fc002d 100644 --- a/src/api/types.ts +++ b/src/api/types.ts @@ -31,3 +31,5 @@ export type BankAccountsData = Treaty.Data; export type BankAccountBody = Parameters[0]; export type BankAccountData = Treaty.Data; + +export type SupportBanksData = Treaty.Data; diff --git a/src/store/wallet.ts b/src/store/wallet.ts index 8e06202..0bb95e3 100644 --- a/src/store/wallet.ts +++ b/src/store/wallet.ts @@ -1,24 +1,24 @@ -import type { BalancesData, BankAccountsData } from "@/api/types"; +import type { BalancesData, BankAccountsData, SupportBanksData } from "@/api/types"; import { defineStore } from "pinia"; import { client, safeClient } from "@/api"; interface State { balances: BalancesData; bankAccounts: BankAccountsData["data"]; + supportBanks: SupportBanksData["data"]; } export const useWalletStore = defineStore("wallet", () => { const state = reactive({ balances: [], bankAccounts: [], + supportBanks: [], }); - const balances = computed(() => state.balances); - const bankAccounts = computed(() => state.bankAccounts); - async function initializeWallet() { updateBalances(); updateBankAccounts(); + updateSupportBanks(); } async function updateBalances(data?: BalancesData) { @@ -39,12 +39,16 @@ export const useWalletStore = defineStore("wallet", () => { state.bankAccounts = bankAccounts.value?.data || []; } + async function updateSupportBanks() { + const { data: banks } = await safeClient(() => client.api.bank_account.banks.get(), { silent: true }); + state.supportBanks = banks.value?.data || []; + } + return { - state, - balances, - bankAccounts, + ...toRefs(state), initializeWallet, updateBalances, updateBankAccounts, + updateSupportBanks, }; }); diff --git a/src/theme/variables.css b/src/theme/variables.css index 929c55e..83ab57a 100644 --- a/src/theme/variables.css +++ b/src/theme/variables.css @@ -116,6 +116,8 @@ http://ionicframework.com/docs/theming/ */ --ui-input-background: #efefef; --ui-input-color: #222222; + + --ui-background-primary: linear-gradient(180deg, #615fff 0%, #9810fa 100%); } @media (prefers-color-scheme: dark) { diff --git a/src/utils/ionic-helper.ts b/src/utils/ionic-helper.ts index edfb742..6b47444 100644 --- a/src/utils/ionic-helper.ts +++ b/src/utils/ionic-helper.ts @@ -1,3 +1,4 @@ export type PageInstance = InstanceType; export type InputInstance = InstanceType; export type ModalInstance = InstanceType; +export type FormInstance = InstanceType; diff --git a/src/views/trade-settings/bank-management/add.vue b/src/views/trade-settings/bank-management/add.vue index 95051dd..f485dcd 100644 --- a/src/views/trade-settings/bank-management/add.vue +++ b/src/views/trade-settings/bank-management/add.vue @@ -1,6 +1,6 @@