Files
soul-yongping/.cursor/agent/小程序开发工程师/evolution/2026-03-10.md

2.4 KiB
Raw Blame History

小程序开发工程师 经验记录 - 2026-03-10

管理端迁移 Mycontent-temp小程序侧关注点

  • 菜单/布局迁移不应影响小程序接口:管理端仅重排入口与页面承载,禁止因此改动小程序端接口路径或混用 /api/miniprogram/*
  • 内容编辑产物稳定性:如果管理端迁移导致内容从 Markdown → HTMLTipTap或 mention/tag 的序列化结构变化,小程序阅读页解析必须同步升级并回归兼容。
  • 验收建议:迁移期间抽样验证“新编辑器保存的内容”在小程序阅读页可正常渲染与交互(@ 点击加好友、# 标签等)。

详见会议纪要:.cursor/meeting/2026-03-10_管理端迁移Mycontent-temp菜单布局讨论.md


my.js 阅读统计改为后端接口loadDashboardStats 移植)

场景:旧版 my.jsinitUserStatus() 用本地缓存随机数时间(Math.floor(Math.random() * 200) + 50)和标题占位(章节 ${id})展示统计,不准确且不一致。

解决方案

  1. 移植 Mycontent-temp 中的 loadDashboardStats() 方法
  2. 调用 /api/miniprogram/user/dashboard-stats?userId=xxx
  3. 同步 readSectionIdsapp.globalData 和 Storage
  4. 返回真实 recentChapters(含标题/midreadCounttotalReadMinutesmatchHistory

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