修改页面结构

This commit is contained in:
2026-02-02 20:07:37 +08:00
parent 3de5e9ebe9
commit 21f4a0fa96
209 changed files with 41824 additions and 2730 deletions

View File

@@ -0,0 +1,185 @@
/**
* 文章管理服务层
* 提供文章列表、详情、保存、删除等接口
*/
// 文章列表项数据结构
export interface ArticleItem {
id: number
title: string
category_id: number
category_name: string
image: string
description: string
status: number // 0: 未发布, 1: 已发布
views: number
created_at: string
updated_at: string
}
// 文章详情数据结构
export interface ArticleDetail {
id: number
title: string
category_id: number
image: string
description: string
content: string
status: number
created_at: string
updated_at: string
}
// 文章创建/编辑参数
export interface ArticlePayload {
title: string
category_id: number
image: string
description: string
content: string
status: number
}
/**
* 获取文章列表
* @param params 查询参数 { page, limit, keyword, status, category_id }
* @returns Promise<{ items: ArticleItem[], total: number }>
*/
export function getArticleList(params: any = {}): Promise<any> {
// TODO: 替换为实际 API 调用
// return uni.$http.get('/article/list', { params })
return new Promise((resolve) => {
setTimeout(() => {
resolve({
items: [
{
id: 1,
title: '如何选择合适的商品分类',
category_id: 1,
category_name: '运营指南',
image: '/static/article-1.png',
description: '商品分类是电商平台的重要组成部分...',
status: 1,
views: 128,
created_at: '2026-01-28 10:30:00',
updated_at: '2026-01-28 10:30:00'
},
{
id: 2,
title: '商城营销活动最佳实践',
category_id: 2,
category_name: '营销技巧',
image: '/static/article-2.png',
description: '分享最新的营销活动策略和案例...',
status: 1,
views: 256,
created_at: '2026-01-27 15:20:00',
updated_at: '2026-01-27 15:20:00'
},
{
id: 3,
title: '用户评价管理指南',
category_id: 1,
category_name: '运营指南',
image: '/static/article-3.png',
description: '如何有效管理用户的评价和反馈...',
status: 0,
views: 64,
created_at: '2026-01-26 09:15:00',
updated_at: '2026-01-26 09:15:00'
}
],
total: 3
})
}, 300)
})
}
/**
* 获取文章详情
* @param id 文章ID
* @returns Promise<ArticleDetail>
*/
export function getArticleDetail(id: number): Promise<ArticleDetail> {
// TODO: 替换为实际 API 调用
// return uni.$http.get(`/article/${id}`)
return new Promise((resolve) => {
setTimeout(() => {
resolve({
id,
title: '如何选择合适的商品分类',
category_id: 1,
image: '/static/article-1.png',
description: '商品分类是电商平台的重要组成部分...',
content: '<h2>标题</h2><p>详细内容...</p>',
status: 1,
created_at: '2026-01-28 10:30:00',
updated_at: '2026-01-28 10:30:00'
})
}, 300)
})
}
/**
* 保存文章(新建或编辑)
* @param data 文章数据
* @param id 文章ID编辑时传入
* @returns Promise<{ success: boolean, message: string, id?: number }>
*/
export function saveArticle(data: ArticlePayload, id?: number): Promise<any> {
// TODO: 替换为实际 API 调用
// const method = id ? 'PUT' : 'POST'
// const url = id ? `/article/${id}` : '/article'
// return uni.$http[method === 'PUT' ? 'put' : 'post'](url, data)
return new Promise((resolve) => {
setTimeout(() => {
resolve({
success: true,
message: id ? '编辑成功' : '新建成功',
id: id || Math.floor(Math.random() * 10000)
})
}, 500)
})
}
/**
* 删除文章
* @param id 文章ID
* @returns Promise<{ success: boolean, message: string }>
*/
export function deleteArticle(id: number): Promise<any> {
// TODO: 替换为实际 API 调用
// return uni.$http.delete(`/article/${id}`)
return new Promise((resolve) => {
setTimeout(() => {
resolve({
success: true,
message: '删除成功'
})
}, 300)
})
}
/**
* 发布/取消发布文章
* @param id 文章ID
* @param status 状态 (0: 取消发布, 1: 发布)
* @returns Promise<{ success: boolean, message: string }>
*/
export function publishArticle(id: number, status: number): Promise<any> {
// TODO: 替换为实际 API 调用
// return uni.$http.put(`/article/${id}/publish`, { status })
return new Promise((resolve) => {
setTimeout(() => {
resolve({
success: true,
message: status === 1 ? '发布成功' : '取消发布成功'
})
}, 300)
})
}