更新记录
1.0.0(2026-09-04) 下载此版本
开源企业级 UniApp 移动端基座正式发布。一套源码支持微信小程序 / H5 / App 新增内容: 1、三 Tab 基座:首页、消息、我的(原生 tabBar) 2、登录全套:账号密码、验证码登录、注册、找回密码;微信登录弹窗分流 3、消息中心:分类未读、列表与详情 4、我的:资料、改密、换绑手机、登录设备、手势密码、设置、账号注销申请 5、上架向能力:隐私协议弹窗、版本检测、空态与断网提示、Token 无感刷新 6、业务分包:demo(列表/表单模板等)、pay、map、ocr、ai、print 7、工程规范:强制主包瘦身与分包、统一样式令牌、主包体积检查脚本
平台兼容性
QKL-Boot 移动端(UniApp)
开源企业级前后端脚手架 · C 端移动基座
一套源码编译 微信小程序 / H5 / App · 强制分包 · 可对接完整 Java 后端与 Vue3 管理端
全套开源源码(Java + Admin + UniApp):https://gitee.com/gzqkl/qkl-boot
维护:晴空蓝网络科技(Qingkonglan)· 协议:Apache 2.0
# 获取全套可编译源码(推荐,含后端与管理端)
git clone https://gitee.com/gzqkl/qkl-boot.git
cd qkl-boot
本页只介绍 UniApp 移动端。后端
qkl-boot-java、管理端qkl-boot-admin与移动端同仓开源,请克隆完整仓库,勿只拷贝移动端目录。
为什么选这套移动端脚手架?
面向要做 C 端小程序 / H5 / App 的团队:不是管理后台的「手机版」,而是独立消费者基座——登录态、消息、个人中心、支付 / AI / OCR / 地图等能力按分包落地,主包刻意做瘦,方便过审与长期迭代。
| 卖点 | 说明 |
|---|---|
| 源码全开源 | Apache 2.0;Gitee 上提供 三仓完整可编译源码,无加密包、无后门回传 |
| 三端一体 | 移动端只调 /mobile/**,与 Admin /admin/**、开放回调 /open/** 隔离 |
| 强制分包规范 | 主包仅首页 / 消息 / 我的 / 登录;业务进 subpackages/{domain},自带体积检查 |
| 可抄模板 | 列表 / Tab 列表 / 表单(tpl*)+ $qkl-* 设计令牌,二开不用另起主题 |
| 上架向能力 | 隐私协议弹窗、版本检测、账号注销申请、原生 tabBar |
| AI 友好二开 | 仓库内含 Agent 约束与 Cursor Skill,适合用 AI 工具快速加业务页 |
界面预览
更多截图(含管理端):Gitee · docs/screenshots
整体框架一览(三仓)
微信小程序 / H5 / App(qkl-boot-uniapp)
│ 仅 /mobile/**
▼
qkl-boot-java :8080 ◄── 管理端 Admin 仅 /admin/**
Spring Boot 3.5 · JDK 17
│
MySQL 8 · Redis 7 · 对象存储
| 目录 | 技术 | 职责 |
|---|---|---|
| qkl-boot-uniapp | UniApp3 · Vue3 · uview-plus · Vite · TS | C 端:登录、消息、我的、业务分包 |
| qkl-boot-admin | Vue3 · Element Plus · Vite | B 端:RBAC、通道配置、运营后台 |
| qkl-boot-java | Spring Boot 3.5 · MyBatis-Plus · Liquibase | 唯一后端;JWT 会话;可裁剪 AI/支付/打印等模块 |
完整能力请从 Gitee 克隆 monorepo,契约按 /mobile 设计,不要只拷贝移动端硬连无关后端。
移动端已有能力
基座(主包)
- 三 Tab:首页 · 消息 · 我的(
pages.json原生 tabBar) - 登录全套:账号密码、验证码登录、注册、找回密码;微信登录走底部弹窗分流
- 消息中心:分类未读、列表、详情;对接后端通知能力
- 我的:资料、改密、换绑手机、登录设备、手势密码、设置、账号注销申请等
- 公共能力:隐私协议、空态 / 断网提示、路由鉴权守卫、Token 无感刷新
业务分包(出厂)
| 分包 | 能力 |
|---|---|
demo |
列表 / Tab 列表 / 表单模板、扫码、签名、上传、订阅消息、分享、版本检测等体验页 |
pay |
支付下单、订单、记录、结果页(对接后端 finance) |
map |
地图演示、城市选择 |
ocr |
身份证 / 驾照 / 营业执照等多场景文字识别 |
ai |
智能客服对话(可配 WebSocket 流式) |
print |
打印预览相关 |
首页快捷入口为固定能力清单(不依赖后台 MOBILE 菜单权限勾选),适合 C 端产品心智。
工程与规范
| 项 | 说明 |
|---|---|
| 请求 | 唯一入口 src/utils/request.ts(Refresh、X-Client-App-Id、403 不踢登录) |
| 样式 | $qkl-* 令牌 + qkl-page / qkl-card / qkl-btn 等工具类,对齐 demo |
| 列表 | mescroll 下拉刷新 / 上拉加载(该页勿开原生 enablePullDownRefresh) |
| 体积 | pnpm check:mp-size(建议主包 < 1.5MB) |
| 状态 | Pinia:user / app / message |
技术栈版本
| 项 | 选型 |
|---|---|
| UniApp | 3.x(@dcloudio/* 锁定编译器版本) |
| Vue | 3.4.x |
| UI | uview-plus 3.3.x |
| 构建 | Vite 5.2.x · TypeScript 4.9.x |
| 状态 | Pinia 2.1.x |
| 其它 | dayjs · mescroll-uni · vue-i18n · clipboard 等 |
配套后端建议:JDK 17 · Spring Boot 3.5.x · MySQL 8 · Redis 7。
快速开始
1. 克隆全套源码
git clone https://gitee.com/gzqkl/qkl-boot.git
cd qkl-boot
2. 启动后端(推荐)
cd qkl-boot-java
cp .env.example .env
docker compose up -d # MySQL8 + Redis7
mvn -pl qkl-bootstrap -am spring-boot:run -s .mvn/settings.xml
# → http://localhost:8080
联调账号示例:user / user1234(以种子数据为准)。
更细联调说明见:三仓联调一页纸
3. 启动 UniApp
cd qkl-boot-uniapp
cp .env.development.example .env.development # 按需改代理
pnpm install
pnpm dev:h5 # H5 → http://localhost:5174 ,代理 /mobile → 8080
pnpm dev:mp-weixin # 微信开发者工具打开 dist/dev/mp-weixin
| 命令 | 说明 |
|---|---|
pnpm build:h5 |
H5 生产构建 |
pnpm build:mp-weixin |
微信小程序生产包 |
pnpm check:mp-size |
主包体积检查 |
pnpm type-check |
TypeScript 检查 |
小程序正式环境请在 src/manifest.json → mp-weixin.appid 填写真实 AppID,并配置合法 request / socket 域名;VITE_WX_APP_ID 建议与后台「小程序绑定」一致。
目录结构(移动端)
qkl-boot-uniapp/
├── src/
│ ├── api/ # 主包接口(auth / my / message / common / home)
│ ├── components/ # 全局组件(空态、断网、隐私弹窗等)
│ ├── composables/ # useRouter / useDebounceClick …
│ ├── pages/ # 主包:home · message · my · login · common
│ ├── stores/ # Pinia
│ ├── subpackages/ # 业务分包:demo · pay · map · ocr · ai · print
│ ├── utils/ # request · storage · 鉴权守卫 · 平台工具
│ ├── pages.json # 原生 tabBar + subPackages + preloadRule
│ ├── manifest.json
│ └── uni.scss # $qkl-* 设计令牌
├── .env.development.example
└── package.json
二开怎么加一个业务页?
- 在
src/subpackages/新建{你的业务域}/(含pages、api,按需components/static) pages.json→subPackages注册页面- 优先拷贝
subpackages/demo/pages/tplList/tplTabList/tplForm,把 mock 换成真实/mobile/**接口 - 在首页能力入口挂上 path
- 禁止:业务页塞进主包;主包
import分包 api;混调/admin/**
更多说明(均在 Gitee 全套仓库内):
适合谁?
- 要快速起 微信小程序 + H5 的业务团队
- 需要 后台可配(短信、支付、AI、文件存储)并与移动端联调的一体化方案
- 重视 主包体积、上架合规、可维护分包结构 的长期项目
- 用 Cursor 等 AI 工具 基于样板批量加页面的团队
不适合:只想要几个静态 Demo 页、不需要后端与权限体系的纯展示站。
开源与仓库
| 项 | 说明 |
|---|---|
| 全套开源仓库 | https://gitee.com/gzqkl/qkl-boot |
| Git 地址 | https://gitee.com/gzqkl/qkl-boot.git |
| 协议 | Apache License 2.0 |
| 仓库内容 | Java 后端 + Vue3 Admin + UniApp 移动端 完整可编译源码 |
| 文档 | 文档中心 |
| 安全 | SECURITY.md |
| 维护 | 晴空蓝网络科技(Qingkonglan) |
git clone https://gitee.com/gzqkl/qkl-boot.git
cd qkl-boot
欢迎 Star、Issue 与 PR。若本页对你有帮助,欢迎分享给正在选型 UniApp 企业脚手架的同学。
QKL-Boot:开源 · 无后门 · 自托管 · 可 AI 二开的企业级前后端脚手架。
全套源码 → https://gitee.com/gzqkl/qkl-boot

收藏人数:
https://gitee.com/gzqkl/qkl-boot
下载插件并导入HBuilderX
下载插件ZIP
赞赏(0)
下载 2114
赞赏 3
下载 12564017
赞赏 1949
赞赏
京公网安备:11010802035340号