From 83385b9d88ea9fe10003263be5cdbd96405680db Mon Sep 17 00:00:00 2001 From: Seven Date: Fri, 9 Jan 2026 00:56:58 +0700 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=E6=96=B0=E9=97=BB?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD=EF=BC=8C=E6=95=B4=E5=90=88?= =?UTF-8?q?=20API=20=E6=95=B0=E6=8D=AE=E8=8E=B7=E5=8F=96=EF=BC=8C=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E6=96=B0=E9=97=BB=E5=88=97=E8=A1=A8=E5=B1=95=E7=A4=BA?= =?UTF-8?q?=E5=92=8C=E8=AF=A6=E6=83=85=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 3 +- pnpm-lock.yaml | 15 ++- src/api/types.ts | 4 + src/locales/en-US.json | 7 ++ src/locales/zh-CN.json | 7 ++ src/router/index.ts | 5 + src/views/new/id.vue | 187 +++++++++++++++++++++++++++++ src/views/riwa/components/news.vue | 54 +++------ 8 files changed, 236 insertions(+), 46 deletions(-) create mode 100644 src/views/new/id.vue diff --git a/package.json b/package.json index 91be721..c147da6 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,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.102.tgz", + "@riwa/api-types": "http://192.168.1.7:9527/api/riwa-eden-0.0.109.tgz", "@tailwindcss/vite": "^4.1.18", "@vee-validate/yup": "^4.15.1", "@vueuse/core": "^14.1.0", @@ -45,6 +45,7 @@ "ionicons": "^8.0.13", "lightweight-charts": "^5.1.0", "lodash-es": "^4.17.21", + "markdown-it": "^14.1.0", "pinia": "^3.0.4", "qrcode": "^1.5.4", "tailwindcss": "^4.1.18", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fc09466..e51274e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -57,8 +57,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.102.tgz - version: '@riwa/eden@http://192.168.1.7:9527/api/riwa-eden-0.0.102.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.109.tgz + version: '@riwa/eden@http://192.168.1.7:9527/api/riwa-eden-0.0.109.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)) @@ -89,6 +89,9 @@ importers: lodash-es: specifier: ^4.17.21 version: 4.17.21 + markdown-it: + specifier: ^14.1.0 + version: 14.1.0 pinia: specifier: ^3.0.4 version: 3.0.4(typescript@5.9.3)(vue@3.5.25(typescript@5.9.3)) @@ -2772,9 +2775,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.102.tgz': - resolution: {tarball: http://192.168.1.7:9527/api/riwa-eden-0.0.102.tgz} - version: 0.0.102 + '@riwa/eden@http://192.168.1.7:9527/api/riwa-eden-0.0.109.tgz': + resolution: {tarball: http://192.168.1.7:9527/api/riwa-eden-0.0.109.tgz} + version: 0.0.109 peerDependencies: '@elysiajs/eden': ^1.4.5 @@ -12099,7 +12102,7 @@ snapshots: '@remirror/core-constants@3.0.0': {} - '@riwa/eden@http://192.168.1.7:9527/api/riwa-eden-0.0.102.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.109.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 ef56764..3d05af8 100644 --- a/src/api/types.ts +++ b/src/api/types.ts @@ -84,6 +84,10 @@ export type NotificationData = Treaty.Data[ export type NotificationBody = TreatyQuery; +export type NewBody = TreatyQuery; + +export type NewData = Treaty.Data["data"][number]; + /** * 应用版本信息 */ diff --git a/src/locales/en-US.json b/src/locales/en-US.json index 39cd496..11440b0 100644 --- a/src/locales/en-US.json +++ b/src/locales/en-US.json @@ -392,6 +392,13 @@ "fileSizeError": "File {name} exceeds {max}MB limit", "uploadError": "File {name} upload failed" }, + "news": { + "detail": "News Detail", + "summary": "Summary", + "views": "views", + "attachments": "Attachments", + "loadError": "Failed to load, please try again later" + }, "auth": { "login": { "title": "Log in", diff --git a/src/locales/zh-CN.json b/src/locales/zh-CN.json index 1ff8c21..4c3640f 100644 --- a/src/locales/zh-CN.json +++ b/src/locales/zh-CN.json @@ -398,6 +398,13 @@ "fileSizeError": "文件 {name} 超过 {max}MB 限制", "uploadError": "文件 {name} 上传失败" }, + "news": { + "detail": "新闻详情", + "summary": "摘要", + "views": "次查看", + "attachments": "附件", + "loadError": "加载失败,请稍后重试" + }, "auth": { "login": { "title": "登录", diff --git a/src/router/index.ts b/src/router/index.ts index 155f2a0..1f191b2 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -225,6 +225,11 @@ const routes: Array = [ component: () => import("@/views/market/orders.vue"), meta: { requiresAuth: true }, }, + { + path: "/new/:id", + props: true, + component: () => import("@/views/new/id.vue"), + }, { path: "/global-menu", component: () => import("@/views/global-menu/index.vue"), diff --git a/src/views/new/id.vue b/src/views/new/id.vue new file mode 100644 index 0000000..baeea92 --- /dev/null +++ b/src/views/new/id.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/src/views/riwa/components/news.vue b/src/views/riwa/components/news.vue index f2d33e5..0b5ccf2 100644 --- a/src/views/riwa/components/news.vue +++ b/src/views/riwa/components/news.vue @@ -1,34 +1,17 @@ @@ -38,37 +21,30 @@ function openNewsDetail(item: NewsItem) { 动态新闻 -
-
-
-
{{ item.title }}
- -

- {{ item.description }} + {{ item.summary }}

- -
- {{ formatTime(item.time) }} + {{ useDateFormat(item.createdAt, 'YY/MM/DD') }}