From 5be2ca6b50c1fe6539cd4eef902c9a5f5a21df99 Mon Sep 17 00:00:00 2001 From: zhouzhibo Date: Sat, 17 Oct 2026 22:44:09 +0800 Subject: [PATCH] feat: refine tiangong flows and integrate profile avatars --- .gitignore | 1 + README.md | 14 +- config/index.ts | 4 +- docs/account-backend-integration.md | 66 +++++++ docs/deity-binding-delivery.md | 84 +++++++++ docs/my-element-icon.md | 37 ++++ docs/navigation-alignment-fix.md | 30 +++ docs/tiangong-delivery.md | 97 ++++++++++ package.json | 10 +- scripts/accountIntegration.test.cjs | 189 +++++++++++++++++++ scripts/checkWxss.cjs | 54 ++++++ scripts/elementIcon.test.cjs | 74 ++++++++ scripts/frontendPreview.test.cjs | 68 ++++++- scripts/navigation.test.cjs | 82 ++++++++ scripts/optimize-tiangong-assets.cjs | 29 +++ scripts/tiangong.test.cjs | 136 +++++++++++++ scripts/wxssCompatibility.test.cjs | 29 +++ src/app.config.ts | 6 +- src/app.scss | 10 + src/assets/tiangong/proto-altar-lit.jpg | Bin 0 -> 37119 bytes src/assets/tiangong/proto-altar.jpg | Bin 0 -> 32670 bytes src/assets/tiangong/proto-clouds.jpg | Bin 0 -> 55478 bytes src/assets/tiangong/proto-fortune-statue.png | Bin 0 -> 126122 bytes src/assets/tiangong/proto-fortune.jpg | Bin 0 -> 23895 bytes src/assets/tiangong/proto-longevity.jpg | Bin 0 -> 23906 bytes src/assets/tiangong/proto-matchmaker.jpg | Bin 0 -> 22090 bytes src/assets/tiangong/proto-wealth-statue.png | Bin 0 -> 122829 bytes src/assets/tiangong/proto-wealth.jpg | Bin 0 -> 26619 bytes src/assets/tiangong/proto-wenchang.jpg | Bin 0 -> 28521 bytes src/components/AppTabBar.scss | 3 + src/components/AppTabBar.tsx | 13 +- src/components/DeityBinding.scss | 61 ++++++ src/components/DeityBinding.tsx | 94 +++++++++ src/components/FiveElementIcon.scss | 53 ++++++ src/components/FiveElementIcon.tsx | 20 ++ src/components/TiangongUI.scss | 25 +++ src/components/TiangongUI.tsx | 17 ++ src/components/UserAvatar.tsx | 25 +++ src/custom-tab-bar/index.js | 3 + src/custom-tab-bar/index.json | 1 + src/custom-tab-bar/index.wxml | 1 + src/custom-tab-bar/index.wxss | 1 + src/hooks/useTiangongSnapshot.ts | 16 ++ src/pages/fortune/index.scss | 173 ++--------------- src/pages/fortune/index.tsx | 107 ++++------- src/pages/home/index.scss | 2 + src/pages/home/index.tsx | 42 +++-- src/pages/login/index.scss | 4 + src/pages/login/index.tsx | 80 +++++--- src/pages/my/index.scss | 26 ++- src/pages/my/index.tsx | 71 ++++--- src/pages/profile-edit/index.scss | 24 ++- src/pages/profile-edit/index.tsx | 130 ++++++------- src/pages/tiangong-detail/index.scss | 103 ++++------ src/pages/tiangong-detail/index.tsx | 152 ++++++++++----- src/services/account.ts | 9 + src/services/avatarDemo.ts | 27 +++ src/services/request.ts | 109 +++++++++-- src/services/tabNavigation.ts | 17 ++ src/services/tiangong.ts | 48 +++++ src/types/environment.d.ts | 1 + src/utils/elementIcon.ts | 17 ++ src/utils/profileEditing.ts | 48 +++++ src/utils/resourceCache.ts | 45 +++++ src/utils/tiangongMock.ts | 43 +++++ 65 files changed, 2099 insertions(+), 532 deletions(-) create mode 100644 docs/account-backend-integration.md create mode 100644 docs/deity-binding-delivery.md create mode 100644 docs/my-element-icon.md create mode 100644 docs/navigation-alignment-fix.md create mode 100644 docs/tiangong-delivery.md create mode 100644 scripts/accountIntegration.test.cjs create mode 100644 scripts/checkWxss.cjs create mode 100644 scripts/elementIcon.test.cjs create mode 100644 scripts/navigation.test.cjs create mode 100644 scripts/optimize-tiangong-assets.cjs create mode 100644 scripts/tiangong.test.cjs create mode 100644 scripts/wxssCompatibility.test.cjs create mode 100644 src/assets/tiangong/proto-altar-lit.jpg create mode 100644 src/assets/tiangong/proto-altar.jpg create mode 100644 src/assets/tiangong/proto-clouds.jpg create mode 100644 src/assets/tiangong/proto-fortune-statue.png create mode 100644 src/assets/tiangong/proto-fortune.jpg create mode 100644 src/assets/tiangong/proto-longevity.jpg create mode 100644 src/assets/tiangong/proto-matchmaker.jpg create mode 100644 src/assets/tiangong/proto-wealth-statue.png create mode 100644 src/assets/tiangong/proto-wealth.jpg create mode 100644 src/assets/tiangong/proto-wenchang.jpg create mode 100644 src/components/DeityBinding.scss create mode 100644 src/components/DeityBinding.tsx create mode 100644 src/components/FiveElementIcon.scss create mode 100644 src/components/FiveElementIcon.tsx create mode 100644 src/components/TiangongUI.scss create mode 100644 src/components/TiangongUI.tsx create mode 100644 src/components/UserAvatar.tsx create mode 100644 src/custom-tab-bar/index.js create mode 100644 src/custom-tab-bar/index.json create mode 100644 src/custom-tab-bar/index.wxml create mode 100644 src/custom-tab-bar/index.wxss create mode 100644 src/hooks/useTiangongSnapshot.ts create mode 100644 src/services/account.ts create mode 100644 src/services/avatarDemo.ts create mode 100644 src/services/tabNavigation.ts create mode 100644 src/services/tiangong.ts create mode 100644 src/types/environment.d.ts create mode 100644 src/utils/elementIcon.ts create mode 100644 src/utils/profileEditing.ts create mode 100644 src/utils/resourceCache.ts create mode 100644 src/utils/tiangongMock.ts diff --git a/.gitignore b/.gitignore index 09be9e0..3e84ed8 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ dist/ dist-h5/ .swc/ .DS_Store +project.private.config.json diff --git a/README.md b/README.md index 2032ecb..9d919b7 100644 --- a/README.md +++ b/README.md @@ -16,4 +16,16 @@ npm install npm run dev:weapp ``` -后端默认请求 `http://localhost:8080`,可在 `src/services/request.ts` 修改。 +后端默认请求 `http://127.0.0.1:8080`,可通过构建环境变量 `HERA_API_BASE_URL` 指定测试地址: + +```bash +HERA_API_BASE_URL=https://your-test-api.example.com npm run build:weapp +``` + +H5 真实接口模式不要携带 `?preview=1`;该参数仅用于只读素材预览,不登录、不保存或上传。 +微信注册需在微信开发者工具/小程序中完成,H5 不生成假微信登录凭证。 +资料及头像联调、接口和验收说明见 [账号联调说明](docs/account-backend-integration.md)。 + +微信构建后自动执行 WXSS 兼容检查(也可单独运行 `npm run check:wxss`)。 +本机存在微信开发者工具的 `wcsc` 时会额外编译全部 WXSS,避免 Taro 构建通过但微信样式编译失败。 +其他安装位置可通过 `WECHAT_WXSS_COMPILER` 指定编译器路径;未安装时只做静态检查并明确提示。 diff --git a/config/index.ts b/config/index.ts index 2fd244b..bfa01e4 100644 --- a/config/index.ts +++ b/config/index.ts @@ -12,7 +12,9 @@ export default defineConfig(async () => ({ sourceRoot: 'src', outputRoot: process.env.TARO_ENV === 'h5' ? 'dist-h5' : 'dist', plugins: ['@tarojs/plugin-framework-react'], - defineConstants: {}, + defineConstants: { + API_BASE_URL: JSON.stringify((process.env.HERA_API_BASE_URL || 'http://127.0.0.1:8080').replace(/\/+$/, '')) + }, copy: { patterns: [], options: {} diff --git a/docs/account-backend-integration.md b/docs/account-backend-integration.md new file mode 100644 index 0000000..9c37f3b --- /dev/null +++ b/docs/account-backend-integration.md @@ -0,0 +1,66 @@ +# 注册、资料与头像后端联调 + +## 本次接通范围 + +- 微信登录 → 新用户绑定手机号 → 完善资料;已注册用户直接恢复后端账号。 +- 编辑页从后端回显,只有个人字段变更才提交资料更新。 +- 头像通过现有后端文件存储服务上传。首页左上角、我的、编辑页共用头像组件和资料状态,成功保存后同步更新。 +- 未填写生日、时辰、地区的新账号保持空值,不使用预览资料冒充真实账号。 +- 登录凭证失效后清除本地会话;失效头像链接通过资料接口刷新,不在前端签名 COS 文件。 +- 天宫绑定等已有隔离 Mock 未改成真实后端业务。本次没有提交或推送代码。 + +## 本地入口与启动 + +- 前端:`http://127.0.0.1:4173/#/pages/my/index`,真实模式不带 `preview=1`。 +- 后端:`http://127.0.0.1:8080`,已按用户授权使用现有本地配置启动。 +- `?preview=1` 保留只读样例,不保存资料、不上传头像、不调用注册接口。 +- `?avatarDemo=1` 为用户要求的 H5 已登录头像演示,可直接进入我的、选择本地图片并保存,首页/我的/编辑页同步;不创建登录 token,不请求后端或 COS,刷新后重置,不影响真实登录缓存。演示入口:`http://127.0.0.1:4173/?avatarDemo=1#/pages/my/index`。 +- 导入前端项目根目录的 `project.config.json`,小程序目录为 `dist/`。修改源码后运行 `npm run build:weapp`,H5 运行 `npm run build:h5`。 +- 构建前可设置 `HERA_API_BASE_URL`;真机的 `127.0.0.1` 指向手机本身,必须换成手机可访问的后端地址。 +- H5 不具备小程序 `wx.login` 能力,不使用伪造 code 或临时开发 JWT 绕过注册。首次真实登录请用微信开发者工具或微信。 + +## 开发者工具验收 + +1. 导入项目并编译。在“我的”或首页点“登录 / 注册”,执行微信登录。新微信用户应看到手机号、验证码输入;老用户应直接恢复对应账号。 +2. 新用户输入自己的手机号,点“获取验证码”。现有后端返回开发验证码,界面明确标记“非真实短信”;填入后绑定,进入“完善注册资料”。填写昵称、性别、生日、时辰、省市区并保存,应进入“我的”,再次进入编辑页数据应一致。 +3. 点我的头部进入编辑页,依次测试微信头像、相册、拍照;取消选择不提交。选择后仅本页预览,点保存才上传;保存成功后首页、我的、编辑页应显示同一张头像,重新编译/重进后仍由后端回显。 +4. 只修改头像:网络面板应出现 `POST /api/user/avatar`,不出现 `PUT /api/user/profile`,资料修改次数不减少。头像最大 5MB,格式限 JPG/PNG/WebP,服务端负责最终校验。 +5. 只修改个人字段:保存应出现一次资料 PUT。什么都不改直接保存不消耗次数。连续点击保存不能重复提交。 +6. 同时修改头像和资料:先上传头像再保存资料。上传失败时不得提交资料 PUT;若头像成功但资料失败,应明确提示部分成功,重试不重复上传已经保存的头像。 +7. 清除登录缓存或使用失效凭证,进入真实模式应提示登录,不展示其他账号或假样例。已登录头像加载失效时应向资料接口重新取链接;网络不可用时保留默认头像,不无限重试。 +8. 首页、我的及编辑页在窄屏、常见机型和底部安全区检查头像裁切、表单与导航;真机检查相册/相机权限、取消和失败提示。 + +## 本次使用的全部账号接口 + +统一业务响应为 `{ code, message, data }`,成功 `code=0`。资料与上传需要 `Authorization: Bearer `;失效登录 HTTP 401。 + +| 方法与路径 | 参数 | 返回及用途 | +| --- | --- | --- | +| POST `/api/auth/wx-login` | JSON `{code}`,由真实 `wx.login` 获取 | 新用户 `{sessionKey,phoneBound:false}`;老用户包含 `{phoneBound:true,token,user}` | +| POST `/api/auth/sms` | JSON `{phone}` | `{mockCode}`,当前开发验证码,不是真实短信服务 | +| POST `/api/auth/bind-phone` | JSON `{sessionKey,phone,captcha}` | `{token,user}`,建立/绑定正式账号后进入资料补全或我的 | +| GET `/api/user/profile` | Bearer token | 完整资料,包含 `avatarUrl`、`remainingEdits`,供回显与头像链接续取 | +| PUT `/api/user/profile` | JSON `{nickname,gender,birthday,birthHour,province,city,district}` | 完整资料;受现有后端半年 5 次限制,不附带头像字段 | +| POST `/api/user/avatar` | Bearer token,multipart 字段 `file` | 完整资料;后端调用既有 COS 存储并关联账号,不消耗资料修改次数 | +| GET `/file/access?token=…` | 后端返回的文件专用临时 token,由图片加载访问 | 302 跳转私有 COS 签名地址;不是登录 token,不在前端拼装签名 | + +接口均为现有真实接口,不是本次拟定的假接口。数据库保存 `cos://` 对象引用,前端只使用后端返回的访问 URL,不持久化临时签名为对象身份。 + +## 已验证与边界 + +- 前端自动测试 58 项通过(包含日主五行入口图标、隔离头像演示、编辑页样式作用域及 WXSS 兼容回归测试),TypeScript 检查、H5 和微信构建通过。13 个产物 WXSS 均通过本机微信开发者工具自带 `wcsc` 的原生编译检查;这不替代真实登录/上传验收。 +- 后端干净构建默认执行的 17 项单元/隔离测试通过:注册/资料/头像控制器链路、账号 CRUD、仅当前表启动、头像限额与格式、401、文件访问、COS 和 Redis 配置测试。4 项需要显式启用的外部集成测试在默认构建中跳过。业务写入测试使用隔离 H2,微信客户端及实际 COS 上传使用测试替身,不代表已向真实 COS 上传成功。另有 1 项当前配置数据库的只读 Mapper 集成检查通过,不读取真实账号记录或写入数据库。 +- 已运行的本地后端:无登录和无效凭证请求均返回 401;资料 PUT 跨域预检返回 200 并允许 Authorization、Content-Type。前端入口 HTTP 200。 +- 真实联调阶段浏览器验收曾被额度限制阻止;后续用户要求的 H5 已登录演示已在浏览器验证:从相册选择项目测试图片、保存、我的/首页/重新进入编辑页均成功加载同一本地头像。截图保存在 `/private/tmp/hera-avatar-demo-my.png`。这不是实际 COS 上传证据;真实微信授权、真实账号写入和实际 COS 上传/展示仍须完成上述开发者工具验收。 +- 本地 API 为 HTTP,现有文件公开入口也可能为 HTTP。上线和真机需确认 HTTPS、合法请求/上传/下载域名、图片重定向域名,以及文件入口和签发端使用一致的配置。不能仅凭后端启动成功认定真实文件入口已经可用。 +- 头像文件入口本地联调已修复:仅在后端被 Git 忽略的 `.hera-local.yml` 中将 `hera.cos.public-base-url` 覆盖为 `http://127.0.0.1:8080/file/` 并重启。使用用户本次报错对应的已有头像,只读验证本地入口返回 302、私有 COS HTTPS 图片读取返回 200;没有上传、删除文件或修改存储桶权限。远程 `101.43.139.56/file/access` 探测返回 COS 格式的 403 `AccessDenied`,远程反向代理配置未修改;上线需将文件网关请求转发后端签名入口,而非直接转发 COS 的 `/access` 对象路径。开发者工具重新编译/重进我的,以获取新头像 URL;手机真机不能使用电脑的 `127.0.0.1`。 +- 资料 PUT 与头像上传是两个独立接口,部分成功会明确告知,不宣称原子事务;网络超时后服务端是否已提交需重新读取确认,后端当前没有请求幂等键。 +- 修复“进入编辑页再返回,默认头像/我的元素变形”:H5 懒加载的编辑页 CSS 曾以全局 `.water-mascot` 覆盖我的页同名图标。编辑页样式现全部限定 `.edit-page`,并使用独立的 `edit-water-mascot` 类,避免双向样式冲突;不涉及头像数据或接口变更。 +- 根据用户确认的数据库结构,移除 `user_account.nfc_uid` 对应的实体字段、账号 Mapper 读写与新建表定义,不执行补列或删除数据库字段。`user_virtual_item` 中独立的绑定字段不在本次账号字段移除范围。已重新部署本地后端;实际微信登录仍需开发者工具重新获取 code,不能重放已使用的 code。 +- 按系统尚未上线、只采用当前表结构的要求,删除历史用户迁移源码及其测试,解除业务启动对迁移组件的依赖,不再自动补列、修改旧表或搬迁旧账号。保留首次注册和注册后再次登录的正常流程;数据库已有表与记录不删除。干净构建已确认产物没有旧迁移类,清理后的本地后端已重启。 + +## 与原型差异及待确认 + +- 保留原有页面视觉与头像选择入口。新增登录失效、资料加载失败、注册补全、上传错误和开发验证码的必要状态提示,不以样例资料掩盖失败。 +- 待确认上线短信供应商及验证码策略;现有开发验证码不能作为生产短信能力。 +- 待确认测试/生产 HTTPS API 和文件访问域名,真实微信账号与 COS 联调需用户在开发者工具授权验收。未改动生产域名或伪造注册凭证。 diff --git a/docs/deity-binding-delivery.md b/docs/deity-binding-delivery.md new file mode 100644 index 0000000..b3e8807 --- /dev/null +++ b/docs/deity-binding-delivery.md @@ -0,0 +1,84 @@ +# 1017 绑定 / 解绑页面交付 + +## 已确认口径 + +- 绑定就是恭请,两者共用状态;任意一位已绑定即可解锁首页、生肖周运和元素报告。 +- 卡片使用财神、禄星、寿星、文昌星、月老对应的现有原型图片,不使用“山鬼花钱”;界面统称“神仙”。 +- 每位神仙 Mock 初始剩余 2 次解绑机会,每次成功解绑减 1,取消不扣减,重新绑定不恢复额度。0 次时不可解绑,送神也不能绕过限制。 +- 仅做前端 Mock,未启动或修改后端,不申请 NFC 权限,不连接设备、不扣款、不绑定真实微信号。 + +## 页面与入口 + +1. “我的 → 我的天宫”按实际 Mock 绑定状态生成数量及神仙卡片。无绑定时显示空态和绑定入口;已绑定时点卡片打开详情,右上角“••• → 解绑神仙”打开二次确认。 +2. 解绑最后一位:首页摘要及维度区域模糊遮罩、元素报告模糊遮罩,显示“须绑定神仙 / 开启你的守护之旅 / 绑定神仙 / 联系我们”;生肖弹窗只显示生肖及绑定提示,不显示周运结果。 +3. 点击“绑定神仙”先打开明确标注的模拟 NFC 选择器,再打开对应神仙确认卡;关闭/取消均不绑定,点击“确认绑定”才修改 Mock 状态。确认后原页面即时解锁,不需要刷新。 +4. 天宫原有请神流程保留支架提醒和模拟等待,“模拟连接成功”后增加核对神仙的确认绑定卡;确认绑定后进入原有“请神成功 / 敬神”流程。 +5. 与之前的缓存 Tab 兼容,绑定、解绑、上香、重置会通知已挂载的页面,数量和门禁不会因页面缓存失去同步。 + +## 验收步骤 + +H5:`http://127.0.0.1:4173/?preview=1#/pages/my/index`。微信开发者工具重新编译项目 `dist` 目录后,从“我的”开始同样操作;真实资料读取仍需要原有后端及登录状态,H5 示例模式不需要后端。 + +| 点击位置 | 期望结果 | +| --- | --- | +| 初次启动 → 我的 → 我的天宫 → 财神 | 初始绑定 1 位,显示财神、DEMO 唯一 ID、示例守护天数与更多按钮 | +| 更多 → 解绑神仙 → 取消 → 再次打开 | 仍绑定财神,剩余次数仍为 2 | +| 更多 → 解绑神仙 → 确定解绑 | 财神从“我的天宫”移除,数量变为 0,模拟提示成功 | +| 首页 / 我的元素 / 我的生肖 | 分别显示首页遮罩、元素锁定遮罩、生肖绑定提示;不允许操作模糊区域的排序按钮 | +| 元素锁定页 → 绑定神仙 → 财神 → 关闭卡片 | 仍锁定,不绑定、不扣次数 | +| 绑定神仙 → 财神 → 确认绑定 | 元素报告即时解锁;首页、周运同步解锁;“我的天宫”恢复财神 | +| 财神卡片 → 更多 → 解绑 | 剩余次数是 1;再次解绑后是 0 | +| 再次绑定财神 → 更多 → 解绑 | 显示 0 次、禁用确认按钮并提示次数用尽;可取消或关闭 | +| 天宫 → 财神 → 送神(0 次) | 同样禁止送神解绑,不存在另一入口绕过限制 | +| 已有财神时,再绑定禄星 → 解绑禄星 | 数量先变 2 再变 1;首页仍解锁;财神额度不受影响 | +| 天宫 → 未恭请神仙 → 恭请 → 请神 → 支架确认 → 模拟连接成功 | 出现对应神仙确认绑定卡,关闭不绑定;确认后成功进入敬神 | + +刷新网页/重启小程序会重置整个 Mock 会话(包括次数、绑定状态),不是生产系统的年度重置。也可用“天宫 → Mock 演示设置 → 重置全部演示”重置示例。 + +## 与原型的差异 / Mock 边界 + +- 依据文件夹里的 5 张截图实现。未提供独立金卡装饰、吊坠、飘带素材,金色边框/挂环使用 CSS 重建,没有把整张截图当可交互页面;神仙图片复用现有天宫原图,部分图片保留原图浅色底。 +- 按用户确认,金币“山鬼花钱”替换为对应神仙;保留现有“天宫”导航名称,不恢复截图中的“灵境”。 +- 真实碰一碰用显式的“Mock 模拟 NFC 识别”选择代替,展示 `DEMO-…-001` ID;一物一微信号、跨账号归属校验必须由后端完成,不能用本地状态代替。 +- 只演示解绑次数递减和禁用;真实年度计数、幂等、并发扣减、安全校验均未实现。守护天数及功德沿用现有示例,未擅自新增清零/返还规则。 +- “联系我们”沿用原有企业微信待配置提示,没有伪造客服接通。 +- 页面锁定是 Mock 的界面状态,不是服务端安全权限控制;正式上线必须在服务端控制报告访问与绑定归属。 + +## 接口清单 + +本次绑定/解绑/天宫操作均调用隔离的 `tiangongMock`,不发业务网络请求。真实接口仅预留于 `src/services/tiangong.ts` 的 `tiangongRemoteContract`,没有在页面调用。 + +| 状态 | 方法 / 路径 | 用途 | +| --- | --- | --- | +| 既有;H5 preview 使用示例,不请求后端 | GET `/api/user/profile` | 首页及我的资料;资料修改/头像接口沿用,不在本次绑定流程调用 | +| 既有前端路径,天宫本次不调用 | GET `/api/tiangong/items` | 神仙列表、绑定/恭请状态,供收藏与解锁状态使用 | +| 既有前端路径,天宫本次不调用 | GET `/api/tiangong/items/{id}` | 神仙详情、介绍、统计 | +| 拟定,待联调 | POST `/api/tiangong/items/{id}/invite` | 确认绑定/恭请;请求 `bindingId` | +| 拟定,待联调 | GET `/api/tiangong/bindings/{bindingId}` | 绑定信息、唯一 ID、守护天数、剩余次数 | +| 本次新增拟定契约,待确认 | POST `/api/tiangong/bindings/resolve` | 校验 NFC 凭证并返回待绑定信息;请求 `nfcCredential` | +| 本次新增拟定契约,待确认 | POST `/api/tiangong/bindings/{bindingId}/unbind` | 原子解绑并返回剩余次数、是否仍有绑定神仙 | +| 拟定,待联调 | POST `/api/tiangong/items/{id}/send-off` | 送神;应与解绑共享服务端额度和归属检查 | +| 拟定,待联调 | POST `/api/tiangong/items/{id}/incense` | 上香 | +| 拟定,待联调 | POST `/api/tiangong/items/{id}/wishes` | 祈愿,`text` | +| 拟定,待联调 | POST `/api/tiangong/items/{id}/dedications` | 回向,`name`、`text` | +| 拟定,待联调 | POST `/api/tiangong/items/{id}/offerings` | 爱心功德档位,`amount`;不是支付接口 | +| 拟定,待联调 | GET `/api/tiangong/wallet` | 爱心余额 | + +绑定返回类型 `DeityBindingInfo`:`bindingId`、`deityId`、`uniqueId`、`bound`、`guardedDays`、`remainingUnbinds`。解绑返回 `UnbindResult`:`binding` 和 `hasAnyBoundDeity`。路径与字段均未假定已被后端实现。 + +## 后续真实联调待确认 + +1. NFC 标签内容、识别协议、微信端入口、服务端签名验证方式;已被他人绑定、凭证失效、设备不支持时的提示与恢复流程。 +2. 正式年度额度何时重置、按什么时区;解绑后守护天数、功德、上香记录如何保留或清零。当前仅沿用已有 Mock 记录,不自行设定新规则。 +3. 企业微信客服参数,以及绑定/解绑接口鉴权、幂等键、并发冲突与错误码。 + +这些问题不阻碍当前已经确认的 Mock 演示,但正式接入前需要明确。 + +## 验证记录 + +- 41 项自动化测试通过,覆盖最后一位解绑重新锁定、任意绑定解锁、逐神仙额度、重绑不恢复次数、0 次时解绑/送神都被拒绝、订阅通知及原有首页/生肖/元素规则。 +- TypeScript 检查、H5 和微信小程序代码构建通过;仍有既有 vendor/chunk 体积提示,没有编译错误。未进行微信真机 NFC 或帧率验收。 +- 浏览器实际走通取消解绑、最后一位解绑、首页/生肖/元素锁定、元素页重绑即时解锁、天宫原有请神流程确认绑定、周运恢复、两位绑定的独立列表、单独解绑保留另一位、2→1→0 后重绑仍为0、解绑按钮置灰和送神入口同样禁用。 +- 浏览器 CSS 视口 320×448、340×531、432×932 检查卡片、确认弹窗、首页与元素遮罩,未见横向溢出;小屏卡片关闭按钮与确认/取消可见。已恢复临时视口设置。 +- 截图:`/private/tmp/hera-bind-confirm.png`、`/private/tmp/hera-binding-card.png`、`/private/tmp/hera-unbind-confirm.png`、`/private/tmp/hera-unbind-exhausted.png`、`/private/tmp/hera-home-unbound.png`、`/private/tmp/hera-element-unbound.png`、`/private/tmp/hera-zodiac-unbound.png`。 +- 未自动提交或推送代码;未启动或修改后端。 diff --git a/docs/my-element-icon.md b/docs/my-element-icon.md new file mode 100644 index 0000000..9bc30c1 --- /dev/null +++ b/docs/my-element-icon.md @@ -0,0 +1,37 @@ +# 我的元素:按日主五行显示图标 + +## 已确认口径 + +入口复用当前元素报告的 `masterElement`,不按五行最高占比或喜用元素选择。 + +| 日主天干 | 元素 | 图标 | +| --- | --- | --- | +| 甲、乙 | 木 | 绿色叶片 | +| 丙、丁 | 火 | 橙色火焰 | +| 戊、己 | 土 | 棕色石块 | +| 庚、辛 | 金 | 金色圆币 | +| 壬、癸 | 水 | 蓝色水滴 | + +保留“我的元素”标题和原有入口布局,图形加元素小标识;个人默认头像及上传头像不参与这套映射。 +资料缺失或不能计算有效报告时,显示中性问号,点开沿用原有完善出生信息提示,不虚构默认五行。 + +## 更新与接口 + +- 继续使用既有资料 GET `/api/user/profile` 提供的生日和出生时辰,在前端生成同一份报告。 +- 编辑资料保存仍使用 PUT `/api/user/profile`。保存回传资料通过现有订阅更新报告与入口图标,无需新接口。 +- 仅日主五行发生变化时图标才变化。同五行的不同生日,以及只改昵称、头像或其他非排盘字段,不要求更换图标。 +- 不修改后端报告、计算规则或个人头像;没有新增后端接口,也没有操作真实用户资料。 + +## 验收 + +1. 微信开发者工具重新编译,进入我的,查看元素入口图标。点开报告,确认图标与“日主”属性一致,而非最大百分比。 +2. 无需为测试消耗真实账号的半年修改额度。使用 H5 隔离演示入口 `http://127.0.0.1:4173/?avatarDemo=1#/pages/my/index` 验证修改联动。 +3. 演示时辰保持辰时,生日从 `1998-06-18` 起依次改为 `20`、`22`、`24`、`26` 日并保存,分别应显示火、土、金、水、木;默认头像保持不变。演示仅在本地保存,刷新重置。 +4. 进入编辑页后不修改直接返回,元素图标不应变形;入口图标与生肖图标保持对齐,底部导航不遮挡。 + +## 已完成检查 + +- 58 项前端测试、TypeScript 检查、H5/微信构建通过。 +- 13 个产物 WXSS 通过微信开发者工具自带编译器检查。 +- 浏览器隔离演示实际验证五个日期的保存切换,以及入口与日主详情一致、窄屏对齐;没有将模拟资料写入真实后端。 +- 截图:`/private/tmp/hera-day-master-fire.png`、`/private/tmp/hera-day-master-earth.png`、`/private/tmp/hera-day-master-metal.png`、`/private/tmp/hera-day-master-water.png`、`/private/tmp/hera-day-master-wood.png`。 diff --git a/docs/navigation-alignment-fix.md b/docs/navigation-alignment-fix.md new file mode 100644 index 0000000..8a2f9c1 --- /dev/null +++ b/docs/navigation-alignment-fix.md @@ -0,0 +1,30 @@ +# 财神背景与主导航优化(2026-10-17) + +## 修改 + +- 神像区独立使用等比云纹背景,不再把背景拉伸到供桌。H5 `aspectFit` 内部图片显式居中,长屏神像落在供桌上方。 +- 供桌使用固定比例裁切容器去掉素材白色侧边,未点香/已点香共用同一位置,切换时不移动。 +- 首页、天宫、我的均注册为真实 Tab,统一 `switchTab`,不再混用入栈和重定向。H5 隐藏框架自带栏并恢复完整高度,只展示现有自绘导航。 +- 页面实例保留,首页日期选择、我的生日显示状态不因切换重置;重复点击防止重入。 +- 资料增加 30 秒内存缓存与并发请求合并,过期后台刷新时保留快照,失败提示正在使用上次资料。账号隔离;资料/头像保存成功后用服务器返回值更新缓存,编辑页强制读取最新资料。 + +## 验收 + +H5 打开 `http://127.0.0.1:4173/?preview=1#/pages/fortune/index`。微信开发者工具重新编译 `dist` 后按相同步骤操作(真实资料需要已有后端与登录状态,本次不启动后端)。 + +1. 天宫 → 财神:神像、香炉处于页面中轴;背景不横向拉伸,供桌两侧没有白色窄条。点击上香:供桌点亮但位置不跳动,五个按钮完整显示。 +2. 首页 → 选明日 → 天宫 → 我的 → 首页:仍选中明日;无重复导航,不反复出现整页资料加载占位。 +3. 我的 → 显示生日 → 天宫 → 我的:生日显示状态保留,点击开关不进入编辑页。 +4. 在真实联调环境保存生日/时辰后返回:首页、我的使用新资料重算;预览模式仍不保存,不假装保存成功。 +5. 小屏、长屏反复切换三个入口并返回详情:底部不被裁切,没有横向滚动;连续点击不叠加路由。 + +## 边界与接口 + +本次无新增业务接口,无后端修改。沿用 `GET /api/user/profile`、`PUT /api/user/profile`、`POST /api/user/avatar`,仅调整前端缓存;登录成功跳转同步改为 Tab 跳转。天宫仍是原有隔离 Mock,不扣款、不连接设备;未确认分支及拟定接口继续见 [天宫交付说明](./tiangong-delivery.md)。 + +## 验证记录 + +- 37 项自动化测试、TypeScript 检查、H5 与微信代码构建通过;仍存在既有 vendor/chunk 体积警告。 +- 浏览器确认三个 Tab 各保留一个 DOM 页面实例,隐藏页面不显示;首页“明日”、我的生日显示状态切回后保留,框架默认导航隐藏。 +- 340×531、320×568、432×932 CSS 视口检查财神,神像图像中轴与容器中轴一致,供桌切换前后同尺寸同位置,五个动作完整,没有横向溢出。 +- 不将浏览器验证与构建通过等同于微信真机验收;未做真机帧率测量,首次资源加载仍受设备与网络影响。 diff --git a/docs/tiangong-delivery.md b/docs/tiangong-delivery.md new file mode 100644 index 0000000..c5cd9cd --- /dev/null +++ b/docs/tiangong-delivery.md @@ -0,0 +1,97 @@ +# 天宫 Mock 原型交付 + +本次来源:[墨刀 → 洪贞小程序 → 天宫](https://modao.cc/proto/yx6d0Jptt7nctvrsIevgd0/sharing?view_mode=read_only)。不使用“洪贞app”画布。 + +## 入口与运行 + +- 本地预览:[天宫](http://127.0.0.1:4173/?preview=1#/pages/fortune/index)。只能在运行预览服务的电脑上使用。 +- 微信开发者工具导入仓库根目录,`project.config.json` 指向 `dist/`。先运行小程序构建,再从首页或我的底部点“天宫”;也可设置编译启动页为 `pages/fortune/index`。 +- 天宫模块当前始终使用隔离 Mock 服务,不是请求后端失败后偷偷兜底;已有首页/个人资料接口不改变。 +- 初始:财神已恭请;其余四位未恭请。示例爱心 100;财神供奉 4 天、功德 99、上香 59 次。其余神仙初始统计为零,均为样例,非真实账户。 +- 状态仅保存在当前 JS 运行会话;同一会话内往返页面同步。刷新 H5、重启小程序或点“重置全部演示”恢复样例。愿望与姓名不上传、不持久化,提交后清空。 + +## 验收步骤与预期 + +| 操作 | 预期 | +| --- | --- | +| 首页/我的 → 底部天宫 | 三列五个原型图像卡片,暖白背景、浅绿名称条;底部首页/天宫/我的文字对齐、不裁切 | +| 财神卡片 | 直接进入敬神;云纹背景、红衣财神、供桌和五个竖向按钮,不是整页截图 | +| 上香 | 供桌出现水果、香,59 变 60;爱心和功德不擅自扣减/增加 | +| 祈愿 → 空提交 | 显示非空提示,不提交;输入测试愿望后提交只显示 Mock 结果,无真实上传 | +| 回向 | 显示当前神仙供奉天数、功德、次数;姓名/祝愿完整填写后可模拟提交;关闭或取消可回到详情 | +| 功德 → 9/99/168 | 选中态、输入值同步。100 余额选择 168 → 余额不足;确定只解释充值未接入,不打开支付 | +| 功德 → 9 → 确定 | 只显示模拟选择结果,余额仍为 100,不产生捐款或功德奖励 | +| 功德 → 随机 | 显示随机区间待确认提示,不生成自创金额 | +| 送神 → 取消 | 保留当前已恭请状态 | +| 送神 → 确定 | 返回天宫,对应卡片转未恭请;其他神仙不变;保留演示历史统计,不假设清零规则 | +| 禄星等未恭请卡片 | 卡片内出现“您还未恭请此神 / 是否恭请 / 恭请”,点 × 关闭;恭请进入对应请神页 | +| 请神 → 确定 | 支架提醒 → 模拟等待;取消不改变恭请状态;无 NFC/蓝牙权限请求 | +| 等待 → 模拟连接成功 | 成功弹窗 → 进入对应敬神;返回列表该神仙变彩色。不会把禄星错误显示为财神 | +| 天宫 → Mock 演示设置 → 设为 0 | 未恭请神仙点请神可验收余额不足的演示路径;这不是定义了真实恭请价格 | +| Mock 演示设置 → 重置全部演示 | 恢复初始卡片、100 爱心、59 上香次数 | +| 直接打开详情且 id 无效 | 显示未找到并可返回,不默认冒充财神 | +| 窄屏/矮屏、长回向表单 | 弹窗受视口和安全区约束,内容可滚动,按钮不裁切;底部导航/五个动作可操作 | + +## 与原型/逻辑的差异 + +1. 加入明确 Mock 提示、返回/关闭入口、基本空值保护、操作结果说明及演示设置,仅为安全验收;真实生产文案可联调后收敛。 +2. 原型未恭请提示的卡片内样式已还原;供桌分层素材、上香图像切换、计数 +1、祈愿/回向/送神弹窗来自实际演示点击。 +3. 原型功德弹窗、两个余额不足弹窗、成功提示在总览可读。演示中点击顶部数字、香炉、可见功德热点均未能打开功德弹窗,因此本版新增明确“功德”入口使其可验收,不声称这一入口位置已经由原型跳转确认。 +4. 原型支架等待会自动推进/退出;本版改为明确“模拟连接成功”,可取消,不假装连接了设备。未接入 NFC、蓝牙、支架、支付、捐款、充值。 +5. 只有财神、禄星的独立详情神像可从当前画布读取。寿星/文昌星/月老使用各自列表原图并在请神页标明,不复用财神冒充;这三张完整详情神像仍待提供。 +6. 原型“禄星”介绍正文实际写“上清灵宝天尊”。原文保留并标记不一致,其他四位不自编介绍;神仙画像/名称口径待用户确认。 +7. 当前“善信缘主”用 You(示例),不把原型内王开运当作真实用户。天数、累计功德为演示数据,未定义真实计时与奖励算法。 +8. 无随机区间、请神价格、上香扣减和送神重置规则,因此不实现这些真实业务;只提供已知余额不足/成功的可控演示。 +9. 全部新图像来自墨刀当前已观察到的原始文件,在本地缩放压缩,不依赖运行时墨刀图床;未生成替代神像。 + +## 全部接口清单 + +实际页面仅调用 `services/tiangong.ts` 的 `listMockDeities`、`tiangongMock.snapshot/invite/incense/wish/dedicate/sendOff/offering/setDemoBalance/reset`,没有真实天宫网络请求。 + +服务层保留了 `tiangongRemoteContract`,从未在页面调用;不是已上线或已联调的能力。沿用既有请求层的鉴权方式。以下 `id` 是神仙 id,`bindingId` 是未来设备绑定记录 id。 + +| 状态 | 方法 | 路径 | 用途/请求字段 | +| --- | --- | --- | --- | +| 前端原已有,未验证后端 | GET | `/api/tiangong/items` | 神仙列表、原图及用户恭请状态 | +| 前端原已有,未验证后端 | GET | `/api/tiangong/items/{id}` | 神仙详情、介绍与统计 | +| 拟定,待确认 | POST | `/api/tiangong/items/{id}/invite` | 恭请,`bindingId` | +| 拟定,待确认 | POST | `/api/tiangong/items/{id}/incense` | 上香 | +| 拟定,待确认 | POST | `/api/tiangong/items/{id}/wishes` | 祈愿,`text` | +| 拟定,待确认 | POST | `/api/tiangong/items/{id}/dedications` | 回向,`name`、`text` | +| 拟定,待确认 | POST | `/api/tiangong/items/{id}/send-off` | 送神 | +| 拟定,待确认 | POST | `/api/tiangong/items/{id}/offerings` | 爱心功德,`amount`,非真实支付接口 | +| 拟定,待确认 | GET | `/api/tiangong/wallet` | 爱心余额 | +| 拟定,待确认 | GET | `/api/tiangong/bindings/{bindingId}` | 读取绑定/连接状态,不代替真实硬件实现 | + +以上拟定路径、返回字段、幂等键、错误码、原子扣款和硬件授权协议都必须经后端确认;不新增猜测的充值接口。 + +## 待确认问题 + +2026-10-17 更新:绑定即恭请、每位初始 2 次解绑、重新绑定不恢复额度、0 次禁止解绑已由用户确认,并已补充到 Mock。绑定/解绑与门禁新说明以 [1017 交付](./deity-binding-delivery.md) 为准;以下保留原交付的其他待确认项。 + +1. 禄星名称、详情画像与“灵宝天尊”正文应统一为哪一位?财神用“武财神”的原型称谓是否准确?请提供另外三位详情神像与五位正式介绍。 +2. 原型“功德”弹窗正式入口在哪里?是否保留当前显式入口? +3. 恭请是否消耗爱心,各神价格是多少?上香频率、消耗、功德奖励如何计算?送神是否清零统计、解除支架绑定、需要二次验证? +4. 随机爱心的范围、可用金额规则是什么?真实充值/捐款是否本期接入及其合规、支付流程是什么? +5. 支架通过 NFC、蓝牙还是其他协议?超时/失败/重复绑定/取消应该如何处理? +6. 祈愿和回向文本长度、是否必填、隐私存储、保留时长和审核规则是什么?目前仅做非空前端保护,不落库。 + +## 素材记录 + +导出工具为浏览器 pageAssets,原文件 `/uploads7/images/…`: + +- 五个列表图:`184914331/v2_tm2xlt.png`(财神)、`184914339/v2_tm2xnq.png`(禄星)、`184914344/v2_tm2xp4.png`(寿星)、`184914388/v2_tm2y7b.png`(文昌星)、`184914396/v2_tm2y9p.png`(月老)。 +- 详情神像:`184951976/v2_tm4prs.png`(财神)、`184951979/v2_tm4ps7.png`(禄星)。 +- 云纹:`184328087/v2_tlb2ag.png`;原始响应实际编码为 JPEG,已更正本地后缀。 +- 供桌:`184328109/v2_tlb2f3.jpg`,点香供桌:`184328108/v2_tlb2f2.jpg`。 +- `scripts/optimize-tiangong-assets.cjs` 仅作构建时缩放/压缩,保留神像透明度,需 sharp;不进行绘制或替换内容。 + +## 验证记录 + +- 32 项测试(包含 7 项新天宫测试)通过;TypeScript 检查通过。 +- H5 与微信小程序代码构建通过。打包成功不等于微信真机/上传审核通过,尚无微信开发者工具真机验收。 +- 新素材约 520 KB,小程序构建文件实际合计约 1.79 MB;构建仍有既有 vendor/chunk 性能提示,无编译错误。 +- 浏览器实际走通未恭请、模拟绑定、成功进入禄星详情、上香、祈愿空值/有效提交、回向有效提交、功德 168 余额不足、未接入充值说明、送神取消/确定和返回列表变灰。 +- 实测浏览器 CSS 视口 320×568、432×932 无横向溢出,导航文字/五个动作基线一致;320×448 的长回向弹窗受视口约束并可滚动取消。此项不代表所有微信真机已经验收。 +- 还验收了演示余额设为 0、寿星恭请余额不足路径;缺少独立神像/介绍时展示说明,不错误复用财神。 +- 不自动提交或推送代码,未启动后端。素材导出调用异常耗时,任务实际交付晚于计划时间。 diff --git a/package.json b/package.json index bafe9a8..fd99d41 100644 --- a/package.json +++ b/package.json @@ -3,12 +3,18 @@ "version": "0.0.1", "private": true, "scripts": { - "test:elements": "node --test scripts/fiveElements.test.cjs", + "test:account": "node --test scripts/accountIntegration.test.cjs scripts/frontendPreview.test.cjs", + "test:wxss": "node --test scripts/wxssCompatibility.test.cjs", + "test:navigation": "node --test scripts/navigation.test.cjs scripts/frontendPreview.test.cjs", + "test:tiangong": "node --test scripts/tiangong.test.cjs", + "test:elements": "node --test scripts/fiveElements.test.cjs scripts/elementIcon.test.cjs", "test:zodiac": "node --test scripts/zodiac.test.cjs", "test:zodiac-weekly": "node --test scripts/zodiacWeekly.test.cjs", "test:home": "node --test scripts/homeOverview.test.cjs", "dev:weapp": "taro build --type weapp --watch", - "build:weapp": "taro build --type weapp" + "build:weapp": "taro build --type weapp && node scripts/checkWxss.cjs", + "check:wxss": "node scripts/checkWxss.cjs", + "build:h5": "taro build --type h5" }, "dependencies": { "@babel/runtime": "^7.25.6", diff --git a/scripts/accountIntegration.test.cjs b/scripts/accountIntegration.test.cjs new file mode 100644 index 0000000..660b750 --- /dev/null +++ b/scripts/accountIntegration.test.cjs @@ -0,0 +1,189 @@ +const test = require('node:test') +const assert = require('node:assert/strict') +const fs = require('node:fs') +const path = require('node:path') +const vm = require('node:vm') +const ts = require('typescript') +const root = path.resolve(__dirname, '..') +const fullProfile = { id: 9, nickname: '测试用户', gender: '女', birthday: '1998-06-18', birthHour: '辰时', + province: '北京市', city: '北京市', district: '朝阳区', remainingEdits: 4, avatarUrl: '', elementReport: null } + +test('编辑页所有编译样式均限定页面,默认头像不复用我的元素水滴类', () => { + const runner = require.resolve('@tarojs/webpack5-runner') + const sass = require(require.resolve('sass', { paths: [runner] })) + const postcss = require(require.resolve('postcss', { paths: [runner] })) + const css = sass.renderSync({ file: path.join(root, 'src/pages/profile-edit/index.scss') }).css.toString() + let checked = 0 + postcss.parse(css).walkRules(rule => { + rule.selectors.forEach(selector => { + assert.match(selector, /^\.edit-page(?:\s|[.:#>+~\[]|$)/, `编辑页样式泄漏: ${selector}`) + checked++ + }) + }) + assert.ok(checked > 40) + assert.match(css, /\.edit-page \.edit-water-mascot/) + assert.doesNotMatch(css, /\.water-mascot\b/) + const source = fs.readFileSync(path.join(root, 'src/pages/profile-edit/index.tsx'), 'utf8') + assert.match(source, /className='edit-water-mascot'/) + assert.doesNotMatch(source, /className='water-mascot'/) +}) + +function setup(token = 'test-session') { + let profile = { ...fullProfile } + const storage = { token } + const calls = [], routes = [] + const taro = { default: { + getStorageSync: key => storage[key], + setStorageSync: (key, value) => { storage[key] = value }, + removeStorageSync: key => { delete storage[key] }, + request: async options => { + calls.push(options) + if (options.method === 'PUT') profile = { ...profile, ...options.data, remainingEdits: profile.remainingEdits - 1 } + return { statusCode: 200, data: { code: 0, data: { ...profile } } } + }, + uploadFile: async options => { + calls.push(options) + profile = { ...profile, avatarUrl: 'https://files.example.test/file/access?token=test-file-token' } + return { statusCode: 200, data: JSON.stringify({ code: 0, data: profile }) } + }, + switchTab: async options => { routes.push(options.url) }, + redirectTo: async options => { routes.push(options.url) } + } } + const cache = {} + function load(name) { + if (cache[name]) return cache[name] + const exports = {} + cache[name] = exports + vm.runInNewContext(ts.transpileModule(fs.readFileSync(path.join(root, `src/${name}.ts`), 'utf8'), { + compilerOptions: { module: ts.ModuleKind.CommonJS, target: ts.ScriptTarget.ES2019 } + }).outputText, { exports, process: { env: { TARO_ENV: 'h5' } }, window: { location: { search: '' } }, URLSearchParams, + require: id => id === '@tarojs/taro' ? taro : load(path.posix.normalize(path.posix.join(path.posix.dirname(name), id))) }) + return exports + } + return { service: load('services/request'), editing: load('utils/profileEditing'), account: load('services/account'), + taro: taro.default, storage, calls, routes } +} + +test('无登录凭证不发送个人资料请求;401清除缓存并同步所有订阅页面', async () => { + const missing = setup('') + await assert.rejects(missing.service.api.profile(), /请先登录/) + assert.equal(missing.calls.length, 0) + const ctx = setup() + await ctx.service.api.profile() + const updates = [] + const unsubscribe = ctx.service.subscribeProfile(profile => updates.push(profile)) + ctx.taro.request = async () => ({ statusCode: 401, data: { code: 401, message: '请重新登录' } }) + await assert.rejects(ctx.service.api.profile(true), /失效|登录/) + assert.equal(ctx.storage.token, undefined) + assert.equal(ctx.service.getCachedProfile(), null) + assert.equal(updates.at(-1), null) + unsubscribe() +}) + +test('头像经专用COS后端接口上传,Bearer字段正确,禁止H5跨域Cookie', async () => { + const ctx = setup() + const updates = [] + ctx.service.subscribeProfile(profile => updates.push(profile)) + const profile = await ctx.service.api.uploadAvatar('blob:local-avatar') + const upload = ctx.calls[0] + assert.equal(upload.url, 'http://127.0.0.1:8080/api/user/avatar') + assert.equal(upload.name, 'file') + assert.equal(upload.filePath, 'blob:local-avatar') + assert.equal(upload.header.Authorization, 'Bearer test-session') + assert.equal(upload.header['content-type'], undefined) + assert.equal(upload.withCredentials, false) + assert.equal(profile.avatarUrl, updates.at(-1).avatarUrl) + assert.equal(ctx.service.getCachedProfile().avatarUrl, profile.avatarUrl) + assert.equal((await ctx.service.api.profile()).avatarUrl, profile.avatarUrl) + assert.equal(ctx.calls.length, 1) +}) + +test('上传失败不覆盖已有头像;HTML 401也清理会话', async () => { + const ctx = setup() + await ctx.service.api.profile() + ctx.taro.uploadFile = async () => ({ statusCode: 400, data: JSON.stringify({ code: 400, message: '仅支持 JPG、PNG 或 WebP 头像' }) }) + await assert.rejects(ctx.service.api.uploadAvatar('bad.gif'), /仅支持/) + assert.equal(ctx.service.getCachedProfile().avatarUrl, '') + ctx.taro.uploadFile = async () => ({ statusCode: 401, data: 'unauthorized' }) + await assert.rejects(ctx.service.api.uploadAvatar('test.png'), /失效|登录/) + assert.equal(ctx.storage.token, undefined) +}) + +test('新注册空资料保持空值,老用户直接保存token进入我的', async () => { + const ctx = setup('') + await ctx.account.finishAccountLogin({ token: 'new-session', user: { ...fullProfile, birthday: null, birthHour: null, + gender: '未知', province: null, city: null, district: null } }) + assert.equal(ctx.storage.token, 'new-session') + assert.equal(ctx.service.getCachedProfile().birthday, '') + assert.equal(ctx.editing.toEditableProfile(ctx.service.getCachedProfile()).gender, '') + assert.equal(ctx.routes.at(-1), '/pages/profile-edit/index?mode=register') + await ctx.account.finishAccountLogin({ token: 'returning-session', user: fullProfile }) + assert.equal(ctx.routes.at(-1), '/pages/my/index') + assert.equal(ctx.service.getCachedProfile().id, 9) +}) + +test('单独更新头像不调用资料PUT,且不受资料额度为0限制', async () => { + const ctx = setup() + let personalWrites = 0 + const initial = { ...fullProfile, remainingEdits: 0 } + const result = await ctx.editing.saveProfileEdits(initial, ctx.editing.toEditableProfile(initial), 'avatar.png', { + uploadAvatar: async () => ({ ...initial, avatarUrl: '/file/access?token=fixture' }), + updateProfile: async () => { personalWrites++; return initial } + }, () => {}) + assert.equal(personalWrites, 0) + assert.equal(result.profile.remainingEdits, 0) + assert.equal(result.changed, true) +}) + +test('头像上传失败不消费个人资料额度;先上传再保存且只PUT一次', async () => { + const ctx = setup() + const form = { ...ctx.editing.toEditableProfile(fullProfile), nickname: '新昵称' } + const order = [] + const writer = { + uploadAvatar: async () => { order.push('upload'); throw new Error('COS不可用') }, + updateProfile: async () => { order.push('put'); return { ...fullProfile, ...form, remainingEdits: 3 } } + } + await assert.rejects(ctx.editing.saveProfileEdits(fullProfile, form, 'avatar.png', writer, () => {}), /COS/) + assert.deepEqual(order, ['upload']) + order.length = 0 + writer.uploadAvatar = async () => { order.push('upload'); return { ...fullProfile, avatarUrl: '/avatar.png' } } + await ctx.editing.saveProfileEdits(fullProfile, form, 'avatar.png', writer, () => order.push('sync')) + assert.deepEqual(order, ['upload', 'sync', 'put']) +}) + +test('头像成功而资料失败会明确提示;重试不再次上传文件', async () => { + const ctx = setup() + const form = { ...ctx.editing.toEditableProfile(fullProfile), nickname: '新昵称' } + let uploads = 0, writes = 0, uploaded + const writer = { + uploadAvatar: async () => { uploads++; return { ...fullProfile, avatarUrl: '/saved.png' } }, + updateProfile: async () => { writes++; throw new Error('资料暂不可用') } + } + await assert.rejects(ctx.editing.saveProfileEdits(fullProfile, form, 'avatar.png', writer, profile => { uploaded = profile }), /头像已更新,个人资料未保存/) + writer.updateProfile = async () => { writes++; return { ...uploaded, ...form } } + await ctx.editing.saveProfileEdits(uploaded, form, '', writer, () => {}) + assert.equal(uploads, 1); assert.equal(writes, 2) +}) + +test('不发送未更改的个人资料;校验非法日期、缺失信息和昵称', async () => { + const ctx = setup() + let writes = 0 + const form = ctx.editing.toEditableProfile(fullProfile) + const unchanged = await ctx.editing.saveProfileEdits(fullProfile, form, '', { uploadAvatar: async () => fullProfile, + updateProfile: async () => { writes++; return fullProfile } }, () => {}) + assert.equal(unchanged.changed, false); assert.equal(writes, 0) + for (const patch of [{ nickname: '' }, { gender: '' }, { birthday: '2026-02-30' }, { birthday: '2999-01-01' }]) { + assert.throws(() => ctx.editing.validateProfileForm({ ...form, ...patch })) + } +}) + +test('三个位置共用头像组件,编辑失败不回退假资料,不再使用dev-code登录', () => { + for (const page of ['home', 'my', 'profile-edit']) { + const source = fs.readFileSync(path.join(root, `src/pages/${page}/index.tsx`), 'utf8') + assert.match(source, /UserAvatar/) + assert.doesNotMatch(source, /setProfile\(previewProfile\)/) + } + for (const page of ['home', 'my']) assert.match(fs.readFileSync(path.join(root, `src/pages/${page}/index.tsx`), 'utf8'), /subscribeProfile/) + assert.doesNotMatch(fs.readFileSync(path.join(root, 'src/pages/login/index.tsx'), 'utf8'), /dev-code/) + assert.match(fs.readFileSync(path.join(root, 'src/components/UserAvatar.tsx'), 'utf8'), /api.profile\(true\)/) +}) diff --git a/scripts/checkWxss.cjs b/scripts/checkWxss.cjs new file mode 100644 index 0000000..452b09d --- /dev/null +++ b/scripts/checkWxss.cjs @@ -0,0 +1,54 @@ +const fs = require('node:fs') +const path = require('node:path') +const { spawnSync } = require('node:child_process') +const runner = require.resolve('@tarojs/webpack5-runner') +const postcss = require(require.resolve('postcss', { paths: [runner] })) +const parseSelector = require(require.resolve('postcss-selector-parser', { paths: [runner] })) +const dist = path.resolve(__dirname, '../dist') + +function collect(folder) { + return fs.readdirSync(folder, { withFileTypes: true }).flatMap(entry => { + const file = path.join(folder, entry.name) + return entry.isDirectory() ? collect(file) : file.endsWith('.wxss') ? [file] : [] + }) +} + +function validateWxss(css, label) { + postcss.parse(css).walkRules(rule => { + if (rule.parent.type === 'atrule' && /keyframes$/i.test(rule.parent.name)) return + parseSelector(selectors => selectors.walkUniversals(() => { + throw new Error(`${label}:WXSS 不支持通配选择器 ${rule.selector}`) + })).processSync(rule.selector) + parseSelector(selectors => selectors.walkPseudos(pseudo => { + if (/^:(?:first|last|nth|only)-(?:child|of-type)$/.test(pseudo.value) + && (!pseudo.prev() || pseudo.prev().type === 'combinator')) { + throw new Error(`${label}:WXSS 结构伪类前需明确元素或类名 ${rule.selector}`) + } + })).processSync(rule.selector) + }) +} + +function main() { + if (!fs.existsSync(path.join(dist, 'app.wxss'))) throw new Error('请先构建微信小程序') + const files = collect(dist) + for (const file of files) validateWxss(fs.readFileSync(file, 'utf8'), path.relative(dist, file)) + console.log(`WXSS 选择器兼容检查通过:${files.length} 个文件`) + + const compiler = process.env.WECHAT_WXSS_COMPILER + || '/Applications/wechatwebdevtools.app/Contents/Resources/app.asar.unpacked/node_modules/wcc-exec/wcsc' + if (!fs.existsSync(compiler)) { + if (process.env.WECHAT_WXSS_COMPILER) throw new Error('指定的微信 WXSS 编译器不存在') + console.warn('未找到微信原生 WXSS 编译器:本次仅完成静态检查,仍需开发者工具编译验收。可设置 WECHAT_WXSS_COMPILER。') + } else { + // The native compiler resolves @import from its supplied file collection. + const result = spawnSync(compiler, ['-lc', '-pc', String(files.length), ...files.map(file => `./${path.relative(dist, file)}`)], { + cwd: dist, encoding: 'utf8', maxBuffer: 16 * 1024 * 1024 + }) + if (result.error) throw result.error + if (result.status !== 0) throw new Error(`微信原生编译失败:${result.stderr.slice(0, 3000)}`) + console.log(`微信原生 WXSS 编译通过:${files.length} 个文件`) + } +} + +module.exports = { validateWxss } +if (require.main === module) main() diff --git a/scripts/elementIcon.test.cjs b/scripts/elementIcon.test.cjs new file mode 100644 index 0000000..dd14fe9 --- /dev/null +++ b/scripts/elementIcon.test.cjs @@ -0,0 +1,74 @@ +const test = require('node:test') +const assert = require('node:assert/strict') +const fs = require('node:fs') +const path = require('node:path') +const vm = require('node:vm') +const ts = require('typescript') +const root = path.resolve(__dirname, '..') +const cache = new Map() +function load(file) { + if (cache.has(file)) return cache.get(file) + const exports = {} + cache.set(file, exports) + const code = ts.transpileModule(fs.readFileSync(file, 'utf8'), { + compilerOptions: { module: ts.ModuleKind.CommonJS, target: ts.ScriptTarget.ES2019, jsx: ts.JsxEmit.ReactJSX } + }).outputText + vm.runInNewContext(code, { exports, require: id => { + if (id.endsWith('.scss')) return {} + if (id === '@tarojs/components') return { View: 'view', Text: 'text' } + if (id.startsWith('.')) return load(path.resolve(path.dirname(file), `${id}.ts`)) + return require(id) + } }) + return exports +} +const { getDayMasterIcon } = load(path.join(root, 'src/utils/elementIcon.ts')) +const { calculateFiveElements, analyzePillars } = load(path.join(root, 'src/utils/fiveElements.ts')) +const { FiveElementIcon } = load(path.join(root, 'src/components/FiveElementIcon.tsx')) + +test('十天干的日主对应五种元素图标,不按最高占比或喜用选择', () => { + const days = ['甲子', '乙丑', '丙寅', '丁卯', '戊辰', '己巳', '庚午', '辛未', '壬申', '癸酉'] + const expected = ['wood', 'wood', 'fire', 'fire', 'earth', 'earth', 'metal', 'metal', 'water', 'water'] + days.forEach((day, index) => { + const report = analyzePillars(['甲寅', '乙卯', day, '壬子']) + const icon = getDayMasterIcon(report) + assert.equal(icon.kind, expected[index]) + assert.equal(icon.label, report.masterElement) + assert.match(icon.color, /^#[0-9a-f]{6}$/) + const component = FiveElementIcon({ report }) + assert.equal(component.props.className, `five-element-icon five-element-${expected[index]}`) + assert.equal(component.props['aria-label'], `日主五行:${report.masterElement}`) + }) + const report = analyzePillars(['甲寅', '乙卯', '庚申', '甲寅']) + assert.equal([...report.scores].sort((a, b) => b.value - a.value)[0].name, '木') + assert.equal(getDayMasterIcon(report).kind, 'metal') +}) + +test('真实生日变动同步切换日主图标,数据缺失或非法不默认显示水', () => { + const kinds = new Set() + for (let day = 10; day < 20; day++) { + const report = calculateFiveElements(`1998-06-${day}`, '辰时') + kinds.add(getDayMasterIcon(report).kind) + } + assert.equal(kinds.size, 5) + const first = getDayMasterIcon(calculateFiveElements('1998-06-18', '辰时')) + const changed = getDayMasterIcon(calculateFiveElements('1998-06-20', '辰时')) + assert.notEqual(first.kind, changed.kind) + for (const report of [null, undefined, { masterElement: '未知' }, calculateFiveElements('', '')]) { + assert.equal(getDayMasterIcon(report).kind, 'unknown') + } + assert.equal(FiveElementIcon({ report: null }).props['aria-label'], '完善出生信息后显示日主五行') +}) + +test('我的元素复用当前报告,个人头像保持独立,图标样式不污染水滴默认头像', () => { + const page = fs.readFileSync(path.join(root, 'src/pages/my/index.tsx'), 'utf8') + assert.match(page, //) + assert.match(page, /calculateFiveElements\(profile.birthday, profile.birthHour\)/) + assert.match(page, /\[profile\?\.birthday, profile\?\.birthHour\]/) + assert.match(page, /]+fallback=\{\}/) + assert.doesNotMatch(page, / rule.selectors.forEach(selector => assert.match(selector, /^\.five-element-/))) + assert.doesNotMatch(css, /\.water-mascot/) +}) diff --git a/scripts/frontendPreview.test.cjs b/scripts/frontendPreview.test.cjs index dc9e910..d6527c6 100644 --- a/scripts/frontendPreview.test.cjs +++ b/scripts/frontendPreview.test.cjs @@ -5,28 +5,36 @@ const path = require('node:path') const vm = require('node:vm') const ts = require('typescript') -function loadApi(env, search) { +function loadApi(env, search, initialToken = 'test-token') { let requests = 0 let uploads = 0 + let token = initialToken + let serverProfile = { id: 9, nickname: 'Original', birthday: '1998-06-18' } const taro = { default: { - getStorageSync: () => '', - request: async () => { requests++; return { data: { code: 0, data: { id: 9 } } } }, - uploadFile: async () => { uploads++; return { data: JSON.stringify({ code: 0, data: { id: 9 } }) } } + getStorageSync: () => token, + setStorageSync: (key, value) => { if (key === 'token') token = value }, + removeStorageSync: () => { token = '' }, + request: async (options) => { + requests++ + if (options.method === 'PUT') serverProfile = { ...serverProfile, ...options.data } + return { statusCode: 200, data: { code: 0, data: { ...serverProfile } } } + }, + uploadFile: async () => { uploads++; return { statusCode: 200, data: JSON.stringify({ code: 0, data: { id: 9 } }) } } } } const cache = {} function load(name) { if (cache[name]) return cache[name] - const source = fs.readFileSync(path.resolve(__dirname, `../src/services/${name}.ts`), 'utf8') + const source = fs.readFileSync(path.resolve(__dirname, `../src/${name}.ts`), 'utf8') const code = ts.transpileModule(source, { compilerOptions: { module: ts.ModuleKind.CommonJS, target: ts.ScriptTarget.ES2017 } }).outputText const exports = {} cache[name] = exports vm.runInNewContext(code, { exports, process: { env: { TARO_ENV: env } }, window: { location: { search } }, URLSearchParams, - require: (id) => id === '@tarojs/taro' ? taro : load('frontendPreview') + require: (id) => id === '@tarojs/taro' ? taro : load(path.posix.normalize(path.posix.join(path.posix.dirname(name), id))) }) return exports } - return { api: load('request').api, counts: () => ({ requests, uploads }) } + return { api: load('services/request').api, getToken: () => token, counts: () => ({ requests, uploads }) } } test('显式H5预览使用示例资料,阻止后端读取、保存和上传', async () => { @@ -49,3 +57,49 @@ test('普通H5和微信端不使用预览资料', async () => { assert.deepEqual(counts(), { requests: 1, uploads: 0 }) } }) + +test('首页与我的复用资料,修改生日后立即读取新值,编辑页可强制刷新', async () => { + const { api, counts } = loadApi('h5', '') + await Promise.all([api.profile(), api.profile()]) + assert.equal(counts().requests, 1) + await api.updateProfile({ birthday: '2000-02-05' }) + const updated = await api.profile() + assert.equal(updated.birthday, '2000-02-05') + assert.equal(counts().requests, 2) + updated.birthday = '1900-01-01' + assert.equal((await api.profile()).birthday, '2000-02-05') + await api.profile(true) + assert.equal(counts().requests, 3) +}) + +test('已登录头像演示无需token,保存同步且不注册、不上传真实后端,刷新重置', async () => { + const { api, counts, getToken } = loadApi('h5', '?avatarDemo=1', '') + assert.equal((await api.profile()).nickname, '演示用户') + assert.equal((await api.profile()).id, -1) + const uploaded = await api.uploadAvatar('blob:local-photo') + assert.equal(uploaded.avatarUrl, 'blob:local-photo') + assert.equal(uploaded.remainingEdits, 5) + assert.equal((await api.profile(true)).avatarUrl, 'blob:local-photo') + await api.updateProfile({ nickname: '我的演示' }) + assert.equal((await api.profile()).nickname, '我的演示') + assert.equal((await api.profile()).remainingEdits, 4) + await assert.rejects(api.uploadAvatar('https://remote.example/photo.png'), /本地图片/) + await assert.rejects(api.wxLogin('fake'), /不请求真实后端/) + await assert.rejects(api.sendSms('13800000000'), /不请求真实后端/) + await assert.rejects(api.bindPhone('fake', '13800000000', '123456'), /不请求真实后端/) + assert.equal(getToken(), '') + assert.deepEqual(counts(), { requests: 0, uploads: 0 }) + assert.equal((await loadApi('h5', '?avatarDemo=1').api.profile()).avatarUrl, '') +}) + +test('头像演示不进入微信端;不影响原只读preview和真实token', async () => { + const real = loadApi('weapp', '?avatarDemo=1') + assert.equal((await real.api.profile()).id, 9) + assert.equal(real.counts().requests, 1) + const preview = loadApi('h5', '?preview=1&avatarDemo=1') + assert.equal((await preview.api.profile()).id, 0) + await assert.rejects(preview.api.uploadAvatar('blob:local'), /纯前端预览/) + const demo = loadApi('h5', '?avatarDemo=1') + await demo.api.uploadAvatar('blob:local') + assert.equal(demo.getToken(), 'test-token') +}) diff --git a/scripts/navigation.test.cjs b/scripts/navigation.test.cjs new file mode 100644 index 0000000..f8156a9 --- /dev/null +++ b/scripts/navigation.test.cjs @@ -0,0 +1,82 @@ +const test = require('node:test') +const assert = require('node:assert/strict') +const fs = require('node:fs') +const path = require('node:path') +const vm = require('node:vm') +const ts = require('typescript') +const root = path.resolve(__dirname, '..') +function load(file, requireImpl = require, globals = {}) { + const source = fs.readFileSync(path.join(root, file), 'utf8') + const exports = {} + vm.runInNewContext(ts.transpileModule(source, { compilerOptions: { module: ts.ModuleKind.CommonJS, target: ts.ScriptTarget.ES2019 } }).outputText, + { exports, require: requireImpl, ...globals }) + return exports +} +const { createResourceCache } = load('src/utils/resourceCache.ts') +test('三个主页面均注册为Tab,切换不使用push/redirect', () => { + let config + load('src/app.config.ts', require, { defineAppConfig: value => { config = value } }) + assert.deepEqual(Array.from(config.tabBar.list, item => item.pagePath), ['pages/home/index', 'pages/fortune/index', 'pages/my/index']) + const bar = fs.readFileSync(path.join(root, 'src/components/AppTabBar.tsx'), 'utf8') + assert.doesNotMatch(bar, /navigateTo|redirectTo/) +}) +test('连续点击只切换一次,完成或失败后均可继续点击', async () => { + const urls = [], notices = [] + let complete + const { switchMainTab } = load('src/services/tabNavigation.ts', () => ({ default: { + switchTab: ({ url }) => { urls.push(url); return new Promise(resolve => { complete = resolve }) }, + showToast: value => notices.push(value.title) + } })) + await switchMainTab('home', 'home') + assert.equal(urls.length, 0) + const first = switchMainTab('fortune', 'home') + await switchMainTab('my', 'home') + assert.equal(urls.length, 1) + complete(); await first + const next = switchMainTab('my', 'fortune') + complete(); await next + assert.deepEqual(urls, ['/pages/fortune/index', '/pages/my/index']) + const failing = load('src/services/tabNavigation.ts', () => ({ default: { + switchTab: () => Promise.reject(new Error('offline')), showToast: value => notices.push(value.title) + } })) + await failing.switchMainTab('my') + await failing.switchMainTab('fortune') + assert.equal(notices.length, 2) +}) +test('资料缓存合并并发请求,过期保留快照并重取;失败可重试', async () => { + let now = 0, calls = 0 + const cache = createResourceCache(30, () => now) + const loader = async () => { calls++; return { nickname: 'A' } } + const [a,b] = await Promise.all([cache.load('a', loader), cache.load('a', loader)]) + assert.equal(a, b); assert.equal(calls, 1) + await cache.load('a', loader); assert.equal(calls, 1) + now = 31 + assert.equal(cache.peek('a').nickname, 'A') + await assert.rejects(cache.load('a', async () => { throw new Error('offline') }), /offline/) + await cache.load('a', loader); assert.equal(calls, 2) + await cache.load('a', loader, true); assert.equal(calls, 3) +}) +test('保存后的新资料不会被旧请求覆盖,不同账号不共用缓存', async () => { + const cache = createResourceCache(30) + let finish + const old = cache.load('a', () => new Promise(resolve => { finish = resolve })) + await Promise.resolve() + cache.seed('a', { nickname: 'New' }) + finish({ nickname: 'Old' }) + assert.equal((await old).nickname, 'New') + assert.equal(cache.peek('b'), undefined) + let resolveA + const readA = cache.load('a', () => new Promise(resolve => { resolveA = resolve })) + await Promise.resolve() + cache.seed('b', { nickname: 'B' }) + resolveA({ nickname: 'A' }) + await assert.rejects(readA, /登录状态已变更/) + assert.equal(cache.peek('b').nickname, 'B') + let resolveOldA + const oldA = cache.load('a', () => new Promise(resolve => { resolveOldA = resolve })) + await Promise.resolve() + cache.peek('b'); cache.peek('a') + resolveOldA({ nickname: 'Outdated A' }) + await assert.rejects(oldA, /资料状态已变更/) + assert.equal(cache.peek('a'), undefined) +}) diff --git a/scripts/optimize-tiangong-assets.cjs b/scripts/optimize-tiangong-assets.cjs new file mode 100644 index 0000000..c8283e4 --- /dev/null +++ b/scripts/optimize-tiangong-assets.cjs @@ -0,0 +1,29 @@ +// Technical build-time resampling/compression only; artwork and alpha are preserved. +// Requires sharp (available in the bundled workspace runtime), no network requests. +const path = require('node:path') +const fs = require('node:fs') +const sharp = require('sharp') +const source = process.argv[2] +if (!source) throw new Error('Pass the directory exported by the browser pageAssets capability') +const output = path.resolve(__dirname, '../src/assets/tiangong') +const jobs = [ + ['5ee867165b3314a2.png', 'wealth', 'icon'], + ['d00ddb9d78132e08.png', 'fortune', 'icon'], + ['c8acca9ecd8bf75b.png', 'longevity', 'icon'], + ['6b935cc3a3f6178e.png', 'wenchang', 'icon'], + ['778c1072c4dcdcbe.png', 'matchmaker', 'icon'], + ['295b80249bc5355a.png', 'wealth-statue', 'statue'], + ['1d88a8dcad0553ef.png', 'fortune-statue', 'statue'], + ['c7ef27f2d9dcc38a.png', 'clouds', 'background'], + ['f0bcdd293f5f5ef3.jpg', 'altar', 'altar'], + ['01b38f88c3e69699.jpg', 'altar-lit', 'altar'] +] +;(async () => { + for (const [filename, name, kind] of jobs) { + const asset = sharp(path.join(source, filename)) + const destination = path.join(output, `proto-${name}.${kind === 'statue' ? 'png' : 'jpg'}`) + if (kind === 'statue') await asset.resize(640, 640, { fit: 'inside' }).png({ palette: true, colours: 128, quality: 80, effort: 10, compressionLevel: 9 }).toFile(destination) + else await asset.resize({ width: kind === 'icon' ? 384 : kind === 'altar' ? 800 : 540, withoutEnlargement: true }).jpeg({ quality: 76, mozjpeg: true }).toFile(destination) + console.log(path.basename(destination), fs.statSync(destination).size) + } +})().catch(error => { console.error(error); process.exitCode = 1 }) diff --git a/scripts/tiangong.test.cjs b/scripts/tiangong.test.cjs new file mode 100644 index 0000000..b7285f9 --- /dev/null +++ b/scripts/tiangong.test.cjs @@ -0,0 +1,136 @@ +const test = require('node:test') +const assert = require('node:assert/strict') +const fs = require('node:fs') +const path = require('node:path') +const Module = require('node:module') +const ts = require('typescript') +const root = path.resolve(__dirname, '..') +const filename = path.join(root, 'src/utils/tiangongMock.ts') +const loaded = new Module(filename, module) +loaded._compile(ts.transpileModule(fs.readFileSync(filename, 'utf8'), { compilerOptions: { module: ts.ModuleKind.CommonJS, target: ts.ScriptTarget.ES2019 } }).outputText, filename) +const { createTiangongMock, DEITY_IDS, isDeityId, hasBoundDeity } = loaded.exports + +test('天宫仅财神初始已恭请,五位神仙独立且状态快照隔离', () => { + const mock = createTiangongMock() + const first = mock.snapshot() + assert.equal(DEITY_IDS.length, 5) + assert.deepEqual(DEITY_IDS.filter(id => first.deities[id].unlocked), ['wealth']) + assert.equal(first.balance, 100) + first.deities.wealth.incenseCount = 999 + assert.equal(mock.snapshot().deities.wealth.incenseCount, 59) + assert.equal(isDeityId('not-a-god'), false) +}) +test('上香点亮供桌次数+1,不猜测爱心扣减与功德奖励', () => { + const mock = createTiangongMock() + const state = mock.incense('wealth') + assert.equal(state.deities.wealth.incenseCount, 60) + assert.equal(state.deities.wealth.lit, true) + assert.equal(state.deities.wealth.merit, 99) + assert.equal(state.balance, 100) + assert.throws(() => mock.incense('fortune'), /未恭请/) +}) +test('模拟恭请和送神只改变指定神仙,返回列表状态可同步', () => { + const mock = createTiangongMock() + mock.invite('fortune') + mock.incense('fortune') + assert.equal(mock.snapshot().deities.fortune.incenseCount, 1) + mock.sendOff('fortune') + assert.equal(mock.snapshot().deities.fortune.unlocked, false) + assert.equal(mock.snapshot().deities.fortune.lit, false) + assert.equal(mock.snapshot().deities.wealth.unlocked, true) + assert.equal(mock.snapshot().balance, 100) +}) +test('档位、非法金额与余额不足可以验证,但不执行任何真实扣款', () => { + const mock = createTiangongMock() + assert.equal(mock.offering('wealth', 99).insufficient, false) + assert.equal(mock.offering('wealth', 168).insufficient, true) + assert.equal(mock.snapshot().balance, 100) + for (const value of [0, -1, 1.5, NaN, Infinity]) assert.throws(() => mock.offering('wealth', value), /正整数/) + mock.setDemoBalance(0) + assert.equal(mock.offering('wealth', 9).insufficient, true) +}) +test('祈愿/回向校验空值,不持久化姓名或祝愿;重置还原样例', () => { + const mock = createTiangongMock() + assert.throws(() => mock.wish('wealth', ' '), /愿望/) + assert.throws(() => mock.dedicate('wealth', '甲', ''), /填写/) + assert.deepEqual(mock.wish('wealth', '测试愿望'), { mock: true }) + assert.deepEqual(mock.dedicate('wealth', '测试姓名', '测试祝愿'), { mock: true }) + assert.ok(!JSON.stringify(mock.snapshot()).includes('测试')) + mock.invite('fortune') + mock.reset() + assert.equal(mock.snapshot().deities.fortune.unlocked, false) + assert.equal(mock.snapshot().balance, 100) +}) +test('未知神仙不回退为财神,页面只导入Mock;预留契约不被调用', () => { + const service = fs.readFileSync(path.join(root, 'src/services/tiangong.ts'), 'utf8') + assert.ok(!service.includes("id || 'wealth'")) + for (const page of ['fortune', 'tiangong-detail']) { + const source = fs.readFileSync(path.join(root, `src/pages/${page}/index.tsx`), 'utf8') + assert.ok(!/api\.|tiangongRemoteContract\./.test(source)) + } + const mock = createTiangongMock() + assert.throws(() => mock.invite('bad'), /未找到/) +}) +test('图像均为本地原型素材,没有错误后缀或带写死数字的整页截图', () => { + for (const name of ['wealth', 'fortune', 'longevity', 'wenchang', 'matchmaker', 'clouds', 'altar', 'altar-lit']) { + const buffer = fs.readFileSync(path.join(root, `src/assets/tiangong/proto-${name}.jpg`)) + assert.equal(buffer.subarray(0, 2).toString('hex'), 'ffd8') + } + for (const name of ['wealth', 'fortune']) { + const buffer = fs.readFileSync(path.join(root, `src/assets/tiangong/proto-${name}-statue.png`)) + assert.equal(buffer.subarray(1, 4).toString(), 'PNG') + } + const source = fs.readFileSync(path.join(root, 'src/pages/tiangong-detail/index.tsx'), 'utf8') + assert.ok(!source.includes('wealth-detail-scene.jpg')) +}) + +test('最后一位解绑锁定,任意一位绑定重新解锁;解绑他位不影响已有绑定', () => { + const mock = createTiangongMock() + assert.equal(hasBoundDeity(mock.snapshot()), true) + mock.unbind('wealth') + assert.equal(hasBoundDeity(mock.snapshot()), false) + mock.invite('fortune') + assert.equal(hasBoundDeity(mock.snapshot()), true) + mock.invite('wealth') + mock.unbind('fortune') + assert.equal(hasBoundDeity(mock.snapshot()), true) +}) +test('每位初始2次,重复恭请/取消不扣减或重置,耗尽后送神也不能绕过', () => { + const mock = createTiangongMock() + assert.equal(mock.snapshot().deities.wealth.remainingUnbinds, 2) + // Viewing a confirmation/cancelling is read-only. + mock.snapshot(); mock.snapshot() + assert.equal(mock.snapshot().deities.wealth.remainingUnbinds, 2) + mock.unbind('wealth') + assert.equal(mock.snapshot().deities.wealth.remainingUnbinds, 1) + assert.throws(() => mock.unbind('wealth'), /未恭请/) + mock.invite('wealth'); mock.invite('wealth') + assert.equal(mock.snapshot().deities.wealth.remainingUnbinds, 1) + mock.sendOff('wealth') + assert.equal(mock.snapshot().deities.wealth.remainingUnbinds, 0) + mock.invite('wealth') + for (const action of ['unbind', 'sendOff']) assert.throws(() => mock[action]('wealth'), /次数已用尽/) + assert.equal(mock.snapshot().deities.wealth.unlocked, true) + assert.equal(mock.snapshot().deities.fortune.remainingUnbinds, 2) +}) +test('绑定、解绑、重置同步通知缓存Tab;退订后不再通知', () => { + const mock = createTiangongMock() + const states = [] + const unsubscribe = mock.subscribe(() => states.push(hasBoundDeity(mock.snapshot()))) + mock.unbind('wealth'); mock.invite('fortune'); mock.reset() + assert.deepEqual(states, [false, true, true]) + unsubscribe(); mock.unbind('wealth') + assert.equal(states.length, 3) + assert.equal(mock.snapshot().deities.wealth.remainingUnbinds, 1) +}) +test('绑定门禁和卡片采用神仙用语,真实NFC与解绑契约不被页面调用', () => { + for (const name of ['home', 'my']) { + const source = fs.readFileSync(path.join(root, `src/pages/${name}/index.tsx`), 'utf8') + assert.match(source, /hasBoundDeity/) + assert.match(source, /BindingGate/) + assert.doesNotMatch(source, /吉物|山鬼花钱/) + } + const ui = fs.readFileSync(path.join(root, 'src/components/DeityBinding.tsx'), 'utf8') + assert.match(ui, /disabled=\{state.remainingUnbinds === 0\}/) + assert.doesNotMatch(ui, /getNFCAdapter|tiangongRemoteContract\./) +}) diff --git a/scripts/wxssCompatibility.test.cjs b/scripts/wxssCompatibility.test.cjs new file mode 100644 index 0000000..06c7ef3 --- /dev/null +++ b/scripts/wxssCompatibility.test.cjs @@ -0,0 +1,29 @@ +const test = require('node:test') +const assert = require('node:assert/strict') +const fs = require('node:fs') +const path = require('node:path') +const { validateWxss } = require('./checkWxss.cjs') + +test('WXSS 检查阻止通配选择器和无明确元素的结构伪类', () => { + assert.throws(() => validateWxss('.zodiac-body > * { flex-shrink: 0; }', 'my'), /通配选择器/) + assert.throws(() => validateWxss('.tg-panel-heading > :last-child { flex: 1; }', 'detail'), /结构伪类/) + assert.doesNotThrow(() => validateWxss('.zodiac-summary, .zodiac-large { flex-shrink: 0; } .card:first-child { margin: 0; }', 'valid')) +}) + +test('所有业务 SCSS 编译后不含上述微信不兼容选择器', () => { + const sass = require(require.resolve('sass', { paths: [require.resolve('@tarojs/webpack5-runner')] })) + const source = path.resolve(__dirname, '../src') + let count = 0 + function check(folder) { + for (const entry of fs.readdirSync(folder, { withFileTypes: true })) { + const file = path.join(folder, entry.name) + if (entry.isDirectory()) check(file) + else if (file.endsWith('.scss')) { + validateWxss(sass.renderSync({ file }).css.toString(), path.relative(source, file)) + count++ + } + } + } + check(source) + assert.ok(count >= 10) +}) diff --git a/src/app.config.ts b/src/app.config.ts index 77d7672..be829ac 100644 --- a/src/app.config.ts +++ b/src/app.config.ts @@ -15,7 +15,7 @@ export default defineAppConfig({ navigationStyle: 'custom', backgroundColor: '#fffdf7' }, - tabBar: process.env.TARO_ENV === 'h5' ? undefined : { + tabBar: { custom: true, color: '#cfcfcf', selectedColor: '#9a6d0f', @@ -25,6 +25,10 @@ export default defineAppConfig({ pagePath: 'pages/home/index', text: '首页' }, + { + pagePath: 'pages/fortune/index', + text: '天宫' + }, { pagePath: 'pages/my/index', text: '我的' diff --git a/src/app.scss b/src/app.scss index 4accb9c..480e536 100644 --- a/src/app.scss +++ b/src/app.scss @@ -17,6 +17,16 @@ button::after { border: 0; } +// H5 uses the same cached Tab routes as WeChat, with our own visual tab bar. +// Taro 3.6 still creates a native H5 bar even when custom:true is configured. +#container > taro-tabbar { display: none !important; } +#container .taro_page.taro_tabbar_page { + max-height: 100vh; + max-height: 100dvh; +} +#app .taro_page { overflow-y: auto; scrollbar-width: none; } +#app .taro_page::-webkit-scrollbar { display: none; } + .page { min-height: 100vh; box-sizing: border-box; diff --git a/src/assets/tiangong/proto-altar-lit.jpg b/src/assets/tiangong/proto-altar-lit.jpg new file mode 100644 index 0000000000000000000000000000000000000000..06df024e65cd88246e8a007a760fa389cc9f0e67 GIT binary patch literal 37119 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 literal 0 HcmV?d00001 diff --git a/src/assets/tiangong/proto-altar.jpg b/src/assets/tiangong/proto-altar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7f6f4005d77491a66bbf366baff22fa57a161281 GIT binary patch literal 32670 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 E0LG1dPXGV_ literal 0 HcmV?d00001 diff --git a/src/assets/tiangong/proto-clouds.jpg b/src/assets/tiangong/proto-clouds.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b0778e7053d0f0f374bc79fea11c1286f2e8bb0d GIT binary patch literal 55478 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
pmMldx9 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

lfSZZ z01Z+qQeFj=0n{=Tw27CWJIf4UME=z}%F+-SK+%HPdAg|{V)`txwYsJrTlB}Flca%} z6s<5<$}l_b${_m9sooe)QO`kpIUb85*1?@pK8+o+>mb3hI>q8T{Fg=61sUuq7N5Nm zf79Ef2mOw+>N5`jOQIFMRx^Q8^w(c+E}$5*iiI2r0xma-$Zlb>56dVwa|j5BH~TK% z1al*a$@zh)zMII0FBe7!5}OPDzSYEqk;LmpNdjE6001BWNklJX%R<18G7}iU@_oq%$6sce7!t+6;+wHjQya(1Kv=*~6Mk2kXk!G!FS~&` zIYC(#bGNiG^HXD(0D%A+1g3DQ6kE#u<2YG`o78qo$fBcj3{Jj`L+cC301h$rv)AkO zZc$!Irmss@9-!}P;u7TYwwP8kyoo~KCY&z@fpfWY6A8#)Hv1+Q26CGNlLMzF=liCn z=CO<;cNt&3e0c!)-JG9KKp_Lums=g3$F%Us4O*~a=U$jeP`UXt$Rl!gJ(m1=)L4%x z^H(gvV0M80df8E7o(I!-65E{*6NqxOS+BEbwNU1Vg{C_Erm&N>pl@z&BQ_5MsN^7b zON`*3zkD9Qua}6xl)tsA2G=p8z1b9YaX1Zer`^i#!Le;vafE>6f(Lu}X=&1(mf?rV z-^j*g9QD8-HwVxr6<~0$*Pt)!Pw3u7xg|&5HV6G zn1HV*5(D#-Q&TrbFZAIJTmXU#Qwxca&y8I2TuOtBonbAl$;zCczdSm6{-)aHVCn-R zu81G~g6RYuSwN~q<8~abH^|Gfv~d$8(smIA(J1;vm6i3#excBxo88#R^vgovC009L>N^`>E%Vie{+5WKPi2} zikJ%*uJnxzT%mQ9BZ>30RHJADi~g6MPWNR&-8VY5KwDQgFRCM5GJrH7Abr5NiWbm8 z!^=90kvD{C0glz_B%uxBKWrvysj8}`Y1LlvH@g9iAR^>?#Q@$d0vmi`3<56`f!SCz z-m0qGnFoLyE>GC0a~j&U3_#|A#USQ?8F!`B*IU;6y*Pl}0x!`wI?`7Nf<37KO`8bh zeFaPz|0OnXEUjWI<>nG}S&3Du0b&^fy^+z$$y29>hjYWHuqyg;L7j&nHhi-WCK6T; zu^)oOk%7^Lk-}cK5aCV}2qTz9_B=4Pil7p(u1>05vI*>vMx^*JS>n%4s|D@Y)4}%z z>YYxj5vv9bSd@TpINVfM*MI}AWBAoJNvJV@RF)l44Uc z^@n=18?y)i*VcqumBQa$jRSrDaZccvKfV^F4S_ff983a0yUxOMU@NuZ2*3^*z>c!> z(u}_dPA;Hhfr2qIjMd!gz-6L?KmLRuK`N8@_&~HV5uT#oFEG%^7KA2Tv5P48d8Z|&F(2Ka5=lAz!i9bK_r}*C;cUP7# zM&}8@566<&#Wv20tw}XvKnv}ImWwd(zzjgy?`|DA>g=COP%K9a?Ke@wODt^mIkYz0 zwi+OJ#7@m2D*d4Wa%+`-Budc}*T-b^Jo5b`T7JrWxY?6BGqLo|>g4>|JWM50l$%#Z zzTC_4D~keo4cfTTH=3IoS-464<#_^d>T*{p3M@T#_LZL$p4brjqJHQgjA=v=N^dVc>x| zfD!hom`E0@FUtt{ksKhJ8=33_gqs65Ki3sEwrERhBWZ2R`!IkA|CWF(Fg$*p3?IWU z$geH%<0Wr?Y;;X%R4RaX zGXkt(sw@FfAOQR@>xt7vkZ>|xa0P9e004|T`AYJaMFLR1tSa~2xbTGt?BCcN!M&pa zs;9sZCi=(;2Mh*jAD_Gx5<|M0&dl;Fxe2NS!uWl?bP9eqmLl_)gz<9}EuYCO@yBIV zCbKVn=G-@{ee0+J;;-TJg)cRqOA9!xyd`4Soqhc>?i+%-$@v6|HgsujT$^jJGB@McE)`|JkE|p;fWsN56dFf;-~=D)YK?m_%0d0YWz-CH;Ytb zSh;lRQZ^aKeiU^w83<|&IM7QQvDmGHqq-u1Tf7)^zw8fJ^Gad>;a?(=$PJ)Qj6eC@ zse#Ld8yY5vLX}v*xOh6UvHb42rCVQPB{bs1+^tuiA3ihIOFLK?e;$uR-gz%wS||Ys z1l=A&FtwM44@pwGx|DZ{DKZ!=PisBEv&9W zuAI0yN|j`++)YfP7EJFV4*w!SUZTM7>#x7YR~I%v{q*?tGiMlo48Wuu|4IDGGX9bc z#AVAD@ZFim}WmUO97}8$j6wd)SQ!e)reyE?%7B9c7%L!8dwd z+5L55ePm&Eq5QF1bI5%OzJY;N7(X(^^P^ucz2}hU&>b>=GJYsQlabZy`!!6ogI#TV z*`64ym5vP?bl8dGv)NLFAI4({z%b6o)zmjPDO!ZP69P6isVXY#u$p`<+r82~2LM-Q z(^`YmW?Ix(ZEU}(owY%XA$AeQWDe5GA-5w?Qay9+A3(7=mw*1^(g>=62<|8n1Ou!W zK@_s$4BceK-TjCEdC|SX-K#=KRSQ{7sE;7*$ zUz?9Y3=SeA_p%!-_>bB>vCJ&^>*=2D&W!sJ16DTlHz{hYy8~d8y1t^SUKsBk+wlJ4 z7yk+Tt#oH>*xzH(=e+FvdP3$ zC`Q8==2$xyzH*bAx(m70Z*DCe`pt(QZZ3Ux?7$ai#?FjkA-ZG$DFS5LEw)mhKFR*~ zbGAwi-%h`T>|;-Xz`pL~_m3Y!mHO0Z-~80n1&$$QC(tX5QV^QxTid*mI_M2-?+=Z>p?pGu0~hGk4q_ zHH^QhP1S%+ykm3TU;g6t?n?w9Iu+>VqkqeKq(-(8#t8r^J|hNLjtVesMeUzMzQkbD z-B^OQ8O));m*C0*Fi5Tub-$&hS3X(xo_((U=-DMqB<=YqO8~+IrczXeApm*M$L_tk zSqNAxA)X~&GkxpEPu_)xZvmLYV{pQ^2xrs?^^SClUg;wzh6L*dDK}EfK zQO~X!vU5uEQCI0n{{h%P`e1s81E`nJ2wP}B7S_cW3{IT~OCqqU>EufH;0Cr8HC0zM zhr)^)X2;#pH({PmZDmX>@aZL?4yI^aFK2w zKe>gK^yZQScFQ@d!F7mt)<_9J%~)DBM9If1pUfT6*x4b4=brogVGP5S08C3caL~~& z0mwZu8Nkn(nBVX@q|QqN?9WNt@83Bx_x?Hf_u&MrAs(b#eHU}9 z=L!Z>@uZ>jGZy*d_mybxKlnSzOdvL8@hve1Dnp9^5FdvYoy|2k)a}*Kgz83$_Ek2x z!(nAJ!d-cFp6IyW=L!3%(b@6Km0$d-v#Vcoc>3wHz{}_)C6>`@Erx)!_Sr$($6*O= zIBTFU?!9tz0LfzM49kZ|Xa$c;rI=O5-ZI#u_7>k>iaS~V-xCL(-1ob&GX!Al>LlK$|UOEh=I{Ap!MhY%H?r^w8%o{%U1t zdT^tFncya9#>2{fth;0Z{dAQJUu3hh-6w`tX84wkcl0Rkk{}8BARWL$2pC5^h;7eO z{)n@y25YpgUPQ`{(VKo;Yx9 z-yzCD#WuiHOPO&iwwjf1sTRU;INvPZqH7#h(3p zK5D1STt=>kVS4~sMcQi6oPPa3y?$a5|4D-$zZ{EnP6?;vh(-<|SD+GvdOot=1ryk> zvEf{ZbhSZGvq>WTvh^mcVbz=-TIufT*w`pwYY8b71jPd0tr(D9hQl?6EEZCopot>@ zcvyqqcq28rXn#Bbs0V=T;tT^2p&Fe5)R}{l1uT|Jc-PIq*wFE>Sm`{6UKUE}m~y~i zyo9|RyI)}z@S|P(z#mpb<307;EUN_qJ~OMy6#n545AMN@5UfTx_|(TAQX$6k(Vl1a z|5qd5{>=3-vKB#J4sGYWJ8cqy7QV@x9no}i^Jf8h_?nbU5r8(7|McvLFj+tvj*HV- zL#<}<@HF-z4oznOAU~xS6%_z?+@<}{1RoyM=CeaX9j9@d_3%lJR`2$iXvoLu)*N#*@3BeDa|;0pOXRKm6=R z$3OYx{rBJe%`4A7{NMw>iKTf#8Zlw|>SK>S`0z)^fAh)v?|u0DPk#IC`xJowcK7~W zzdve}`6~$m<>_Fq(dW__pk(2#XeWb_eWc*V7tP7B^7K2jG691G2z!lo%ieZrJeVw? z5Yp)o0xX`!j)>{$ZtRRsr5JxvMUwxosXo_~bwa|-{Pm8}xI;G<{T+U1Q3I?P0cS>7`8)WtM#dgE_T;X&0N}fCULC_V z5*7@Oow@$*D~H~Vv6>)>v9iZsIX+CaYLsdyPf2G}hzx(TZ~v=Vn{*kjXaV`24la)2 z2jisWs3hlMN847&tRF3n0e%K64cT!`AZ#}(fTE9%SbKu#^DUk}+(Z1u zSjmzAR3y>=3I*y;RaNOs7Y8u5ya5DPhG@y(bO)W=^7uru6ne6NN83YEEN>wrBB`X< zF)oxsEr+Y#Fz?WGN$N|KrHi2EKP$A>SC@Qn z6xZRb+8mC&J&ux2u z*YiG`-fb)9;HL_vd#?}6CNPEX?!|Yw@$=f;L?E`MF#zAQ^^N$7RTu`J%w8Fi zIy*noO7eQrYFQ05qK;oHD>Txwj+1OxCBi?Z2t@a-cstHQK_D4G5AIDIKG`uy^Kht_ z13?;8+F8RtmRr@)pD6{Izkd{NJQ|jcT~sweb)KdiWSM4e5a$$-e1-)EV4O=~poTUR zeo_s_OqZt#I5g{Q?owfw__NYY82B;(p)Fo*aL&RM<1KOFHQWpxfDUA5&UXJm-T&~YJ7b?&im;!860JEAW*z9 z0y8lWw(^MO09t(100~H=jB+p4M60LldM=x?(Y0P4c5$h^L0?w>Gq4hg90l6PCWfyM zzw#*oh%oQe@Wi2|XCHXv@jpEKCX69W;8+sM=oGo;-ZR6mJp1#B_u!-NUscOX7T$AE}zgGt&g)`7nHwi=6yc&&BI64f1`#@<6U5=#tm|A%v zlkw-`!(`NtgH{mPBvt$jHr@!P!i<3*v}Q&`SE>S*R@iepXxu=iF?{^htE?4#X5!qf zTZiTzeBz;fPyFH5^nSTpGUKn?`nIdjHLFcWT6A zEsOfN2`p~Q!Y`V(-jhaOI^BvQ3rj#)#>9t1_`+zq-9#I-q%1$)zLzcQWoa-*HRBrg zo3fF~Q1ykaZ8Eh~NZX?Geo;9d{5=cM(Y4}wiE6fv2*17Ksn}rmO!r1C8bT`+3|cIF zAg(>c0c87pxRxD{(h)lSY}ZR|I641dx5$Y!tyB({lHg)OV$48@e|_Smt6U8@Mzxph zCy(yh{fEpeUtf(OEKH*n7aNQ9UVq`ejRzjxy=yLoxux+mRR;m!b-z1#!DD2nFs(+J zK%RH7ESu639bceN2jZv%hy>Vdb~ws*B(PyBn@)%BHLp;+r5!~~lZuf*90?Uoon-td z0U`R<{duvuK{9#`;+j9SQ-SIG?Pc?0z*;5MrK{?ja3&nX59w42vQ&uP;&dJpWoQ{d zlH*GTP+F-HWaof+Dy(Bkr9>bHkkvl8NT3u27B6TSUBhEz!-rnHF3C~pZ@sar@4c5D z>%Dq4O#mX@PW7f!@VnVDe0wT|qy+AlBnqLc!+nD1f{z181WK3DWd!lxWqGf3kX6g8 z&%_u5Fd*&dAOiKQVyI_DCaMrxLPidtULQB$NT^TKF(~sF&gVt3siCflk0jN!=GWIk ziZc590+{CjR;o~ssi{^qG}dAnV>*=~)g^PmBFPUpfJTu*KuL=4k_O6HQHExE;O16DSR>pBeJ(u-UVouc|P3WKO|^inF4VgQ=mQKTX<-UFec zG`>WnX+t6U>TqJ*H*PjE`zIfy=0!ms`5D=kq2h{iuCX@r5U{gsM^R@#-&tcb%OZt% zNGAd4#MMmbzcok50A>orpID3fDNV%HRq*AC>&mkH@4uNcpBGg4NUp2pM?z|mWbsbfwF<_fTSrV6No=*6YIpGZ^!Q0w6jQ_v4N*6dSIDBYyb7J zQ|He8{Hg?Cs#h)uj>VELl%L0v9 zlwN!`SiTf}kB9kCy^Xptv9W>w9!_gZ&@t|;@>eN|U=kcj+t29=Iwbzeb~|*M*!pO5 zQK#xQg|yOSoCUjKO#LTMdI#w@B!#2iE!6Trz*5&xO8{2XuHkHHzbiKipcy zdT}(DB;V;G6G&&$P7;9@89<#_tio_FOa$_&9y32gL}h8FPhedz^1`eR#~875IILwS zq;&vr;`$+O^U#H3bv_jO=rbJgnV83CHYL+!2YpN%<7WRMQmWz~dQ$@z!hU;udkMMr zB8to%Q(D5qB0xu{px^Ndgk}jmXo@(dB3`euREz~u}A=Vr{6)eUra&_TL9!! zwLy8a8LOVbIPuK~R+fH9*2u^;g`CB9mLKpcopJ2U@bL9>XQUu7&Di6E!D$X4e&VE` z$fFJj`#V`!8%+iSz|nCbSw|h_S#@(;^^WRBw2;J*BFp-oM+${JN?N#u+g7_qUs3U0ftI{K zU7$OW(@$%VZkF~Exr1^R5-7%i(uD&!YD=l>#tCGdFt%-vg?v_K5haxh73lus1du4STlXXXQ;dZVQb(x8P%( zGJxFt73m`@*y&~=BKOj4EsZDxh#E8ieER8W5SU5(#b&k>tFld?->$|6RihXs0F}eR zJHFp?@;sIvqo`UdVj!t^TxhN27BKHm7U)RY^kEJ15VjhS1BjMrS6K=ouNIX?EAVVm z)tRZN4crJCbyDg zB;EK4_m<wmoY%ZlLAY@NeVOySG;o92f-gJzTLrX?3_ktQ<{PlUwa$)^u{0U-2O z%}l+4Q-u(3gljb#>K|coo1%>VUatXXTBA(b8znX1xWBOi;dMo$B_B=~$N(|`$pW&e zbZrO#2D^&%1wBE&SWlYv;S5rUX3?|e2#N7Ifn1D5|FE~{9Px9$LvCSv0|bAb1IwiHK=L%>l14PIUFmuY1m%ll6P{e!m4|=D)OQ`;YoY6Y-LS z;#2#5_ukKbHWLU(KstgQjG)Pnlyo=d(zH5$2Lbr_NKBH6`^3}NUMIie@arrI@VRG= z@6z>QoIh!?@!9#_<_=?dO0qXfJmUabo5Gl5apvmGjr;b%9%kya$#{vdsu24uK4Is| zFTdPoIG_jc*F5h{&lng;qRk+zhW=uE5^gw?r%aogFkowLFdzdQ`pzGJxKZaWUIT1C64eNsdF@ zg)g^K_d}{CbNt&DbJ+5WFAS5m*}IS9H;4b__Tuy>3Po>sto)b!%lv~Jt|Uy zQE!7Dz5%X&@moAM+GQ`T(k3arcmh=g~YTP=%kT9q}f`8=^tcL0A5lFDU z5aS@*2eA;1ccE>|#tA%+MET^5Wg@KEFjk=?F+0zf(de()90-^qBPGX`NU@LFQb(XL zl{6K~6njoT%*LxS0zm*+NF`bMHqs=$bt8Rd+Vt=mGrI02(6Sg*iU{;%5|F5y%P@i>h$~ zV@s<5P$>X3qD0r&R5aYIS$B%Bw+Zt%zL86cgER@r07_#>W_%NL7Npoq%;cZ|oeKa( z1pHDs!{Ez(;c?lK?I*UP6K9fRf|YF-9&-#Nyaj;UVgO(@WP0}Fbr<$WWzyaGF_YHA zAqLVtFj;Ehw1;SB5c9z+&p{y_c^@Pw$AqHfp~m&@QBT;{ftGx`~!n!9+l5E;?>Bl1YLm^D+Ls zB?5I3(As2dIs^n8OWCp697&&SHfIO`M(xra!P})m4AiJlLqmoIErNrIC7Qo6j~^d7 z%ynq#2qrmJPho0cb7;(UaFM7PX`C9GI6(;08zl3jDaR zi4%AtfEi>*I5Hw@DLEdIeb|7UQV(~~-~vC`7cw}Y*4F`l)$_hAV}QJ%pIxLSU01H$ zx^;P7HvGB~@?^&|OPIena)vRbOk$I%TI9L9i=GLuPBJt1o)7~gcUq3EWxyPqLc% z*@r0r5`ac@d)s81p)0nqZyMQe(1~X%E>OA?cx)>TEr^y@l~ePBH2M;ZbA+G4flb+% z1-1$P;=~tYbr^cS#7D;-7k+(=B?{ZC&Yge?@bOkAFfK+4fRW}MQ8DmT6GcF-Ia3RU zBoS2oan|vtyZ%YVOZw6HC6Ez};991Le`{Ib2sMIolVlW)vADRHwb@Ie6Pzh^Lzq0FBSE7}M1DNhQvc2~ije`6DQy7~5FTp|UY`>OEA{h)I;e(+# zF%~SUwo(Yh*WSci7yoqhNiuvMv2Ymk>6l|LhI8$uOW+*$j;&iyEC^;rK2M!9fM0$= z8OSlLr#VKU@n2#7cjEBj6DPJ`&=m=}C+9G->jFB@I^h8iT$0@fd2vW9Ijt!L7A0t@ zdQO?a%jV3Isq7i|3FJi3C7}Bo4;=#^wF?sBW?abg5IO( z*Qya_W(;5vAA%rO)LbEJ-XDJ0i1F7FjCq)ua7IcI5GyCg#)744i%#}JwkZzdJ6RpZ zmU4;t9!s&PTAaOnOd5-fm|JBB0NrDYV95`G0Ho=otr!Ak`PJjXbC_BJjTa~{Mp;m5 zlu!V~e?B|!3rhz}o%q0>-SJubOe9^U}x&!1R^5u2XYChG#A)ZB>_ zY8YuMiIU*MCb(0|Dwm=oeDN~jcaibqt=)@!j=dC zI+OnZsj-wMEH8yQ8z-T0qA$h{SmaG*Y&o_PeZ2m{_?e5S=rE>{rbA5%epHm9B)E3A z&sH%G#{iNn^#ta=dwct|+WN=Uk01B-j>IHWWl)4b3BWi4uo@Q9W@BwQXJLGR{{WI4 zn)M(DOSpcA5#V~Gfe2T7EvNev8o5&r)9hl|f>Hi>rE z7+Mb`=(h&{`dc8{ZUd0QIFuVZa|wp@f8zqIU&>$@zlgQT zV^NZ~cA*oJkzvGx!R(I}$p9MBDGvbGUEKH2KL9_14+X0PEV7a51^Iu?A*@6vX@G`7 zXg$}Fj*9|7oR{>vgFq<)(oBe2YHNup5F=9t3T_3u^A}!$W=0ZzG6$K%SV-hjj4%z7 zrsC-6b~b}1-)(L>11J#)5!Tkec9q;tp&&E1E{&WV*}62ttyf~U>dayYz)16v{cc}= zxzl~joJi8-Q#NAENw@G}lcwLqe%9>&0U+6IN=k*b(wGa{j|rx1(8ksXBJqwh#znJo z-@1-<8^Iq092i&~fLd}OL#fCD%fl>7_E@ zFBJH{#E*)dYo#b#M_P*3cP@kvCFOF@SN>IJ!84DF801*JU_Bq-qw&3wxVAJa6xT<~F7N(V+3QyJWv%@;U z7F>JdEJvL7_imaanPb_r5gg5c>h=)}@GT=JO7JJ>5OiC%g~P)bf1($ckTJe8)0|7+ zC{K=zjLh4&?%BqTM@F~dJ!?3SfY(j-fqrS>Uya~9(>|OjQz9Q8G|WiCi~P_3yfhmC zvN;x}GSyNm4r`JkB>;sb2SpmnL8w7SW{)%%V$55u=NJ)xCc1oh!kReArj0`&k)xeG z*X9dugXjQkweyTu%(ZaLt;L8O>d#yIs#|UB6!CVdRw(v$MHm3sanz>Peq4%RFR?c< z@*;&8<1gZu0Z=Tgo;N?)djfySY{5%ac%&tGo+ z^MC#M@rlO;wzECun)(JwC63=>RdVm4SG{obHckt~C( zh_*%STld4hiyhh7hnYa?|56qrS|JQz^7wWu{Jb$M4%kt^QdlI=@3m+4#tAghnG~^9 zPv?^{XRYJhEwdj_1klG*p;(ajf4~0v|NR@D|NPH?`%nDi>;Jdk$-++6enDtuNFp6) zer2{zRKzBCY5K^_UgB?Dm1r*NFv%0HfMW-5GGaE(c8V^X_@qd*!2HD}sHqV`YAhr2 zhKVtViHJbq2E}I#DvTuI{+FPfIY}S<-l$vejK1%7 zu0z)&0DAfq7J|M1`Y+)3Z~ys+KR^ESfBvyBYJr`6RXxEM7emtdC#7G z)ce4$q&<5^lOUtakWG5;7dFTG=dS^9vXCZ_6UVlgJy-}tZ}vSnh!4jYW{?0z=&=rD zNSy`UA&hZ3ur#J77Q2(!mCD^-7XeL7CjJOI>G9EYXJf5}V#{~Zu0pOuw}U^Y+Aqi` z=ERp@{(t}RAKR%n^2OmJkA1Mhq5VP}Kj1GWpm%in_R@kd2g1 z;PE-&?0NIoMw*QA#{gnkFg`~Pm?8-=lB{7&)$j+4w8Tq7_yIsnh9FlP7*LAt+q-%K z-$*%n(!0E}&Dh^1G<@7x(^~M;udHm z0mruBykKi=Rl1~E!8K6U>Ine%exch{c%j#p0w4_uZv}y$|Hpp_G7raG*jlTyQ+4$T z09g|l?CIpwu+vO(9+%GFojW6Sst6i&LlUB!qLQkBG>E>|+(eo$5&T60KD^DWb*ikm z1j(6$M&i`gmTM{g{XhWXjX6Tiw*(`2A-wnQm%~fwP4J@^WCoEqhiv(&(80+{$J3$awNq-yCWy1`ibA%58 zczb+VW&;Y)c2)et?Ydbdo>)J8sAR1(|i6~ zq!>5A|)dOzZ%_1hoX95sxKF(sl1&uKn{K z^XPEaiT^0*K_JT5@wQ88Qb{0)@4YqvP%H`&g_vM`Xw%7S5YQVrQC(Zx2jg;5Azawn zUin;aE6dmZE{v~Z%YDj!lV0;l?UugG{>1IlE{`#phqE4S0$DVD`nkI z08k;$V2X9Mb|^qc5prmWR2KxV3S8yb-_T0{9^QUpmBLQbEe#G|NZPx?Znjf;Rir&9 z)VdsmzDH6)$eL~Zc?HNX_@gKJzX3@5x@g*t1qmQ9LG3Q>YeizRxFnN?G7$my?b(B= z5VU_Gn1;9Z`%@D>(x1R@==o^CaN3j)Mb()Iq`?W;q0netNiwQ4*d|E;9#ET$Ti`FK z8~*|IM~o!B72Jpr{aAu!GX5Bi<7Z?X5rqQt76lh#SP?oB=^yRRXfR+;AS&Gq2!we-g_)%Q3HlJwX0G@DE#48*hGl0EOHi0Vqr3uso*T*n`Ri2)z_Fm@iNKyf; zd_C=g3+jx$;gwG%CU?$*_&6M#Bno32cWSu5P}HkT~b*C zh2;Dg0|T7CY}&3yVj`=owA_}Um%+TLXWF*GL7K*d`jmp8wb~q4pAz^{0KgLOgbby$ zDMYC@XF)=;_n6n&7=Y|vz!RL#JdJKY?u=kM9swn*XqrzlZCF46ZrSo(a3L3?Yi*%G zXg|RKUMWcL>e8&zbakb-YA@jChrHNUAs?=fArGxDx89x`kL8Ar1+{7kK2w%M^EHrq z)6(%fZp14+-VUbHys$`l7e`vN;zfi%2|zQ>LEzb|RC>!QGcz-fCv4-L733HT0cyfF zwRr|cSoJx`n|j_i7)XL95NmM3nl&}wlsii@LEzGPB{c#-7Q~pUg*O4|QE1bPrEZ#5 zR~QtNO7yUvQ|M^s(1lQ!fJo~s0qS!LJK}G}ci*)Z&?>kua!LBqzyMy@ex*_v2{C!#NG#7d;&s9+cT2h~yO54B~z_AI@#p3~RzH|UD7W_Gg zoWl}jnn-S#B(IeKq=vAX7gobI6~!5IqZYgn4h)}~UK=%r26=RKTgFs<4)W%_Qdt)b zm1P2X;zI|A!8q8*!#|V&B;^b5YqeKP1zgTHjP0?d(AztC+@sAwxMMksMhE+oi&=4Q z02`0RKdekJejTs!uLROn7!G9sxQ)fACt8% zDSK7iq>@hH6|bMSp2On8RVcKib5{faMqnHh{sR|Sd}YZ1*4oHb{naSYoY3wGo(qAD zC$fWMV1l1Dwfh-U~0P=SxVKwNNGg_37D+Mmm~2YCa-B@%U(0y*)Zh1^Rgy& zQ4`qeQ41%6{UK=>+&t{@H9TT=6v0%6?P`8$sRWQ%+(U?c!7l_(>% z$V|zh4xc-8+UY;4QN)Ubj8J8+DFOV5b7O5>?fHA=)2@4@V@6Vf4dr&Oh-u%E@jO9DU11 zF3!V(^>_s?f$0S={`8mU7m=pxrciVXSSQ{9b^I;%mP&-w`QTJIPK3V*sZTO?1+-_2 ze0-+(RAeSR&Sz~+S3g5~m0+xBO)uNzX)^}~e*cahq+hRxo;HH5qwl}_50j@)B{^1x z8on!tgfQoZ&Z@GerUizzygrSNQha6TOmZ-n)K}(o!kQUN`!{G{7&Dy7Bcr1R29emj zrWB_!4}g#wpIRii8*XU+SI5+a51Q=63B1K(!RyNnZQW7S2eyR}u-3<|igtqVb~qBJ zpzPACt;ISy#7I?oZQ<6n>oVIHVA;Bz!pW!L#i4)y_rKgdY;Ht#=wBSbh<-W*VT`bt zx4N5~h;=k<@xc6v^2<1Y2}aUPumBKOMH9MAKoFwQWCbd;>|o&6dJa{^)rceqo%T&7JU8biv<9=4&$ygGEoZONA7l6V-m@1 ztP4gVsHgFCR@PUI22Y+KD3L%_c$V`t5)BS*2-CO~K1faNg3ew5c-!{%MGU@0p(x|& zSXGNS7wG6#+t*7S;UmJTqq-s8r}pvVW40FZ;HneeOZUucKZ-x?sgMV^_OJZQn*Z~c zx}>!vK>cL|oL?eE!L_^`lU0nuiqcZ2))MhALMRoeN==Pm;f$peh{nYjQrJ%zur^GB z44Tj13>a0u_uiBl89)B`J3T^w8ckE}Sq%JYZoelkKF%RaBQz zn(|!8CSz;KcR>0&B4;M$0TF1O4BdLqS4GwE+Uor5w86-c#!&-r2eRrl<zXYP(t-x_Y|wLMt);`n8z67Nq;q#MbvwxF4}Vum zp5>C;uLyu+It6M3tLIP-BIZHN6KEg=g%^aqfeht9hA9sNTg#?V)SHws_~Y;OqUgW+ z9*F%vIE3GwJUtGc`P-=2r9>WV&x2*Cyk=OND#rnwgI%ViFQxDxbor*d0}xlfj;!y$ z`s(|li>oVga&qREeg6IDUww7jz}uT0GmK4h=GZTN-tXZT?pCHsEep8h-m zprc#C-5Vpfa1YF=zmXl`Z9XvsmPlu@w*v|O9C%jAdTe8jPL4%p9a8+G0I1aY6443F z0Mf!n8rwoCM*SrfOHF0dr@S}$9oo{R@5cT0_dp~fNmzb{=H@oMySK3j7$QJ&x>wS^ z<_zpAQ1Vrd&R~39*m{jR_yRy@)rUo+@F_40g#_rxSbdLm7DNE3Gg zZURe%qs89%ZOO?x<5a<4WQOx5cU>dSJb?ftgD}fvawXiBVF+(>>=sbNAba}!Apadb=O_2{QO)(W4p?tQd3i#+T{uf zz}r!dclWHj+YSJoqK+NQ^Q5s%Pn4NaX2EQ*om}oI$3FwVevDGIyz6;QcFoXbpIsIV zpiO!~zjoyHH-Gt4v%2*D%O|I@BNmSb!JYhLQYi}ebceBK_86RE9*!5#5`UJ~b0k*| z7$MTOYI*}&N8)!tiI8L%_hk~-p%bR!zCv$Y{b0x&=)+-01NrO#KU$S_0lVTZTrh|s zb7*HXs@3A3!dsF6oWr$fYcfo5;A)1EY0p<*eOlhvS({k__*Q4Gt{55`s#y*C4&pRE zfM3mOOd4r*32^bV@(7LgDGN?r*whfH@T4>NyZG-c&e=R)xAbn89g^UJW4U>pn;;0% z6CeKonghUyLm4H)+CTu9J^z60mQU1d0?-b1nEpq14SxRSPp=HlH{Sq(FC!w7b-9R6 z9nIvKkMHbSEC5_9@JnU~{k6gz+Gx|5LB6#mGGD_u9K7E1BOrzuxo{X=xG#_JJ#cXF z$4@>P&^uGUiA$gXIhC{FHb0m^%pS>(SnG`p!yXQKC@hlLFrd2lQ9KH_-_GVDJ+RUce-f9&AkC1M^Vy z;96wdY=aPiQeqYsh%;EK`LP+1xygp2ue4`z;sUkIgG(zbYf2&(S1yjoK_{=Gg5n@j zl8VggEW_*JR-xhH`MFgO7N)irDCiDH0B(stx2yf~(p!NDb?x0z1x^g$76xz&0jTgK z-2vKek000f%U3n8+my5OZqy$sf}$H79M!t=(3Qq-zWJs>eJO0o`s1hWoO<%)<%o0= zbI(u!us~10)c)8iCX$LV1R|NH^06zjVJdfH_#ngDT?9b70>YF807jw>BBMMddj#l> z9L5qe92DE}hDAG0FUWcm&n$9^-cClTaR0>jb)?5XThc=PG+8Lkj@6xD^Z|3&EMJYQEKwF6R>%0D`?O-)-TOSV0jmxUesxT^`uH)O~2@^M5%P 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ⅈ#O=%| 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

8`-5Ag~3LmKkYb#!hIke~&M<%7FlOD_q59+fY` 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 WG*0Iglid1&Bay97^&ehO!vEO_3b>R2 literal 0 HcmV?d00001 diff --git a/src/assets/tiangong/proto-longevity.jpg b/src/assets/tiangong/proto-longevity.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5004a1517ccabd48b896157fca770b3f1cca5c4d GIT binary patch literal 23906 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 literal 0 HcmV?d00001 diff --git a/src/assets/tiangong/proto-wealth-statue.png b/src/assets/tiangong/proto-wealth-statue.png new file mode 100644 index 0000000000000000000000000000000000000000..66dcab0a9a2f0bc966e35545299eda1404157405 GIT binary patch literal 122829 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%0ABuI|eg;)&Fr!F&-sR()js{Q2{H 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

C;_uJ_BR)6`rlLEcD7)+f& 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

s0tU0htGwoW+`5T%OHKBcX#)?pG=g~BfB3J#bc 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 literal 0 HcmV?d00001 diff --git a/src/assets/tiangong/proto-wealth.jpg b/src/assets/tiangong/proto-wealth.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2c64d1839e0f0fa70cb5c27bf4afd1220a1bc12e GIT binary patch literal 26619 zcmbqaV{m3cvwmZ5oZUDZ+qP{x+1R#i+qRvJZS##cw(Z<}w{F$_aev;KGgYUm>-3y6 zXS(a@?q|MMzSaRk0O1ql%m2?ZM!{kvmRVB%qZUlhdD#J|6X022)j zlYkT-H=mT2f`XQVl|yp!*ngCO{J)j-1CXIX{6PG`KnMY#$RJ?IAYX$38~^|W0t5sE z@V^ZN6bu3q918kdiVXq)1^Yiza0p1KuQdQX*tZl34C(vHr$uZf6|+!gRCIt{Ab$Y5 zCRj+6-7FeEx;z9w0DulqM*6-J2I&Ws0g9{@(}G|^DkH)`D^&tG@(2qcM8MI&LFfSx zAOH{rO^7kJ>e#8W;}Z`rU5mBH*CXHH@zclqJ00iu%05NqJQzO!ESN%|XD|OU;CU01 z$G|CZ2}40ywGNbk02TlM{T={7iE|RB`SD8*u-J{O@&w@o);(j(xxoEJP&c{dTM%dDeEXr0{Q;Lq}UCeFKiUwBW`-k8q$((<6K zsTUqKZg@Y2;GD0uKP=r90ZoAwRomTDQZ@mShzgBlMTFUM;K9byWaSie#0eCNgz@aQ zSOH$b;guPU5zX=dBmi_lBcC!;?0kkg!GP1cHZzZQ$1C>~c z^dL4vdIl|bZIbSeN!Q(uNVd5WH7%P?A;bB;uAThthT!w!`dudtb7fhsrv0<4ThVfi zB|88DY(yVA04c113PK=>U&AGau4ZEZ@Uc47X~(ioGDF zajJ*KY+~?SGZ9mpJtl9hU5umq3&b=Jd-Ms7ml|)bGb{Y!lPOLP>gj;6|LkJ` zKm>pT6vsLYfaM1vrpQFQ4~3uRVK5=BnEGK&PT9dFvM?06c1l${FwO|X3_NvwTE-J$ zY(I0}Pi$PGeHW`CE4&9bxc~0Vs0?18IX+`!bE&=0k@B6t!!E$0x-o~JAD$wV*J5`n z2$Bb1gbZbwhiuD(u7mF`q_3i^rs}-1@Hi3yQ`i)+Fiq(8h_Ei3Go`L=F}Xjm4nFdK zV@td!Oc`!1%+GM4LlQy5Rg7&~Bee{iuOH|r`6qe?`;fD>X3lvKBl88wJ)ykg^w|Jc z#YZ!;*Fu~_LS8I z3JuH~0Dop$bplPLoDX^PRjS=_1~|KI%;K@6+H-{pjjK&sNv0o=35(jfyPRqE;h8R(a*Db6f&hK zmzIQ8$a3l{IBKXAH-4n8v~`#fATJhZ8Vf5iNjH`fNz z8?Ft40t!Y4ckX|k^R~(rm-MtwZ}8!B)6Bi_jBwEL?DbSnonID*D(EakdvQcB=m`Db z3w%R#RcgU*`u<>Md5e4ym74f{%*xA8)5haDW9Mu{r0`WppBTQL*phd44_p4b zEZvz>cM*GE#9E!hrx&v7ovHg>4|NNUV%Zw*QsrE#GSk&k65djV4s@MVN??zewY^*> z&oFSt8^W;xJtuL@_|yGFW%Jsd<`dDKau(G^1PQ`XdvujcIsQ*NXu&wI4x+Od)BKdT z*!tXUd)p~F#`(d6trOM$-G>WR?)iPD*Sl>{HX4(w*Jey6!|GIr2>+0}M`ivt&^tK9 zw52B18ZspDr%ic--AL>4{Om>zn_7YUQNB=gi} zQ~Rf-$Bi5ZzG(bnjY*y#_*#C&|gZ3~l%THB~qr`x=riU8QM20)h!INch}F>< zp3{wkqE15@75Bl%$F$8)7`@WtQS-3HHK3mJd#I@%ako_65&tgDl)2f*PcSk%R~Nnf zd5vrKMzd4n%INf~TI;&|gX&N=%E_AM61%(OUtz3xQpa0?sYVoqjDU$xtWT;ROnq7enaY6 zZq4OX|8IaS<3?qDUBq$06_sJ2uqs8C&g9no4>V>AE=7$`V6I3x%-*f$0O1Nnw%0Av)@-$-Z-0_X&U^iV{M3K+yp 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 e@^%o^ACUU5GWXh9^s_Aa^|R#qYWhNN { - if (page === active) return - const url = `/pages/${page}/index` - if (process.env.TARO_ENV === 'weapp') Taro.switchTab({ url }) - else Taro.redirectTo({ url }) - } +export function AppTabBar({ active }: { active: MainTab }) { + const navigate = (page: MainTab) => switchMainTab(page, active) return - diff --git a/src/components/DeityBinding.scss b/src/components/DeityBinding.scss new file mode 100644 index 0000000..7f98c36 --- /dev/null +++ b/src/components/DeityBinding.scss @@ -0,0 +1,61 @@ +.binding-dialog-mask { position: fixed; inset: 0; z-index: 60; display: flex; align-items: center; justify-content: center; padding: calc(38px + env(safe-area-inset-top)) 40px calc(28px + env(safe-area-inset-bottom)); box-sizing: border-box; background: rgba(30,26,47,.64); color: #30263f; } +.binding-dialog-stack { width: 100%; max-width: 620px; max-height: 100%; overflow-y: auto; padding-top: 22px; box-sizing: border-box; scrollbar-width: none; } +.binding-gold-card { position: relative; padding: 48px 32px 30px; border: 12px solid #b17920; border-radius: 40px; background: radial-gradient(ellipse at 50% 35%,#ffe0a1,transparent 65%),linear-gradient(155deg,#fff0c9,#ffdf9e 40%,#fff8e8 75%); box-shadow: inset 0 0 0 4px #fff0bb,inset 0 0 0 12px #ceaa62,0 15px 36px rgba(34,20,8,.2); text-align: center; } +.binding-gold-card::before { content: ''; position: absolute; inset: 28px 12px 16px; border: 2px solid rgba(181,133,57,.35); border-radius: 45% 45% 26px 26px; pointer-events: none; } +.binding-card-hook { position: absolute; left: 50%; top: -25px; width: 19px; height: 38px; border-radius: 14px; background: linear-gradient(90deg,#a96d1b,#ffe7a7,#bf842c); transform: translateX(-50%) rotate(8deg); box-shadow: 0 3px 0 4px #fff1c9; } +.binding-card-corner { position: absolute; width: 50px; height: 32px; border: 7px solid #fff0bf; border-radius: 55% 50% 60% 20%; transform: rotate(24deg); } +.binding-card-corner.top { left: -2px; top: 12px; } +.binding-card-corner.bottom { right: 0; bottom: 12px; transform: rotate(204deg); } +.binding-card-title-row { position: relative; display: flex; justify-content: center; align-items: center; gap: 18px; color: #825314; } +.binding-card-name { font-size: 40px; font-weight: 800; line-height: 1.5; } +.binding-card-spark { font-size: 22px; } +.binding-gold-card .binding-more { position: absolute; z-index: 1; right: -20px; top: 0; width: 64px; margin: 0; padding: 8px 10px; font-size: 28px; line-height: 40px; color: #83531a; background: transparent; } +.binding-gold-card .binding-unbind-menu { position: absolute; z-index: 2; right: 20px; top: 100px; width: auto; padding: 18px 24px; border-radius: 14px; background: #fff9eb; color: #a04d36; font-size: 26px; line-height: 40px; box-shadow: 0 6px 20px rgba(115,76,24,.2); } +.binding-art-frame { position: relative; width: 100%; height: 360px; margin: 20px auto; display: flex; align-items: center; justify-content: center; } +.binding-card-art { display: flex; justify-content: center; width: 100%; height: 100%; } +.binding-card-subtitle { display: block; margin-top: 14px; font-size: 29px; line-height: 1.5; font-weight: 700; color: #886227; } +.binding-card-code { display: block; margin-top: 24px; color: #ab8d50; font-size: 22px; line-height: 1.6; overflow-wrap: anywhere; } +.binding-card-note { display: block; margin-top: 9px; color: #ab8d50; font-size: 19px; line-height: 1.6; } +.binding-card-warning { display: block; margin: 20px 0 10px; font-size: 22px; line-height: 1.6; color: #e17470; } +.binding-primary, .binding-outline { min-width: 0; margin: 0; padding: 18px 30px; border-radius: 50px; font-size: 30px; line-height: 44px; font-weight: 600; box-sizing: border-box; } +.binding-dialog-mask .binding-primary, .binding-gate .binding-primary { color: #fff; background: #ff992e; border: 2px solid #ff992e; } +.binding-dialog-mask .binding-outline, .binding-gate .binding-outline { color: #e6a04c; background: rgba(255,255,255,.45); border: 2px solid #e5a04c; } +.binding-dialog-mask .binding-card-confirm { width: 78%; margin: 0 auto; } +.binding-dialog-mask .binding-primary.binding-disabled { opacity: .45; } +.binding-dialog-stack .binding-card-close { display: block; width: 68px; height: 68px; padding: 0; margin: 24px auto 0; border-radius: 50%; border: 3px solid #fff; font-size: 54px; line-height: 59px; color: #fff; background: transparent; } +.binding-guarded { display: flex; justify-content: center; align-items: center; gap: 14px; width: 80%; padding: 14px 10px; box-sizing: border-box; margin: 32px auto 8px; border: 2px solid #adc4a1; border-radius: 40px; color: #68765b; font-size: 28px; line-height: 1.5; } +.binding-shield { width: 32px; height: 38px; border-radius: 10px 10px 17px 17px; background: #64b66e; color: white; font-weight: 900; } +.binding-days { color: #75b42b; } +.binding-confirm-mask { position: absolute; inset: 0; z-index: 2; display: flex; align-items: center; justify-content: center; padding: calc(32px + env(safe-area-inset-top)) 40px calc(32px + env(safe-area-inset-bottom)); box-sizing: border-box; background: rgba(31,25,43,.3); } +.binding-confirm-panel, .binding-picker { position: relative; width: 100%; max-width: 620px; max-height: 100%; overflow-y: auto; padding: 48px 38px; border-radius: 36px; box-sizing: border-box; background: linear-gradient(135deg,#efe0ff,#f6f2ff); } +.binding-confirm-title { display: block; font-size: 34px; font-weight: 800; line-height: 1.6; } +.binding-alert { color: #ef657b; } +.binding-confirm-copy { margin: 42px 0; color: #7e738a; font-size: 25px; line-height: 1.9; } +.binding-confirm-copy > text { display: block; margin-top: 14px; } +.binding-quota { color: #f06772; font-weight: 800; } +.binding-demo-note { display: block; font-size: 20px; color: #9c8aab; line-height: 1.6; } +.binding-confirm-actions { display: flex; gap: 24px; margin-top: 34px; } +.binding-confirm-actions > button { flex: 1; width: auto; padding-left: 12px; padding-right: 12px; } +.binding-error { display: block; margin-top: 16px; color: #c95563; font-size: 23px; line-height: 1.7; } +.binding-picker-note { display: block; margin-top: 20px; font-size: 23px; line-height: 1.8; color: #8b799d; } +.binding-picker-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; margin: 24px 0; } +.binding-picker .binding-picker-item { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 12px; margin: 0; color: #644b7b; background: rgba(255,255,255,.6); border-radius: 18px; font-size: 25px; line-height: 1.5; } +.binding-picker-art { width: 100%; height: 150px; display: flex; justify-content: center; } +.binding-picker .binding-picker-cancel { width: 70%; margin: 32px auto 0; } +.binding-gate { position: absolute; inset: 0; z-index: 2; padding: 28px 0; box-sizing: border-box; display: flex; justify-content: center; align-items: flex-start; background: linear-gradient(180deg,rgba(246,231,255,.12),rgba(248,240,255,.5)); } +.binding-blurred { filter: blur(14px); opacity: .68; pointer-events: none; user-select: none; } +.binding-gate-content { position: sticky; top: calc(120px + env(safe-area-inset-top)); width: 100%; margin-top: 90px; color: #2e263e; text-align: center; } +.binding-gate-content > text { display: block; font-size: 30px; line-height: 1.8; } +.binding-gate-actions { display: flex; justify-content: space-between; gap: 28px; margin: 100px 14px 0; } +.binding-gate-actions > button { flex: 1; width: auto; padding-left: 14px; padding-right: 14px; white-space: nowrap; } +.binding-lock { position: relative; width: 48px; height: 43px; margin: 0 auto 60px; border-radius: 10px; background: #675088; } +.binding-lock::before { content: ''; position: absolute; width: 29px; height: 29px; border: 6px solid #675088; border-bottom: 0; box-sizing: border-box; border-radius: 22px 22px 0 0; left: 9px; top: -23px; } +.binding-lock > view { position: absolute; left: 20px; top: 13px; width: 9px; height: 16px; border-radius: 8px; background: #f0dfff; } +@media screen and (max-height: 650px) { + .binding-art-frame { height: 280px; margin: 12px auto; } + .binding-gold-card { padding-top: 30px; padding-bottom: 22px; } + .binding-card-code { margin-top: 14px; } + .binding-guarded { margin-top: 20px; } + .binding-confirm-panel { padding: 32px 26px; } + .binding-confirm-copy { margin: 22px 0; } +} diff --git a/src/components/DeityBinding.tsx b/src/components/DeityBinding.tsx new file mode 100644 index 0000000..7242314 --- /dev/null +++ b/src/components/DeityBinding.tsx @@ -0,0 +1,94 @@ +import { useRef, useState } from 'react' +import Taro from '@tarojs/taro' +import { Button, Image, Text, View } from '@tarojs/components' +import { deityCatalog, getDeity, tiangongMock } from '../services/tiangong' +import { DeityId } from '../utils/tiangongMock' +import { useTiangongSnapshot } from '../hooks/useTiangongSnapshot' +import './DeityBinding.scss' + +export function BindingGate({ onBind, lock = true }: { onBind: () => void; lock?: boolean }) { + return + + {lock && } + 须绑定神仙开启你的守护之旅 + + + + + + +} + +export function DeityCardDialog({ deityId, mode = 'view', onClose }: { deityId: DeityId; mode?: 'bind' | 'view'; onClose: () => void }) { + const snapshot = useTiangongSnapshot() + const deity = getDeity(deityId)! + const state = snapshot.deities[deityId] + const [menu, setMenu] = useState(false) + const [confirmUnbind, setConfirmUnbind] = useState(false) + const [error, setError] = useState('') + const working = useRef(false) + const perform = (action: () => void) => { + if (working.current) return + working.current = true + try { action(); onClose() } catch (cause) { setError(cause instanceof Error ? cause.message : '模拟操作失败') } + finally { working.current = false } + } + return + + + + ✦{deity.name}✦ + {mode === 'view' && } + + {menu && } + + 守护神仙 · {deity.name} + 唯一 ID:DEMO-{deityId.toUpperCase()}-001 + Mock 原型演示 · 不连接真实 NFC + {mode === 'bind' ? <> + 每位神仙只能绑定一个微信号哦 + + : ✓已守护 {state.days} 天} + {error && {error}} + + + + {confirmUnbind && + + ⓘ 确定要解绑吗? + + • 解绑后「我的」里面不再展示该神仙 + • 该神仙今年还剩 {state.remainingUnbinds} 次 解绑机会 + • 用神仙碰触手机 NFC 可再次绑定 + + {state.remainingUnbinds === 0 && 该神仙今年的解绑次数已用尽,暂不可解绑。} + 本次仅模拟;取消不会扣减次数。 + + + + + {error && {error}} + + } + +} + +export function DeityBindingFlow({ initialDeity, onClose }: { initialDeity?: DeityId; onClose: () => void }) { + const [selected, setSelected] = useState(initialDeity || null) + const snapshot = useTiangongSnapshot() + if (selected) return + const available = deityCatalog.filter(item => !snapshot.deities[item.id].unlocked) + return + 碰一碰,绑定神仙 + Mock 演示:选择要模拟识别的神仙。不会开启 NFC、连接设备或绑定真实微信号。 + {available.map(deity => )} + {!available.length && 当前示例中的神仙均已绑定。} + + +} diff --git a/src/components/FiveElementIcon.scss b/src/components/FiveElementIcon.scss new file mode 100644 index 0000000..bda931e --- /dev/null +++ b/src/components/FiveElementIcon.scss @@ -0,0 +1,53 @@ +.five-element-icon { + position: relative; + flex: none; + width: 86px; + height: 86px; + + .five-element-symbol { position: absolute; width: 68px; height: 68px; left: 9px; top: 5px; } + .five-element-shape { position: absolute; box-shadow: inset 7px 6px 12px rgba(255,255,255,.42), 0 5px 8px rgba(94,72,137,.12); } + .five-element-accent { position: absolute; } + .five-element-eye { position: absolute; top: 42px; width: 5px; height: 7px; border-radius: 50%; background: #635044; } + .five-element-eye-left { left: 22px; } + .five-element-eye-right { left: 38px; } + .five-element-smile { position: absolute; left: 28px; top: 49px; width: 10px; height: 7px; border: 2px solid #635044; border-top: 0; border-radius: 0 0 10px 10px; box-sizing: border-box; } + .five-element-tag { position: absolute; right: 0; bottom: 0; width: 28px; height: 28px; line-height: 28px; font-size: 20px; font-weight: 700; text-align: center; border: 2px solid #fff; border-radius: 50%; background: #fffdf8; box-shadow: 0 2px 5px rgba(92,72,131,.08); } + .five-element-empty { display: block; color: #a99cbe; font-size: 44px; line-height: 86px; text-align: center; font-weight: 600; } +} + +.five-element-water { + .five-element-shape { left: 8px; top: 12px; width: 52px; height: 52px; border-radius: 70% 43% 66% 44%; transform: rotate(45deg); background: linear-gradient(145deg,#b0f5ff,#58d6ee 55%,#2ab8e0); } + .five-element-accent { left: 16px; top: 24px; width: 10px; height: 17px; border-radius: 50%; transform: rotate(22deg); background: rgba(255,255,255,.35); } + .five-element-eye { background: #3676ba; } + .five-element-smile { border-color: #3676ba; } +} + +.five-element-wood { + .five-element-shape { left: 9px; top: 7px; width: 48px; height: 59px; border-radius: 85% 12% 75% 35%; transform: rotate(-16deg); background: linear-gradient(135deg,#c4f2b0,#7ed58a 50%,#42ae6c); } + .five-element-accent { left: 31px; top: 12px; width: 2px; height: 28px; border-radius: 2px; transform: rotate(22deg); background: rgba(255,255,255,.55); } + .five-element-eye { background: #3b7d51; } + .five-element-smile { border-color: #3b7d51; } +} + +.five-element-fire { + .five-element-shape { left: 8px; top: 20px; width: 52px; height: 45px; border-radius: 42% 55% 52% 50%; background: linear-gradient(180deg,#ffb56f,#ff7858); } + .five-element-shape::before { content: ''; position: absolute; left: 5px; top: -17px; width: 28px; height: 35px; border-radius: 85% 12% 70% 35%; transform: rotate(-17deg); background: linear-gradient(135deg,#ffca83,#ff9c62); } + .five-element-shape::after { content: ''; position: absolute; right: 0; top: -9px; width: 21px; height: 28px; border-radius: 80% 15% 60% 30%; transform: rotate(20deg); background: #ffa56b; } + .five-element-accent { left: 20px; top: 34px; width: 28px; height: 29px; border-radius: 75% 28% 55% 50%; background: #ffdc9a; } + .five-element-eye { background: #a65a42; } + .five-element-smile { border-color: #a65a42; } +} + +.five-element-earth { + .five-element-shape { left: 6px; top: 21px; width: 57px; height: 44px; border-radius: 30% 38% 24% 28%; transform: rotate(-7deg); background: linear-gradient(145deg,#e8c6a3,#c59064 60%,#b57b50); } + .five-element-accent { left: 16px; top: 29px; width: 9px; height: 5px; border-radius: 50%; transform: rotate(-20deg); background: rgba(255,255,255,.4); } + .five-element-eye { background: #805331; } + .five-element-smile { border-color: #805331; } +} + +.five-element-metal { + .five-element-shape { left: 7px; top: 10px; width: 55px; height: 55px; border: 2px solid #e8ba4e; box-sizing: border-box; border-radius: 50%; background: linear-gradient(135deg,#fff0b6,#f7d36b 55%,#e9b743); } + .five-element-accent { left: 14px; top: 17px; width: 41px; height: 41px; border: 2px solid rgba(255,255,239,.65); border-radius: 50%; box-sizing: border-box; } + .five-element-eye { background: #aa7925; } + .five-element-smile { border-color: #aa7925; } +} diff --git a/src/components/FiveElementIcon.tsx b/src/components/FiveElementIcon.tsx new file mode 100644 index 0000000..fcff1c6 --- /dev/null +++ b/src/components/FiveElementIcon.tsx @@ -0,0 +1,20 @@ +import { Text, View } from '@tarojs/components' +import type { FiveElementReport } from '../utils/fiveElements' +import { getDayMasterIcon } from '../utils/elementIcon' +import './FiveElementIcon.scss' + +export function FiveElementIcon({ report }: { report: Pick | null }) { + const icon = getDayMasterIcon(report) + return + {icon.kind === 'unknown' ? ? : <> + + + + + + + + {icon.label} + } + +} diff --git a/src/components/TiangongUI.scss b/src/components/TiangongUI.scss new file mode 100644 index 0000000..87c1486 --- /dev/null +++ b/src/components/TiangongUI.scss @@ -0,0 +1,25 @@ +.tg-header { flex: none; background: #fafaf8; color: #2e3530; } +.tg-header-row { height: 88px; position: relative; display: flex; align-items: center; justify-content: center; font-size: 30px; font-weight: 600; } +.tg-header .tg-back { position: absolute; left: 22px; top: 0; width: 80px; height: 88px; font-size: 54px; line-height: 80px; color: #4e6457; } +.tg-mock-note { display: block; padding: 13px 12px; font-size: 19px; line-height: 1.5; text-align: center; color: #7c8073; background: #f7f6ed; } +.tg-modal-mask { position: fixed; z-index: 50; inset: 0; padding: calc(24px + env(safe-area-inset-top)) 28px calc(24px + env(safe-area-inset-bottom)); box-sizing: border-box; display: flex; align-items: center; justify-content: center; background: rgba(28,37,29,.43); } +.tg-modal { position: relative; width: 100%; max-width: 650px; max-height: 100%; overflow-y: auto; box-sizing: border-box; padding: 52px 42px 40px; border-radius: 22px; background: #d5e5d9; color: #304439; box-shadow: 0 25px 70px rgba(30,42,28,.18); animation: tg-modal-in .18s ease-out; } +.tg-modal.plain { max-width: 560px; background: #fffdf8; } +.tg-modal .tg-modal-close { position: absolute; right: 10px; top: 6px; width: 64px; height: 64px; line-height: 58px; font-size: 40px; color: #53695a; } +.tg-modal-title { display: block; font-size: 30px; line-height: 1.6; text-align: center; font-weight: 600; } +.tg-modal-copy { display: block; margin-top: 14px; text-align: center; font-size: 25px; line-height: 1.75; } +.tg-modal-caption { display: block; margin-top: 20px; font-size: 21px; line-height: 1.6; text-align: center; color: #65766a; } +.tg-modal-actions { display: flex; gap: 28px; margin-top: 36px; justify-content: center; flex-wrap: wrap; } +.tg-modal .tg-button { width: auto; flex: 1 1 0; min-width: 0; max-width: 280px; min-height: 64px; margin: 0; padding: 12px 24px; border-radius: 20px; font-size: 25px; line-height: 40px; white-space: normal; background: #fffefa; color: #344c3e; } +.tg-modal .tg-button.primary { background: #557a60; color: #fff; } +.tg-modal .tg-button.danger { background: #db5445; color: #fff; } +.tg-modal .tg-button:active { opacity: .8; } +.tg-modal .tg-button.is-disabled { opacity: .5; } +.tg-form-label { display: block; margin: 28px 0 14px; font-size: 24px; line-height: 1.5; } +.tg-modal .tg-textarea { display: block; width: 100%; height: 190px; box-sizing: border-box; overflow: hidden; border-radius: 14px; background: #fffefa; padding: 20px; font-size: 25px; line-height: 1.7; color: #314238; } +.tg-modal .tg-input { width: 100%; height: 74px; box-sizing: border-box; padding: 0 18px; background: #fffefa; border-radius: 12px; color: #314238; font-size: 25px; } +.tg-textarea textarea { width: 100%; height: 100%; padding: 0; margin: 0; border: 0; resize: none; box-sizing: border-box; font: inherit; color: inherit; } +.tg-input input { height: 100%; padding: 0; font: inherit; color: inherit; } +.tg-error { display: block; margin-top: 18px; font-size: 22px; line-height: 1.5; color: #a32d25; } +@keyframes tg-modal-in { from { transform: translateY(12px); opacity: 0; } to { transform: translateY(0); opacity: 1; } } +@media (prefers-reduced-motion: reduce) { .tg-modal { animation: none; } } diff --git a/src/components/TiangongUI.tsx b/src/components/TiangongUI.tsx new file mode 100644 index 0000000..d754416 --- /dev/null +++ b/src/components/TiangongUI.tsx @@ -0,0 +1,17 @@ +import { ReactNode } from 'react' +import Taro from '@tarojs/taro' +import { Button, Text, View } from '@tarojs/components' +import './TiangongUI.scss' + +export function TiangongHeader({ title, onBack }: { title: string; onBack?: () => void }) { + const top = process.env.TARO_ENV === 'weapp' ? Taro.getSystemInfoSync().statusBarHeight || 0 : 0 + return + {onBack && }{title} + +} +export function TiangongModal({ title, onClose, children, variant = '' }: { title: string; onClose: () => void; children: ReactNode; variant?: string }) { + return e.stopPropagation()}> + {children} + +} +export function TiangongMockNote() { return Mock 原型演示 · 不扣费、不连接设备 · 刷新重置 } diff --git a/src/components/UserAvatar.tsx b/src/components/UserAvatar.tsx new file mode 100644 index 0000000..6997bc2 --- /dev/null +++ b/src/components/UserAvatar.tsx @@ -0,0 +1,25 @@ +import { ReactNode, useEffect, useRef, useState } from 'react' +import { Image } from '@tarojs/components' +import { api, resolveAssetUrl } from '../services/request' + +// COS links are short-lived. Renew through the authenticated profile endpoint, +// never sign objects in the client or retry indefinitely on a broken image. +export function UserAvatar({ src, className, fallback }: { src?: string; className: string; fallback: ReactNode }) { + const [failed, setFailed] = useState(false) + const [renewed, setRenewed] = useState<{ source: string; url: string } | null>(null) + const lastAttempt = useRef(0) + const alive = useRef(true) + useEffect(() => { alive.current = true; return () => { alive.current = false } }, []) + useEffect(() => { setFailed(false); setRenewed(null) }, [src]) + const url = renewed?.source === src ? renewed.url : resolveAssetUrl(src) + const onError = () => { + setFailed(true) + if (!src || /^(blob:|data:|wxfile:|http:\/\/tmp\/)/.test(src) || Date.now() - lastAttempt.current < 30000) return + lastAttempt.current = Date.now() + api.profile(true).then(profile => { + const next = resolveAssetUrl(profile.avatarUrl) + if (alive.current && next && next !== url) { setRenewed({ source: src, url: next }); setFailed(false) } + }).catch(() => { /* Keep the default avatar when renewal is unavailable. */ }) + } + return url && !failed ? : <>{fallback} +} diff --git a/src/custom-tab-bar/index.js b/src/custom-tab-bar/index.js new file mode 100644 index 0000000..2a451a9 --- /dev/null +++ b/src/custom-tab-bar/index.js @@ -0,0 +1,3 @@ +// The visible tab bar is shared by page-level AppTabBar components. +// WeChat still requires a native component when tabBar.custom is true. +Component({}) diff --git a/src/custom-tab-bar/index.json b/src/custom-tab-bar/index.json new file mode 100644 index 0000000..d80dd20 --- /dev/null +++ b/src/custom-tab-bar/index.json @@ -0,0 +1 @@ +{"component":true} diff --git a/src/custom-tab-bar/index.wxml b/src/custom-tab-bar/index.wxml new file mode 100644 index 0000000..144c8c3 --- /dev/null +++ b/src/custom-tab-bar/index.wxml @@ -0,0 +1 @@ + diff --git a/src/custom-tab-bar/index.wxss b/src/custom-tab-bar/index.wxss new file mode 100644 index 0000000..996bad3 --- /dev/null +++ b/src/custom-tab-bar/index.wxss @@ -0,0 +1 @@ +.native-tabbar-placeholder { height: 0; } diff --git a/src/hooks/useTiangongSnapshot.ts b/src/hooks/useTiangongSnapshot.ts new file mode 100644 index 0000000..a585133 --- /dev/null +++ b/src/hooks/useTiangongSnapshot.ts @@ -0,0 +1,16 @@ +import { useEffect, useState } from 'react' +import { useDidShow } from '@tarojs/taro' +import { tiangongMock } from '../services/tiangong' + +// Cached Tab pages also react immediately when a dialog binds/unbinds a deity. +export function useTiangongSnapshot() { + const [snapshot, setSnapshot] = useState(tiangongMock.snapshot) + useEffect(() => { + const refresh = () => setSnapshot(tiangongMock.snapshot()) + const unsubscribe = tiangongMock.subscribe(refresh) + refresh() + return unsubscribe + }, []) + useDidShow(() => setSnapshot(tiangongMock.snapshot())) + return snapshot +} diff --git a/src/pages/fortune/index.scss b/src/pages/fortune/index.scss index e13e740..0e78a4d 100644 --- a/src/pages/fortune/index.scss +++ b/src/pages/fortune/index.scss @@ -1,162 +1,11 @@ -.tiangong-page { - min-height: 100vh; - position: relative; - overflow-x: hidden; - color: #202126; - background: #fff; -} - -.tiangong-content { - min-height: 100vh; - padding: calc(72px + env(safe-area-inset-top)) 48px calc(206px + env(safe-area-inset-bottom)); - box-sizing: border-box; - background: #fff; -} - -.tiangong-title { - display: block; - text-align: center; - color: #26272b; - font-size: 42px; - font-weight: 700; - line-height: 1.25; -} - -.tiangong-subtitle { - display: block; - margin: 16px 0 54px; - text-align: center; - color: #9a9da5; - font-size: 24px; - line-height: 1.5; -} - -.deity-grid { - display: grid; - grid-template-columns: repeat(3, minmax(0, 1fr)); - column-gap: 28px; - row-gap: 38px; -} - -.deity-card { - min-width: 0; - height: 246px; - padding: 0; - border: 0; - border-radius: 0; - display: flex; - flex-direction: column; - align-items: center; - overflow: hidden; - background: #fff; - box-shadow: none; -} - -.deity-image { - width: 100%; - height: 192px; - display: block; - background: #fff; - object-fit: contain; -} - -.deity-card.locked .deity-image { - opacity: 0.28; - filter: grayscale(1); -} - -.deity-name { - width: 100%; - height: 50px; - margin-top: 4px; - background: #dceddf; - color: #283b32; - font-size: 24px; - line-height: 50px; - text-align: center; - font-weight: 600; -} - -.tiangong-tabbar { - position: fixed; - left: 0; - right: 0; - bottom: 0; - z-index: 2; - height: calc(166px + env(safe-area-inset-bottom)); - padding-bottom: env(safe-area-inset-bottom); - border-radius: 28px 28px 0 0; - background: rgba(255, 255, 255, 0.96); - box-shadow: 0 -8px 30px rgba(23, 30, 37, 0.1); - backdrop-filter: blur(12px); - display: flex; - align-items: center; - justify-content: space-around; - box-sizing: border-box; -} - -.tabbar-item, -.center-tab { - width: 150px; - height: 132px; - color: #5b5e65; - font-size: 30px; - font-weight: 900; - line-height: 1.1; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - gap: 12px; -} - -.center-tab { - margin-top: -82px; - color: #ff9b2a; -} - -.center-avatar { - width: 118px; - height: 118px; - border-radius: 64px; - border: 12px solid #f3f6fb; - box-shadow: 0 10px 28px rgba(92, 104, 135, 0.2); -} - -.home-tab-icon { - width: 42px; - height: 36px; - border-radius: 0 0 18px 18px; - background: currentColor; - position: relative; -} - -.home-tab-icon::before { - content: ''; - position: absolute; - left: 5px; - top: -22px; - width: 32px; - height: 32px; - border-radius: 18px 18px 10px 10px; - background: currentColor; -} - -.mine-tab-icon { - width: 48px; - height: 32px; - border-radius: 24px 24px 14px 14px; - background: currentColor; - position: relative; -} - -.mine-tab-icon::before { - content: ''; - position: absolute; - left: 13px; - top: -26px; - width: 22px; - height: 22px; - border-radius: 50%; - background: currentColor; -} +.tiangong-page { min-height: 100vh; padding-bottom: calc(220px + env(safe-area-inset-bottom)); box-sizing: border-box; color: #2d3831; background: #f8f6ed; } +.deity-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 78px 30px; padding: 32px 26px; max-width: 750px; margin: 0 auto; box-sizing: border-box; } +.deity-card-wrap { position: relative; min-width: 0; } +.tiangong-page .deity-card { display: flex; flex-direction: column; width: 100%; margin: 0; padding: 0; border-radius: 4px; background: transparent; overflow: hidden; } +.deity-image { display: block; width: 100%; height: 255px; background: #fffdf4; } +.deity-card.locked .deity-image { opacity: .2; } +.deity-name { display: block; width: 100%; padding: 10px 0; font-size: 25px; font-weight: 500; line-height: 36px; text-align: center; color: #30483b; background: #d4e4d8; } +.deity-invite-prompt { position: absolute; inset: 0 0 56px; padding: 36px 8px 12px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; border-radius: 4px; color: #304337; background: rgba(250,250,241,.94); font-size: 21px; line-height: 1.5; text-align: center; } +.deity-invite-prompt .deity-prompt-close { position: absolute; right: 0; top: 0; width: 48px; height: 48px; line-height: 46px; font-size: 28px; color: #6f7f71; } +.deity-invite-prompt .deity-invite-button { margin: 10px 0 0; padding: 9px 24px; border-radius: 12px; background: #fff; font-size: 23px; line-height: 1.5; color: #405d49; box-shadow: 0 4px 16px rgba(47,72,48,.08); } +.tiangong-page .tg-demo-settings { display: block; margin: 70px auto 0; padding: 12px 18px; width: max-content; color: #7c8073; font-size: 21px; line-height: 1.5; text-decoration: underline; } diff --git a/src/pages/fortune/index.tsx b/src/pages/fortune/index.tsx index d9fbd15..4ba38ea 100644 --- a/src/pages/fortune/index.tsx +++ b/src/pages/fortune/index.tsx @@ -1,82 +1,41 @@ -import { useEffect, useState } from 'react' +import { useState } from 'react' import Taro from '@tarojs/taro' import { Button, Image, Text, View } from '@tarojs/components' -import avatarAsset from '../../assets/fortune/avatar.jpg' -import fortuneAsset from '../../assets/tiangong/fortune.png' -import longevityAsset from '../../assets/tiangong/longevity.png' -import matchmakerAsset from '../../assets/tiangong/matchmaker.png' -import wealthAsset from '../../assets/tiangong/wealth.png' -import wenchangAsset from '../../assets/tiangong/wenchang.png' -import { api, TiangongItem } from '../../services/request' +import { AppTabBar } from '../../components/AppTabBar' +import { TiangongHeader, TiangongMockNote, TiangongModal } from '../../components/TiangongUI' +import { deityCatalog, tiangongMock } from '../../services/tiangong' +import { useTiangongSnapshot } from '../../hooks/useTiangongSnapshot' +import { DeityId } from '../../utils/tiangongMock' import './index.scss' -const mockTiangong: TiangongItem[] = [ - { id: 'wealth', name: '财神', imageUrl: wealthAsset, unlocked: true }, - { id: 'fortune', name: '禄星', imageUrl: fortuneAsset, unlocked: false }, - { id: 'longevity', name: '寿星', imageUrl: longevityAsset, unlocked: false }, - { id: 'wenchang', name: '文昌星', imageUrl: wenchangAsset, unlocked: false }, - { id: 'matchmaker', name: '月老', imageUrl: matchmakerAsset, unlocked: false } -] - export default function FortunePage() { - const [items, setItems] = useState(mockTiangong) - - useEffect(() => { - api.tiangong() - .then(setItems) - .catch(() => setItems(mockTiangong)) - }, []) - - const go = (url: string) => Taro.redirectTo({ url }) - - return ( - - - 天宫 - 供奉神祇,收集属于你的福运 - - {items.map((item) => ( - - ))} - - - - - - - - + {selected === item.id && !item.unlocked && + + 您还未恭请此神是否恭请 + + } + )} - ) + + {settings && setSettings(false)} variant='plain'> + Mock 演示设置当前模拟爱心:{balance} + 仅切换演示余额,不是充值。刷新网页或重新启动小程序后恢复初始样例。 + {([0, 100] as const).map(value => )} + + } + + } diff --git a/src/pages/home/index.scss b/src/pages/home/index.scss index 3b9ad1f..77ec4d9 100644 --- a/src/pages/home/index.scss +++ b/src/pages/home/index.scss @@ -4,6 +4,8 @@ box-sizing: border-box; color: #2c263a; overflow-x: hidden; background: linear-gradient(180deg,#9d81fb 0,#c6acfb 300px,#eddaff 660px,#f7edff 1120px,#f6f2ff 100%); } +.home-protected { position: relative; } +.home-locked .binding-gate-content { margin-top: 16vh; } .home-preview-note { position: absolute; top: calc(110px + env(safe-area-inset-top)); left: 0; right: 0; color: rgba(60,41,104,.65); font-size: 22px; line-height: 1.5; text-align: center; } .home-day-switch { display: flex; align-items: center; gap: 38px; padding: 0 16px; } .home-avatar-orb { flex: none; width: 108px; height: 108px; border: 3px solid rgba(255,255,255,.75); border-radius: 50%; box-sizing: border-box; background: #fffef0; display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 20px rgba(115,78,168,.1); overflow: hidden; } diff --git a/src/pages/home/index.tsx b/src/pages/home/index.tsx index 0b8e45f..2790ccd 100644 --- a/src/pages/home/index.tsx +++ b/src/pages/home/index.tsx @@ -2,8 +2,13 @@ import { useEffect, useMemo, useRef, useState } from 'react' import Taro, { useDidShow } from '@tarojs/taro' import { Button, Image, Text, View } from '@tarojs/components' import { AppTabBar } from '../../components/AppTabBar' -import { api, resolveAssetUrl, UserProfile } from '../../services/request' +import { UserAvatar } from '../../components/UserAvatar' +import { BindingGate, DeityBindingFlow } from '../../components/DeityBinding' +import { useTiangongSnapshot } from '../../hooks/useTiangongSnapshot' +import { hasBoundDeity } from '../../utils/tiangongMock' +import { api, getCachedProfile, getToken, subscribeProfile, UserProfile } from '../../services/request' import { isFrontendPreview } from '../../services/frontendPreview' +import { isAvatarDemo } from '../../services/avatarDemo' import { generateHomeOverview, HOME_DIMENSION_IDS, normalizeDimensionOrder } from '../../utils/homeOverview' import { getBeijingDate } from '../../utils/zodiacWeekly' import water from '../../assets/home/water.png' @@ -22,35 +27,40 @@ const ORDER_KEY = 'home.dimension-order.v1' const directionAngles: Record = { 正北: 0, 东北: 45, 正东: 90, 东南: 135, 正南: 180, 西南: 225, 正西: 270, 西北: 315 } export default function HomePage() { - const [profile, setProfile] = useState(null) - const [loading, setLoading] = useState(true) + const bindingSnapshot = useTiangongSnapshot() + const unlocked = hasBoundDeity(bindingSnapshot) + const [bindingOpen, setBindingOpen] = useState(false) + const [profile, setProfile] = useState(getCachedProfile) + const [loading, setLoading] = useState(() => !getCachedProfile()) const [loadFailed, setLoadFailed] = useState(false) const [mode, setMode] = useState<'home' | 'sort'>('home') const [today, setToday] = useState(() => getBeijingDate()) const [dayOffset, setDayOffset] = useState<-1 | 0 | 1>(0) const [orderedIds, setOrderedIds] = useState(HOME_DIMENSION_IDS) - const [avatarFailed, setAvatarFailed] = useState(false) const requestSequence = useRef(0) const refreshProfile = () => { setToday(getBeijingDate()) - setLoading(true) + if (!isFrontendPreview() && !isAvatarDemo() && !getToken()) { setProfile(null); setLoading(false); return } + const cached = getCachedProfile() + setProfile(cached) + setLoading(!cached) setLoadFailed(false) const sequence = ++requestSequence.current api.profile().then((data) => { if (sequence !== requestSequence.current) return setProfile(data) - setAvatarFailed(false) }).catch(() => { if (sequence !== requestSequence.current) return - setProfile(null) setLoadFailed(true) + if (cached) Taro.showToast({ title: '刷新失败,暂显示上次资料', icon: 'none' }) }).finally(() => { if (sequence === requestSequence.current) setLoading(false) }) try { setOrderedIds(normalizeDimensionOrder(Taro.getStorageSync(ORDER_KEY))) } catch { setOrderedIds([...HOME_DIMENSION_IDS]) } } useDidShow(refreshProfile) + useEffect(() => subscribeProfile(data => { setProfile(data); setLoading(false); setLoadFailed(false) }), []) useEffect(() => { let timer: ReturnType @@ -82,17 +92,18 @@ export default function HomePage() { } if (loading || !overview) { + const loggedOut = !isFrontendPreview() && !isAvatarDemo() && !getToken() return - {loading ? '正在准备你的每日参考…' : loadFailed ? '个人资料加载失败,请重试' : '请先完善有效的出生日期和时辰'} - {!loading && } + {loggedOut ? '登录后开启你的守护之旅' : loading ? '正在准备你的每日参考…' : loadFailed ? '个人资料加载失败,请重试' : '请先完善有效的出生日期和时辰'} + {!loading && } } - if (mode === 'sort') { + if (mode === 'sort' && unlocked) { return 维度排序 @@ -112,8 +123,9 @@ export default function HomePage() { const activeDay = overview.days[dayOffset + 1] return {isFrontendPreview() && 前端预览 · 示例资料 · 不保存个人资料} + {isAvatarDemo() && 已登录演示 · 头像仅本地保存 · 刷新重置} - setAvatarFailed(true)} /> + } /> {overview.days.map((day, index) => )} @@ -121,6 +133,8 @@ export default function HomePage() { {Number(activeDay.date.slice(5, 7))}月{Number(activeDay.date.slice(8, 10))}日 {activeDay.weekName}{activeDay.lunarDate} + + {overview.summary} @@ -136,12 +150,16 @@ export default function HomePage() { 吉时{overview.luckyHours.length ? overview.luckyHours.map((hour) => {hour.branch}{hour.time.replace(/:00/g, '')}) : 暂无参考时段} - 维度解析 + 维度解析 {orderedDimensions.map((item) => {item.title}{item.headline}{item.suitable ? '宜' : '忌'} {item.detail} )} 每日简化参考 · 仅作传统文化娱乐参考,不作为现实决策依据 + + {!unlocked && setBindingOpen(true)} />} + + {bindingOpen && setBindingOpen(false)} />} } diff --git a/src/pages/login/index.scss b/src/pages/login/index.scss index 5e1d813..13a0c01 100644 --- a/src/pages/login/index.scss +++ b/src/pages/login/index.scss @@ -33,6 +33,10 @@ font-size: 26px; color: #9e8b65; } +.login-platform-note { display: block; margin-top: 24px; font-size: 25px; line-height: 1.8; color: #9e8b65; } +.login-page .login-button[disabled] { opacity: .55; } +.login-page .code-input { min-width: 0; } +.login-page .send-code { flex: none; width: 180px; font-size: 25px; } .login-button { width: 100%; diff --git a/src/pages/login/index.tsx b/src/pages/login/index.tsx index e724fdf..d6af33f 100644 --- a/src/pages/login/index.tsx +++ b/src/pages/login/index.tsx @@ -1,7 +1,9 @@ -import { useState } from 'react' +import { useEffect, useRef, useState } from 'react' import Taro from '@tarojs/taro' import { Button, Input, Text, View } from '@tarojs/components' import { api } from '../../services/request' +import { finishAccountLogin } from '../../services/account' +import { isFrontendPreview } from '../../services/frontendPreview' import './index.scss' export default function LoginPage() { @@ -9,41 +11,77 @@ export default function LoginPage() { const [phone, setPhone] = useState('') const [captcha, setCaptcha] = useState('') const [mockCode, setMockCode] = useState('') + const [busy, setBusy] = useState('') + const [countdown, setCountdown] = useState(0) + const working = useRef(false) + const supported = process.env.TARO_ENV === 'weapp' - const wxLogin = async () => { - const login = await Taro.login() - const res = await api.wxLogin(login.code || 'dev-code') - setSessionKey(res.sessionKey) - Taro.showToast({ title: '微信登录成功', icon: 'none' }) + useEffect(() => { + if (!countdown) return + const timer = setTimeout(() => setCountdown(value => Math.max(0, value - 1)), 1000) + return () => clearTimeout(timer) + }, [countdown]) + const run = async (action: string, work: () => Promise) => { + if (working.current) return + working.current = true; setBusy(action) + try { await work() } + catch (error) { + const message = error instanceof Error ? error.message : '操作失败,请检查网络后重试' + if (/会话.*(过期|不存在)/.test(message)) { setSessionKey(''); setCaptcha(''); setMockCode('') } + Taro.showToast({ title: message, icon: 'none' }) + } finally { working.current = false; setBusy('') } } + const wxLogin = () => run('wx', async () => { + if (!supported || isFrontendPreview()) throw new Error('请在微信小程序中登录') + setSessionKey(''); setCaptcha(''); setMockCode(''); setCountdown(0) + const login = await Taro.login() + if (!login.code) throw new Error('微信未返回登录凭证,请重试') + const res = await api.wxLogin(login.code) + if (res.phoneBound) { + if (!res.token || !res.user) throw new Error('登录响应不完整,请重试') + await finishAccountLogin({ token: res.token, user: res.user }) + return + } + if (!res.sessionKey) throw new Error('未获取到登录会话,请重试') + setSessionKey(res.sessionKey) + Taro.showToast({ title: '请绑定手机号完成注册', icon: 'none' }) + }) - const sendSms = async () => { + const sendSms = () => run('sms', async () => { + if (!sessionKey) throw new Error('请先微信登录') + if (!/^1\d{10}$/.test(phone)) throw new Error('请输入正确的11位手机号') + if (countdown) return const res = await api.sendSms(phone) setMockCode(res.mockCode || '') - Taro.showToast({ title: '验证码已发送', icon: 'none' }) - } + setCountdown(60) + Taro.showToast({ title: res.mockCode ? '已返回开发验证码' : '验证码已发送', icon: 'none' }) + }) - const bindPhone = async () => { + const bindPhone = () => run('bind', async () => { + if (!sessionKey) throw new Error('请先微信登录') + if (!/^1\d{10}$/.test(phone)) throw new Error('请输入正确的11位手机号') + if (!/^\d{6}$/.test(captcha)) throw new Error('请输入6位验证码') const res = await api.bindPhone(sessionKey, phone, captcha) - Taro.setStorageSync('token', res.token) - Taro.redirectTo({ url: '/pages/my/index' }) - } + await finishAccountLogin(res) + }) return ( 那吉 一触即吉 - 微信登录后绑定手机号,开启你的吉运档案 - - - setPhone(String(e.detail.value))} /> + 微信登录后绑定手机号,开启你的守护之旅 + {!supported && 微信登录 / 注册请在微信开发者工具或微信小程序中完成。H5 不伪造微信凭证;已有会话可继续联调资料和头像接口。} + {isFrontendPreview() && 当前为纯前端预览,不会请求注册接口。} + + {sessionKey && + { setPhone(String(e.detail.value)); setCaptcha(''); setMockCode('') }} /> setCaptcha(String(e.detail.value))} /> - + - {mockCode && 开发验证码:{mockCode}} - - + {mockCode && 开发验证码:{mockCode}(后端返回,非真实短信)} + + } ) } diff --git a/src/pages/my/index.scss b/src/pages/my/index.scss index 4aa919a..37cd219 100644 --- a/src/pages/my/index.scss +++ b/src/pages/my/index.scss @@ -195,6 +195,20 @@ .palace-section { margin-top: 42px; } +.palace-bound-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; margin-top: 28px; } +.my-page .palace-deity-card { width: 100%; min-width: 0; margin: 0; padding: 14px 10px; display: flex; flex-direction: column; align-items: center; gap: 10px; border: 3px solid #f4d28b; border-radius: 20px; box-sizing: border-box; background: linear-gradient(150deg,#ffe2a4,#fff6d7); color: #86602c; font-size: 27px; font-weight: 700; line-height: 1.6; } +.palace-deity-art { display: flex; justify-content: center; width: 100%; height: 210px; } +.my-page .palace-bind-add { flex: none; width: auto; padding: 12px 0 12px 8px; margin: 0 0 0 auto; font-size: 23px; line-height: 1.5; color: #ad7840; } +.palace-empty { display: flex; flex-direction: column; align-items: center; padding: 40px 20px; gap: 22px; margin-top: 24px; border-radius: 24px; background: rgba(255,255,255,.45); font-size: 26px; line-height: 1.5; color: #9b8bad; } +.my-page .palace-empty > button { padding: 16px 42px; border-radius: 40px; background: #ff992e; color: white; font-size: 27px; line-height: 1.5; } +.element-protected { position: relative; } +.element-locked .binding-gate-content { margin-top: 18vh; } +.zodiac-locked-copy { margin-top: 48px; padding: 0 20px; } +.zodiac-modal.zodiac-unbound { height: auto; min-height: 620px; padding-top: 64px; padding-bottom: 50px; overflow: visible; } +.zodiac-unbound .zodiac-scroll { height: auto; flex: none; } +.zodiac-modal.zodiac-unbound .lucky-flower { width: 100px; height: 100px; top: -58px; font-size: 36px; } +.zodiac-unbound .zodiac-confirm { margin-top: 28px; } +.section-title-row { flex-wrap: wrap; } .section-title-row { display: flex; @@ -479,7 +493,17 @@ .zodiac-scroll { width: 100%; height: 0; min-height: 0; flex: 1; margin-top: 18px; } .zodiac-body { display: flex; flex-direction: column; align-items: center; padding: 0 10px 8px; box-sizing: border-box; } -.zodiac-body > * { flex-shrink: 0; } +.zodiac-body > .zodiac-large, +.zodiac-body > .zodiac-animal-name, +.zodiac-body > .zodiac-calendar-note, +.zodiac-body > .zodiac-week-range, +.zodiac-body > .zodiac-status, +.zodiac-body > .zodiac-summary, +.zodiac-body > .zodiac-date-guide, +.zodiac-body > .zodiac-rules-toggle, +.zodiac-body > .zodiac-rules, +.zodiac-body > .zodiac-week-note, +.zodiac-body > .zodiac-edit { flex-shrink: 0; } .zodiac-body .zodiac-large { margin-top: 16px; } .zodiac-title { flex: none; } .zodiac-week-range { margin-top: 18px; font-size: 23px; color: #8c7b9f; text-align: center; } diff --git a/src/pages/my/index.tsx b/src/pages/my/index.tsx index ddc15e9..87b4535 100644 --- a/src/pages/my/index.tsx +++ b/src/pages/my/index.tsx @@ -3,13 +3,19 @@ import Taro, { useDidShow } from '@tarojs/taro' import { Button, Image, ScrollView, Text, View } from '@tarojs/components' import { RadarChart } from '../../components/RadarChart' import { AppTabBar } from '../../components/AppTabBar' +import { UserAvatar } from '../../components/UserAvatar' +import { FiveElementIcon } from '../../components/FiveElementIcon' +import { BindingGate, DeityBindingFlow, DeityCardDialog } from '../../components/DeityBinding' +import { useTiangongSnapshot } from '../../hooks/useTiangongSnapshot' +import { deityCatalog } from '../../services/tiangong' +import { DeityId, hasBoundDeity } from '../../utils/tiangongMock' import { ZodiacMascot } from '../../components/ZodiacMascot' -import { api, resolveAssetUrl, UserProfile } from '../../services/request' -import coinAsset from '../../assets/fortune/coin.jpg' +import { api, getCachedProfile, getToken, subscribeProfile, UserProfile } from '../../services/request' import { calculateFiveElements } from '../../utils/fiveElements' import { calculateZodiac } from '../../utils/zodiac' import { calculateWeeklyZodiacFortune, getBeijingDate, ZODIAC_WEEKLY_RULES } from '../../utils/zodiacWeekly' import { isFrontendPreview } from '../../services/frontendPreview' +import { isAvatarDemo } from '../../services/avatarDemo' import './index.scss' type PageMode = 'home' | 'element' @@ -20,7 +26,7 @@ const formatBirthday = (birthday: string, visible: boolean) => { return visible ? `${year}_${month}_${day}` : '****_**_**' } -const genderSymbol = (gender: string) => (gender === '女' ? '♀' : '♂') +const genderSymbol = (gender: string) => gender === '女' ? '♀' : gender === '男' ? '♂' : '' const elementTraits: Record = { 木: '生长与舒展', @@ -46,7 +52,12 @@ const WaterMascot = ({ compact = false }: { compact?: boolean }) => ( ) export default function MyPage() { - const [profile, setProfile] = useState(null) + const bindingSnapshot = useTiangongSnapshot() + const unlocked = hasBoundDeity(bindingSnapshot) + const boundDeities = deityCatalog.filter(item => bindingSnapshot.deities[item.id].unlocked) + const [bindingOpen, setBindingOpen] = useState(false) + const [cardId, setCardId] = useState(null) + const [profile, setProfile] = useState(getCachedProfile) const [profileError, setProfileError] = useState(false) const [mode, setMode] = useState('home') const [zodiacOpen, setZodiacOpen] = useState(false) @@ -55,12 +66,12 @@ export default function MyPage() { const [birthdayVisible, setBirthdayVisible] = useState(false) const previewNote = isFrontendPreview() ? 前端预览 · 示例资料 · 不保存修改 - : null + : isAvatarDemo() ? 已登录演示 · 头像仅本地保存 · 刷新重置 : null const zodiac = useMemo(() => calculateZodiac(profile?.birthday || ''), [profile?.birthday]) const weeklyFortune = useMemo( - () => calculateWeeklyZodiacFortune(profile?.birthday || '', beijingDate), - [profile?.birthday, beijingDate] + () => unlocked ? calculateWeeklyZodiacFortune(profile?.birthday || '', beijingDate) : null, + [profile?.birthday, beijingDate, unlocked] ) useEffect(() => { @@ -90,14 +101,18 @@ export default function MyPage() { const refreshProfile = () => { setBeijingDate(getBeijingDate()) setProfileError(false) + if (!isFrontendPreview() && !isAvatarDemo() && !getToken()) { setProfile(null); return } + const cached = getCachedProfile() + setProfile(cached) api.profile() .then(setProfile) .catch(() => { setProfileError(true) - setProfile(null) + if (cached) Taro.showToast({ title: '刷新失败,暂显示上次资料', icon: 'none' }) }) } useDidShow(refreshProfile) + useEffect(() => subscribeProfile(data => { setProfile(data); setProfileError(false) }), []) const go = (url: string) => Taro.navigateTo({ url }) @@ -107,6 +122,10 @@ export default function MyPage() { } const renderTabs = () => + const renderBindingDialogs = () => <> + {bindingOpen && setBindingOpen(false)} />} + {cardId && setCardId(null)} />} + const renderElement = () => !elementReport ? ( @@ -117,11 +136,14 @@ export default function MyPage() { {renderTabs()} + {renderBindingDialogs()} ) : ( {previewNote} + + @@ -170,14 +192,19 @@ export default function MyPage() { : '当前不划分固定偏忌,避免单一五行过度偏增。'} 普通扶抑简化参考算法 v1,仅作传统文化娱乐参考;不含从格、化气、合冲刑害及调候等特殊判断。按北京时间公历、节气月柱与零点换日计算;时辰以起始小时代表,不作真太阳时校正。 + + {!unlocked && setBindingOpen(true)} />} + {renderTabs()} + {renderBindingDialogs()} ) if (!profile) { + const loggedOut = !isFrontendPreview() && !isAvatarDemo() && !getToken() return - {profileError ? '个人资料加载失败,请重试' : '个人资料加载中…'} - {profileError && } + {loggedOut ? '登录后查看个人信息' : profileError ? '个人资料加载失败,请重试' : '个人资料加载中…'} + {loggedOut ? : profileError && } {renderTabs()} } @@ -190,14 +217,12 @@ export default function MyPage() { {previewNote} go('/pages/profile-edit/index')}> - {profile.avatarUrl - ? - : } + } /> {profile.nickname} - {genderSymbol(profile.gender)} + {!!genderSymbol(profile.gender) && {genderSymbol(profile.gender)}} @@ -237,7 +262,7 @@ export default function MyPage() { 我的生肖 @@ -245,13 +270,12 @@ export default function MyPage() { 我的天宫 - (已收集 1 款) - - - 厚积薄发 - - 山鬼花钱 + (已绑定 {boundDeities.length} 位) + {!!boundDeities.length && } + {boundDeities.length ? {boundDeities.map(deity => )} : 暂无已绑定神仙} @@ -286,16 +310,17 @@ export default function MyPage() { {renderTabs()} + {renderBindingDialogs()} {zodiacOpen && ( setZodiacOpen(false)}> - event.stopPropagation()}> + event.stopPropagation()}> 运 {zodiac ? `${zodiac} · 生肖周运` : '我的生肖'} - {weeklyFortune ? ( + {!unlocked ? 绑定神仙后查看本周生肖运势 : weeklyFortune ? ( <> 属{zodiac} 按农历出生年 · 春节换年 diff --git a/src/pages/profile-edit/index.scss b/src/pages/profile-edit/index.scss index 3abfd03..89401af 100644 --- a/src/pages/profile-edit/index.scss +++ b/src/pages/profile-edit/index.scss @@ -8,19 +8,21 @@ overflow-x: hidden; } -.edit-page .nav { +// H5 keeps lazy-loaded page styles after navigation; contain all editor rules. +.edit-page { +.nav { height: calc(112px + env(safe-area-inset-top)); padding: 0 32px 24px; align-items: flex-end; } -.edit-page .nav-title { +.nav-title { color: #211c3a; font-size: 40px; font-weight: 800; } -.edit-page .back { +.back { left: 34px; bottom: 18px; color: #292244; @@ -66,7 +68,7 @@ border-radius: 50%; } -.water-mascot { +.edit-water-mascot { width: 142px; height: 178px; position: relative; @@ -75,7 +77,7 @@ box-shadow: inset 16px 10px 30px rgba(255, 255, 255, 0.28); } -.mascot-eye { +.edit-mascot-eye { position: absolute; top: 100px; width: 10px; @@ -84,10 +86,10 @@ background: #3275ef; } -.mascot-eye.left { left: 48px; } -.mascot-eye.right { right: 48px; } +.edit-mascot-eye.left { left: 48px; } +.edit-mascot-eye.right { right: 48px; } -.mascot-smile { +.edit-mascot-smile { position: absolute; left: 56px; top: 116px; @@ -341,7 +343,7 @@ height: 220px; } - .water-mascot { + .edit-water-mascot { transform: scale(0.82); } @@ -362,3 +364,7 @@ margin-top: 18px; } } +.profile-load-error { padding: 160px 35px 50px; display: flex; flex-direction: column; gap: 28px; text-align: center; color: #856c9c; font-size: 28px; line-height: 1.8; } +.profile-load-error > button { width: 70%; padding: 20px; margin: 0 auto; border-radius: 40px; font-size: 28px; line-height: 1.5; color: #fff; background: #ae85d9; } +.profile-preview-notice { display: block; margin: 0 0 24px; color: #9a86ad; font-size: 22px; line-height: 1.5; text-align: center; } +} diff --git a/src/pages/profile-edit/index.tsx b/src/pages/profile-edit/index.tsx index 6291f19..dca41df 100644 --- a/src/pages/profile-edit/index.tsx +++ b/src/pages/profile-edit/index.tsx @@ -1,9 +1,13 @@ -import { useEffect, useState } from 'react' -import Taro from '@tarojs/taro' +import { useEffect, useRef, useState } from 'react' +import Taro, { useRouter } from '@tarojs/taro' import { Button, Image, Input, Picker, Text, View } from '@tarojs/components' import areaData from 'china-area-data' import { NavBar } from '../../components/NavBar' +import { UserAvatar } from '../../components/UserAvatar' import { api, resolveAssetUrl, UserProfile } from '../../services/request' +import { isFrontendPreview } from '../../services/frontendPreview' +import { isAvatarDemo } from '../../services/avatarDemo' +import { EditableProfile, toEditableProfile, saveProfileEdits, validateProfileForm } from '../../utils/profileEditing' import './index.scss' const hours = [ @@ -21,7 +25,6 @@ const hours = [ { name: '亥时', range: '21:00-23:00' } ] -type EditableProfile = Pick type RegionEntry = [string, string] const emptyForm: EditableProfile = { @@ -34,30 +37,6 @@ const emptyForm: EditableProfile = { district: '' } -const previewProfile: UserProfile = { - id: 0, - nickname: 'You', - gender: '男', - birthday: '1999-11-06', - birthHour: '戌时', - province: '河南省', - city: '洛阳市', - district: '洛龙区', - points: 0, - remainingEdits: 5, - elementReport: { scores: [], favorable: '', unfavorable: '', dayMaster: '' } -} - -const toEditableProfile = (data: UserProfile): EditableProfile => ({ - nickname: data.nickname, - gender: data.gender, - birthday: data.birthday, - birthHour: data.birthHour, - province: data.province, - city: data.city, - district: data.district -}) - const regionEntries = (parentCode: string): RegionEntry[] => Object.entries(areaData[parentCode] || {}) const findCodeByName = (entries: RegionEntry[], name: string) => entries.find(([, label]) => label === name)?.[0] @@ -75,40 +54,43 @@ const findRegionCodes = (profile: Pick error instanceof Error ? error.message : fallback +const errorMessage = (error: unknown, fallback: string) => error instanceof Error ? error.message : (error as { errMsg?: string })?.errMsg || fallback export default function ProfileEditPage() { + const registering = useRouter().params.mode === 'register' + const alive = useRef(true) + const savingRef = useRef(false) const [profile, setProfile] = useState(null) const [form, setForm] = useState(emptyForm) const [avatarPreview, setAvatarPreview] = useState('') const [pendingAvatar, setPendingAvatar] = useState('') - const [regionCodes, setRegionCodes] = useState(findRegionCodes(previewProfile)) + const [regionCodes, setRegionCodes] = useState(findRegionCodes(emptyForm)) const [avatarSheetOpen, setAvatarSheetOpen] = useState(false) const [loading, setLoading] = useState(true) const [saving, setSaving] = useState(false) + const [loadError, setLoadError] = useState('') - useEffect(() => { - api.profile() + const loadProfile = () => { + setLoading(true) + setLoadError('') + return api.profile(true) .then((data) => { + if (!alive.current) return setProfile(data) setForm(toEditableProfile(data)) setRegionCodes(findRegionCodes(data)) setAvatarPreview(resolveAssetUrl(data.avatarUrl)) }) .catch((error) => { - if (process.env.TARO_ENV === 'h5') { - setProfile(previewProfile) - setForm(toEditableProfile(previewProfile)) - setRegionCodes(findRegionCodes(previewProfile)) - return - } - Taro.showToast({ title: errorMessage(error, '个人信息加载失败'), icon: 'none' }) + if (alive.current) { setProfile(null); setLoadError(errorMessage(error, '个人信息加载失败')) } }) - .finally(() => setLoading(false)) - }, []) + .finally(() => { if (alive.current) setLoading(false) }) + } + useEffect(() => { alive.current = true; loadProfile(); return () => { alive.current = false } }, []) - const useAvatar = (filePath: string) => { + const useAvatar = (filePath: string, size?: number) => { if (!filePath) return + if (size && size > 5 * 1024 * 1024) { Taro.showToast({ title: '头像不能超过5MB', icon: 'none' }); return } setAvatarPreview(filePath) setPendingAvatar(filePath) setAvatarSheetOpen(false) @@ -122,7 +104,7 @@ export default function ProfileEditPage() { sourceType: [sourceType], sizeType: ['compressed'] }) - useAvatar(result.tempFiles[0]?.tempFilePath || '') + useAvatar(result.tempFiles[0]?.tempFilePath || '', result.tempFiles[0]?.size) } catch (error) { const message = errorMessage(error, '') if (message && !message.toLowerCase().includes('cancel')) { @@ -136,33 +118,34 @@ export default function ProfileEditPage() { } const save = async () => { - const nickname = form.nickname.trim() - if (!nickname) { - Taro.showToast({ title: '请输入昵称', icon: 'none' }) - return - } - if (!form.gender || !form.birthday || !form.birthHour || !form.province || !form.city || !form.district) { - Taro.showToast({ title: '请完整填写个人信息', icon: 'none' }) - return - } + if (savingRef.current || !profile) return + if (isFrontendPreview()) { Taro.showToast({ title: '当前为纯前端预览,不保存修改', icon: 'none' }); return } + savingRef.current = true setSaving(true) try { - await api.updateProfile({ ...form, nickname }) - if (pendingAvatar) { - await api.uploadAvatar(pendingAvatar) - } - Taro.showToast({ title: '修改成功', icon: 'success' }) - setTimeout(() => Taro.navigateBack(), 500) + if (registering) validateProfileForm(form) + const result = await saveProfileEdits(profile, form, pendingAvatar, api, updated => { + if (!alive.current) return + setProfile(updated); setPendingAvatar(''); setAvatarPreview(resolveAssetUrl(updated.avatarUrl)) + }) + if (!alive.current) return + setProfile(result.profile) + setForm(toEditableProfile(result.profile)) + setAvatarPreview(resolveAssetUrl(result.profile.avatarUrl)) + Taro.showToast({ title: result.changed ? isAvatarDemo() ? '已保存演示效果' : '保存成功' : '无需修改', icon: result.changed ? 'success' : 'none' }) + if (registering || Taro.getCurrentPages().length <= 1) Taro.switchTab({ url: '/pages/my/index' }) + else Taro.navigateBack() } catch (error) { Taro.showToast({ title: errorMessage(error, '保存失败,请重试'), icon: 'none' }) } finally { - setSaving(false) + savingRef.current = false + if (alive.current) setSaving(false) } } const birthHour = hours.find((item) => item.name === form.birthHour) || hours[0] const dateParts = form.birthday ? form.birthday.split('-') : ['', '', ''] - const today = new Date().toISOString().slice(0, 10) + const today = new Date(Date.now() + 8 * 60 * 60 * 1000).toISOString().slice(0, 10) const provinceEntries = regionEntries('86') const provinceCode = regionCodes[0] || provinceEntries[0]?.[0] || '' const cityEntries = regionEntries(provinceCode) @@ -211,21 +194,24 @@ export default function ProfileEditPage() { return ( - + {loading ? ( 加载中... - ) : ( + ) : loadError || !profile ? + {loadError || '个人信息加载失败'} + + : ( + {isFrontendPreview() && 纯前端预览 · 不保存个人资料或头像} + {isAvatarDemo() && 已登录演示 · 选择图片并保存可查看三处头像同步,不上传真实存储;刷新页面重置。} + 半年内只能修改{profile?.remainingEdits ?? 0}次哦 )} @@ -316,10 +302,10 @@ export default function ProfileEditPage() { {avatarSheetOpen && ( setAvatarSheetOpen(false)}> event.stopPropagation()}> - + } diff --git a/src/pages/tiangong-detail/index.scss b/src/pages/tiangong-detail/index.scss index f4f2a5b..5b1a207 100644 --- a/src/pages/tiangong-detail/index.scss +++ b/src/pages/tiangong-detail/index.scss @@ -1,69 +1,34 @@ -.tiangong-detail-page { - height: 100vh; - position: relative; - overflow: hidden; - display: flex; - flex-direction: column; - background: #fff9eb; -} - -.detail-navbar { - position: relative; - z-index: 2; - height: calc(92px + env(safe-area-inset-top)); - padding-top: env(safe-area-inset-top); - display: flex; - align-items: center; - justify-content: center; - box-sizing: border-box; - flex: none; - background: #fff; -} - -.detail-navbar-title { - color: #25262a; - font-size: 30px; - font-weight: 600; -} - -.god-scene-wrap { - flex: 1; - min-height: 0; - overflow: hidden; - background: #f8f5e8; -} - -.god-scene { - width: 100%; - height: 100%; - display: block; -} - -.worship-actions { - height: calc(158px + env(safe-area-inset-bottom)); - padding: 20px 34px calc(18px + env(safe-area-inset-bottom)); - display: flex; - justify-content: space-between; - box-sizing: border-box; - flex: none; - background: rgba(255, 247, 226, 0.85); - backdrop-filter: blur(8px); -} - -.worship-action { - width: 60px; - height: 104px; - padding: 14px 0; - border: 0; - border-radius: 28px; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - gap: 4px; - color: #25282b; - font-size: 25px; - line-height: 1; - background: #e3f0e9; - box-shadow: 0 4px 10px rgba(129, 154, 137, 0.18); -} +.tiangong-detail-page { height: 100vh; height: 100dvh; display: flex; flex-direction: column; background: #faf2d4; color: #314337; overflow: hidden; } +.tg-sacred-scene { flex: 1; min-height: 0; display: flex; flex-direction: column; overflow: hidden; } +.tg-statue-space { position: relative; flex: 1; min-height: 0; background-size: cover; background-position: center bottom; background-repeat: no-repeat; } +.tg-statue { display: flex; align-items: center; justify-content: center; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 100%; height: 100%; max-height: 100vw; } +.tg-statue.catalog-art { width: 72%; height: 82%; margin: auto; border-radius: 14px; } +// Clip the baked-in white side gutters, not the altar itself. Both states share +// one stage size and centreline so lighting incense never moves the composition. +.tg-altar-frame { position: relative; flex: none; height: 0; padding-top: 43.4%; overflow: hidden; background: #e7d5ae; } +.tg-altar { position: absolute; top: -0.3%; left: -3.7%; display: block; width: 106%; height: 100.3%; } +.tg-merit-entry { position: absolute; left: 24px; top: 20px; padding: 10px 24px; margin: 0; color: #786c48; border: 1px solid rgba(157,135,71,.25); border-radius: 25px; background: rgba(255,253,236,.8); font-size: 23px; line-height: 32px; } +.tg-incense-count { position: absolute; right: 24px; top: 30px; color: #887942; font-size: 23px; line-height: 32px; } +.worship-actions { flex: none; display: flex; justify-content: space-around; align-items: center; padding: 18px 12px calc(24px + env(safe-area-inset-bottom)); background: #faf2d4; } +.worship-actions .worship-action { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; width: 68px; height: 108px; padding: 0; margin: 0; border-radius: 34px; font-size: 27px; line-height: 34px; color: #3f5141; background: linear-gradient(110deg,#c3d7c7,#e1eadc); box-shadow: inset 2px 1px 5px rgba(255,255,255,.7),0 3px 8px rgba(107,125,92,.08); } +.worship-action:active { opacity: .7; } +.tg-panel-heading { display: flex; gap: 20px; align-items: center; } +.tg-panel-statue { flex: none; width: 130px; height: 150px; } +.tg-panel-copy { flex: 1; } +.tg-panel-heading-line { display: block; font-size: 25px; font-weight: 600; line-height: 1.8; } +.tg-merit-stats { margin-top: 22px; padding: 20px 24px; background: rgba(255,255,255,.25); border-radius: 12px; } +.tg-merit-stat { display: block; font-size: 23px; line-height: 1.8; } +.tg-offering-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin: 30px 0; } +.tg-offering-options .tg-offering-option { margin: 0; padding: 14px; border: 2px solid transparent; border-radius: 16px; color: #47614d; background: #fffdf4; font-size: 30px; line-height: 44px; } +.tg-offering-options .tg-offering-option.chosen { border-color: #567f60; background: #edf4e8; } +.tg-waiting-dots { font-size: 64px; text-align: center; line-height: 1.8; letter-spacing: 18px; color: #7c9a7f; } +.tiangong-detail-page.invitation { height: auto; min-height: 100vh; overflow: visible; } +.invitation .tg-sacred-scene { flex: none; height: 730px; } +.tg-invite-description { flex: none; padding-bottom: calc(28px + env(safe-area-inset-bottom)); background: #faf2d4; } +.tg-invite-name { display: block; padding: 24px; font-size: 36px; line-height: 1.5; text-align: center; background: #d5e5d9; color: #5e7148; font-weight: 600; } +.tg-introduction { display: block; margin: 26px 32px 16px; font-size: 25px; line-height: 1.85; color: #4d503f; } +.tg-content-note { display: block; padding: 8px 32px; text-align: center; font-size: 20px; line-height: 1.7; color: #85806b; } +.tg-invite-description .tg-invite-main { width: 220px; height: 76px; margin: 20px auto; padding: 0; border-radius: 40px; line-height: 76px; font-size: 28px; color: #3c5341; background: linear-gradient(110deg,#bdd4c3,#e1eadc); } +.tg-invalid { min-height: 100vh; text-align: center; background: #f8f6ed; color: #52634f; } +.tg-invalid > text { display: block; padding: 70px 30px; font-size: 28px; } +.tg-invalid > button { color: #52634f; font-size: 28px; } diff --git a/src/pages/tiangong-detail/index.tsx b/src/pages/tiangong-detail/index.tsx index 8746188..44ec8c9 100644 --- a/src/pages/tiangong-detail/index.tsx +++ b/src/pages/tiangong-detail/index.tsx @@ -1,60 +1,110 @@ -import { useEffect, useState } from 'react' +import { useState } from 'react' import Taro, { useRouter } from '@tarojs/taro' -import { Button, Image, Text, View } from '@tarojs/components' -import wealthDetailSceneAsset from '../../assets/tiangong/wealth-detail-scene.jpg' -import { api, TiangongDetail } from '../../services/request' +import { Button, Image, Input, Text, Textarea, View } from '@tarojs/components' +import { TiangongHeader, TiangongModal, TiangongMockNote } from '../../components/TiangongUI' +import { DeityBindingFlow } from '../../components/DeityBinding' +import { useTiangongSnapshot } from '../../hooks/useTiangongSnapshot' +import { getDeity, tiangongMock } from '../../services/tiangong' +import clouds from '../../assets/tiangong/proto-clouds.jpg' +import altar from '../../assets/tiangong/proto-altar.jpg' +import altarLit from '../../assets/tiangong/proto-altar-lit.jpg' import './index.scss' -const mockCashGod: TiangongDetail = { - id: 'wealth', - name: '财神', - title: '敬神', - imageUrl: wealthDetailSceneAsset, - introduction: '', - blessing: '' -} - -const actions = ['上香', '祈愿', '回向', '送神', '返回'] - +type Modal = '' | 'wish' | 'dedicate' | 'offering' | 'send-off' | 'stand' | 'waiting' | 'invited' | 'insufficient' | 'result' export default function TiangongDetailPage() { const router = useRouter() - const itemId = router.params.id || 'wealth' - const [detail, setDetail] = useState(mockCashGod) + const deity = getDeity(router.params.id) + const snapshot = useTiangongSnapshot() + const [bindingCardOpen, setBindingCardOpen] = useState(false) + const [modal, setModal] = useState('') + const [wish, setWish] = useState('') + const [name, setName] = useState('') + const [blessing, setBlessing] = useState('') + const [amount, setAmount] = useState('') + const [error, setError] = useState('') + const [result, setResult] = useState('') + const [busy, setBusy] = useState(false) + const close = () => { setModal(''); setError('') } + const open = (next: Modal) => { setError(''); setModal(next) } + const back = () => { + if (Taro.getCurrentPages().length > 1) Taro.navigateBack() + else Taro.switchTab({ url: '/pages/fortune/index' }) + } + if (!deity) return 未找到该神仙,请返回天宫选择。 + const state = snapshot.deities[deity.id] + const invited = state.unlocked + const perform = (action: () => void) => { + if (busy) return + setBusy(true) + try { action() } catch (cause) { setError(cause instanceof Error ? cause.message : '演示操作失败,请重试') } + finally { setBusy(false) } + } + const showResult = (text: string) => { setResult(text); open('result') } + const incense = () => perform(() => { tiangongMock.incense(deity.id); Taro.showToast({ title: '模拟上香,次数 +1', icon: 'none' }) }) + const confirmOffering = () => perform(() => { + const response = tiangongMock.offering(deity.id, Number(amount)) + if (response.insufficient) open('insufficient') + else showResult(`已模拟选择 ${response.amount} 爱心。本次不扣减余额、不增加真实功德。`) + }) + const showBindingCard = () => { close(); setBindingCardOpen(true) } + const submitWish = () => perform(() => { tiangongMock.wish(deity.id, wish); setWish(''); showResult('模拟祈愿已完成,内容未上传、未保存。') }) + const submitDedication = () => perform(() => { tiangongMock.dedicate(deity.id, name, blessing); setName(''); setBlessing(''); showResult('模拟回向已完成,姓名和祝愿未上传、未保存。') }) + const panelHeader = (title: string, subtitle: string) => {title}{subtitle} + const dialogActions = (confirm: string, action: () => void, danger = false, disabled = false) => - useEffect(() => { - api.tiangongDetail(itemId) - .then(setDetail) - .catch(() => setDetail(mockCashGod)) - }, [itemId]) - - return ( - - - {detail.title || '敬神'} - - - - - - - - {actions.map((action) => ( - - ))} + return + + + + + {invited && <>上香 {state.incenseCount}} + {invited && } - ) + {invited ? + {['上香', '祈愿', '回向', '送神', '返回'].map(action => )} + : + {deity.name} + {deity.introduction || '原型未提供这位神仙的独立介绍,待确认后补充。'} + {deity.introduction && 原型介绍与“禄星”名称不一致,文案待确认。} + {deity.missingStatue && 原型未提供独立详情神像,暂使用同一神仙的列表原图。} + + 仅演示恭请流程,不扣费、不建立真实供奉关系。 + } + {modal && + {modal === 'wish' && <> + {panelHeader(`向【${deity.ritualName}】祈愿`, '诚心许愿,助您愿望实现!')} + 您的愿望