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 @@ + + + + + \ 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 @@ + + + + + \ 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,