Files
everything-is-suitable/README.md
T
zhangxiang 3a428d8977 test: 补充 Phase 3 专项测试并更新测试报告
新增性能基准测试、安全验证、国际化完整性验证等专项测试;
修复 E2E 测试选择器与当前 UI 不匹配问题;
补充多语言 locale 缺失的 key;
更新 Playwright 配置支持跨浏览器测试;
同步更新测试报告与 README 进度章节。

单元测试 408/408 通过,E2E 测试 39/39 通过(4 种浏览器),
专项测试 47/47 通过,整体覆盖率 77.5%。
2026-08-12 20:10:39 +08:00

192 lines
6.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 万事宜 (Everything Is Suitable)
中国传统文化研究工具 — 紫微斗数排盘 / 黄历查询 / 运势分析
## 项目概述
**万事宜**是一款纯客户端 UniApp 应用,所有计算和数据存储均在本地完成,无需网络连接、无需后端服务、无需注册账号。支持 H5、微信小程序、App 多端发布。
## 项目结构
```
everything-is-suitable/
├── everything-is-suitable-uniapp/ # UniApp 主应用
│ ├── src/
│ │ ├── algorithms/ # 核心算法(紫微斗数、黄历、运势)
│ │ ├── components/ # 通用组件
│ │ ├── locales/ # 国际化(9种语言)
│ │ ├── pages/ # 页面
│ │ │ ├── almanac-search/ # 黄历搜索
│ │ │ ├── ziwei/ # 紫微斗数排盘
│ │ │ └── fortune/ # 运势分析
│ │ ├── services/ # 业务服务层(纯本地计算)
│ │ ├── types/ # TypeScript 类型定义
│ │ ├── utils/ # 工具函数(存储、缓存、导出等)
│ │ ├── App.vue
│ │ ├── main.ts
│ │ ├── manifest.json
│ │ └── pages.json
│ ├── e2e/ # E2E 测试(Playwright
│ ├── Jenkinsfile # Jenkins CI/CD 配置
│ ├── Dockerfile # H5 部署 Docker 配置
│ ├── nginx.conf # Nginx 配置(纯静态,无后端代理)
│ ├── package.json
│ ├── vite.config.ts
│ └── vitest.config.ts
├── assets/ # 落地页素材
├── docs/ # 项目文档
│ ├── plans/ # 历史规划文档
│ ├── baselines/ # 测试基线
│ ├── reports/ # 测试报告
│ └── superpowers/ # Superpowers 工作流计划
├── index.html # 落地页
├── i18n.js # 落地页国际化
└── README.md
```
## 技术栈
| 类别 | 技术 |
|------|------|
| 框架 | UniApp (Vue 3 + TypeScript) |
| 构建 | Vite |
| 测试 | Vitest (单元) + Playwright (E2E) |
| 国际化 | vue-i18n (9种语言) |
| 存储 | uni.getStorageSync/setStorageSync |
| CI/CD | Jenkins |
| 部署 | Docker + Nginx (H5) |
## 快速开始
### 前置要求
- Node.js >= 20.0.0
- npm >= 9.0.0
### 安装与运行
```bash
cd everything-is-suitable-uniapp
npm install
# H5 开发模式
npm run dev:h5
# 微信小程序开发模式
npm run dev:mp-weixin
```
### 构建
```bash
# 构建 H5
npm run build:h5
# 构建微信小程序
npm run build:mp-weixin
```
### 测试
```bash
# 单元测试
npm run test
# 单元测试 + 覆盖率
npm run test:coverage
# E2E 测试
npm run test:e2e
```
## 纯客户端架构说明
本应用采用纯客户端架构,核心特征:
- **零网络请求**:所有算法(紫微斗数排盘、黄历计算、运势推演)均在客户端本地执行
- **零后端依赖**:无 API 调用、无数据库、无服务器
- **本地存储**:用户数据通过 `uni.getStorageSync/setStorageSync` 存储在设备本地
- **离线可用**manifest.json 中 INTERNET 权限设为 false,无需网络即可使用全部功能
- **隐私安全**:用户数据不离开设备,无需注册账号
## 规划
### 总体目标
构建一款纯客户端、离线可用的中国传统文化研究工具,支持紫微斗数排盘、黄历查询、运势分析三大核心功能,覆盖 H5、微信小程序、App 多端。
### 里程碑
| 阶段 | 状态 | 说明 |
|------|------|------|
| **M1: 核心算法实现** | ✅ | 紫微斗数排盘、黄历计算、运势推演算法完成 |
| **M2: 页面与交互开发** | ✅ | 三大核心页面(ziwei / almanac-search / fortune)开发完成 |
| **M3: 国际化 & 多端适配** | ✅ | 9 种语言支持,UniApp 多端构建验证通过 |
| **M4: 测试与质量保障** | ✅ | 单元测试 361 通过,E2E 测试 30 通过,覆盖率 77.5% |
| **M5: 封版发布** | ✅ | 封版确认,通过验收 |
## 进度
### 当前状态:v1.0.0 封版完成 ✅ (Phase 3 专项测试已补充)
> 更新日期: 2026-08-12
### 验收标准对照
| 标准 | 阈值 | 实际值 | 状态 |
|------|------|--------|------|
| 单元测试通过率 | ≥ 90% | **100%** (408/408) | ✅ |
| 代码覆盖率 (指令) | ≥ 70% | **77.50%** | ✅ |
| 代码覆盖率 (函数) | ≥ 70% | **76.20%** | ✅ |
| 代码覆盖率 (分支) | ≥ 60% | **69.09%** | ✅ |
| E2E 核心流程通过率 | ≥ 80% | **100%** (39/39) | ✅ |
| 算法交叉验证 | 100% | **100%** | ✅ |
| 算法执行时间 | < 500ms | **通过** | ✅ |
| 页面加载时间 | < 3s | **~1.7s** | ✅ |
| 国际化覆盖 | 9/9 语言 | **全部完整** | ✅ |
| 浏览器兼容性 | 4/5 浏览器 | **通过** | ✅ |
| 安全验证 | 全部通过 | **12/12 通过** | ✅ |
| 无 P0 缺陷 | 0 | **0** | ✅ |
### 测试结果
- **单元测试**: 408/408 通过 (100%)22 个测试文件,执行时间 2.92s
- **专项测试**: 47/47 通过 (性能测试 7 + 安全测试 8 + 国际化验证 32)
- **E2E 测试**: 39/39 通过 (100%),覆盖 Chromium/WebKit/Mobile Chrome/Mobile Safari 4 种浏览器
- **覆盖率**: 整体 77.5%,其中算法层 93.73%,服务层 81.12%
- **性能**: 算法执行均 < 200ms,页面加载均 < 2s
- **安全**: 12 项安全验证全部通过,无 XSS 风险
- **国际化**: 9 种语言键值完整一致
- **缺陷**: 6 个已修复,0 个 P0 遗留
### 已知待办
- [ ] 补充组件层单元测试覆盖 (当前 0%)
- [ ] 补充工具层 errorHandler/performanceMonitor 测试
- [ ] 补充 templateService 分支覆盖
- [ ] 在 CI 标准环境中启用 Firefox 浏览器测试 (当前沙箱环境兼容性限制)
> 详细测试报告见: [docs/reports/RELEASE_TEST_REPORT_2026-08-12.md](docs/reports/RELEASE_TEST_REPORT_2026-08-12.md)
## 功能模块
### 黄历搜索 (almanac-search)
- 每日宜忌查询
- 条件搜索(嫁娶、搬家、开市等)
- 搜索历史与模板
### 紫微斗数 (ziwei)
- 自动排盘(支持公历输入)
- 十二宫位完整展示
- 十四主星 + 辅星体系
- 三方四正分析
### 运势分析 (fortune)
- 每日/每月/每年运势
- 事业、财运、感情、健康多维度
- 幸运色、幸运数字、幸运方位
## 许可证
MIT License