nepiedg 17daf254cd feat: Enhance onboarding and profile pages with improved navigation and UI updates
Updated the onboarding page to include a navigation area with a step indicator and adjusted the progress bar styling. In the profile page, simplified the user section, added options for clearing cache and copying feedback email, and improved layout consistency. Enhanced overall visual design with a light green gradient theme.
2026-03-04 12:38:46 +08:00
aaa
2026-02-23 22:24:29 +08:00
aaa
2026-02-23 22:24:29 +08:00
aaa
2026-02-23 22:24:29 +08:00
aaa
2026-02-23 22:24:29 +08:00
aaa
2026-02-23 22:24:29 +08:00
2026-01-25 11:45:16 +08:00
2026-01-25 11:45:16 +08:00
2026-01-25 11:45:16 +08:00
2026-01-25 11:45:16 +08:00
2026-01-25 11:45:16 +08:00

戒烟助手小程序(smt

基于 uni-app + Vue 3 + Pinia 的戒烟辅助小程序前端,核心目标是帮助用户记录抽烟/忍住行为,并通过首页看板、统计分析和 AI 建议逐步降低吸烟频率。

项目状态

  • 当前分支:master
  • 已落地核心流程:登录、引导、记录、历史、统计、首页整合接口渲染
  • 部分页面能力仍在迭代(如个人中心部分菜单项)

功能概览

已实现

  • 静默登录与会话持久化(/auth/login + 本地 session_key
  • 新用户引导(5 步问卷,提交 profile
  • 首页 Dashboard(问候语、计时器、下次建议时间、今日统计、AI 提示卡)
  • 记录能力
    • 记录抽烟(数量、等级、备注、时间)
    • 记录“想抽忍住了”
    • 统一弹框组件:smoke-record-dialog
  • 历史记录页
    • 分组展示(今天/昨天/日期)
    • 按类型筛选(全部/已抽烟/已忍住)
    • 下拉刷新、分页加载
    • 编辑与删除
  • 统计页
    • 周/月/年切换
    • 趋势柱状图、变化百分比、节省金额、健康恢复指标

规划中/开发中

  • AI 助手页的深度交互(当前为基础展示)
  • 个人中心多个菜单详情页(当前入口为占位)

技术栈

  • uni-app
  • Vue 3<script setup> 为主)
  • Pinia
  • uni.request 二次封装(401 自动重登后重试)
  • easycom 自动组件导入

页面与路由

pages.json 中注册了以下页面:

  • pages/index/index:首页
  • pages/stats/index:统计
  • pages/ai/indexAI 助手
  • pages/logs/index:历史记录
  • pages/profile/index:个人中心
  • pages/onboarding/index:新用户引导

目录结构

smt/
├── api/                    # 接口封装
├── components/             # 业务组件(含 smoke-record-dialog
├── config/                 # 环境配置(BASE_URL 等)
├── docs/                   # PRD、API、算法与认证文档
├── hooks/                  # 组合式逻辑(如 useLogin
├── pages/                  # 页面
├── stores/                 # Pinia 状态管理
├── utils/                  # 工具函数与本地存储封装
├── App.vue
├── main.js
├── manifest.json
└── pages.json

本地开发

1. 环境准备

  • 推荐使用 HBuilderX 打开项目目录
  • 微信开发者工具(用于运行到微信小程序)

说明:本仓库当前未包含 package.json,默认按 HBuilderX/uni-app 工程方式运行。

2. 配置后端地址

编辑 config/index.js

  • development.BASE_URL:开发环境 API 地址
  • production.BASE_URL:生产环境 API 地址
  • MINI_PROGRAM_ID:后端登录接口使用的小程序 ID

3. 小程序配置

manifest.json 中包含:

  • mp-weixin.appid
  • 微信端 urlCheck 等基础配置

4. 运行

在 HBuilderX 中:

  1. 导入项目目录
  2. 运行到 微信开发者工具
  3. 确认接口可访问后开始联调

接口与文档

  • 产品需求:docs/PRD.md
  • 技术方案:docs/TECH.md
  • 抽烟记录 APIdocs/api.md
  • 登录认证:docs/auth.md
  • 算法说明:docs/ALGORITHM.md
  • 组件文档:components/smoke-record-dialog/README.md

关键实现说明

  • 全局启动时在 App.vue 发起静默登录
  • 业务页面通过 useLogin().waitForLogin() 确保登录完成后请求接口
  • api/request.js 统一处理请求:
    • 自动注入 Authorization: Bearer <session_key>
    • 401 自动登录并重试一次

注意事项

  • config/index.js 里默认开发地址是局域网 IP,跨设备调试需改成可访问地址
  • 历史记录与统计页依赖后端返回格式,联调时请以 docs/api.md 为准
  • 仓库中 docs/* 可能存在进行中的改动,提交前建议按需选择暂存文件

License

当前仓库未声明开源许可证;如需开源,请补充 LICENSE 文件。

S
Description
戒烟小程序
Readme 2 MiB
Languages
Vue 69.9%
HTML 16%
JavaScript 12.1%
SCSS 2%