JeecgBoot-Uniapp

这个项目的目录结构是标准的 Vite + Vue3 + TS 架构,它比传统的 uni-app 项目更接近 Vue3 官方的开发体验。

JeecgUniapp/

├── src/

│ ├── api/ # 所有的接口定义,按模块分类(如 sys.ts, user.ts)

│ ├── components/ # 全局自定义组件,Jeecg 封装的 UI 件

│ ├── hooks/ # Vue3 的组合式 API 钩子(封装逻辑复用)

│ ├── layouts/ # 页面布局模板(配合插件实现页面包装)

│ ├── pages/ # 【主包】核心页面(首页、登录、仪表盘)

│ ├── pages_detail/ # 【分包】详情类页面,减轻主包压力

│ ├── pages_sample/ # 【分包】示例页面,演示各种组件用法

│ ├── static/ # 静态资源(图标、图片)

│ ├── store/ # Pinia 状态管理(存储用户信息、Token)

│ ├── utils/ # 工具类(重点是其中的 http 目录)

│ ├── App.vue # 根组件

│ ├── main.ts # 项目入口

│ ├── pages.json.js # 动态路由生成的逻辑(如果有)

│ └── vite.config.ts # 核心插件配置(所有黑科技的源头)

封装 uni.request 到 http 目录

封装在 http 里的作用:

  1. 统一拦截 (Interceptors):

    • 请求拦截 :在每个请求发出去前,自动在 Header 里塞入 X-Access-Token。你不用每个页面都去写拿 Token 的代码。

    • 响应拦截:如果后端返回 401(Token过期),拦截器直接帮你弹窗并跳到登录页。如果返回 500,直接统一弹出错误提示。

  2. 环境切换 :通过封装,你可以一键切换 开发环境、测试环境 和 生产环境 的 API 地址。

  3. Promise 化 :让原本的回调函数写法变成 async/await,代码写起来像德芙一样顺滑。

@uni-helper/vite-plugin-uni-pages 彻底解析

这就是你最懵逼的地方。它是 "约定式路由" 的实现者。

1. <route> 标签是什么意思?

在每个 .vue 文件顶部的这段代码,叫做 SFC(单文件组件)路由配置。

HTML

复制代码
<route lang="json5" type="page">
{
  layout: 'default',
  style: {
    navigationBarTitleText: '用户中心',
    navigationStyle: 'custom'
  }
}
</route>
  • lang="json5":支持带注释的 JSON。

  • type="page":标记这是个页面。

  • layout:告诉框架,这个页面要套用哪个底色或导航栏模板。

2. 为什么要用它?(作用)
  • 自动化 :以前你增加一个页面,得去 pages.json 手动填地址、标题。现在你只要在 src/pages 下新建个文件,插件自动帮你把地址塞进 pages.json。

  • 代码内聚:标题是啥、是否允许下拉刷新,这些配置直接写在页面代码里,不用跨文件找。

3. 如何使用?

你只需要在 vite.config.ts 里引入它。插件会监听你的 src/pages 文件夹,只要你保存代码,它就在后台刷新 pages.json。


四、 分包(Subpackages)是怎么实现的?

Jeecg 项目的分包实现非常聪明,也是靠这个插件完成的。

实现原理:

  1. 文件夹约定 :你在 src 下看到以 pages_ 开头的目录(如 pages_detail)。

  2. 插件配置 :在 vite.config.ts 的 UniPages 配置里,指定这些目录为分包目录。

  3. 动态编译 :插件扫描到这些特殊文件夹时,会自动在 pages.json 的 subPackages 字段里生成对应的路径。

为什么要分包? 因为小程序主包限制 2MB。Jeecg 这种功能非常多的项目,如果不分包,你连预览都点不开。通过这种方式,只有用户点击"详情"时,才会去加载 pages_detail 里的代码,极大提升了首屏启动速度。

相关推荐
郑州光合科技余经理16 小时前
海外版外卖加盟:总站与分站配送规则怎么分开管
java·开发语言·前端·后端·uni-app·php·ai编程
遗憾随她而去.2 天前
uniApp跨端开发: 解决不同平台显示差异问题
uni-app
程序鉴定师5 天前
2026年深圳小程序/App开发公司技术选型指南:从架构设计到交付标准全维度评估
java·小程序·uni-app·php·objective-c
Q26433650235 天前
【有源码】基于uni-app的旅游行程规划小程序-基于微信小程序的智慧文旅综合服务平台
java·微信小程序·小程序·uni-app·毕业设计·springboot·源代码
qq_316837756 天前
阿里云百炼 fun-asr-realtime uniapp vue3 调用
javascript·vue.js·uni-app
特创数字科技6 天前
uniapp 图片全能处理|全平台支持(鸿蒙、安卓、苹果、web),实现九宫格、水印、滤镜、压缩、拼图
uni-app
2501_916007476 天前
苹果应用商店App Store上架费用标准及原因解析
android·ios·小程序·https·uni-app·iphone·webview
00后程序员张7 天前
苹果App Store上架指南:费用、原理与步骤详解
android·ios·小程序·https·uni-app·iphone·webview
特创数字科技7 天前
【uni-app x】告别系统相机限制!三端通用自定义相机组件:任意布局、静默拍照、录像、水印叠加、连拍回图一次搞定
前端·数码相机·uni-app
Martin -Tang7 天前
uniapp app嵌套webview 弹窗方式
android·ios·uni-app