- 前端免费排盘默认不保存,勾选同意后才调用保存接口 - 服务端要求 consentVersion,记录 consentAt,校验并限流公开保存接口 - 付费结算单独披露报告快照与订单信息将由服务端存储 - 管理端展示同意版本与时间,历史无同意证据记录保留并标注 Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
63 lines
2.1 KiB
Markdown
63 lines
2.1 KiB
Markdown
# 知命 · 商业版八字 Web
|
|
|
|
商业化八字排盘 Web,复用 `@lunar/core` 排盘引擎,并连接 Go 服务端的邮箱登录、Stripe、Binance Pay、订单、报告权益、恢复码与管理后台。
|
|
|
|
## 功能
|
|
|
|
- 四柱、十神、藏干、纳音、五行与真太阳时。
|
|
- 起运年龄、真实交运时间、十步大运、流年/小运时间轴。
|
|
- 免费展示天干五合/相冲,地支六合/三合/六冲/六害/相刑,以及神煞位置。
|
|
- 22 个常见神煞,包括天厨贵人。
|
|
- 六章付费深度报告。
|
|
- Stripe `4.99 USD` 与 Binance Pay `5 USDT`。
|
|
- Postmark 邮箱验证码登录。
|
|
- 支付 Webhook 验签与幂等处理。
|
|
- 支付前只下发免费内容和通用锁定占位,个性化付费解读由服务端在支付确认后生成。
|
|
- 免费排盘默认不上传;用户主动同意后,服务端保存出生资料、排盘快照及同意版本/时间,授权后台可查询记录。
|
|
- 已购报告历史列表、随机恢复码与购买时报告快照。
|
|
- 后台真实订单列表、排盘记录和收入统计。
|
|
|
|
## 启动前端
|
|
|
|
```bash
|
|
cp .env.example .env.local
|
|
npm run dev
|
|
```
|
|
|
|
访问 `http://localhost:4260`。
|
|
|
|
只有 `.env.local` 明确设置 `VITE_PAYMENT_MODE=demo` 时才会模拟支付。生产环境不设置该值或设置为 `production`。
|
|
|
|
## 启动后端
|
|
|
|
```bash
|
|
cd ../server
|
|
cp .env.example .env.local
|
|
go run ./cmd
|
|
```
|
|
|
|
后端默认地址为 `http://localhost:8080`,订单后台为 `http://localhost:8080/admin/orders`。
|
|
|
|
## 验证
|
|
|
|
```bash
|
|
cd ../server && go test ./...
|
|
cd ../web-commercial && npm run build
|
|
```
|
|
|
|
## 数据库
|
|
|
|
服务启动时 GORM 会自动新增商业化表。已有 MySQL 生产库也可以先备份,再单独执行:
|
|
|
|
```bash
|
|
mysql < server/migrations/002_commerce.sql
|
|
```
|
|
|
|
禁止使用数据库 fresh 或 refresh。
|
|
|
|
## 上线要求
|
|
|
|
真实支付需要 Stripe、Binance Pay 和 Postmark 商户凭证。密钥只能放在部署环境或 `.env.local`,不能提交到 Git。完整接口、恢复码和运营说明见 `Fetures.md`。
|
|
|
|
本项目属于传统文化研究与娱乐内容,不构成医疗、法律、投资或人生决策建议。
|