2.4 KiB
2.4 KiB
小程序开发工程师 经验记录 - 2026-03-10
管理端迁移 Mycontent-temp:小程序侧关注点
- 菜单/布局迁移不应影响小程序接口:管理端仅重排入口与页面承载,禁止因此改动小程序端接口路径或混用
/api/miniprogram/*。 - 内容编辑产物稳定性:如果管理端迁移导致内容从 Markdown → HTML(TipTap)或 mention/tag 的序列化结构变化,小程序阅读页解析必须同步升级并回归兼容。
- 验收建议:迁移期间抽样验证“新编辑器保存的内容”在小程序阅读页可正常渲染与交互(@ 点击加好友、# 标签等)。
详见会议纪要:
.cursor/meeting/2026-03-10_管理端迁移Mycontent-temp菜单布局讨论.md
my.js 阅读统计改为后端接口(loadDashboardStats 移植)
场景:旧版 my.js 的 initUserStatus() 用本地缓存随机数时间(Math.floor(Math.random() * 200) + 50)和标题占位(章节 ${id})展示统计,不准确且不一致。
解决方案:
- 移植 Mycontent-temp 中的
loadDashboardStats()方法 - 调用
/api/miniprogram/user/dashboard-stats?userId=xxx - 同步
readSectionIds到app.globalData和 Storage - 返回真实
recentChapters(含标题/mid)、readCount、totalReadMinutes、matchHistory
initUserStatus 改造要点:
readCount初始化为0(不再读本地缓存)recentChapters初始化为[]totalReadTime初始化为0(不再用随机数)- 新增
matchHistory: 0字段 - 登录状态下额外调用
this.loadDashboardStats()
规则沉淀:my.js 阅读统计必须走后端接口,禁止用本地缓存 + 随机数占位展示统计数据。
富文本渲染现状(技术债,待实施)
现状:contentParser.js 将 TipTap HTML 剥成纯文本,<strong>/<h2>/<ul> 等格式全部丢失,只保留 @mention 高亮。
建议方案(待实施):
- 有权限的完整内容改用
<rich-text nodes="{{richNodes}}">渲染 - 预处理时将 TipTap mention span 替换为
<span style="color:#00CED1">@昵称</span> - 付费墙预览段落保留纯文本
验收前置问题:确认 DB 中文章内容格式(纯文本 vs TipTap HTML)是否真的用了格式化标记。
详见会议纪要:
.cursor/meeting/2026-03-10_小程序新旧版对比与dashboard接口新增.md