You need to sign in or sign up before continuing.
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