From 1f9441367f9f029a9403138f6566d7aba1339061 Mon Sep 17 00:00:00 2001
From: lzx_win <2602107437@qq.com>
Date: Tue, 30 Sep 2025 10:15:48 +0800
Subject: [PATCH] =?UTF-8?q?feat(article):=20=E6=96=B0=E5=A2=9E=E6=96=87?=
=?UTF-8?q?=E7=AB=A0=E6=A8=A1=E5=9D=97=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 添加文章相关API配置和模型
- 创建文章列表页和详情页组件
- 实现文章列表展示和详情查看功能
- 在底部导航栏添加文章入口
- 新增文章列表项组件
---
api/api.js | 2 +-
api/model/article.js | 31 ++++++
components/base/tabbar.vue | 4 +-
components/list/articleItem.vue | 76 ++++++++++++++
pages.json | 13 +++
pages/index/article.vue | 99 ++++++++++++++++++
pages_order/article/index.vue | 224 ++++++++++++++++++++++++++++++++++++++++
pages_order/post/postDetail.vue | 44 ++++----
8 files changed, 469 insertions(+), 24 deletions(-)
create mode 100644 api/model/article.js
create mode 100644 components/list/articleItem.vue
create mode 100644 pages/index/article.vue
create mode 100644 pages_order/article/index.vue
diff --git a/api/api.js b/api/api.js
index 8f046e9..4460596 100644
--- a/api/api.js
+++ b/api/api.js
@@ -527,7 +527,7 @@ const config = {
},
}
-const models = ['order', 'group']
+const models = ['order', 'group', 'article']
models.forEach(key => {
addApiModel(require(`./model/${key}.js`).default, key)
diff --git a/api/model/article.js b/api/model/article.js
new file mode 100644
index 0000000..c569004
--- /dev/null
+++ b/api/model/article.js
@@ -0,0 +1,31 @@
+/**
+ * 文章相关接口配置
+ * 对应后端 YaoDuArticleController
+ */
+const api = {
+ /**
+ * 获取文章列表
+ * 对应后端: GET /city/article/list
+ * @param {String} title - 文章标题(搜索关键词)
+ * @param {Object} bean - 分页排序参数 (包含 current, size 等分页信息)
+ */
+ articleList: {
+ url: '/city/article/list',
+ method: 'GET',
+ auth: false,
+ showLoading: false
+ },
+
+ /**
+ * 根据ID获取文章详情
+ * 对应后端: GET /city/article/queryById
+ * @param {String} id - 文章ID
+ */
+ articleDetail: {
+ url: '/city/article/queryById',
+ method: 'GET',
+ auth: false,
+ }
+}
+
+export default api
\ No newline at end of file
diff --git a/components/base/tabbar.vue b/components/base/tabbar.vue
index bf0c3c1..1152210 100644
--- a/components/base/tabbar.vue
+++ b/components/base/tabbar.vue
@@ -46,8 +46,8 @@
{
"selectedIconPath": "/static/image/tabbar/order-a.png",
"iconPath": "/static/image/tabbar/order.png",
- "pagePath": "/pages/index/square",
- "title": "广场",
+ "pagePath": "/pages/index/article",
+ "title": "江华",
icon : 'integral',
},
{
diff --git a/components/list/articleItem.vue b/components/list/articleItem.vue
new file mode 100644
index 0000000..27dfa5e
--- /dev/null
+++ b/components/list/articleItem.vue
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages.json b/pages.json
index 368c45d..430a222 100644
--- a/pages.json
+++ b/pages.json
@@ -29,6 +29,12 @@
"style": {
"enablePullDownRefresh" : true
}
+ },
+ {
+ "path": "pages/index/article",
+ "style": {
+ "enablePullDownRefresh" : true
+ }
}
],
"preloadRule": {
@@ -232,6 +238,13 @@
"navigationBarTitleText": "创建群组",
"enablePullDownRefresh": false
}
+ },
+ {
+ "path": "article/index",
+ "style": {
+ "navigationBarTitleText": "文章详情",
+ "enablePullDownRefresh": false
+ }
}
]
}],
diff --git a/pages/index/article.vue b/pages/index/article.vue
new file mode 100644
index 0000000..79c5e33
--- /dev/null
+++ b/pages/index/article.vue
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+
+
+
+
+
+ 加载中...
+
+
+
+
+ 暂无文章
+
+
+
+
+
+
+
+
+
+
diff --git a/pages_order/article/index.vue b/pages_order/article/index.vue
new file mode 100644
index 0000000..2fa0070
--- /dev/null
+++ b/pages_order/article/index.vue
@@ -0,0 +1,224 @@
+
+
+
+
+
+
+
+ 加载中...
+
+
+
+
+
+
+ {{ formatTime(articleDetail.createTime) }}
+
+
+
+
+
+
+
+
+
+
+ 文章不存在或已被删除
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages_order/post/postDetail.vue b/pages_order/post/postDetail.vue
index 69c64d4..1ca9e49 100644
--- a/pages_order/post/postDetail.vue
+++ b/pages_order/post/postDetail.vue
@@ -14,6 +14,20 @@
+
+
+
+
+
+
+
+
-
-
-
-
@@ -123,15 +125,15 @@
{
name : '评论'
},
- // {
- // name : '浏览'
- // },
- // {
- // name : '点赞'
- // },
- // {
- // name : '分享'
- // },
+ {
+ name : '浏览'
+ },
+ {
+ name : '点赞'
+ },
+ {
+ name : '分享'
+ },
],
tagIndex : 0,
id : 0,