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
|
1939d35f9e
|
feat:修改聚合分反馈动画
|
2026-06-24 20:07:42 +08:00 |
|
zerosaturation
|
2ea8be5409
|
feat:活动弹窗修改拜访按钮位置
|
2026-06-24 18:42:46 +08:00 |
|
zerosaturation
|
b7e2aee399
|
feat:修改活动 TOP3 + 我的排名
|
2026-06-24 18:10:12 +08:00 |
|
zerosaturation
|
37a3f292df
|
feat:访问他人展览页面修改
|
2026-06-23 22:29:39 +08:00 |
|
zerosaturation
|
12571eedba
|
feat:修改活动弹窗bug
|
2026-06-23 18:57:50 +08:00 |
|
zerosaturation
|
75ab617c6c
|
feat:增加实时留言功能和修改轮询道具购买记录显示改为websocket显示
|
2026-06-23 18:13:55 +08:00 |
|
zerosaturation
|
7eb6dad434
|
feat:新增举报和反馈功能
|
2026-06-22 17:19:48 +08:00 |
|
|
|
b1fe1aea50
|
feat:新增头像框显示
|
2026-06-22 14:36:24 +08:00 |
|
|
|
a6ce0f5865
|
feat:完善应援活动
|
2026-06-22 12:37:59 +08:00 |
|
|
|
6f29925e6a
|
feat:修改活动页面
|
2026-06-17 23:12:59 +08:00 |
|
|
|
f06623339d
|
fix:修改赠送礼物类型不正确报错的bug
|
2026-06-17 15:31:53 +08:00 |
|
|
|
d7dd809327
|
feat:修改活动里面排行榜样式
|
2026-06-15 16:50:25 +08:00 |
|
zerosaturation
|
271e0350c7
|
feat:重构code状态码
|
2026-06-15 16:28:35 +08:00 |
|
|
|
f768613509
|
feat: 修改页面bug
|
2026-06-04 00:51:29 +08:00 |
|
zerosaturation
|
feb98dd865
|
feat: 新增运营活动的进度条显示
|
2026-06-03 01:21:28 +08:00 |
|
zerosaturation
|
a8777cb1ad
|
feat(support-activity): add VerticalProgressBar component
|
2026-06-02 21:47:17 +08:00 |
|
zerosaturation
|
ee0433464f
|
feat: 修改铸造消耗确认框和新增批量购买道具的功能,修改回退按钮的颜色
|
2026-05-22 00:14:28 +08:00 |
|
zerosaturation
|
afda66cdb9
|
feat: 新增实时应援道具使用显示
|
2026-05-20 18:42:12 +08:00 |
|
|
|
6d36f308a3
|
修改应援活动的钻石实时更新
|
2026-05-19 19:09:11 +08:00 |
|
|
|
e4ce006de3
|
修改展示页的样式
|
2026-05-15 19:01:49 +08:00 |
|
|
|
e500bff6ff
|
style:修改样式
|
2026-05-14 15:59:56 +08:00 |
|
|
|
0a09048a85
|
feat: 添加 ActivityRankingModal 活动榜单弹窗组件
- 新建 ActivityRankingModal.vue 组件,实现单活动排名展示
- TOP3 展示使用 TOP3Card 组件
- 排名列表使用 RankingListItem 组件
- 支持下拉刷新和滚动加载更多
- 当前用户栏固定底部显示
- ThemeBanner 添加 @tap 事件触发弹窗
- index.vue 集成 ActivityRankingModal
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-14 13:06:19 +08:00 |
|
|
|
1af0a0527a
|
feat: 新增图片,修改应援消耗道具
|
2026-05-14 12:17:50 +08:00 |
|
|
|
7e1da61397
|
feat: update contribution polling per latest spec - timestamp+id polling, combo_count, fading animation
|
2026-05-14 12:16:35 +08:00 |
|
|
|
0ef2840f00
|
fix: use reactive array instead of Set for newRecordIds
|
2026-05-14 11:29:51 +08:00 |
|
|
|
a2052b673c
|
feat: add ContributionList component for realtime display
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-14 11:26:46 +08:00 |
|
|
|
6e09afe843
|
feat: 替换字体
|
2026-05-13 16:34:50 +08:00 |
|
zerosaturation
|
44ba103e64
|
feat: 修改字体
|
2026-05-12 11:26:32 +08:00 |
|
zerosaturation
|
958dffce6a
|
feat: 修改跳转小屋的路由,和修改header的样式
|
2026-05-07 17:55:13 +08:00 |
|
zerosaturation
|
4b817b320c
|
feat: 新增运营活动购买道具提醒
|
2026-04-13 16:08:52 +08:00 |
|
zerosaturation
|
21630016f5
|
提交前端代码
|
2026-04-07 23:08:49 +08:00 |
|