Commit Graph

32 Commits

Author SHA1 Message Date
d5a08db56c feat:添加存储空间 2026-07-29 16:03:33 +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
365f783ea0 feat:修改分享url 2026-07-15 12:40:39 +08:00
zerosaturation
6a6d5f9deb feat:增加守卫组合式函数本身 2026-07-13 14:56:08 +08:00
zerosaturation
31eee930ca feat:去掉无用的函数方法 2026-07-09 16:08:25 +08:00
5625f6ac28 feat:增加预加载接口 2026-07-09 13:27:25 +08:00
zerosaturation
0a62b9cd10 feat:修改陀螺仪为手动控制并且增加自动控制 2026-07-07 00:29:01 +08:00
zerosaturation
217af65121 refactor(holographic): 移除 DeviceOrientationEvent 路径
- 删 startGyro / startDeviceOrientation / stopGyro
- 删 accelHandler / accelBaselineReady 等基线追踪状态
- simulate(x, y) 成为唯一驱动入口
- 保留 onMounted / onUnmounted 钩子(如果外部有需要可保留,否则删)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-06 18:58:04 +08:00
zerosaturation
a4836605e7 refactor(craft-tilt): 删除硬件传感器模块 + 同步清理 3 个其他页面
- 删 useLenticularStudioTilt.js (28KB, 894 行)
- 删 useOneEuroFilter.js (75 行)
- useLenticularCraftTiltPreview 移除对二者的引用与 3 个旧 API(scheduleTiltStart/stopTiltPreview/gyroSourceLabel)
- 同步清理 3 个其他消费方页面(discover/generation-result, castlove/success, asset-detail):
  - 删 3 个旧 destructure 键
  - 模板 :gyro-source 改静态 'simulation' + 删 :skip-built-in-touch
  - 删 12 处旧 API 调用
- 保留手动模拟入口 simulateTilt / simulateTiltFromNormalized / simulateTiltReset(Task 1)
- ★ 3 个页面用触摸事件替代硬件传感器(未加 slider,后续可补)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-06 18:48:09 +08:00
zerosaturation
c6cb55dfc0 feat(craft-tilt): 新增 simulateTilt 手动模拟入口
- simulateTilt(dx, dy) 单位度,校验 NaN/Infinity
- simulateTiltFromNormalized(x, y) 触摸归一化转度(系数 45)
- simulateTiltReset() 滑块复位用

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-06 17:14:00 +08:00
4eab42b3fb feat:改为加速度计优化 2026-07-02 19:05:54 +08:00
946e204573 feat:修改canvas合成图 2026-06-26 17:58:37 +08:00
zerosaturation
2032246fd0 feat:增加分享界面,完善的保存图片功能 2026-06-26 16:45:29 +08:00
Lenticular Studio Agent
fd5e317e05 merge: 解决 docker-compose 和 SocketManager 冲突
Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-23 23:06:24 +08:00
Lenticular Studio Agent
af7908e72e feat: 接入微达API中转站,重构镭射卡生图流程
- 替换中转站从 xbcl.link 到 weda.cc
- prompt 模板改为镭射卡全图生成(去掉 6 层合成/抠图依赖)
- 4 路并发调用 + 原图展示 = 5 张 variant
- 前端提示词中译英支持
- 全局 Vue errorHandler
- WebSocket 鉴权失败跳登录
- 删除已弃用的 laserCompositor 微服务

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-23 22:43:49 +08:00
a2d36cb7a0 feat:增加主要刷新 2026-06-16 15:19:53 +08:00
zerosaturation
271e0350c7 feat:重构code状态码 2026-06-15 16:28:35 +08:00
zerosaturation
d859650136 feat:修改数据看板 2026-06-09 00:37:42 +08:00
zerosaturation
71b8e454ee feat: 样式调整 2026-06-04 15:57:42 +08:00
408e027f5f feat: 修改页面bug 2026-06-04 01:42:29 +08:00
liulong
b9527bee70 feat:合并新 2026-06-03 22:41:19 +08:00
liulong
10168f8e6b feat:实现AI生成镭射卡功能 2026-06-03 22:19:22 +08:00
463e6cc008 feat:新增数据看板 2026-06-03 01:20:51 +08:00
3676fc977e refactor(dashboard): useDashboardData 提取 SECTION_FETCHERS 模块级单例
代码评审建议:loadAll 与 refresh 各有一份相同的 7 项 fetcher 映射,
且 refresh 每次调用都重建对象。提取为模块级单例后:
- 消除重复(单一信源)
- 节省每次 refresh 的对象分配
- loadAll 用 Object.entries 驱动而非手写 7 行
2026-06-03 01:20:48 +08:00
ea62b609af feat(dashboard): useDashboardData composable(7接口并发+section级refresh) 2026-06-03 01:20:48 +08:00
liulong
889c9232fb feat:镭射新链路,旧链路清理,迁移脚本 2026-05-29 12:35:37 +08:00
liulong
c1cde0f708 Merge branch 'feat/asset_material_relations' of https://git.liantu.tech/xiaoyu/topfans into feat/laser_card_material_relations 2026-05-25 15:39:11 +08:00
zerosaturation
2855cd512d feat: 修改自动领取收益关闭,修复下架时间的bug,修改的光栅卡陀螺仪 2026-05-25 11:08:35 +08:00
liulong
41e905dcbb 删除lenticular-studio中现已不被引用的代码 2026-05-18 17:31:26 +08:00
zerosaturation
afb235afd3 feat: 合并代码,解决冲突 2026-05-16 02:42:32 +08:00
liulong
3a59aec48f feat新增光栅卡和镭射卡 2026-05-14 22:18:25 +08:00
liulong
fe7fbba1fc chore: 归档当前现有代码,准备新建分支开发插件验证 2026-05-14 16:42:27 +08:00