feat: 添加我的申购页面,更新路由和国际化支持,优化用户体验
This commit is contained in:
@@ -47,3 +47,7 @@ export type AvailableSubscriptionData = Treaty.Data<typeof client.api.rwa.subscr
|
||||
export type AvailableSubscriptionBody = TreatyQuery<typeof client.api.rwa.subscription.available_editions.get>;
|
||||
|
||||
export type RwaData = Treaty.Data<typeof client.api.rwa.subscription.available_editions.get>;
|
||||
|
||||
export type MySubscribeRwaData = Treaty.Data<typeof client.api.rwa.subscription.my_subscriptions.get>;
|
||||
|
||||
export type MySubscribeRwaBody = TreatyQuery<typeof client.api.rwa.subscription.my_subscriptions.get>;
|
||||
|
||||
@@ -122,7 +122,8 @@
|
||||
"trade": {
|
||||
"title": "Trade",
|
||||
"settings": {
|
||||
"bankManagement": "Bank Card"
|
||||
"bankManagement": "Bank Card",
|
||||
"mySubscribe": "Subscribe"
|
||||
}
|
||||
},
|
||||
"asset": {
|
||||
|
||||
@@ -6,7 +6,7 @@ export type MessageSchema = typeof enUS;
|
||||
|
||||
const i18n = createI18n<MessageSchema, "en-US" | "zh-CN">({
|
||||
legacy: false,
|
||||
locale: "en-US",
|
||||
locale: "zh-CN",
|
||||
fallbackLocale: "en-US",
|
||||
messages: {
|
||||
"en-US": enUS,
|
||||
|
||||
@@ -122,7 +122,8 @@
|
||||
"trade": {
|
||||
"title": "交易",
|
||||
"settings": {
|
||||
"bankManagement": "银行卡管理"
|
||||
"bankManagement": "银行卡管理",
|
||||
"mySubscribe": "我的申购"
|
||||
}
|
||||
},
|
||||
"asset": {
|
||||
|
||||
@@ -62,6 +62,10 @@ const routes: Array<RouteRecordRaw> = [
|
||||
path: "/trade-settings/bank-management",
|
||||
component: () => import("@/views/trade-settings/bank-management/index.vue"),
|
||||
},
|
||||
{
|
||||
path: "/trade-settings/my-subscribe",
|
||||
component: () => import("@/views/trade-settings/my-subscribe/index.vue"),
|
||||
},
|
||||
{
|
||||
path: "/trade-settings/bank-management/add",
|
||||
component: () => import("@/views/trade-settings/bank-management/add.vue"),
|
||||
|
||||
45
src/views/trade-settings/my-subscribe/index.vue
Normal file
45
src/views/trade-settings/my-subscribe/index.vue
Normal file
@@ -0,0 +1,45 @@
|
||||
<script lang='ts' setup>
|
||||
import type { MySubscribeRwaBody, MySubscribeRwaData } from "@/api/types";
|
||||
import { client, safeClient } from "@/api";
|
||||
|
||||
const [query] = useResetRef<MySubscribeRwaBody>({
|
||||
limit: 20,
|
||||
offset: 0,
|
||||
});
|
||||
|
||||
const subscribeData = ref<MySubscribeRwaData>([]);
|
||||
const isFinished = ref(false);
|
||||
|
||||
async function fetchRwaData() {
|
||||
const { data } = await safeClient(() => client.api.rwa.subscription.my_subscriptions.get({
|
||||
query: query.value,
|
||||
}));
|
||||
subscribeData.value.push(...(data.value || []));
|
||||
isFinished.value = (data.value?.length || 0) < query.value.limit!;
|
||||
}
|
||||
|
||||
onBeforeMount(() => {
|
||||
fetchRwaData();
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<ion-page>
|
||||
<ion-header>
|
||||
<ion-toolbar class="ui-toolbar">
|
||||
<ion-back-button slot="start" />
|
||||
<ion-title>我的申购</ion-title>
|
||||
</ion-toolbar>
|
||||
</ion-header>
|
||||
|
||||
<ion-content :fullscreen="true" class="ion-padding">
|
||||
<ion-refresher slot="fixed">
|
||||
<ion-refresher-content />
|
||||
</ion-refresher>
|
||||
|
||||
<div class="space-y-3 antialiased mt-5" />
|
||||
</ion-content>
|
||||
</ion-page>
|
||||
</template>
|
||||
|
||||
<style scoped></style>
|
||||
@@ -1,5 +1,5 @@
|
||||
<script lang='ts' setup>
|
||||
import { cardOutline } from "ionicons/icons";
|
||||
import { cardOutline, documentOutline } from "ionicons/icons";
|
||||
|
||||
const { t } = useI18n();
|
||||
</script>
|
||||
@@ -16,6 +16,12 @@ const { t } = useI18n();
|
||||
{{ t('trade.settings.bankManagement') }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-span-1 flex-col-center gap-2" @click="$router.push('/trade-settings/my-subscribe')">
|
||||
<ion-icon :icon="documentOutline" />
|
||||
<div class="text-xs">
|
||||
{{ t('trade.settings.mySubscribe') }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
Reference in New Issue
Block a user