Name Last Update
.trae Loading commit data...
config Loading commit data...
doc Loading commit data...
src Loading commit data...
.editorconfig Loading commit data...
.eslintrc Loading commit data...
.gitignore Loading commit data...
CLAUDE.md Loading commit data...
README.md Loading commit data...
babel.config.js Loading commit data...
components.d.ts Loading commit data...
jsconfig.json Loading commit data...
package.json Loading commit data...
pnpm-lock.yaml Loading commit data...
postcss.config.js Loading commit data...
project.config.json Loading commit data...
project.tt.json Loading commit data...
tailwind.config.js Loading commit data...
yarn.lock Loading commit data...

项目介绍

本项目是将原有H5预约系统迁移至微信小程序的实现。基于 Taro4 + Vue3 + NutUI 开发,保留了原有的功能和UI风格。

功能模块

  1. 预约流程

    • 日期与时间段选择 (pages/booking/index)
    • 预约信息确认与提交 (pages/submit/index)
    • 预约记录查看 (pages/bookingList/index)
    • 预约详情 (pages/bookingDetail/index)
  2. 参观者管理

    • 参观者列表 (pages/visitorList/index)
    • 添加/编辑参观者 (pages/addVisitor/index)
    • 支持身份证号校验与脱敏显示
  3. 个人中心

    • 预约码展示 (pages/bookingCode/index)
    • 我的页面 (pages/me/index)
    • 邀请码/证件号查询 (pages/search/index)
  4. 弱网与离线模式

    • 弱网提示页 (pages/weakNetwork/index)
    • 离线预约记录列表 (pages/offlineBookingList/index)
    • 离线预约记录详情/离线二维码 (pages/offlineBookingDetail/index)
    • 离线预约码入口页 (pages/offlineBookingCode/index)
    • 离线预约缓存刷新与轮询 (src/composables/useOfflineBookingCache.js, src/composables/useOfflineBookingCachePolling.js)
  5. 义工核销

    • 义工登录与权限预检 (pages/volunteerLogin/index)
    • 核销页(扫码核销 + 结果展示)(pages/verificationResult/index)
  6. 公共功能

    • 全局路由封装 (hooks/useGo)
    • API 请求封装 (utils/request, api/index)
    • 登录授权流程 (pages/auth/index)
    • 弱网提示文案统一管理 (utils/uiText.js)

技术栈

  • 框架: Taro 4.x
  • UI库: NutUI 4.x (Vue3)
  • 语言: JavaScript (Vue3 Setup 语法糖)
  • 样式: Less + TailwindCSS (部分)
  • 状态管理: Pinia
  • 路由: Taro Router + 自定义 Hooks

项目结构

  • src/api: 接口定义
  • src/assets: 图片等静态资源
  • src/components: 公共组件 (qrCode, qrCodeSearch, reserveCard等)
  • src/composables: 组合式函数 (离线缓存/轮询等)
  • src/pages: 页面文件
  • src/hooks: 组合式函数 (useGo等)
  • src/stores: Pinia 状态管理 (main/router 等)
  • src/utils: 工具函数 (request, authRedirect, network, uiText 等)

项目运行

  1. 安装依赖

    pnpm install
    
  2. 运行开发环境

    pnpm dev:weapp
    
  3. 打包构建

    pnpm build:weapp
    

优化建议 (TODO)

  • 小程序授权流程有问题 - 已处理
  • 完善支付流程(目前为模拟/H5跳转)- 后端配合联调
  • 优化图片资源加载(考虑使用 CDN 或分包)- 有离线模式看情况处理
  • 弱网环境下的离线预约记录 - 已实现(本地缓存 + 离线列表/详情)
  • 义工核销接口联调与核销结果字段展示优化(依赖后端返回结构稳定)
  • 增强网络请求的错误处理与重试机制
  • 补充单元测试