更新记录

1.0.1(2026-09-24) 下载此版本

详情微信联系java_123567


平台兼容性

uniappClient · 多租户陪玩SaaS系统客户端(uni-app + Vue3)

本工程为 HBuilderX 标准 uni-app 项目(Vue3 + TypeScript),无需 npm 安装依赖,直接用 HBuilderX 打开即可运行。


一、环境要求

项 说明
编辑器 HBuilderX 3.8+(推荐最新正式版)
运行目标 H5 / 微信小程序 / App(Android、iOS)
后端服务 admin/admin-back(Spring Boot,默认 http://172.0.0.1:8080)
数据库 MySQL 8.0+(先执行 sql/ 下脚本),Redis(缓存与令牌可扩展)

二、在 HBuilderX 中运行

  1. HBuilderX → 文件 → 打开目录 → 选择本 uniappClient 目录。
  2. 修改后端地址:打开 utils/request.ts,修改 BASE_URL:
    • 浏览器(H5)调试:保持默认 http://172.0.0.1:8080 或改为 http://localhost:8080。
    • 手机/模拟器(App、小程序真机)调试:改为电脑局域网 IP,例如 http://192.168.1.10:8080。
  3. 启动后端(admin/admin-back,默认 dev 环境)。
  4. 运行:
    • H5:菜单「运行 → 运行到浏览器 → Chrome」
    • 微信小程序:先在 manifest.json 的 mp-weixin.appid 填入小程序 AppID,再「运行 → 运行到小程序模拟器 → 微信开发者工具」
    • App:菜单「运行 → 运行到手机或模拟器」(需先安装 Android 模拟器或连接真机并开启 USB 调试)
  5. 首次登录使用默认账号:admin / 123456(可在「我的 → 实名认证/改密」中完善资料)。

三、目录结构

uniappClient
├── api/
│   └── index.ts              # 接口层(认证/陪玩/订单/钱包/支付/打赏/工作台/提现/通知/推广)
├── pages/
│   ├── index/index.vue       # 首页:品牌装修、公告、分类、陪玩列表
│   ├── login/login.vue       # 统一登录(账号密码 / 微信一键登录占位 / 邀请码绑定)
│   ├── companion/
│   │   ├── list/list.vue     # 陪玩列表(分类筛选、昵称搜索)
│   │   └── detail/detail.vue # 陪玩详情(价格表、历史评价、下单、打赏)
│   ├── order/order.vue       # 我的订单(状态筛选、评价、申请退款、发布需求选券)
│   ├── wallet/
│   │   ├── wallet.vue        # 钱包(余额、冻结、VIP、资金流水、券入口)
│   │   ├── coupon/coupon.vue # 我的优惠券(领券中心 + 全部/待使用/已使用/已过期四页签)
│   │   └── recharge/recharge.vue  # 充值中心(满赠活动 + 充值)
│   ├── work/
│   │   ├── workbench/workbench.vue # 打手工作台(上下线、等级与提现规则、接单、任务凭证、提现申请、入驻认证)
│   │   └── orders/orders.vue       # 接单大厅(抢单)
│   └── user/
│       ├── profile/profile.vue     # 我的(实名认证、身份切换、客服、消息、退出登录)
│       └── messages/messages.vue   # 消息中心
├── static/logo.png
├── utils/request.ts          # 请求封装(BASE_URL、Token、统一错误处理)
├── App.vue                   # 应用入口(启动/前后台日志)
├── main.js                   # Vue3 应用创建
├── manifest.json             # uni-app 应用配置(各端 AppID、统计开关)
├── pages.json                # 页面路由与 tabBar
└── uni.scss                  # 全局样式变量

四、页面与需求对照(14 页)

需求(大商户模式) 对应页面 / 能力
单入口登录、邀请码裂变 pages/login/login.vue(账号/微信模拟登录,邀请码选填自动绑定店铺)
首页千店千面(品牌装修) pages/index/index.vue(已登录时调 /api/decor/current 按服务端归属解析店铺;themeColor 经 utils/theme.ts 派生整套 CSS 变量换肤;DIY version:2 组件按序渲染:轮播/公告/推荐/分类/图文/榜单)
陪玩列表与详情 pages/companion/list/list.vue、pages/companion/detail/detail.vue(价格表、评价、相册语音、打赏——物品按店铺隔离)
下单(余额/微信)、打赏 详情页下单弹窗与打赏弹窗(下单可选优惠券,抵扣按券后实付校验门槛)
订单状态、评价、售后退款与申诉、发布需求单(发单进大厅) pages/order/order.vue(发布需求同样可选券;余额不足按券后应付判断并给出去充值/切微信出口)
钱包、充值满赠、资金流水 pages/wallet/*
优惠券:领取、券包、下单与发布抵扣 pages/wallet/coupon/coupon.vue + couponApi(全部/待使用/已使用/已过期;核销后订单号回写,退款或超时未支付自动退券,到期自动转「已过期」)。优惠券与我的钱包均为客户端用户专属:代理商/平台账号登录后这两页只显示说明卡、不发客户端专属请求(服务端 /api/auth/wallet、/api/coupon/* 对非客户端身份返回 403),经营侧请在管理后台「资金管理」「运营中心 → 优惠券管理」操作
打手接单、任务凭证、等级、提现 pages/work/workbench、pages/work/orders(动态身份 TabBar,打手 4 tab / 用户 3 tab)。完成订单必须上传任务截图凭证,后台审核通过后订单才转待评价并自动结算到打手钱包,未过审前买家确认完成与超时自动完成均被服务端拦下
普通用户申请成为打手 pages/work/apply/apply.vue(资料齐全自动通过并切换身份)
个人信息修改 pages/user/profile/edit/edit.vue(昵称+头像,PUT /api/auth/profile)
实名认证、双身份切换、客服、消息 pages/user/*

登录态与跳转约定

  • 所有受保护页面 onShow 统一 ensureLogin()(utils/auth.ts);请求层 401 自动清缓存并 reLaunch 登录页(utils/request.ts);
  • 店铺上下文:本地 agent_id 仅作游客扫码缓存;登录后一律以服务端归属为准,登录/退出/401 均清除,避免换号残留。

五、接口约定

  • 所有请求经 utils/request.ts 统一封装:
    • 自动附加 Authorization: Bearer <client_token>
    • 业务码 200 为成功;401 未登录、403 无权限,会有统一提示
    • 本地缓存键:client_token / client_role_type / client_user_id
  • 后端接口前缀为 /api/*,清单见 admin/admin-back 各 Controller。

六、占位与后续替换说明

项 现状 替换点
微信登录 模拟 code 换取登录态 pages/login/login.vue 中 handleWxLogin,替换为 uni.login 获取真实 code
微信支付 本地/测试为模拟支付(/api/pay/mock-success) 生产环境由后端统一下单,客户端仅需调起 uni.requestPayment
微信订阅消息 后端占位实现(站内通知已可用) admin-back 的 NotifyService.sendSubscribeMessage
图标 未使用图标资源(tabBar 为纯文字) 从 iconfont 下载后放入 static/,在 pages.json 的 tabBar 与页面中配置

七、常见问题

  1. 请求失败/跨域:确认 BASE_URL 与后端一致;后端已开启 CORS(见 WebConfig),H5 调试可直接访问。
  2. 未登录自动跳转:首页 onShow 会校验 client_token,未登录时回到登录页。
  3. 真机无法访问后端:手机与电脑需在同一局域网,且后端允许外部访问(防火墙放行 8080)。
  4. 小程序域名校验:开发阶段保持 manifest.json 中 urlCheck: false;正式发布需在微信后台配置合法域名(HTTPS)。
  5. HBuilderX 提示「请确认您的项目模板是否支持vue3:根目录缺少 index.html」:
    • 本项目根目录必须保留 index.html(uni-app Vue3 标准 H5 入口模板),请勿删除;
    • 若提示项目类型识别异常(例如仍按 uni-app x 识别),请先关闭项目,再「文件 → 打开目录」重新打开本 uniappClient 目录,并删除项目下 unpackage/ 缓存目录后重试;
    • 本项目为 经典 uni-app(Vue3) 工程:入口为 main.js + App.vue,页面为 pages/*.vue,不含 App.uvue / main.uts(那是 uni-app x 模板的文件)。

      八、代理商申请(v1.1 新增)

页面 路径 说明
申请成为代理商 pages/agent/apply/apply 填写代理商名称、品牌名称、联系人、申请说明;展示我的申请状态与审核意见

入口:我的 → 申请成为代理商(状态)。

接口:

方法 路径 说明
POST /api/agent-apply/apply 提交申请(服务端校验:已有待审/已通过则提示)
GET /api/agent-apply/my 我的申请记录(最新一条显示在页面顶部)

审核通过后,平台会自动建立代理商租户并生成后台登录账号(账号与初始密码在「消息中心」通知中可见)。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

相机,麦克风

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

无

暂无用户评论。