Files
everything-is-suitable/README.md
T
zhangxiang 0f8b29874f chore: 清理旧测试基础设施并添加新测试框架
- 清理废弃的 CI/CD 工作流文件与 dogfood 输出
- 添加 vitest 测试环境配置(mocks、setup 文件)
- 添加算法、服务、页面、工具类的单元测试
- 更新 vitest 配置、依赖与文档
2026-08-12 18:53:15 +08:00

133 lines
4.0 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,无需网络即可使用全部功能
- **隐私安全**:用户数据不离开设备,无需注册账号
## 功能模块
### 黄历搜索 (almanac-search)
- 每日宜忌查询
- 条件搜索(嫁娶、搬家、开市等)
- 搜索历史与模板
### 紫微斗数 (ziwei)
- 自动排盘(支持公历输入)
- 十二宫位完整展示
- 十四主星 + 辅星体系
- 三方四正分析
### 运势分析 (fortune)
- 每日/每月/每年运势
- 事业、财运、感情、健康多维度
- 幸运色、幸运数字、幸运方位
## 许可证
MIT License