feat: rename app to Qiyun and refine Tiangong rituals and UI

This commit is contained in:
zhouzhibo committed 2026-11-03 00:16:16 +08:00
1 parent 7871114c50
commit df84a4c130
32 files changed
+482 -130

No files matched your search

+50
View File
@@ -0,0 +1,50 @@
# 小程序全站配色方案
设计分支:`codex/celestial-color-refresh`,从已推送的 `7871114` 创建。
当前阶段为配色方案对比,尚未替换业务页面的生产样式。三套方案沿用相同内容和主要页面结构,便于判断配色本身;方案确定后统一落地全部页面及弹窗。
## 现状
首页大面积高饱和紫色背景、紫粉摘要卡和蓝色指数球同时争夺注意力。天宫素材以青绿山水、祥云米白、朱红神袍和金色配饰为主;个人中心偏淡紫,关注页又偏米金。各页面缺少一致的背景、按钮、正文与导航色。
## 第二版 三套更鲜明的方向
第一版被反馈为不够鲜艳、单调。第二版增加互补色、局部明亮渐变和材质层次,保留浅色阅读区域,避免只给所有组件套同一种颜色。
| 方案 | 主色 | 对比色 | 鎏金色 | 页面底色 | 特点 |
| --- | --- | --- | --- | --- | --- |
| 丹霞瑞彩(推荐) | `#C93C48` | `#168B86` | `#F3B642` | `#FFF7ED` | 神袍朱红、碧玉青绿与祥云金橙呼应,活泼、温暖,有传统瑞彩感。 |
| 青碧流金 | `#087E87` | `#377DB5` | `#F1BB46` | `#F2FAF5` | 孔雀青、湖蓝与明金互相映衬,清亮而有层次,接近祥云山水的色彩关系。 |
| 紫金星阙 | `#7841C6` | `#B33178` | `#F1C359` | `#FBF5FF` | 深紫天幕、桃粉霞光与暖金日晕;顶部明暗对比更强,向下渐入浅色阅读区,仙境仪式感最突出。 |
## 首页调整原则
- 顶部通过相邻色的亮色渐变与柔光建立氛围,中下部回到浅色,保证正文阅读。
- 摘要卡增加明暗渐变、日晕线条与小标题;指数球使用暖金色及高光,和神像金饰呼应,形成明确视觉中心。
- 吉色、吉数、吉向、吉时使用主色浅底、暖金浅底和对比色浅底区分,配色从一套色板派生。
- 情感和财富卡分别使用柔和霞色、浅金色底纹,图标和宜忌状态继续保持含义清晰。
- 个人中心、表单和底部导航复用相同主色、对比色与金色,防止只有首页改色后又产生新的割裂。
- 吉色属于用户数据,色块继续反映实际计算值,不能被主题色覆盖;五行、宜忌状态同样保留区分。
## 全站应用范围
| 页面或组件 | 统一规则 |
| --- | --- |
| 首页及维度排序 | 浅色背景、主色摘要与选中状态、统一卡片及辅助文字。 |
| 天宫列表 | 使用共同页面底色和导航色;神仙原图保留色彩,未绑定状态沿用淡化逻辑。 |
| 请神及敬神详情 | 保留祥云山水和神像原图;名称栏、介绍、按钮、供奉操作栏统一颜色。 |
| 我的及神仙卡片 | 页面背景与首页同源;昵称和菜单正文使用统一深色,金色卡片保留仪式感。 |
| 我的元素及生肖弹窗 | 浅底卡片、统一正文和按钮;保留五行的木绿、火暖红、土棕、金黄、水蓝。 |
| 编辑个人信息及完善注册资料 | 表单统一纸面颜色,选中态和保存按钮使用主色。 |
| 登录、注册及登录门禁 | 使用同一套背景、输入、主按钮、错误和辅助文字颜色。 |
| 用户协议及隐私政策 | 浅色阅读背景、深色正文,章节标题与选中标签统一。 |
| 关注我们 | 使用同源背景和纸面卡片;二维码、平台标识保持原样。 |
| 内部联系页及通用弹窗 | 统一背景、输入和按钮。微信官方客服会话属于微信界面,不修改其配色。 |
| 底部导航、返回按钮、绑定门禁 | 统一选中态、非选中态、描边和遮罩,保留已有安全区布局。 |
## 实现与验收
确定方案后提取背景、纸面、正文、次级文字、主色、强调、描边、阴影及语义色等共用变量。逐页替换硬编码颜色,避免通过滤镜或透明覆盖把神仙素材变色,也不改业务判断、接口和布局结构。
对比预览复用了本仓库的神仙、祥云、头像、生肖和首页图标。首页样例数据来自现有算法,以 `1998-06-18 辰时`、`2026-10-21` 生成;个人中心守护天数为演示值。预览用于选色,不连接后端、不修改用户资料。全站应用后需要继续检查正文对比度、长文阅读、未绑定状态、弹窗与小屏安全区。
+9 -7
View File
@@ -1,3 +1,5 @@
> 当前接口以本文为准;早期交付文档中的拟定路径及送神解绑规则已由本次改动替代。
# 敬神:音频与真实供奉接口
## 本期规则
@@ -7,7 +9,7 @@
- 每次上香独立提交。只有服务端返回有效记录 ID 后,次数才+1;请求失败不计数、不播音、不自动重试。网络结果不明时应刷新核对,避免手动重试重复记账。
- 点亮截止时间为最后一次成功请求对应的点击时间+15秒(不从回包开始重计)。持续点击仅增加次数、延长点亮,不重播;音频自然结束不循环。点亮到期即停止声音、恢复供桌,不回退次数。
- 页面隐藏/离开销毁音频。返回只恢复剩余点亮,不自动播放。播放错误提示用户,但不撤销已落库记录。
- 祈愿最多500字;回向任意姓名最多50字+祝愿最多500字。权限、有效绑定由服务端再次验证。成功才清空,失败保留内容。表单提交中防重复,连续上香不节流丢次数。
- 祈愿最多500字;回向对象最多255字+选填祝愿最多500字。权限、有效绑定由服务端再次验证。成功才清空,失败保留内容。表单提交中防重复,连续上香不节流丢次数。
## 已接入接口(JWT,标准 ApiResponse)
@@ -16,18 +18,18 @@
| 接口 | 用途/请求 |
| --- | --- |
| GET `/api/tiangong/items`(新增) | 本人列表:id/name/iconUrl/description、holdingId、active、days、incenseCount。状态与统计来自数据库,无示例持有。 |
| POST `/api/user/virtual-items/offerings`(复用) | `{userVirtualItemId: 本人holdingId, offeringType: 2}` 上香;type=3+`content` 祈愿。返回流水及id。 |
| POST `/api/user/virtual-items/dedications`(新增) | `{userVirtualItemId: 本人holdingId, name, content}` 任意姓名回向。返回流水及id。接收人ID为空,不创建账号、不转移资产。 |
| POST `/api/user/virtual-items/offerings`(复用) | `{userVirtualItemId: 本人holdingId, offeringType: 1, incenseCount: 3}` 上香,一次请求计一次;type=2+`prayerContent` 祈愿。返回流水及id。 |
| POST `/api/user/virtual-items/dedications`(新增) | `{userVirtualItemId: 本人holdingId, dedicationTarget, dedicationContent?}` 回向对象为1至255字文本,祝愿选填、最多500字。返回主流水及嵌套dedication明细,不保留接收账号。 |
前端调用:`src/services/tiangong.ts`;状态管理:`src/utils/tiangongStore.ts`。使用服务端持有ID,不猜测数字ID。原型与字典名称精确匹配(财神/武财神、禄星、寿星、文昌星、月老),未配置者禁用,不假装已恭请。账号变更清空缓存,旧响应不能写入新账号。
真实 NFC 绑定、解绑、送神不属于本次三项写接口;正式模式不执行本地 Mock 绑定,也不展示示例额度或虚构成功。已有绑定可正常供奉。此前拟定 NFC 契约仍未调用。
请神/送神通过 POST `/api/user/virtual-items/lifecycle` 提交 `{userVirtualItemId, actionType}`(1请神、2送神)。送神停止供奉并保留设备绑定、累计上香次数,不消耗解绑额度。已送神状态可重新请神;未绑定或过期状态需先完成 NFC 绑定。真实 NFC 绑定与解绑仍待接入。
## 部署边界
**前后端代码推送不等于部署:本次未部署远程后端、未操作远程数据库。**
部署后端前执行 `hera/src/main/resources/db/named-dedication-update.sql`,仅将 `user_virtual_item_transfer.to_user_id` 改为可空,保留数据。`CREATE TABLE IF NOT EXISTS` 不会更新现存表,不能省略。前端构建不能代替后端部署。此前生日偏好迁移也需按对应文档执行。
部署时需先执行后端 `src/main/resources/db/virtual-item-lifecycle-update.sql` 并部署对应后端代码。供奉明细改为上香、祈愿、回向三张表,请神/送神写独立流水,前端构建不能代替数据库迁移与后端部署。
远端无新接口/新表结构时,正式页面提示加载或提交失败,不以 Mock 伪装成功。隔离 H2 测试已验证 Controller→Service→MyBatis→落库,不等同于远端联调。
@@ -36,9 +38,9 @@ H5演示:`http://127.0.0.1:4173/?avatarDemo=1#/pages/tiangong-detail/index?id=
## 开发者工具验收
1. 重新编译,后端及SQL部署后,用已绑定神仙的账号登录→天宫→对应详情。无功德入口,上香次数与服务端一致。
2. 开声→上香:网络出现type=2请求,成功才次数+1、点亮。10秒再点一次,再+1;音频不重播,第二次点击15秒后恢复。
2. 开声→上香:网络出现type=1请求,成功才次数+1、点亮。10秒再点一次,再+1;音频不重播,第二次点击15秒后恢复。
3. 上香第3秒关闭喇叭,立即无声;第10秒开启,应听到第10秒处剩余音频,不从第3秒接续,次数不变。第15秒音频结束后开启不得再播;第10秒追加上香使供桌仍亮时,也不得重播已结束音频。初始静音上香同样验证。
4. 祈愿输入内容→确认,type=3成功显示“祈愿已记录”。回向输入任意姓名+祝愿→确认,dedications成功显示“回向已记录”;数据库to_user_id为空,姓名祝愿保留。
4. 祈愿输入内容→确认,type=2成功显示“祈愿已记录”。回向输入回向对象+选填祝愿→确认,dedications成功显示“回向已记录”;数据库独立回向明细保留对象和祝愿。
5. 断网或停用绑定:三种提交均不显示成功;上香不增加;表单内容保留。切账号后不能沿用旧持有状态,离开不得继续响。
6. 真机检查系统静音、音量及来电中断。自动测试验证音量开关、进度推进及结束状态,不能代替听感验收。
+1 -1
View File
@@ -20,7 +20,7 @@
2. 未登录直达 `pages/fortune/index` 或 `pages/tiangong-detail/index?id=wealth`:只出现登录提示,不能操作恭请、上香、祈愿或其他业务按钮。
3. 正常完成登录/注册,重新点击天宫:资料校验通过后可进入;首页、我的的导航不受影响。
4. 登录过期返回 401 后:天宫和详情内容隐藏,重新登录后恢复。断网导致校验失败:显示重新加载和返回首页,不展示旧内容。
5. H5 普通地址不带演示参数时执行同样拦截;H5 点击登录只提示在微信环境完成,不伪造 code、不再打开“那吉”品牌中间页。明确的演示 URL 保留原型预览。
5. H5 普通地址不带演示参数时执行同样拦截;H5 点击登录只提示在微信环境完成,不伪造 code、不再打开“祈运”品牌中间页。明确的演示 URL 保留原型预览。
自动测试覆盖导航拦截、重复点击、登录失败重试、无 token 不请求资料、真实会话校验、401、网络错误、隐藏/卸载后的异步失效,以及直达页面不挂载业务内容。