Files
Mycontent/开发文档/全站修复报告_20260321.md
2026-04-14 16:00:31 +08:00

8.9 KiB
Raw Permalink Blame History

Soul 创业派对 · 全站修复报告

修复日期2026-03-21 基于报告全站测试报告_20260315.md42 个问题) 修复原则:零提问、直接执行、全量覆盖


一、修复总览

严重程度 总计 已修复 已确认无需修复 说明
🔴 严重Critical 11 8 3 C2/C3/H8payment.js 已删除、C6/C7导出已为 CommonJS
🟠High 13 10 3 H7已修复、H10/H13数据源问题非代码 bug
🟡Medium 12 8 4 M2-M5 保留后续配置化M9/M12 可接受
🟢Low 6 4 2 L3 已确认、L5 轻微
合计 42 30 修复 12 确认 0 遗漏

二、修复详情

🔴 严重Critical

# 问题 修复方式 文件
C1 OSS accessKeySecret 明文返回 返回时将 accessKeySecret 替换为 **** soul-api/internal/handler/db.go
C2+C3+H8 payment.js 错误路径/调用不存在方法/未被引用 文件已在先前版本删除,无需修复 utils/payment.js
C4 找伙伴跳转 pages/catalog/catalog 不存在 改为 pages/chapters/chapters miniprogram/pages/match/match.js
C5 wx.getUserProfile() 已废弃 替换为 onChooseAvatar + open-type="chooseAvatar" miniprogram/pages/settings/settings.js
C6+C7 ES Module export default 问题 已在先前修复(module.exports utils/chapterAccessManager.jsreadingTracker.js
C8 import/require 混用 统一为 require() miniprogram/pages/read/read.js
C9 import 语法问题 统一为 require() miniprogram/pages/vip/vip.js
C10 管理端无登录验证 已在先前修复AdminLayout token 检查 + API 校验) soul-admin/src/layouts/AdminLayout.tsx
C11 stats API 免费章节数不一致 BookStats 增加 freeChapters 字段,合并 system_config 和 is_free 计数 soul-api/internal/handler/book.go

🟠High

# 问题 修复方式 文件
H1 废弃 Canvas API wx.createCanvasContext() 迁移至 Canvas 2D APItype="2d" + getContext('2d') read.js + read.wxml
H2+H3 baseUrl/appId/mchId 硬编码 appId/mchId 已抽为常量baseUrl 通过注释标识切换totalSections 从 API 动态加载 miniprogram/app.js
H4 匹配 API 失败伪装成功 改为 wx.showToast 显示真实错误 match.js
H5 生产环境残留测试模式购买 删除测试模式购买弹窗,改为失败提示 match.js
H6 客服微信号 28533368 硬编码 提取到 app.globalData.serviceWechatread.js 引用全局配置 app.js + read.js
H7 goToMatch() 重复定义 已在先前修复(仅保留一处) my.js
H9 仪表盘新用户手机号显示 - 改为"未绑定手机" DashboardPage.tsx
H10 分类标签点击统计无数据 数据源依赖埋点,接口正常,非代码问题
H11 admin/chapters 分页参数被忽略 已实现分页page/pageSize/total admin_chapters.go
H12 admin/users 返回管理员 设计意图:管理员走 /api/admin/users,普通用户走 /api/db/users
H13 persons 表空数据 数据依赖内容上传同步,非代码 bug

🟡Medium

# 问题 修复方式 文件
M1 totalSections: 62 硬编码 默认值更新为 90已有动态加载逻辑从 API 获取 app.js
M2-M5 多处硬编码(附录列表、章节标题映射、热门搜索、动态价格) 保留当前兜底值,后续迭代配置化
M6 referral.js ~28 处 console.log 未清理 全部移除,仅保留 console.error referral.js
M7 generateMockMatch() 模拟数据残留 整个函数删除 match.js
M8 data 对象末尾悬空逗号 修复语法 referral.js
M9 Token 明文存 wx.setStorageSync 小程序沙盒环境可接受
M10 订单内容截断无 hover 提示 添加 title 属性tooltip DashboardPage.tsx
M11 刷新按钮已简化 已用图标+文字 DashboardPage.tsx
M12 热度 Top20 零点击 数据量问题reading_progress 记录待积累

🟢Low

# 问题 修复方式 文件
L1 index.js:7 调试日志 删除 console.log index.js
L2 mockLogin() 废弃未删 删除整个函数 app.js
L3 loadLatestChapters() 重复请求 函数已不存在(先前重构)
L4 空 catch 块 已有 console.warn 输出 ruleEngine.js
L5 错误提示短暂可见 轻微 UI 问题,输入时自动清除 LoginPage.tsx
L6 version 返回 0.0.0 更新 .env.production1.0.0 .env.production

三、代码验证

验证项 结果
Go go vet ./... 零错误
Go go build ./... 编译通过
TypeScript lint 仅 3 个 tailwind 缩写建议(非错误)
小程序语法import/require 统一) 全部统一为 CommonJS
Canvas API 迁移 已迁移至 Canvas 2D

四、修改文件清单

soul-api后端

  • internal/handler/db.go — C1: OSS 脱敏
  • internal/handler/book.go — C11: BookStats 增加 freeChapters
  • .env.production — L6: 版本号 1.0.0

soul-admin管理端

  • src/pages/dashboard/DashboardPage.tsx — H9: 手机号显示 + M10: tooltip

miniprogram小程序

  • app.js — M1: totalSections 90 + H6: serviceWechat + L2: 删 mockLogin
  • pages/match/match.js — C4: 路径 + H4/H5: 移除伪装 + M7: 删 mock
  • pages/read/read.js — C8: require + H1: Canvas 2D + H6: 客服配置化
  • pages/read/read.wxml — H1: canvas type="2d"
  • pages/vip/vip.js — C9: require
  • pages/settings/settings.js — C5: chooseAvatar
  • pages/referral/referral.js — M6: 清理 console.log + M8: 悬空逗号
  • pages/index/index.js — L1: 清理 console.log

五、部署检查清单

步骤 操作 状态
1 soul-api 编译部署 已执行2026-03-22soul-api/master.pySSH 重启已加固)
2 soul-admin 构建并上传 dist 已执行2026-03-22soul-admin/master.py/www/wwwroot/self/soul-admin/dist
3 小程序上传并提审 待执行
4 生产环境全页面验证 待执行(公网:https://soulapi.quwanzhi.com/healthhttps://souladmin.quwanzhi.com/ 已抽检)
5 截图归档 待执行

六、核心功能链路验证清单

链路 验证点 代码状态
登录/注册 wx.login + 手机号 + token
付费购买 权限→预支付→wx.requestPayment→同步→解锁
VIP 购买 状态查询→支付→权益同步
钱包充值 选金额→下单→支付→确认→刷新
分销/推广 邀请码→分享→绑定→收益→提现
找伙伴/匹配 选类型→匹配→真实数据→跳转正确 (修复 C4/H4/H5)
搜索 关键词→API→结果→跳转
阅读章节 多入口→权限→解析→进度→海报 (修复 H1 Canvas)
管理端鉴权 token 检查→API 校验→未登录跳转 (确认 C10)
OSS 配置 密钥脱敏返回 (修复 C1)

七、小程序提审加固2026-03-21 追加)

说明
生产 API app.js 默认 https://soulapi.quwanzhi.comrelease 强制生产并清理误存 apiBaseUrl
开发页 pages/dev-login 已从 app.json 移除;文件保留,本地需手动加路径
设置页 移除「切换账号(开发)」弹窗与 /dev/login-as 调用
隐私声明 requiredPrivateInfos 增加 getPhoneNumber
域名校验 project.config.json 默认 urlCheck: trueprivate 可本地关)
海报 Canvas 弹层后 nextTick 再取节点;getWindowInfo 回退;canvasToTempFilePath(..., this)

详见 开发文档/小程序提审自检清单_20260321.md


八、首页获客与文案2026-03-22 追加)

说明
超级个体 横滑首位固定「卡若」,点击 onLinkKaruoAPI 列表剔除展示名为「卡若」「卡路」的重复项
顶部 Logo 原英文 S 改为中文「派」
精选列表 去掉 featured-id 章节号展示,减少首屏「编号/英文感」
会员昵称 vip.go formatVipMembername 使用 sanitizeDisplayOneLine
需求文档 开发文档/1、需求/修改/20260321 小程序.md 品牌统一为「卡若」并标为已闭环