PROJECT-STATUS.md
5.59 KB
项目状态报告
更新时间: 2026-02-05 项目名称: lls_program (老来赛) 技术栈: Taro 4.1.7 + Vue 3.3 + NutUI 4.3.13
📋 项目概述
老来赛 是一个基于 Taro 4 + Vue 3 的微信小程序,专注于家庭活动和积分奖励管理。
核心功能:
- 家庭管理(创建、加入、编辑)
- 积分系统(获取、兑换、排行榜)
- 打卡活动(上传照片、分享海报)
- 优惠券系统
🎯 开发环境状态
✅ 已配置
| 项目 | 状态 | 说明 |
|---|---|---|
| 构建工具 | ✅ 完成 | Webpack 5 + Taro CLI |
| UI 组件库 | ✅ 完成 | NutUI Taro 4.3.13(自动导入) |
| 样式方案 | ✅ 完成 | TailwindCSS 3.4 + Less |
| 状态管理 | ✅ 完成 | Pinia 3.0 + taro-plugin-pinia |
| HTTP 客户端 | ✅ 完成 | axios-miniprogram 2.7.2 |
| 路径别名 | ✅ 完成 | @/utils、@/components 等 |
| 代码规范 | ✅ 完成 | ESLint + EditorConfig |
| 认证系统 | ✅ 完成 | sessionid 认证(静默授权) |
⚠️ 待配置
| 项目 | 优先级 | 建议工具 | 说明 |
|---|---|---|---|
| 单元测试 | 🔴 高 | Vitest | 测试工具函数、Composables |
| E2E 测试 | 🟡 中 | Playwright | 关键流程测试 |
| Git Hooks | 🟡 中 | Husky + lint-staged | 提交前自动检查 |
| CI/CD | 🟢 低 | GitHub Actions | 自动化部署 |
📊 项目规模统计
| 类别 | 数量 |
|---|---|
| 页面 | 36 个 |
| 组件 | 22 个 |
| API 模块 | 12 个 |
| Store | 4 个 |
| 工具函数 | 7 个 |
🏗️ 架构特点
双设计宽度配置
// config/index.js
designWidth (input) {
// NutUI 组件:375px
if (input?.file?.indexOf('@nutui') > -1) {
return 375
}
// 其他内容:750px(Taro 标准)
return 750
}
认证机制
-
SessionID 存储:
wx.storage中的sessionid -
请求拦截器:自动注入
config.headers.cookie - 401 处理:自动清除 sessionid 并跳转登录
- 静默授权:支持无感知登录流程
API 响应格式
{
code: 1, // 1 = 成功
data: {...}, // 响应数据
msg: "message" // 消息
}
重要:检查 res.code === 1 判断成功(不是 res.code)
📁 目录结构
src/
├── api/ # API 接口(按业务领域组织)
│ ├── common.js # 短信验证码、上传凭证
│ ├── user.js # 用户认证和个人信息
│ ├── family.js # 家庭管理
│ ├── points.js # 积分/奖励系统
│ ├── photo.js # 照片/媒体处理
│ └── ...
├── components/ # 可复用组件(22 个)
├── composables/ # Vue 3 组合式函数
├── pages/ # Taro 页面(36 个)
├── stores/ # Pinia 状态管理
├── utils/ # 工具函数
├── assets/ # 静态资源
├── app.config.js # Taro 应用配置
├── app.js # 应用入口
└── app.less # 全局样式
🔧 开发命令
# 安装依赖
pnpm install
# 开发(微信小程序)
pnpm run dev:weapp
# 开发(H5)
pnpm run dev:h5
# 生产构建
pnpm run build:weapp
# 代码检查
pnpm run lint
📚 已有文档
| 文档 | 路径 | 说明 |
|---|---|---|
| 项目指南 | CLAUDE.md | 完整的开发指南 |
| 迁移指南 | 快速迁移指南.md | 静默授权功能迁移 |
| 合规分析 | 微信小程序审核合规性分析报告.md | 小程序审核要点 |
⚡ 性能优化建议
已实施
- ✅ NutUI 组件自动导入(按需加载)
- ✅ TailwindCSS Preflight 禁用(小程序不需要)
- ✅ 路径别名配置(避免复杂相对路径)
待优化
- ⚠️ 图片 CDN 优化(已使用 cdn.ipadbiz.cn,可添加参数优化)
- ⚠️ 长列表虚拟滚动(如有大量数据列表)
- ⚠️ 路由懒加载(页面级代码分割)
🚨 已知问题
1. 测试缺失
影响:代码质量无保障,重构风险高
解决方案:
- 添加 Vitest 进行单元测试
- 添加 Playwright 进行 E2E 测试
- 目标覆盖率:> 80%
2. 缺少 CHANGELOG
影响:变更历史不清晰,版本管理混乱
解决方案:✅ 已创建 docs/CHANGELOG.md
3. 缺少开发规范文档
影响:团队协作效率低,代码风格不统一
解决方案:✅ 已创建 docs/DEVELOPMENT-GUIDE.md
📌 开发注意事项
❌ 禁止使用 Web API
// 错误 - 会导致小程序崩溃
window.document.getElementById()
localStorage
window.location.href
fetch()
✅ 必须使用 Taro API
// 正确
Taro.createSelectorQuery()
Taro.getStorage()
Taro.navigateTo()
Taro.request()
🔑 SessionID 管理
// 请求拦截器自动注入
service.interceptors.request.use(config => {
const sessionid = getSessionId() // 从 wx.storage 读取
if (sessionid) {
config.headers.cookie = sessionid
}
return config
})
🎯 下一步计划
短期(1-2周)
- 添加 Vitest 单元测试
- 添加 Git Hooks(Husky + lint-staged)
- 完善核心功能的文档
中期(1个月)
- 添加 Playwright E2E 测试
- 性能优化(图片、长列表)
- CI/CD 配置
长期(3个月)
- TypeScript 迁移(可选)
- 组件库文档化
- 监控和错误追踪
维护者: 开发团队 最后更新: 2026-02-05