feat: 更新用户界面,添加 Rwa 组件并优化交易视图
This commit is contained in:
@@ -6,7 +6,6 @@ const { isAuthenticated } = storeToRefs(userStore);
|
||||
const { locale, loadSavedLanguage } = useLanguage();
|
||||
const { initializeWallet } = useWalletStore();
|
||||
const { updateProfile } = useUserStore();
|
||||
const route = useRoute();
|
||||
|
||||
onMounted(() => {
|
||||
if (!isAuthenticated.value)
|
||||
|
||||
@@ -1,7 +1,17 @@
|
||||
<script lang='ts' setup></script>
|
||||
<script lang='ts' setup>
|
||||
import type { ComponentInstance } from "vue";
|
||||
|
||||
const vm = getCurrentInstance()!;
|
||||
|
||||
function changeRef(exposed: any) {
|
||||
vm.exposed = exposed;
|
||||
}
|
||||
|
||||
defineExpose({} as ComponentInstance<typeof IonAvatar>);
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<ion-avatar v-bind="$attrs">
|
||||
<ion-avatar v-bind="$attrs" :ref="changeRef">
|
||||
<img
|
||||
src="https://api.iconify.design/material-icon-theme:drizzle.svg"
|
||||
alt="Avatar"
|
||||
@@ -11,7 +21,8 @@
|
||||
|
||||
<style lang='css' scoped>
|
||||
ion-avatar {
|
||||
--padding: 10px;
|
||||
background-color: #e7f6e1;
|
||||
padding: 10px;
|
||||
padding: var(--padding);
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -73,10 +73,10 @@ onBeforeMount(() => {
|
||||
<ion-refresher-content />
|
||||
</ion-refresher>
|
||||
|
||||
<ui-tabs size="small" class="mb-3">
|
||||
<!-- <ui-tabs size="small" class="mb-3">
|
||||
<ui-tab-pane name="all" title="数字化产品" />
|
||||
<ui-tab-pane name="stocks" title="代币化产品" />
|
||||
</ui-tabs>
|
||||
</ui-tabs> -->
|
||||
|
||||
<Category v-model="query!.categoryId" />
|
||||
<RwaList :data="rwaData" />
|
||||
|
||||
17
src/views/riwa/components/rwa.vue
Normal file
17
src/views/riwa/components/rwa.vue
Normal file
@@ -0,0 +1,17 @@
|
||||
<script lang='ts' setup>
|
||||
import { client, safeClient } from "@/api";
|
||||
|
||||
const { data } = safeClient(client.api.rwa.subscription.available_editions.get({
|
||||
query: {
|
||||
limit: 4,
|
||||
},
|
||||
}));
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
{{ data }}
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style lang='css' scoped></style>
|
||||
@@ -1,29 +1,23 @@
|
||||
<script setup lang="ts">
|
||||
const tradingViewContainer = useTemplateRef<HTMLElement>("tradingViewContainer");
|
||||
|
||||
useTradingView(tradingViewContainer, {
|
||||
data: [
|
||||
// 随机k线图数据
|
||||
{ time: "2023-10-01", open: 100, high: 110, low: 90, close: 105 },
|
||||
{ time: "2023-10-02", open: 105, high: 115, low: 95, close: 100 },
|
||||
{ time: "2023-10-03", open: 100, high: 120, low: 80, close: 110 },
|
||||
{ time: "2023-10-04", open: 110, high: 130, low: 100, close: 120 },
|
||||
{ time: "2023-10-05", open: 120, high: 140, low: 110, close: 130 },
|
||||
{ time: "2023-10-06", open: 130, high: 150, low: 120, close: 140 },
|
||||
{ time: "2023-10-07", open: 140, high: 160, low: 130, close: 150 },
|
||||
],
|
||||
});
|
||||
import IcOutlineMenu from "~icons/ic/outline-menu";
|
||||
import Rwa from "./components/rwa.vue";
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<IonPage>
|
||||
<IonHeader>
|
||||
<IonToolbar class="ui-toolbar">
|
||||
<IonTitle>Home</IonTitle>
|
||||
</IonToolbar>
|
||||
</IonHeader>
|
||||
<IonContent :fullscreen="true">
|
||||
<div ref="tradingViewContainer" />
|
||||
</IonContent>
|
||||
</IonPage>
|
||||
<ion-page>
|
||||
<ion-header class="ion-no-border">
|
||||
<ion-toolbar class="ui-toolbar">
|
||||
<ion-button slot="start" fill="clear">
|
||||
<IcOutlineMenu slot="icon-only" />
|
||||
</ion-button>
|
||||
<ion-button slot="end" fill="clear">
|
||||
<!-- <ui-avatar slot="icon-only" class="w-10 h-10" style="--padding: 8px" /> -->
|
||||
</ion-button>
|
||||
<ion-title>首页</ion-title>
|
||||
</ion-toolbar>
|
||||
</ion-header>
|
||||
<ion-content :fullscreen="true">
|
||||
<Rwa />
|
||||
</ion-content>
|
||||
</ion-page>
|
||||
</template>
|
||||
|
||||
@@ -1,8 +1,20 @@
|
||||
<script setup lang="ts">
|
||||
import { cartOutline } from "ionicons/icons";
|
||||
import OperationWrapper from "./components/operation-wrapper.vue";
|
||||
|
||||
const { t } = useI18n();
|
||||
|
||||
const tradingViewContainer = useTemplateRef<HTMLElement>("tradingViewContainer");
|
||||
|
||||
useTradingView(tradingViewContainer, {
|
||||
data: [
|
||||
// 随机k线图数据
|
||||
{ time: "2023-10-01", open: 100, high: 110, low: 90, close: 105 },
|
||||
{ time: "2023-10-02", open: 105, high: 115, low: 95, close: 100 },
|
||||
{ time: "2023-10-03", open: 100, high: 120, low: 80, close: 110 },
|
||||
{ time: "2023-10-04", open: 110, high: 130, low: 100, close: 120 },
|
||||
{ time: "2023-10-05", open: 120, high: 140, low: 110, close: 130 },
|
||||
{ time: "2023-10-06", open: 130, high: 150, low: 120, close: 140 },
|
||||
{ time: "2023-10-07", open: 140, high: 160, low: 130, close: 150 },
|
||||
],
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@@ -13,7 +25,7 @@ const { t } = useI18n();
|
||||
</ion-toolbar>
|
||||
</ion-header>
|
||||
<ion-content :fullscreen="true">
|
||||
<!-- <OperationWrapper v-model="current" /> -->
|
||||
<div ref="tradingViewContainer" />
|
||||
</ion-content>
|
||||
</ion-page>
|
||||
</template>
|
||||
|
||||
Reference in New Issue
Block a user