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

万事宜 (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

安装与运行

cd everything-is-suitable-uniapp
npm install

# H5 开发模式
npm run dev:h5

# 微信小程序开发模式
npm run dev:mp-weixin

构建

# 构建 H5
npm run build:h5

# 构建微信小程序
npm run build:mp-weixin

测试

# 单元测试
npm run test

# 单元测试 + 覆盖率
npm run test:coverage

# E2E 测试
npm run test:e2e

纯客户端架构说明

本应用采用纯客户端架构,核心特征:

  • 零网络请求:所有算法(紫微斗数排盘、黄历计算、运势推演)均在客户端本地执行
  • 零后端依赖:无 API 调用、无数据库、无服务器
  • 本地存储:用户数据通过 uni.getStorageSync/setStorageSync 存储在设备本地
  • 离线可用manifest.json 中 INTERNET 权限设为 false,无需网络即可使用全部功能
  • 隐私安全:用户数据不离开设备,无需注册账号

功能模块

  • 每日宜忌查询
  • 条件搜索(嫁娶、搬家、开市等)
  • 搜索历史与模板

紫微斗数 (ziwei)

  • 自动排盘(支持公历输入)
  • 十二宫位完整展示
  • 十四主星 + 辅星体系
  • 三方四正分析

运势分析 (fortune)

  • 每日/每月/每年运势
  • 事业、财运、感情、健康多维度
  • 幸运色、幸运数字、幸运方位

许可证

MIT License

S
Description
万事皆宜小程序
Readme
5.7 MiB
Languages
TypeScript 76.7%
Vue 8.9%
JavaScript 8%
HTML 3.6%
Shell 1.8%
Other 1%