Commit Graph

98 Commits

Author SHA1 Message Date
d5a08db56c feat:添加存储空间 2026-07-29 16:03:33 +08:00
zerosaturation
27313f414a feat(profile): render level progress bar in LV box
profile.vue only rendered fan level digit, hiding the fact that
fans level up via accumulated exhibition hours (6h/level, cap 20),
not login/task experience. Users saw "LV X" without "X more
hours to next level", so upgrades felt invisible.

- backend: surface exhibition_hours / next_level_hours on
  CurrentIdentityDTO via a new loadLevelProgress helper in
  user_controller (read-only, no proto regen, no service
  surface change). Full-level responses set next_level_hours =
  exhibition_hours so the client can derive progress=1.
- frontend: split level-box into base track + gold fill + text
  overlay; width bound to progressRatio with 0.4s transition.
  Adds "距 LV X+1 还差 N 小时" hint and MAX indicator for
  full-level users.
2026-07-27 18:02:59 +08:00
zerosaturation
83999995f5 refactor(frontend): consolidate user storage read via getStoredUser helper
uni.getStorageSync('user') 在 key 从未写过的 UniApp 平台下默认返回 ""(空串)
而非 null/undefined,旧式 `JSON.parse(uni.getStorageSync('user')) || {}` 在
parse 阶段直接抛 `SyntaxError: Unexpected end of JSON input`,导致 quickLogin
setup 崩溃,并触发 Vue 二次告警 `Invalid vnode type: undefined`。

新增 utils/getStoredUser.js 单点封装,统一处理:
  - 空值/损坏 JSON 兜底(返回 null,不抛)
  - 与 store/modules/user.js 初始化块同源守卫
  - 失败 warn 级别日志,不影响业务

替换全库 16 处不安全 `JSON.parse(userStr)` 调用:
  composables/useLaserMint.js                  composables/useShare.js
  utils/guideConfig.js                         utils/preloadApi/core.js
  pages/castlove/lenticular/lenticular-result.vue
  pages/support-activity/index.vue             pages/support-activity/components/{TopRanking,ActionBar}.vue
  pages/components/{Header,ShareModal,ShareReportButtons}.vue
  pages/tasks/{GuideModal,daily-tasks}.vue
  pages/asset-detail/asset-detail.vue          pages/exhibition/exhibition.vue
  pages/profile/profile.vue                    pages/login/quickLogin.vue(原崩点)

净 -18 行,17 文件改动 + 1 文件新增。后续如需支持多 key(如 'adminUser'),
把 getStoredUser 扩成泛型 getStoredJSON(key) 即可。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-27 17:16:49 +08:00
zerosaturation
5ab1a537db feat(frontend): daily-task reportEvent 接入 + exhibition 错位实现迁移
Phase F.2 前端接入:

- asset-detail.vue: onLoad 触发 daily_browse_asset reportEvent(后端幂等:
  status=completed/claimed 时 skip;本地不缓存避免跨天去重逻辑复杂)
- exhibition.vue: 删除原 exhibition 页 onLoad 的 daily_browse_asset reportEvent
  调用(错位实现,浏览发生在详情页不在展厅页)
- myWorks.vue: handleAssetSelect 成功分支新增 daily_place_asset reportEvent
- daily-tasks.vue: 移除多余的 task-progress 文本显示(接口不返回
  current_count/target_count,前端 UI 也不展示)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-27 15:47:01 +08:00
zerosaturation
c0b577dd40 feat:增加邮箱管理功能 2026-07-14 21:59:15 +08:00
5625f6ac28 feat:增加预加载接口 2026-07-09 13:27:25 +08:00
zerosaturation
0a62b9cd10 feat:修改陀螺仪为手动控制并且增加自动控制 2026-07-07 00:29:01 +08:00
zerosaturation
d279976822 feat:修改铸造相关报错 2026-07-04 00:22:05 +08:00
zerosaturation
1afee2de73 feat:修改的欢迎页的冷启动和系统重启的错误触发和一键登录页的路径修改 2026-07-03 18:54:03 +08:00
zerosaturation
4c3388ed36 feat:新增注销账号功能,然后修改前端注册页面 2026-07-03 16:40:53 +08:00
zerosaturation
d12a84c1f0 feat:增加队列修改收益方面把轮询改为MQ队列,修改数据看板的数据问题出错 2026-07-03 12:34:55 +08:00
8d72b796fa feat:修改app注册,登录页面和流程 2026-07-02 19:06:35 +08:00
zerosaturation
9c3fe6d695 feat:修复点赞收益的问题 2026-07-01 11:03:50 +08:00
zerosaturation
3006726679 feat:添加原图上传,明星选择 2026-06-29 18:55:43 +08:00
zerosaturation
3cd68acf6d feat:完善计算点赞押注收益 2026-06-29 14:47:32 +08:00
zerosaturation
37a3f292df feat:访问他人展览页面修改 2026-06-23 22:29:39 +08:00
zerosaturation
7eb6dad434 feat:新增举报和反馈功能 2026-06-22 17:19:48 +08:00
zerosaturation
ef0a4f6afd feat:修改通知系统的消息 2026-06-17 11:59:51 +08:00
zerosaturation
b2c044a282 feat:修改访问他人时获取光栅卡的时候不显示bug 2026-06-16 23:27:54 +08:00
32e329b1dc feat:新增反馈按钮和举报按钮的弹窗组件 2026-06-16 17:39:30 +08:00
zerosaturation
0aa02cc3a4 fix:修改压测的bug 2026-06-15 17:14:21 +08:00
zerosaturation
271e0350c7 feat:重构code状态码 2026-06-15 16:28:35 +08:00
zerosaturation
12dd698d08 feat:回退优化 2026-06-15 14:27:34 +08:00
zerosaturation
56fc2f6beb feat:修改密码增加手机号+短信验证 2026-06-15 14:15:24 +08:00
a3e54b7305 feat: 修改个人中心的bug 2026-06-12 16:01:14 +08:00
zerosaturation
23a8051e96 feat: 修改头像显示不全,修改docker的配置 2026-06-04 16:41:20 +08:00
zerosaturation
edadb0e082 feat:修改头像bug 2026-06-02 21:10:35 +08:00
zerosaturation
a7854a4fe7 feat:修改菜单路由 2026-06-02 16:57:54 +08:00
zerosaturation
e1829b2296 feat: 修改短信认证bug 2026-06-02 15:43:57 +08:00
60db94e377 style:修改前端样式 2026-06-01 15:06:35 +08:00
zerosaturation
85beec6395 style: 修改展示页面的样式 2026-05-31 20:48:26 +08:00
zerosaturation
5e33bbb031 feat: 修改用户经验bug和收益记录bug 2026-05-31 20:38:58 +08:00
10bf5b9578 feat:修改铸造选择卡片滑动bug异常 2026-05-28 22:27:31 +08:00
c93dd13dc3 style: 修改样式 2026-05-28 19:33:46 +08:00
zerosaturation
670ef5e019 style:修改个人设置样式 2026-05-28 18:02:36 +08:00
59fdac5bc2 style:修改主页样式和个人页样式 2026-05-28 17:46:09 +08:00
zerosaturation
9a9f4d1b96 feat: 新增点赞列表标签增加 2026-05-28 17:45:07 +08:00
zerosaturation
3e1c6c309b feat: 修改样式功能 2026-05-26 22:50:39 +08:00
zerosaturation
7dbcf50a39 feat:去除多余的代码 2026-05-26 20:12:40 +08:00
zerosaturation
b8e462f9b5 feat:修改广场页面,铸造页面 2026-05-26 19:26:27 +08:00
zerosaturation
a39bb7b60f feat:新增sms短信注册 2026-05-26 13:23:04 +08:00
zerosaturation
0852f96436 feat:去掉重复的点赞约束 2026-05-25 19:03:35 +08:00
zerosaturation
2855cd512d feat: 修改自动领取收益关闭,修复下架时间的bug,修改的光栅卡陀螺仪 2026-05-25 11:08:35 +08:00
zerosaturation
4d42d9a6d0 feat: 新增历史点赞查询和修改点赞规则 2026-05-22 18:06:33 +08:00
zerosaturation
415d224798 feat: 新增图片无限滚动 2026-05-22 15:41:39 +08:00
zerosaturation
ee0433464f feat: 修改铸造消耗确认框和新增批量购买道具的功能,修改回退按钮的颜色 2026-05-22 00:14:28 +08:00
569321bb41 feat: 修改返回按钮 2026-05-21 21:35:17 +08:00
zerosaturation
fcebf5a107 feat:增加分享页面和举报按钮 2026-05-21 18:51:15 +08:00
zerosaturation
bb797ebf87 feat: 修改双击点赞的逻辑和处理收益记录的bug 2026-05-21 10:45:47 +08:00
zerosaturation
0d591fdd94 feat: 修改展览页 2026-05-20 17:05:02 +08:00