topfans/frontend/utils
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
..
laser-card feat:去掉无用的函数方法 2026-07-09 16:08:25 +08:00
mock
preloadApi refactor(frontend): consolidate user storage read via getStoredUser helper 2026-07-27 17:16:49 +08:00
socket feat:修改websocket的性能和相关的问题 2026-07-03 22:04:11 +08:00
webgl
activity-config.js
agreement.js
api.js feat:修改周边验证 2026-07-17 16:53:57 +08:00
assetImageHelper.js
avatarCache.js
backgroundRefreshBus.js
brand-slogans.js
castloveGenerationFlow.js
castloveMintForm.js
constants.js feat:修改分享url 2026-07-15 12:40:39 +08:00
craftMintSubmit.js
deviceFingerprint.js
format.js
getStoredUser.js refactor(frontend): consolidate user storage read via getStoredUser helper 2026-07-27 17:16:49 +08:00
guideConfig.js refactor(frontend): consolidate user storage read via getStoredUser helper 2026-07-27 17:16:49 +08:00
h5OssPostUrl.js
image-compositor.js
ioPath.js feat:增加清理临时文件的目录 2026-07-13 14:40:34 +08:00
lenticular-engine.js feat:修改陀螺仪为手动控制并且增加自动控制 2026-07-07 00:29:01 +08:00
likeHelper.js
performance-config.js
performance-monitor.js
progress-manager.js
resource-manager.js
scanLaunch.js fix:修改登录页流程bug 2026-07-21 16:41:42 +08:00
screen-cache.js
sticker-compositor.js
task-api.js
validator.js