feat: 添加 IonText 组件支持,更新依赖版本,优化默认布局和应用配置

This commit is contained in:
2025-12-23 03:56:29 +07:00
parent 0db669d08e
commit a87f11c1f4
5 changed files with 43 additions and 36 deletions

2
components.d.ts vendored
View File

@@ -50,6 +50,7 @@ declare module 'vue' {
IonTabBar: typeof import('@ionic/vue')['IonTabBar'] IonTabBar: typeof import('@ionic/vue')['IonTabBar']
IonTabButton: typeof import('@ionic/vue')['IonTabButton'] IonTabButton: typeof import('@ionic/vue')['IonTabButton']
IonTabs: typeof import('@ionic/vue')['IonTabs'] IonTabs: typeof import('@ionic/vue')['IonTabs']
IonText: typeof import('@ionic/vue')['IonText']
IonTitle: typeof import('@ionic/vue')['IonTitle'] IonTitle: typeof import('@ionic/vue')['IonTitle']
IonToolbar: typeof import('@ionic/vue')['IonToolbar'] IonToolbar: typeof import('@ionic/vue')['IonToolbar']
LayoutDefault: typeof import('./src/components/layout/default.vue')['default'] LayoutDefault: typeof import('./src/components/layout/default.vue')['default']
@@ -100,6 +101,7 @@ declare global {
const IonTabBar: typeof import('@ionic/vue')['IonTabBar'] const IonTabBar: typeof import('@ionic/vue')['IonTabBar']
const IonTabButton: typeof import('@ionic/vue')['IonTabButton'] const IonTabButton: typeof import('@ionic/vue')['IonTabButton']
const IonTabs: typeof import('@ionic/vue')['IonTabs'] const IonTabs: typeof import('@ionic/vue')['IonTabs']
const IonText: typeof import('@ionic/vue')['IonText']
const IonTitle: typeof import('@ionic/vue')['IonTitle'] const IonTitle: typeof import('@ionic/vue')['IonTitle']
const IonToolbar: typeof import('@ionic/vue')['IonToolbar'] const IonToolbar: typeof import('@ionic/vue')['IonToolbar']
const LayoutDefault: typeof import('./src/components/layout/default.vue')['default'] const LayoutDefault: typeof import('./src/components/layout/default.vue')['default']

View File

@@ -32,7 +32,7 @@
"@elysiajs/eden": "^1.4.5", "@elysiajs/eden": "^1.4.5",
"@ionic/vue": "^8.7.11", "@ionic/vue": "^8.7.11",
"@ionic/vue-router": "^8.7.11", "@ionic/vue-router": "^8.7.11",
"@riwa/api-types": "http://192.168.1.27:9527/api/riwa-api-types-0.0.53.tgz", "@riwa/api-types": "http://192.168.1.27:9527/api/riwa-api-types-0.0.59.tgz",
"@tailwindcss/vite": "^4.1.18", "@tailwindcss/vite": "^4.1.18",
"@vee-validate/yup": "^4.15.1", "@vee-validate/yup": "^4.15.1",
"@vueuse/core": "^14.1.0", "@vueuse/core": "^14.1.0",

12
pnpm-lock.yaml generated
View File

@@ -54,8 +54,8 @@ importers:
specifier: ^8.7.11 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)) 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': '@riwa/api-types':
specifier: http://192.168.1.27:9527/api/riwa-api-types-0.0.53.tgz specifier: http://192.168.1.27:9527/api/riwa-api-types-0.0.59.tgz
version: http://192.168.1.27:9527/api/riwa-api-types-0.0.53.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))) version: http://192.168.1.27:9527/api/riwa-api-types-0.0.59.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': '@tailwindcss/vite':
specifier: ^4.1.18 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)) 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))
@@ -1354,9 +1354,9 @@ packages:
resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==} resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==}
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
'@riwa/api-types@http://192.168.1.27:9527/api/riwa-api-types-0.0.53.tgz': '@riwa/api-types@http://192.168.1.27:9527/api/riwa-api-types-0.0.59.tgz':
resolution: {tarball: http://192.168.1.27:9527/api/riwa-api-types-0.0.53.tgz} resolution: {tarball: http://192.168.1.27:9527/api/riwa-api-types-0.0.59.tgz}
version: 0.0.53 version: 0.0.59
peerDependencies: peerDependencies:
'@elysiajs/eden': ^1.4.5 '@elysiajs/eden': ^1.4.5
@@ -6453,7 +6453,7 @@ snapshots:
'@pkgr/core@0.2.9': {} '@pkgr/core@0.2.9': {}
'@riwa/api-types@http://192.168.1.27:9527/api/riwa-api-types-0.0.53.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.27:9527/api/riwa-api-types-0.0.59.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: 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)) '@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))

View File

@@ -5,41 +5,41 @@ const { t } = useI18n();
</script> </script>
<template> <template>
<IonPage> <ion-page>
<IonTabs> <ion-tabs>
<IonRouterOutlet /> <ion-router-outlet />
<IonTabBar slot="bottom" class="tabbar"> <ion-tab-bar slot="bottom">
<IonTabButton tab="riwa" href="/layout/riwa"> <ion-tab-button tab="riwa" href="/layout/riwa">
<IonIcon aria-hidden="true" :icon="compass" /> <ion-icon aria-hidden="true" :icon="compass" />
<IonLabel>{{ t('tabs.riwa') }}</IonLabel> <ion-label>{{ t('tabs.riwa') }}</ion-label>
</IonTabButton> </ion-tab-button>
<IonTabButton tab="market" href="/layout/market"> <ion-tab-button tab="market" href="/layout/market">
<IonIcon aria-hidden="true" :icon="cellular" /> <ion-icon aria-hidden="true" :icon="cellular" />
<IonLabel>{{ t('tabs.market') }}</IonLabel> <ion-label>{{ t('tabs.market') }}</ion-label>
</IonTabButton> </ion-tab-button>
<IonTabButton tab="trade" href="/layout/trade"> <ion-tab-button tab="trade" href="/layout/trade">
<IonIcon aria-hidden="true" :icon="swapHorizontal" /> <ion-icon aria-hidden="true" :icon="swapHorizontal" />
<IonLabel>{{ t('tabs.trade') }}</IonLabel> <ion-label>{{ t('tabs.trade') }}</ion-label>
</IonTabButton> </ion-tab-button>
<IonTabButton tab="chat" href="/layout/chat"> <ion-tab-button tab="chat" href="/layout/chat">
<IonIcon aria-hidden="true" :icon="chatboxEllipses" /> <ion-icon aria-hidden="true" :icon="chatboxEllipses" />
<IonLabel>{{ t('tabs.chat') }}</IonLabel> <ion-label>{{ t('tabs.chat') }}</ion-label>
</IonTabButton> </ion-tab-button>
<IonTabButton tab="user" href="/layout/user"> <ion-tab-button tab="user" href="/layout/user">
<IonIcon aria-hidden="true" :icon="personCircle" /> <ion-icon aria-hidden="true" :icon="personCircle" />
<IonLabel>{{ t('tabs.user') }}</IonLabel> <ion-label>{{ t('tabs.user') }}</ion-label>
</IonTabButton> </ion-tab-button>
</IonTabBar> </ion-tab-bar>
</IonTabs> </ion-tabs>
</IonPage> </ion-page>
</template> </template>
<style scoped> <style scoped>
.tabbar { ion-tab-bar {
height: 60px; height: 60px;
--background: var(--ion-background-color); --background: var(--ion-background-color);
} }

View File

@@ -47,7 +47,12 @@ authClient.getSession().then((session) => {
userStore.setToken(session.data?.session.token || ""); userStore.setToken(session.data?.session.token || "");
const app = createApp(App) const app = createApp(App)
.use(IonicVue) .use(IonicVue, {
backButtonText: "返回",
mode: "ios",
statusTap: true,
swipeBackEnabled: true,
})
.use(uiComponents) .use(uiComponents)
.use(pinia) .use(pinia)
.use(router) .use(router)