From df84a4c1302e13024aadda9bb8867129dca2fcb7 Mon Sep 17 00:00:00 2001 From: zhouzhibo Date: Tue, 3 Nov 2026 00:16:16 +0800 Subject: [PATCH] feat: rename app to Qiyun and refine Tiangong rituals and UI --- README.md | 2 +- docs/celestial-color-directions.md | 50 ++++++++++ docs/incense-sound.md | 16 ++-- docs/tiangong-login-access.md | 2 +- preview/assets/follow-video.jpg | Bin 35338 -> 0 bytes preview/index.html | 7 +- project.config.json | 6 +- scripts/loginPresentation.test.cjs | 2 +- scripts/tiangong.test.cjs | 32 ++++--- scripts/tiangongApi.test.cjs | 55 +++++++++++ scripts/tiangongPresentation.test.cjs | 50 ++++++++-- scripts/tiangongStore.test.cjs | 130 +++++++++++++++++++++++++- src/app.config.ts | 1 + src/assets/follow-video.jpg | Bin 35338 -> 0 bytes src/assets/home/tiangong-palace.jpg | Bin 0 -> 65132 bytes src/components/AppTabBar.scss | 5 +- src/components/AppTabBar.tsx | 4 +- src/components/DeityBinding.tsx | 6 +- src/components/RadarChart.scss | 14 +-- src/components/RadarChart.tsx | 20 ++-- src/hooks/useIncenseRitual.ts | 1 + src/index.html | 2 +- src/pages/contact/index.tsx | 2 +- src/pages/follow/index.scss | 16 ++++ src/pages/follow/index.tsx | 20 ++-- src/pages/my/index.tsx | 2 +- src/pages/tiangong-detail/index.scss | 7 +- src/pages/tiangong-detail/index.tsx | 32 ++++--- src/services/tiangong.ts | 33 ++----- src/services/tiangongApi.ts | 30 ++++++ src/utils/tiangongMock.ts | 16 ++-- src/utils/tiangongStore.ts | 49 ++++++++-- 32 files changed, 482 insertions(+), 130 deletions(-) create mode 100644 docs/celestial-color-directions.md delete mode 100644 preview/assets/follow-video.jpg create mode 100644 scripts/tiangongApi.test.cjs delete mode 100644 src/assets/follow-video.jpg create mode 100644 src/assets/home/tiangong-palace.jpg create mode 100644 src/services/tiangongApi.ts diff --git a/README.md b/README.md index 25f497f..6fc3c78 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Hera 小程序前端 +# 祈运小程序前端 Taro + React 微信小程序前端,页面按参考图片生成: diff --git a/docs/celestial-color-directions.md b/docs/celestial-color-directions.md new file mode 100644 index 0000000..db8deda --- /dev/null +++ b/docs/celestial-color-directions.md @@ -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` 生成;个人中心守护天数为演示值。预览用于选色,不连接后端、不修改用户资料。全站应用后需要继续检查正文对比度、长文阅读、未绑定状态、弹窗与小屏安全区。 diff --git a/docs/incense-sound.md b/docs/incense-sound.md index 4cd184f..d0c6c4f 100644 --- a/docs/incense-sound.md +++ b/docs/incense-sound.md @@ -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. 真机检查系统静音、音量及来电中断。自动测试验证音量开关、进度推进及结束状态,不能代替听感验收。 diff --git a/docs/tiangong-login-access.md b/docs/tiangong-login-access.md index 7dccc3b..1e90fc0 100644 --- a/docs/tiangong-login-access.md +++ b/docs/tiangong-login-access.md @@ -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、网络错误、隐藏/卸载后的异步失效,以及直达页面不挂载业务内容。 diff --git a/preview/assets/follow-video.jpg b/preview/assets/follow-video.jpg deleted file mode 100644 index 66c583886b8c5e9dc0039877484b292a88541daf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35338 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­NTXA%t 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 N0k%p*W-0%_2>?i3 - Hera 首页预览 + 祈运首页预览 @@ -286,10 +287,10 @@
忌用木火土

忌用,是容易让你更累、更乱或效率不佳的行为方式。

-
协议
用户协议隐私政策

用户协议

为使用小程序软件服务,您应当阅读并遵守相关注册协议以及专项规则。请您审慎阅读、充分理解各条款内容,特别是免除或限制责任的相应条款。

一、协议的范围

本协议是您与那吉之间关于使用那吉软件服务所订立的协议。所有规则均为本协议不可分割的一部分,与协议正文具有同等法律效力。

二、适用范围

本政策适用于您通过本应用进行的所有操作及我们因此收集的个人信息。

+
协议
用户协议隐私政策

用户协议

为使用小程序软件服务,您应当阅读并遵守相关注册协议以及专项规则。请您审慎阅读、充分理解各条款内容,特别是免除或限制责任的相应条款。

一、协议的范围

本协议是您与祈运之间关于使用祈运软件服务所订立的协议。所有规则均为本协议不可分割的一部分,与协议正文具有同等法律效力。

二、适用范围

本政策适用于您通过本应用进行的所有操作及我们因此收集的个人信息。