由 uniapp + Vue3 + Ts + Vite5 + UnoCss + uni-ui + z-paging 构成,使用了最新的前端技术栈,无需依靠 HBuilderX,通过命令行方式运行 web、小程序 和 App(编辑器推荐 VSCode,可选 webstorm)。
内置了 页面底座、公共请求框架、公共状态中心、 配置中心、UnoCSS、i18n多语言 等基础功能,提供了 代码提示、自动格式化、接口信息一键导入、自动生成路由 等辅助功能。
⚙️ 环境
- node>=18
- pnpm>=7.30
- 稳定版本:node = 20.7.0 pnpm = 9.4.0
📂 快速开始
执行 pnpm i 安装依赖
?执行 pnpm gif 导入接口配置信息
执行 pnpm dev 运行 H5
📦 常见问题
如果出现这类错误
uni-app 有新版本发布,请执行npx @dcloudio/uvm@latest alpha更新,更新日志详见:https://download1.dcloud.net.cn/hbuilderx/changelog/4.22.2024062415-alpha.html
执行 pnpm uvm
📦 运行(支持热更新)
- web平台:
pnpm dev:h5, 然后打开 http://localhost:9000/。
- weixin平台:
pnpm dev:mp-weixin 然后打开微信开发者工具,导入本地文件夹,选择本项目的dist/dev/mp-weixin 文件。
- APP平台:
pnpm dev:app, 然后打开 HBuilderX,导入刚刚生成的dist/dev/app 文件夹,选择运行到模拟器(开发时优先使用),或者运行的安卓/ios基座。
🔗 发布
- web平台:
pnpm build:h5,打包后的文件在 dist/build/h5,可以放到web服务器,如nginx运行。如果最终不是放在根目录,可以在 manifest.config.ts 文件的 h5.router.base 属性进行修改。
- weixin平台:开发环境:
pnpm build:d:mp、
测试环境:pnpm build:t:mp、 生产环境:pnpm build:mp。
均可自动上传到对应的小程序后台, 打包后的文件在 dist/build/mp-weixin,可用微信开发者工具导入查看效果。
- APP平台:
pnpm build:app, 然后打开 HBuilderX,导入刚刚生成的dist/build/app 文件夹,选择发行 - APP云打包。
📦 TODO
- 1.下拉更新、上拉加载移动端组件 √
- 2.页面生命周期管理中心,默认拦截enums.LoadType.onLoad,通知容器数据加载完毕 √
- 3.公共请求框架,接口信息自动装配 √
- 4.公共状态管理中心,接口请求状态跟踪,身份存储 √
- 5.公共请求框架,类型推导智能提示 √
- 6.公共请求框架,身份认证 √
- 7.公共请求框架,根据swagger导入接口信息,包括接口组、接口入参结构,接口出参结构 √
- 8.调试、打包时过滤掉未用到的接口配置信息,微信小程序,√
- 9.调试、打包时过滤掉未用到的接口配置信息,支付宝小程序 √
- 10.调试、打包时过滤掉未用到的接口配置信息,通过拦截watchChange、generateBundle 减少文件重复写入 √
- 11.通过UniPages的onBeforeWriteFile钩子函数,自动生成页面路由信息 √
- 12.页面跳转公共方法,结合页面配置信息判断身份过期登录、页面参数传递等 √
- 13.微信小程序环境以及真机验证容器组件分页,生命周期管理,页面状态管理,并做兼容性调整 √
- 14.通过UniPages的onBeforeWriteFile钩子函数,自动生成页面路由信息-支持分包 √
- 15.公共请求框架支持文件上传,swagger导入接口信息识别是否是上传接口,调用接口时自动唤起选择文件窗口
- 16.公共请求方法,支持类型修饰,深度合并两个ts对象类型 √
- 17.全局防抖函数,支持常规等待和立即执行,目标方法哈希计算,追加防抖函数细粒度标签;已应用于页面生命周期管理中心,避免init方法重复执行;页面公共跳转方法,避免页面重复跳转。√
- 18.开发环境,通过generateBundle钩子函数实现增量修改微信小程序的js文件,以便提高小程序ide工具的编译速度。
- 19.全局sass变量自动引入,全局sass变量、样式表定义。
- 20.公共请求框架,根据swagger导入接口信息支持增量导入。
- 21.页面方法公共初始化,对页面方法进行集中拦截、公共管控,已支持自动为对象内所有方法增加防重提功能(同步方法、异步方法执行中再次触发不执行) 。
- 22.微信小程序环境支持websocket-stomp协议,收银员扫描驾驶员二维码创建订单后,驾驶员端自动跳转待支付页面。
- 23.构建项目时自动化上传体验版至小程序后台。√
- 24.构建项目时可区分开发、测试、生成环境,编写对应的命令。√