jacobxu666 and Claude
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
jacobxu666 and Claude
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
jacobxu666 and Claude
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
jacobxu666 and Claude
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
jacobxu666 and Claude
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
jacobxu666 and Claude
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
jacobxu666 and Claude
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
jacobxu666 and Claude
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
jacobxu666 and Claude
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
jacobxu666 and Claude
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
jacobxu666 and Claude
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
jacobxu666 and Claude
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
jacobxu666 and Claude
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
jacobxu666 and Claude
e328177067
docs: add UI/UX standardization design spec
...
Co-Authored-By: Claude <noreply@anthropic.com >
2026-06-26 09:05:59 +08:00
jacobxu666 and Claude
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
jacobxu666 and Claude
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
jacobxu666 and Claude
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
jacobxu666 and Claude
ff524ac973
feat: 公告弹窗组件 + 公告列表页 + 旅游卡功能区调整
...
- 新增 AnnouncementModal 公告弹窗组件(v-model 控制,居中白色面板+圆形关闭按钮+动画)
- 新增通知公告列表页(pages/notice-list),微信原生导航,卡片式布局
- 首页公告栏去掉类型标签(重要/景区/福利),公告条目可点击打开弹窗
- 首页'更多'按钮跳转公告列表页
- 旅游卡页面'我要入园'改为'我要绑定',icon 与首页绑卡一致
- 公告列表页极简风格:标题+摘要+日期+右箭头,无图标无分割线
Co-Authored-By: Claude <noreply@anthropic.com >
2026-06-25 19:56:41 +08:00
jacobxu666 and Claude
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
jacobxu666 and Claude
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
jacobxu666 and Claude
aa9f024094
feat: 首页热门景点数据更新
...
- 6个萍乡景区:武功山金顶/杨岐山孽龙洞/仙凤三宝/君澜温泉/凯光新天地/和平农场
- 挂牌价黄色展示,持卡待遇标签蓝底白字(免门票1次/6次)
- 地区统一显示「萍乡」
Co-Authored-By: Claude <noreply@anthropic.com >
2026-06-25 14:31:08 +08:00
jacobxu666 and Claude
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
jacobxu666 and Claude
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
jacobxu666 and Claude
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
jacobxu666 and Claude
e3628369a1
feat: 首页Hero改造Banner轮播 + 公告栏优化
...
- Hero: 替换为运营Banner图, swiper轮播结构, 移除文字遮罩, 点击跳转卡列表
- 公告栏: 卡片化圆角阴影, 分类标签(重要/景区/福利), 按类型变色脉冲圆点,
触摸暂停轮播, 右侧更多按钮, 修复橙色圆点被拉伸bug(.promo类名冲突)
Co-Authored-By: Claude <noreply@anthropic.com >
2026-06-25 12:22:59 +08:00
jacobxu666 and Claude
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
jacobxu666 and Claude
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
jacobxu666 and Claude
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
jacobxu666 and Claude
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
jacobxu666 and Claude
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
jacobxu666 and Claude
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
jacobxu666 and Claude
cf6ef6ace3
fix: correct regional count comments (长沙 15, 湘潭 7)
...
Co-Authored-By: Claude <noreply@anthropic.com >
2026-06-24 19:28:19 +08:00