feat: improve nursing article module with rich content and view tracking

- Add content field (LONGTEXT) with Quill rich text editor in admin UI
- Add view_count field with auto-increment API endpoint
- Replace manual image URL input with image-upload component
- Add /system/nursing/published and /view/{id} public endpoints
- Improve Android error handling with toast and cache fallback
- Optimize ViewHolderFive adapter to reuse instead of recreating

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
renjianbo
2026-05-23 00:52:12 +08:00
parent a53ed96119
commit 12d67c00f4
10 changed files with 125 additions and 37 deletions

View File

@@ -73,11 +73,12 @@
<el-table-column label="标题" align="center" prop="title" :show-overflow-tooltip="true" />
<el-table-column label="封面图片" align="center" prop="imageUrl" width="100">
<template slot-scope="scope">
<el-image v-if="scope.row.imageUrl" :src="scope.row.imageUrl" style="width:50px;height:50px;" fit="cover" />
<image-preview v-if="scope.row.imageUrl" :src="scope.row.imageUrl" :width="50" :height="50" />
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column label="文章链接" align="center" prop="articleUrl" :show-overflow-tooltip="true" />
<el-table-column label="阅读量" align="center" prop="viewCount" width="80" />
<el-table-column label="状态" align="center" prop="status" width="80">
<template slot-scope="scope">
<el-tag :type="scope.row.status == '0' ? 'success' : 'danger'" size="small">
@@ -120,10 +121,13 @@
<el-input v-model="form.title" placeholder="请输入标题" />
</el-form-item>
<el-form-item label="封面图片" prop="imageUrl">
<el-input v-model="form.imageUrl" placeholder="请输入图片URL地址" />
<image-upload v-model="form.imageUrl" :limit="1" />
</el-form-item>
<el-form-item label="文章链接" prop="articleUrl">
<el-input v-model="form.articleUrl" placeholder="请输入文章链接URL地址" />
<el-input v-model="form.articleUrl" placeholder="请输入文章链接URL地址(可选)" />
</el-form-item>
<el-form-item label="文章正文" prop="content">
<editor v-model="form.content" :min-height="192"/>
</el-form-item>
<el-form-item label="排序" prop="sortOrder">
<el-input-number v-model="form.sortOrder" :min="0" style="width: 100%" placeholder="请输入排序号" />
@@ -174,12 +178,6 @@ export default {
{ required: true, message: "标题不能为空", trigger: "blur" }
],
imageUrl: [
{ required: true, message: "封面图片不能为空", trigger: "blur" }
],
articleUrl: [
{ required: true, message: "文章链接不能为空", trigger: "blur" }
],
status: [
{ required: true, message: "请选择状态", trigger: "change" }
],
}
@@ -207,6 +205,7 @@ export default {
title: null,
imageUrl: null,
articleUrl: null,
content: null,
sortOrder: 0,
status: '0',
remark: null,