Skip to content

🚀 UniappX 开源框架介绍 ​

基于 uni-app x 官方生态二次封装的企业级跨端开发框架,开箱即用。


📦 项目简介 ​

这是一个基于 uni-app x 官方能力封装的开源框架,旨在提升多端开发效率,统一组件风格,沉淀通用业务模块。

✨ 核心特性 ​

  • 🎨 UI 组件库:基于官方组件二次封装,统一设计风格
  • 🔧 业务模块:沉淀通用业务功能,开箱即用
  • 📱 多端适配:一套代码,多端运行(App / H5 / 小程序)
  • 📦 TypeScript:完整类型支持,开发体验更好
  • 🎯 企业级:经过实际项目验证,稳定可靠

💡 设计初衷 ​

为什么要做这个框架?

市场现状 ​

目前基于 uni-app x 的开源框架几乎是空白:

  • 🔸 官方示例过于简陋:只有基础组件演示,没有实际业务模块
  • 🔸 社区框架缺失:uni-app x 发布时间较短,成熟的开源框架很少
  • 🔸 现有框架功能单薄:要么只有几个 UI 组件,要么没有后端配套

我们的目标 ​

构建多端一体的开发体验:

  • 🌐 Web 端:已有 NexusVue / NexusReact 前端框架
  • 🖥️ 后端:已有 Node / Rust 后端,提供完整 API
  • 📱 移动端:通过 NexusUniAppX 补齐 App / 小程序端

一套技术体系,从前端到后端到移动端,多端数据互通、风格统一,这就是天工开源项目的整体愿景。


🎨 UI 组件库 ​

基于官方组件二次封装,提供更便捷的 API 和统一的交互体验。

基础组件 ​

组件说明基于官方
nx-button按钮组件,支持多种样式和状态button
nx-input输入框,带校验和提示input
nx-cell列表项,表单常用view + text
nx-modal弹窗,支持多种类型modal
nx-toast轻提示toast
nx-loading加载状态loading

业务组件 ​

组件说明
nx-navbar自定义导航栏,适配多端
nx-tabbar底部标签栏,可配置
nx-list下拉刷新 + 上拉加载列表
nx-form动态表单,支持校验规则
nx-upload图片/文件上传,带预览
nx-picker选择器,支持多级联动

🔧 通用业务模块 ​

网络请求模块 ​

ts
// 封装 uni.request,统一处理错误、loading、token
import { request } from '@/utils/request'

// GET 请求
request.get('/api/user', { id: 1 })

// POST 请求
request.post('/api/login', { username: 'admin', password: '123456' })

特性:

  • 统一请求拦截 / 响应拦截
  • 自动携带 token
  • 统一错误提示
  • 请求 loading 控制
  • 请求取消

状态管理(Store) ​

基于 pinia 封装,提供通用 store 模板:

ts
// 用户信息 store
export const useUserStore = defineStore('user', () => {
  const token = ref('')
  const userInfo = ref({})

  // 登录
  const login = async (form) => { ... }

  // 退出登录
  const logout = () => { ... }

  return { token, userInfo, login, logout }
})

路由封装 ​

  • 路由守卫
  • 登录权限校验
  • 页面跳转封装
  • 返回上一页

工具函数 ​

方法说明
debounce防抖
throttle节流
formatDate日期格式化
deepClone深拷贝
storage本地存储封装
validate常用校验规则

📱 多端适配方案 ​

条件编译 ​

ts
// #ifdef H5
console.log('H5 端')
// #endif

// #ifdef APP-PLUS
console.log('App 端')
// #endif

// #ifdef MP-WEIXIN
console.log('微信小程序')
// #endif

样式适配 ​

  • rpx 单位:自动适配不同屏幕尺寸
  • 安全区适配:刘海屏、底部 Home 指示条自动适配
  • 暗色模式:支持主题切换

🚀 快速开始 ​

安装 ​

bash
# 克隆项目
git clone https://github.com/你的用户名/uni-appx-framework.git

# 安装依赖
npm install

# 运行 H5
npm run dev:h5

# 运行小程序
npm run dev:mp-weixin

目录结构 ​

├── src
│   ├── components/     # 全局组件
│   ├── pages/          # 页面
│   ├── store/          # 状态管理
│   ├── utils/          # 工具函数
│   ├── api/            # 接口请求
│   ├── static/         # 静态资源
│   └── App.uvue        # 入口文件
├── pages.json          # 页面配置
├── manifest.json       # 应用配置
└── package.json

🤝 参与贡献 ​

欢迎提交 Issue 和 PR,一起完善这个框架!

开发规范 ​

  • 遵循 TypeScript 严格模式
  • 组件命名采用 nx- 前缀
  • 提交信息遵循 Conventional Commits

📄 License ​

MIT

Released under the MIT License.