多主题风格、去古板化的现代占卜算卦网站 —— 八字 / 姓名 / 每日运势 / 塔罗 / 抽签解签 / 六爻八卦 定位:传统文化 × 娱乐参考 | 技术栈:Next.js 16 + React 19 + TypeScript | 部署:腾讯云 CloudBase(已上线)
全阶段完成(2026-09-07):
| 阶段 | 内容 | 测试 |
|---|---|---|
| 0 脚手架 | Next.js 16 + 静态导出 + GitHub 公开仓库 | — |
| 1 设计系统 | 4 套主题(月明青山/红豆生思/似天在水/昔我往矣)+ 首页 + 主题切换 | 浏览器截图 |
| 2 占卜引擎 | 五引擎(八字/姓名/运势/塔罗/抽签)+ 内容库(752 字笔画 / 78 塔罗 / 40 签 / 12 生肖) | 48 单元测试 |
| 3 五玩法页面 | /bazi /name /daily /tarot /lottery + 公共组件(PageShell/Field/Button/ResultCard) + 动画体系 |
浏览器交互回归 |
| 4 打磨 | SEO(sitemap/robots/favicon)+ ShareButton(Web Share + clipboard)+ 响应式 + prefers-reduced-motion + 免责声明 | 移动端 375px 全页截图 |
| 5 测试交叉验证 | tests/cross-validate.test.ts 29 项独立真值验证(干支合法性/五行守恒/塔罗分布/抽签分布/运势确定性) + 边界条件 |
77 测试全绿 |
| 6 部署上线 | CloudBase CLI 部署静态托管 out/ → https://suanmingde-d0g9p1ora0e30c601-1451544835.tcloudbaseapp.com |
8 路由 200 + 五玩法页真实交互回归 |
| 8 六爻八卦 | 新增第 6 种玩法 /liuyao(铜钱摇卦引擎 + 64 卦内容库 + 摇卦仪式动效)+ 首页 3×2 布局 + 主题装饰纹理 |
14 单测 + 4 交叉验证 |
| 9 主题重构 | 主题体系重构 + 品牌升级「卜兮」+ 内容扩充 200%+ + WCAG 2.1 AA 校准 | — |
| 11 性能优化 | 装饰动画迁移到 GPU 合成层(只动 transform/opacity)+ 主题辨识度增强 + 微交互 | 95 测试全绿 |
| 12 仪式元素 | 每套主题专属仪式元素(星轨/朱砂/全息/花瓣)铺满 6 玩法页 | — |
D:\Diviner\
├── README.md # 项目说明(本文件)
├── DEPLOY.md # 部署指南(EdgeOne Pages / CloudBase)
├── CHANGELOG.md # 变更记录
├── AGENTS.md # AI 代理协作约定
├── requirements.txt # Python 依赖
├── package.json # 依赖与脚本
├── tsconfig.json # TypeScript 配置
├── next.config.ts # Next.js 配置(output: "export")
├── vitest.config.ts # Vitest 配置
├── eslint.config.mjs # ESLint 配置
├── .gitignore # Git 忽略规则
├── .gitattributes # 换行符 / 二进制标记规范
├── .editorconfig # 编辑器统一规范
├── .env.example # 环境变量模板
├── public/ # 静态资源(favicon.svg 等)
├── src/ # 源码
│ ├── app/ # Next.js App Router
│ │ ├── api/ # 二期扩展预留(README 占位)
│ │ ├── bazi/ # 生辰八字
│ │ ├── name/ # 姓名测试
│ │ ├── daily/ # 每日运势
│ │ ├── tarot/ # 塔罗占卜
│ │ ├── lottery/ # 抽签解签
│ │ ├── liuyao/ # 六爻八卦(阶段 8 新增)
│ │ ├── not-found.tsx# 自定义 404
│ │ ├── sitemap.ts # sitemap.xml
│ │ ├── robots.ts # robots.txt
│ │ └── globals.css # 全局样式 + 动画体系 + 仪式元素
│ ├── components/ # 公共组件(theme/ + ui/)
│ ├── lib/ # 引擎 + 内容库 + 类型契约
│ │ ├── engines/ # 五套占卜引擎
│ │ ├── data/ # 笔画库/塔罗/签文/运势文案
│ │ ├── theme/ # 主题注册表
│ │ └── engines/types.ts # 统一类型契约
│ └── ...
├── tests/ # 测试
│ ├── bazi.test.ts # 八字单元测试(5 项)
│ ├── name.test.ts # 姓名单元测试(13 项)
│ ├── daily.test.ts # 运势单元测试(11 项)
│ ├── tarot.test.ts # 塔罗单元测试(10 项)
│ ├── lottery.test.ts # 抽签单元测试(9 项)
│ ├── liuyao.test.ts # 六爻单元测试(14 项)← 阶段 8 新增
│ └── cross-validate.test.ts # 独立真值交叉验证(29 项 + 六爻 4 项)
├── scripts/ # 辅助脚本
├── docs/ # 文档
├── resources/ # 非代码资源
│ ├── shots/ # 阶段验证截图(s0-s12)
│ └── README.md
├── NOTEBOOK/ # 开发笔记(不入 git)
├── PLAN/ # 实施计划(不入 git)
└── .workbuddy/ # WorkBuddy 内部数据(不入 git)
# 依赖安装(Node 22+)
npm install
# 开发服务(http://localhost:3000)
npm run dev
# 构建(webpack,绕宿主 safe-delete shim)
npm run build:local
# 测试(95 用例全绿)
npm test
# 代码质量
npx tsc --noEmit
npx eslint .已上线(2026-09-01):https://suanmingde-d0g9p1ora0e30c601-1451544835.tcloudbaseapp.com
- 平台:腾讯云 CloudBase 静态托管(环境
suanmingde-d0g9p1ora0e30c601,个人版,ap-shanghai) - 一键部署:
pwsh scripts/deploy.ps1(构建 → 验证 → 登录 → 部署,默认部署到上述环境) - 详细指南与已知限制(测试域名提示页 / 软 404 / 环境到期)见
DEPLOY.md - 备选:EdgeOne Pages(默认
*.edgeone.app子域名免备案,需在控制台配置)
详见 docs/architecture.md:五引擎纯前端架构(确定性 RNG + 内容库)、静态导出、二期 /api 扩展点。
四套主题通过 CSS 变量热切,支持系统主题持久化(localStorage.diviner-theme):
| 主题 | 标签 | 风格 | 仪式元素 |
|---|---|---|---|
| 月明青山 | 星辰 | 深紫底 + 金色 accent(默认) | 星轨进度环 |
| 红豆生思 | 水墨 | 浅米底 + 墨绿 accent | 朱砂印记 |
| 似天在水 | 玄学 | 深青底 + 荧光蓝 accent | 全息网格扫描 |
| 昔我往矣 | 春晓 | 绿粉底 + 春意 accent | 花瓣飘落 |
| 玩法 | 路由 | 说明 |
|---|---|---|
| 生辰八字 | /bazi |
真太阳时四柱排盘 + 五行分析 |
| 姓名测试 | /name |
五格三才数理吉凶 |
| 每日运势 | /daily |
属相 + 日期确定性运势 |
| 塔罗占卜 | /tarot |
78 张牌 + 正逆位 + 单张/三张牌阵 |
| 抽签解签 | /lottery |
40 支签均匀分布 |
| 六爻八卦 | /liuyao |
铜钱摇卦 + 64 卦 + 动爻变卦 |
- Git 默认分支:
master - 提交信息:
<type>: <中文描述>,type ∈chore / feat / fix / docs / refactor / perf / test - 提交署名:附
Co-Authored-By: Anan (WorkBuddy) <noreply@local> - 换行符:代码统一 LF、
.bat保持 CRLF,由.gitattributes强制 - 不入 git:
NOTEBOOK/、PLAN/、.workbuddy/(开发过程笔记与平台数据) - 变更记录:有意义的变更同步更新
CHANGELOG.md
详见 NOTEBOOK/learnings.md(项目本地,不入 git)。关键教训摘要:
- L9:3D 翻牌动画优先用 CSS transition 替代 keyframe animation(Chrome 152 nested preserve-3d backface 误判)
- L11:构建前必停 dev server → mv .next → build(dev server 锁目录导致 mv Permission denied)
- L15:PowerShell 中
$env:CODEBUDDY_SAFE_DELETE_ENABLED='0'可关闭 safe-delete shim - L16:
NO_PROXY=github.com git push绕过 Clash 代理导致的 schannel TLS 握手失败 - L17:CloudBase CLI 3.x 登录态存
~/.config/.cloudbase/auth.json;无 TTY 时预写usage.json({"agreeCollect": false})跳过遥测卡死询问
本项目基于 MIT License 开源,Copyright (c) 2026 Gazer-887。
- 可自由使用、修改、分发、商用,仅需保留版权声明与许可声明
- 占卜内容(八字/塔罗/签文/六爻等)取材于中国传统文化公有领域素材,仅作娱乐与文化参考,不构成任何专业建议
- 四套主题视觉、动画体系与文案为原创设计
免责声明:本网站所有占卜结果由确定性算法生成,仅供娱乐,请勿作为决策依据。