89 Commits
Author SHA1 Message Date
jacobxu666andClaude Fable 5 e86ce2c1eb fix: 核销验券功能修复与首页公告栏改版
- 首页:金刚区「抖音核销」改名「核销验券」;公告栏移至金刚区下方并支持两条同时展示,修复行距与上下间距过近
- 核销页:「抖音」文案统一改为「第三方」;券号区新增第三方平台图标行;修复 `await uni.request` 返回任务句柄(非响应体)导致的「获取凭证失败」,改回调式 rawRequest 封装;无凭证时也弹温馨提示
- 购买页:删除支付取消/失败分支引用 try 作用域外变量 outTradeNo 的失效跳转
- 类型:VoucherItem 补 product_id 可选字段,消除存量类型报错
- 导航栏标题同步改为「第三方核销」

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-17 13:49:11 +08:00
jacobxu666andClaude Fable 5 32f3db7e85 feat: 首页弹窗广告(HOME_POPUP 类型,每次冷启动弹一次,点击跳内部页面,tabBar 页自动 switchTab,失败 toast 兜底)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-17 12:01:12 +08:00
jacobxu666andClaude Fable 5 bba2571f25 refactor: 统一接口调用为单前缀写法,去除 19 处页面内写死的 /mp-api(API_BASE 已含),并新增 check:api-prefix 防回归脚本
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-04 16:58:01 +08:00
jacobxu666andClaude Fable 5 6e88f6b09d fix: UserCardListItem 类型补充 cardModelId 字段,消除 qrcode 页存量类型错误
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-04 16:49:42 +08:00
jacobxu666 6cef231473 fix: 景区详情公告弹窗内容保留换行格式展示,正文固定高度45vh可滑动不被按钮遮盖 2026-09-04 16:17:44 +08:00
jacobxu666andClaude Fable 5 e1801f1026 fix: 主包孤儿文件 api/order.ts 迁入分包(pingxiang-order),消除真机代码质量告警
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-04 16:00:00 +08:00
jacobxu666andClaude Fable 5 64ac69db93 feat: 移除预约记录/详情页防截屏限制,预约日期条支持置灰显示已过预约时间
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-04 11:42:21 +08:00
jacobxu666andClaude Opus 4.8 08e2f6888b feat: 客服热线弹窗、取消预约文案与旅游卡页布局优化
- 客服热线改为弹窗拉取 mpContent/queryList 客服信息(SERVICE_INFO),富文本电话可点击拨号
- 取消预约确认弹窗展示具体预约日期与景区名称,取消后隐藏取消按钮
- makePhoneCall 用户取消时静默处理,不再上报异常
- 景区列表搜索图标改为 OSS 图片
- 旅游卡页:人脸头像方形竖版、信息单行靠右、入园提示移至持卡人信息下方等布局优化
- project.config.json appid 同步为 wxae3b39ac443fedc3

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-07 18:29:12 +08:00
jacobxu666 40cebaa3a5 Merge branch 'xuchao' 2026-07-30 11:17:59 +08:00
jacobxu666andClaude Opus 4.8 d1bff755d9 feat: 新增抖音核销功能(首页入口+核销页+购卡须知弹窗)
- 首页金刚区新增「抖音核销」入口,未登录拦截跳转登录页
- 新增核销页:按手机号查券(有券单选 / 无券手输券号并校验纯数字)、绑卡信息、人脸上传、证件类型选择
- 购卡须知弹窗(单图 aspx.png),确认核销后模拟成功并跳转旅游卡页
- 核销页背景对齐设计稿改为白底,原生窗口底色同步置白
- 接口层 DOUYIN_BACKEND_READY 开关,后端未就绪时返回模拟数据
- 修正金刚区图标域名 hntgov.net -> hn12301.net

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-30 11:12:16 +08:00
jacobxu666 8cc76dec6c Update CLAUDE.md 2026-07-29 13:54:13 +08:00
jacobxu666 45a74578fc fix:优化入园码的显示和无预约时去预约的调整 2026-07-07 11:47:29 +08:00
jacobxu666 1b4dcabad2 fix:icon 调整
旅游卡头像出的放大镜 icon 大小调整
2026-06-26 15:02:39 +08:00
jacobxu666andClaude Haiku 4.5 f10a1896e7 fix: comply with F2E Spec — filename naming, any types, JSDoc
- Rename PascalCase component files to kebab-case (AnnouncementModal →
  announcement-modal, McGlass → mc-glass)
- Replace any types with proper uni-app/WeChat callback types
  (RequestSuccessCallbackResult, LoginRes, ShowModalRes, etc.)
- Add JSDoc documentation comments to all exported/important functions

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-06-26 14:45:49 +08:00
jacobxu666andClaude Sonnet 4.6 77c177bfa9 fix(scenic-detail): 自定义轮播圆点修复层叠遮挡问题
微信原生 swiper 组件为独立渲染层,内置 indicator-dots 无法通过
z-index 突破到外部元素上方。改为在 swiper 外渲染自定义圆点:
- hero-container z-index:4(低于 info-card)
- info-card z-index:5(遮住 swiper 底部)
- hero-dots z-index:6(显示在 info-card 上方 12px)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 13:52:41 +08:00
jacobxu666andClaude 03a72825bb fix(scenic-detail): swiper dots covered by info-card
Add position:relative + z-index:6 to hero-swiper so it sits above
the info-card (z-index:5) which overlaps the bottom 40rpx via
negative margin. Dots are now visible above the overlap zone.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-26 13:12:07 +08:00
jacobxu666andClaude 2c165bf69d fix: compress all images to meet 200KB resource limit
- logo.png: 320x320 83KB → 160x160 25KB
- icon/*.png: 128x128 → 64x64 (6 files, 101KB → 36KB)
- qr-demo.png: 250x250 → 128x128
- tabbar icons: kept at 81x81 (WeChat standard)
- Total: 230KB → 113KB (under 200KB limit)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-26 12:53:53 +08:00
jacobxu666andClaude 289291f195 fix: remove mock/order.js from main package
- Move mock/order.ts to packages/user/mock/ (subpackage-relative import)
- Delete unused api/order.ts, api/reserve.ts, api/scenic.ts (no page imports them)
- Delete unused mock/store.ts, mock/reserve.ts (dead code)
- order-list.vue now uses relative import ../../mock/order

Main package mock/ now only contains: images.js, notice.js, scenic.js
(all used by main package pages)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-26 12:43:02 +08:00
jacobxu666andClaude f89e26cc57 fix(order-detail): restore divider between pay amount and bind/refund time
Remove detail-row--last from pay amount row so the border appears
when activatedTime or refundedTime rows are conditionally shown.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-26 12:22:42 +08:00
jacobxu666 4acb2e6a9c refactor: move pages to subpackages to reduce main package size 2026-06-26 11:59:59 +08:00
jacobxu666andClaude 4b7c540343 fix(order-detail): add top padding to bottom bar buttons
Buttons now have 24rpx gap from the top edge of the bottom bar.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-26 11:52:22 +08:00
jacobxu666andClaude b85196fa2e fix: bottom bar safe-area adaptation (height → min-height)
Affected pages:
- order-detail: bottom action bar
- card-buy: bottom price/pay bar
- reserve-index: bottom submit bar

Root cause: box-sizing:border-box + fixed height + padding-bottom:safe-area
caused buttons to overflow when safe area inset is large (iPhone X+).
Changed to min-height so bar expands naturally.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-26 11:49:40 +08:00
jacobxu666andClaude 6eb4ab05ae feat(reserve): add session/场次 info to success page and usage detail
- reserve-index: pass selected session time to success page via query param
- reserve-success: receive and display session conditionally
- reserve-list: add session field to ReserveRecord model and detail sheet
- 4 of 6 mock records now include session data

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-26 11:42:20 +08:00
jacobxu666andClaude 455b865931 fix: cleanup remaining font-weight:bold, remove stale scenic-spots.ts
- Replace font-weight: bold with 700 (plain CSS) or $font-weight-bold (SCSS)
  in qrcode.vue, card-item.vue, bind.vue, activate.vue
- Remove src/data/scenic-spots.ts (replaced by mock/scenic.ts)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-26 11:15:08 +08:00
jacobxu666 d92875c86d refactor: migrate additional hardcoded colors to design tokens 2026-06-26 11:11:27 +08:00
jacobxu666 26b89e8132 refactor(components): migrate public components to design tokens 2026-06-26 11:09:08 +08:00
jacobxu666 e4ce6b4703 refactor(pages): migrate remaining pages to design tokens 2026-06-26 11:07:22 +08:00
jacobxu666 c78f97301d refactor(reserve): migrate hardcoded colors, font sizes, and weights to design tokens 2026-06-26 11:05:22 +08:00
jacobxu666 824bb3b808 refactor(order): migrate hardcoded colors, spacing, and mock data to design tokens 2026-06-26 11:00:46 +08:00
jacobxu666 72f435f7b3 refactor(buy-flow): migrate hardcoded colors and spacing to design tokens 2026-06-26 10:54:45 +08:00
jacobxu666 f2b8ad9604 refactor(card/detail): migrate hardcoded colors and spacing to design tokens 2026-06-26 10:51:54 +08:00
jacobxu666 d9a7aad499 refactor(index): migrate hardcoded values to design tokens and mock data 2026-06-26 10:48:59 +08:00
jacobxu666andClaude cfb9a4ce26 refactor: remove local SCSS variables from 9 pages
Replace with global uni.scss tokens:
$font → $font-family-body
$primary → $uv-primary
$text-* → $uv-main-color/$uv-content-color/$uv-tips-color/$uv-placeholder-color
$divider → $uv-border-color
$card-radius → $radius-lg
$accent → $uv-primary

Kept $bar-height: 120rpx as component-specific local var.
Removed dead $primary-dark: #e89a2a from card-bind.vue (never used).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-26 10:34:54 +08:00
jacobxu666 25a1cc4eb3 feat(api): add scenic, order, reserve API functions with mock fallback 2026-06-26 10:26:35 +08:00
jacobxu666 a1307fa148 feat(mock): extract all hardcoded data into mock/ modules
- scenic.ts: 42 items from scenic-list.vue + filter options
- scenic-detail.ts: 8 items from scenic-detail.vue
- order.ts: 6 items from order-list.vue (replaces placeholder)
- reserve.ts: 6 items from reserve-list.vue (replaces placeholder)
- notice.ts: 5 items from notice-list.vue
- store.ts: updated to use new local types

All image URLs replaced with constants from images.ts
2026-06-26 10:16:24 +08:00
jacobxu666andClaude 7d4d61af81 style(index): update promo card price styling (¥98 yellow, larger font)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-26 10:06:45 +08:00
jacobxu666andClaude 36a367b2a5 fix: add VITE_USE_MOCK to env.d.ts type declarations
Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-26 10:06:36 +08:00
jacobxu666 ce729704f8 feat(mock): create mock infrastructure with USE_MOCK switch 2026-06-26 09:58:09 +08:00
jacobxu666andClaude e739c061c4 feat(types): add ScenicSession, ReserveRecord, Notice, FaqItem, PageResult types
Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-26 09:48:20 +08:00
jacobxu666 72d1c16f6d refactor(tokens): align _tokens.scss with uni.scss values
All color, typography, and spacing values now match uni.scss.
Added semantic colors and $font-size-xxs/$font-size-4xl.
2026-06-26 09:42:54 +08:00
jacobxu666 dcba287aeb feat(tokens): add missing variables to uni.scss
- $font-size-xxs (18rpx), $font-size-4xl (64rpx)
- $uv-placeholder-color (#999999)
- Semantic colors: $color-price, $color-status-*
- Change $font-family-body to system fonts
2026-06-26 09:38:10 +08:00
jacobxu666andClaude e03ac06e02 docs: add UI/UX standardization implementation plan
17 tasks across 3 phases:
- Phase 1 (Tasks 1-8): Infrastructure (tokens, types, mock, cleanup)
- Phase 2 (Tasks 9-12): Core pages (index, card list/detail, buy)
- Phase 3 (Tasks 13-17): Remaining pages and components

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-26 09:32:56 +08:00
jacobxu666andClaude 1b12c1a6b7 docs: final spec refinements per second review
- Fix type import syntax in mock example (Scenic[] → Scenic)
- Add pagination example to mock mechanism
- Clarify $uv-placeholder-color placement in uni.scss
- Separate $color-price vs $uv-error in migration table
- Split task 1.1 into 1.1a/1.1b/1.1c sub-tasks
- Add App.vue global style example
- Add SCSS import rules

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-26 09:19:09 +08:00
jacobxu666andClaude 6e27b449bb docs: update UI/UX spec per review feedback
- Add $font-size-4xl (64rpx) to font scale
- Fix line-height-tight to match uni.scss (1.2)
- Use existing $uv-* naming for neutral colors, add $uv-placeholder-color
- Clarify $font-family-body change (serif → system fonts for body)
- Split spacing into recommended vs reserved tiers
- Fix $radius-md → $radius-base, add $radius-xl
- Fix shadow values to match uni.scss rgba(15,23,42,...) base
- Add PageResult<T> pagination type
- Add MockStore for interactive mock data
- Add image resource specs (sizes, formats)
- Add accessibility guidelines
- Fix page count (27 → 21)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-26 09:12:16 +08:00
jacobxu666andClaude e328177067 docs: add UI/UX standardization design spec
Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-26 09:05:59 +08:00
jacobxu666andClaude 4ad874adf9 refactor: 全项目 UI/UX 标准化修复
- P0: uni.scss 全局 Token 修正(字体SourceHanSerifCN、色彩#111/#333/#666/#999/#eeeeee、删除600字重)
- P0: 分包6页面色彩迁移(#4A90D9→#3c9cff、#E74C3C→#e53935、圆角统一24rpx)
- P1: qrcode页面全量SCSS迁移(12个硬编码色值替换、emoji图标替换、圆角统一)
- P1: index页面价格色修正(#f9ae3d→#e53935、按钮主色统一、硬编码字号对齐)
- P2: 10个页面字号/圆角/字体统一(notice-list/scenic/login/profile/faq/card-bind等)
- P3: 全局 font-weight:600 替换为500/700(5处),删除semibold变量和工具类
- 新增 -size-title: 38rpx Token
- 构建验证通过

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-26 02:50:21 +08:00
jacobxu666andClaude f67dd63972 feat: 新增预约系统三页面 + 订单/使用记录优化
- 新增 pages/reserve/reserve-index 景区预约页(日期选择/场次/库存/实名信息)
- 新增 pages/reserve/reserve-success 预约成功页(二维码/规则/返回拦截)
- 新增 pages/reserve/reserve-list 预约使用记录页(Tab筛选/取消/详情弹窗)
- 预约日期仅展示明天起3天,支持已约满/无场次状态
- 使用详情增加卡种/卡号/核销照片/时间字段,照片可放大预览
- 订单列表/详情全部激活改绑定,卡号CJ格式,Tab均分布局
- 景区详情立即预约跳转预约页,使用说明跳转独立页面
- 统一景区信息区字号间距规范

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-26 01:33:32 +08:00
jacobxu666andClaude 5ac924a76c feat: 新增绑卡激活、旅游卡购买、工会购买、使用说明、常见问题、订单管理页面
- 新增 pages/card-bind 绑卡激活页(证件类型下拉、照片上传、表单校验)
- 新增 pages/card-buy 超级玩家卡购买页(微信支付)
- 新增 pages/union-buy 工会购买页
- 新增 pages/usage-guide 使用说明页
- 新增 pages/faq 常见问题页(购买类/预约类/绑定类折叠问答)
- 新增 pages/order 订单列表页(Tab筛选/下拉刷新/状态标签)
- 新增 pages/order 订单详情页(状态差异化展示/卡号复制)
- 登录页背景改为白色、按钮统一主色、协议未同意提示
- 首页金刚区跳转对接(绑卡/预约/入园/FAQ)
- 旅游卡页使用说明跳转、景区权益改为使用说明
- 我的页面菜单跳转对接(订单/使用说明/FAQ)
- 景区列表新增卡种筛选、吸顶区动态高度适配
- 全局统一思源宋体、主色#3c9cff、rpx单位

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-26 00:32:21 +08:00
jacobxu666andClaude ff524ac973 feat: 公告弹窗组件 + 公告列表页 + 旅游卡功能区调整
- 新增 AnnouncementModal 公告弹窗组件(v-model 控制,居中白色面板+圆形关闭按钮+动画)
- 新增通知公告列表页(pages/notice-list),微信原生导航,卡片式布局
- 首页公告栏去掉类型标签(重要/景区/福利),公告条目可点击打开弹窗
- 首页'更多'按钮跳转公告列表页
- 旅游卡页面'我要入园'改为'我要绑定',icon 与首页绑卡一致
- 公告列表页极简风格:标题+摘要+日期+右箭头,无图标无分割线

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-25 19:56:41 +08:00
jacobxu666andClaude 5524d78229 feat: 景区详情页优化 + 代码质量修复 + 首页适配
- 详情页:地图按钮改为复制地址,电话点击直接拨号
- 详情页:移除免X次/年徽章,增加信息卡片与卡种卡片间距
- 详情页:运营状态实时判断(根据营业时间自动显示营业中/已闭园)
- 详情页:轮播圆点仅多图时显示,加大尺寸+投影,z-index置顶
- 详情页:景区电话箭头靠右对齐
- 首页:热门景点两列布局改用padding方案,修复小屏手机单列显示
- 代码质量:card/order API移入分包,消除主包未使用JS文件
- 代码质量:manifest启用minified和lazyCodeLoading
- 构建:vite配置静默Sass弃用警告

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-25 19:19:40 +08:00
jacobxu666andClaude ee2fd39dcd fix: 修复 HBuilderX 编译报错「缺少编译器模块」
- manifest.json 添加 vueVersion: "3",使 HBuilderX 正确识别 Vue 3 项目
- 切换包管理器 pnpm → npm(HBuilderX 不兼容 pnpm 的符号链接结构)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-25 17:18:20 +08:00
jacobxu666 968eabcd07 feat: 景区详情页重构 + 列表页优化 + 首页跳转
- 景区详情页:原生导航、双卡种权益卡片、Lucide图标、字体4档规范
- 景区列表页:uni-popup筛选弹窗、单列卡片、吸顶搜索栏、标签居中
- 首页热门景点点击跳转景区详情页
- 替换失效unsplash图片URL
- pages.json:详情页改用原生导航
2026-06-25 16:50:19 +08:00
jacobxu666 78cb3e00bd feat: 新增景区列表页和景区详情页
- 新增 pages/scenic-list/scenic-list.vue 全部合作景区列表页
  - 动态导航栏适配胶囊按钮高度
  - 搜索框支持实时模糊检索
  - uni-popup 底部弹窗筛选(地区/等级),支持多条件叠加
  - 单列卡片布局:封面图+等级标签、名称+挂牌价、营业状态+时间、权益标签行、温馨提示
  - 42个景区完整数据内置
- 新增 pages/scenic-detail/scenic-detail.vue 景区详情页
- 首页「查看全部」跳转至景区列表页
- pages.json 注册两个新页面
2026-06-25 15:50:20 +08:00
jacobxu666andClaude aa9f024094 feat: 首页热门景点数据更新
- 6个萍乡景区:武功山金顶/杨岐山孽龙洞/仙凤三宝/君澜温泉/凯光新天地/和平农场
- 挂牌价黄色展示,持卡待遇标签蓝底白字(免门票1次/6次)
- 地区统一显示「萍乡」

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-25 14:31:08 +08:00
jacobxu666andClaude 39c85593ce feat: 我的页面菜单优化 + 布局调整
- 删除:我的年卡、使用记录入口
- 新增:使用规则、常见问题、客服热线入口
- 客服热线点击直接拨号
- Hero区域高度360→280rpx,减少顶部留白
- 菜单上移至-60rpx,整体更紧凑

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-25 14:26:06 +08:00
jacobxu666 101e94fdc7 feat:旅游卡二维码本地化
微信小程序需要域名白名单才能加载外部图片,upload.wikimedia.org 不在白名单中。把图片下载到本地 static 目录:
2026-06-25 14:10:17 +08:00
jacobxu666andClaude 4be01b1c75 feat: 旅游卡页面功能入口改为SVG图标 + 图标资源优化
- 旅游卡页面(qrcode/index)功能入口:我要入园/我要预约/使用记录/景区权益
- 卡片详情页(detail)新增4宫格功能入口
- SVG图标(4.3MB)转为PNG(99KB)解决主包4MB限制
- tabBar图标从1024x1024缩至81x81修复模拟器启动失败
- 统一各页面区域间距为24rpx

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-25 14:07:45 +08:00
jacobxu666andClaude 94477fb271 feat: 首页新增4宫格金刚区(绑卡/预约/入园/常见问题)
- 金刚区位于公告栏下方,4等分flex布局
- SVG图标直接展示,无背景色
- 点击弹出开发中toast
- 统一各区域间距为24rpx

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-25 13:35:56 +08:00
jacobxu666 f8d5b686c4 feat: 首页旅游卡推广卡片优化
- 价格区: 原价删除线 + 立省3600+黄色大字
- 权益文案拆两行: 42家景区全年免首道门票 + 景区明细
- 核心权益标签: 单次最高可省228元 | 单景区全年可免6次
- 信任文案: 已售1.2万+ | 萍乡文旅官方联名卡
- CTA: 立即抢购|专属特惠 + 橙色阴影 + 缩放动效
- 徽章: 爱上萍乡小程序专属"
2026-06-25 13:12:20 +08:00
jacobxu666andClaude e3628369a1 feat: 首页Hero改造Banner轮播 + 公告栏优化
- Hero: 替换为运营Banner图, swiper轮播结构, 移除文字遮罩, 点击跳转卡列表
- 公告栏: 卡片化圆角阴影, 分类标签(重要/景区/福利), 按类型变色脉冲圆点,
  触摸暂停轮播, 右侧更多按钮, 修复橙色圆点被拉伸bug(.promo类名冲突)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-25 12:22:59 +08:00
jacobxu666andClaude 31a9abda37 feat: 旅游卡页面重设计 + uni-app升级 + Sass迁移@use
- 旅游卡页面(qrcode/index): 卡面背景图、持卡人信息直接显示、
  头像点击查看大图、绑定入口、入园码二维码、卡号复制按钮
- App.vue: getSystemInfoSync → getDeviceInfo, try/catch兜底
- uni-app 升级到 3.0.0-alpha-5010320260611001 (5.13)
- Sass: @import → @use 迁移(main.scss, _mixins.scss, _utilities.scss)
- pnpm-workspace.yaml 配置更新

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-25 11:59:11 +08:00
jacobxu666andClaude 5f1ab737e9 feat: UI redesign with uv-ui color system and landscape imagery
- Replace all colors with uv-ui design tokens (primary #3c9cff, warning #f9ae3d, etc.)
- Hero section: Wugong Mountain landscape photo with dark overlay
- Super Player card: photo background, large typography, warning-color price/CTA, value comparison (¥198 vs ¥3800+)
- Spots section: landscape thumbnails instead of CSS gradients, warning-color prices
- Profile page: landscape hero header, CSS menu icons, floating card layout
- Card list page: landscape hero header, filter pills, empty state design
- TabBar: rename '入园码' to '旅游卡', Lucide-style PNG icons (home/card/profile)
- Typography: corrected font weights (semibold for prices, medium for labels)
- Remove broken font-loader (lxgw-wen-kai CDN 404)
- Skip wx.getPrivacySetting in devtools to avoid framework timeout
- Replace all inline SVG with CSS-only icons for mini-program compatibility
- Add design system files (styles/, components/, animations)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-25 01:07:21 +08:00
jacobxu666andClaude c062dee3e6 docs: 完善 CLAUDE.md 文档,添加景区关联表及 pnpm workspace 配置
- CLAUDE.md: 修正 TypeScript 版本为 4.9.x,补充 project.config.json 说明、type-check 命令、UAT 环境地址
- docs: 新增赣湘全域旅游年卡及超级玩家卡关联景区表
- pnpm: 添加 pnpm-workspace.yaml 及 pnpm-lock.yaml

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-24 20:01:09 +08:00
jacobxu666andClaude feaae0a77d ui: replace emoji icons with CSS icons, add tap feedback, improve touch targets
- Replace all emoji icons (🔍📢✦📅📋🏔️⏱🎫) with pure CSS elements
- Add :active tap feedback on promo cards, spot cards, buttons
- Increase CTA button min-height to 88rpx (44px) for touch targets
- Replace text arrows (→ > ▼ ▲) with CSS chevrons
- Add pulse animation on announcement indicator
- CSS icons: search magnifier, calendar, list, mountain, clock

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-24 19:51:44 +08:00
jacobxu666andClaude 98bc999e5f feat: implement QR code entry page with card swiper, info panel, features
Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-24 19:36:03 +08:00
jacobxu666andClaude aefdb3944e feat: redesign homepage with hero, announcements, card promos, scenic spots
Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-24 19:31:05 +08:00
jacobxu666andClaude cf6ef6ace3 fix: correct regional count comments (长沙 15, 湘潭 7)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-24 19:28:19 +08:00
jacobxu666andClaude 05248f9b70 fix: correct scenic spots count comments (47 total, not 48)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-24 19:26:40 +08:00
jacobxu666andClaude 88dc1f3381 feat: add scenic spots data module (48 spots, hardcoded)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-24 19:24:54 +08:00
jacobxu666andClaude d1cdc53f6a feat: update tabBar to 3 items, add qrcode page skeleton, rename app
Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-24 19:20:32 +08:00
jacobxu666andClaude 93253f5a13 docs: add implementation plan for homepage redesign
Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-24 17:37:08 +08:00
jacobxu666andClaude 22575418a9 docs: add homepage + qrcode + tabBar redesign spec
Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-24 17:24:55 +08:00
jacobxu666 3d00309d56 docs: 新增 CLAUDE.md 项目架构文档 2026-06-14 23:13:15 +08:00
jacobxu666 332808648d refactor: 项目架构清理 — 删除调试页面/冗余store/H5降级代码/无用文件 2026-06-14 23:10:37 +08:00
jacobxu666 4019d312a6 fix: 首页替换为正式内容,移除旧 switchTab 跳转 2026-06-14 23:00:32 +08:00
jacobxu666 3af5f2850d feat: 微信小程序登录改造(手机号授权 + API前缀改为/mp-api + 隐私协议检查) 2026-06-14 21:54:08 +08:00
jacobxu666 6ee484d8a3 feat: 湖南12301第一迭代完成 — 基础层 + 用户端核心流程
- 新增 sass 构建依赖
2026-06-14 17:42:00 +08:00
jacobxu666 e4a340f53d feat: 用户端个人中心(用户信息 + 功能菜单) 2026-06-14 17:37:17 +08:00
jacobxu666andClaude Opus 4.8 b4981587a2 feat: 年卡相关页面(列表/详情/购买/激活/入园码/绑定)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 17:35:33 +08:00
jacobxu666andClaude Opus 4.8 2293e67f8c feat: 用户端首页(宫格式布局 + 推荐年卡)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 17:30:10 +08:00
jacobxu666andClaude Opus 4.8 6330edba00 feat: 改造入口页(自动跳转)和登录页(微信授权登录)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 17:30:05 +08:00
jacobxu666andClaude Opus 4.8 37be873c3a feat: 重写路由配置,添加分包和 TabBar + 共享组件
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 17:26:47 +08:00
jacobxu666andClaude Opus 4.8 c921fd527b feat: 新增 card-item 和 empty-state 共享组件
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 17:26:44 +08:00
jacobxu666andClaude Opus 4.8 cdec6ef299 feat: 改造 user store(微信登录),新增 card store
- user store 增加 refreshToken 状态、wxLogin 微信登录(条件编译)、降级登录
- card store 封装年卡列表/详情/我的年卡/激活/绑定/入园码等状态和操作

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 17:24:19 +08:00
jacobxu666andClaude Opus 4.8 ec045249ff feat: 新增年卡和订单 API 模块
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 17:22:35 +08:00
jacobxu666andClaude Opus 4.8 4cd1040e5d feat: 定义共享类型,改造用户 API(新增 wxLogin)
- 创建 src/api/types.ts,统一定义所有业务共享类型
- 改造 src/api/user.ts,类型迁移至 types.ts,新增 wxLogin 接口
- 更新 src/api/index.ts barrel 导出(card/order 模块待后续任务创建)
- 同步更新 src/store/user.ts 适配新的 WxLoginResult 返回结构

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 17:21:18 +08:00
jacobxu666andClaude Opus 4.8 c3896f9227 refactor: 重写 request.ts,baseURL 从环境配置读取
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 17:19:14 +08:00
jacobxu666andClaude Sonnet 4.6 bed3359564 feat: 添加多环境配置(local/dev/uat)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 17:17:35 +08:00
jacobxu666 046e84a564 chore: 初始化项目 — uni-app + Vue3 + TypeScript 脚手架 2026-06-14 17:16:18 +08:00