From 75402348f8b2dc1e62f9b125f7337d5567de8315 Mon Sep 17 00:00:00 2001 From: Seven Date: Mon, 12 Jan 2026 19:52:15 +0700 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=20@riwa/api-types=20?= =?UTF-8?q?=E4=BE=9D=E8=B5=96=E7=89=88=E6=9C=AC=E8=87=B3=200.0.130?= =?UTF-8?q?=EF=BC=8C=E5=B9=B6=E4=BF=AE=E6=AD=A3=E8=BD=AC=E8=B4=A6=E7=94=A8?= =?UTF-8?q?=E6=88=B7ID=E5=BC=95=E7=94=A8=E5=8F=8A=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=E9=AA=8C=E8=AF=81=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- pnpm-lock.yaml | 12 ++++++------ src/views/onchain-address/index.vue | 2 +- src/views/wallet/transfer-to-user.vue | 24 ++++++++++++------------ 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/package.json b/package.json index c88f6c3..7034b8e 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "@elysiajs/eden": "^1.4.5", "@ionic/vue": "^8.7.11", "@ionic/vue-router": "^8.7.11", - "@riwa/api-types": "http://192.168.1.7:9527/api/riwa-eden-0.0.128.tgz", + "@riwa/api-types": "http://192.168.1.7:9527/api/riwa-eden-0.0.130.tgz", "@tailwindcss/vite": "^4.1.18", "@vee-validate/zod": "^4.15.1", "@vueuse/core": "^14.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 56c2371..92286d8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -69,8 +69,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.7:9527/api/riwa-eden-0.0.128.tgz - version: '@riwa/eden@http://192.168.1.7:9527/api/riwa-eden-0.0.128.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.7:9527/api/riwa-eden-0.0.130.tgz + version: '@riwa/eden@http://192.168.1.7:9527/api/riwa-eden-0.0.130.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)) @@ -2804,9 +2804,9 @@ packages: '@remirror/core-constants@3.0.0': resolution: {integrity: sha512-42aWfPrimMfDKDi4YegyS7x+/0tlzaqwPQCULLanv3DMIlu96KTJR0fM5isWX2UViOqlGnX6YFgqWepcX+XMNg==} - '@riwa/eden@http://192.168.1.7:9527/api/riwa-eden-0.0.128.tgz': - resolution: {tarball: http://192.168.1.7:9527/api/riwa-eden-0.0.128.tgz} - version: 0.0.128 + '@riwa/eden@http://192.168.1.7:9527/api/riwa-eden-0.0.130.tgz': + resolution: {tarball: http://192.168.1.7:9527/api/riwa-eden-0.0.130.tgz} + version: 0.0.130 peerDependencies: '@elysiajs/eden': ^1.4.5 @@ -12161,7 +12161,7 @@ snapshots: '@remirror/core-constants@3.0.0': {} - '@riwa/eden@http://192.168.1.7:9527/api/riwa-eden-0.0.128.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/eden@http://192.168.1.7:9527/api/riwa-eden-0.0.130.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/views/onchain-address/index.vue b/src/views/onchain-address/index.vue index 6303cc0..9c41a48 100644 --- a/src/views/onchain-address/index.vue +++ b/src/views/onchain-address/index.vue @@ -10,7 +10,7 @@ import MaterialSymbolsUpload from "~icons/material-symbols/upload"; const userStore = useUserStore(); const { userProfile } = storeToRefs(userStore); const url = computed(() => { - return `/transfer_to_user/${userProfile.value?.uid}`; + return `/transfer_to_user/${userProfile.value?.userId}`; }); const qrcode = useQRCode(url, { type: "image/webp", diff --git a/src/views/wallet/transfer-to-user.vue b/src/views/wallet/transfer-to-user.vue index 7994d3a..bc8c17e 100644 --- a/src/views/wallet/transfer-to-user.vue +++ b/src/views/wallet/transfer-to-user.vue @@ -2,6 +2,7 @@ import type { GenericObject } from "vee-validate"; import type { FormInstance } from "@/utils"; import { loadingController, modalController, toastController } from "@ionic/vue"; +import { toTypedSchema } from "@vee-validate/zod"; import { ErrorMessage, Field, Form } from "vee-validate"; import { z } from "zod"; import { client, safeClient } from "@/api"; @@ -23,7 +24,7 @@ const targetUser = ref(null); // 表单初始值 const initialValues = { assetCode: "USDT", - amount: "", + amount: undefined, memo: "", }; @@ -38,15 +39,14 @@ const availableBalance = computed(() => { }); // 验证规则 -const schema = computed(() => z.object({ +const schema = computed(() => toTypedSchema(z.object({ assetCode: z.string().min(1, "请选择币种"), amount: z - .string() - .min(1, "请输入转账金额") - .refine(value => Number(value) > 0, "转账金额必须大于0") - .refine(value => Number(value) <= Number(availableBalance.value), `可用余额不足,当前余额:${availableBalance.value}`), + .number({ required_error: "请输入转账金额", invalid_type_error: "请输入有效的数字" }) + .positive("转账金额必须大于0") + .refine(value => value <= Number(availableBalance.value), `可用余额不足,当前余额:${availableBalance.value}`), memo: z.string().optional(), -})); +}))); // 打开币种选择 async function openSelectCurrency() { @@ -66,7 +66,7 @@ async function openSelectCurrency() { // 设置全部金额 function setMaxAmount() { - formInst.value?.setFieldValue("amount", availableBalance.value); + formInst.value?.setFieldValue("amount", Number(availableBalance.value)); } // 获取目标用户信息 @@ -76,7 +76,7 @@ async function fetchTargetUser() { }); await loading.present(); - const { data, error } = await safeClient(() => client.api.user({ uid: props.id }).get()); + const { data, error } = await safeClient(() => client.api.transfer.payee({ userId: props.id }).verify.get()); await loading.dismiss(); @@ -105,7 +105,7 @@ async function onSubmit(values: GenericObject) { const { error } = await safeClient(() => client.api.transfer.post({ assetCode: values.assetCode as string, - amount: values.amount as string, + amount: String(values.amount), toUserId: props.id, memo: values.memo as string, })); @@ -153,10 +153,10 @@ onMounted(() => {
- {{ targetUser.nickname || targetUser.username }} + {{ targetUser.toUserDisplayName }}
- ID: {{ targetUser.uid }} + ID: {{ id }}