# RuoYi-SpringBoot3-UniApp
**Repository Path**: cctvbtx/RuoYi-SpringBoot3-UniApp
## Basic Information
- **Project Name**: RuoYi-SpringBoot3-UniApp
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2025-12-26
- **Last Updated**: 2025-12-26
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
RuoYi SpringBoot3 UniApp v1.2.0
基于 Vue3 + UniApp 的跨平台移动端快速开发框架
## 平台简介
RuoYi SpringBoot3 UniApp 是基于 [RuoYi-App](https://gitee.com/y_project/RuoYi-App/tree/vue3/) 的移动端解决方案,采用 Vue3 + UniApp 技术栈,实现一套代码多端运行(微信小程序、App、H5、Electron桌面端)。
本项目提供完整的移动端开发框架,包含登录认证、个人中心、工作台等常用功能模块,采用最新技术栈和最佳实践,帮助开发者快速构建跨平台移动应用。
## 联系方式
- 🌐 **官方网站**:https://www.undsky.com
## 相关项目
### 后端项目
- 💻 https://github.com/undsky/RuoYi-SpringBoot3-Pro
## ✨ 核心特性
### 1. 🌐 跨平台支持
一套代码,多端运行:
| 平台 | 支持状态 | 说明 |
|------|---------|------|
| **微信小程序** | ✅ 完全支持 | 适配微信小程序环境 |
| **H5** | ✅ 完全支持 | 支持浏览器访问 |
| **Android App** | ✅ 完全支持 | 原生 Android 应用 |
| **iOS App** | ✅ 完全支持 | 原生 iOS 应用 |
| **Electron** | ✅ 实验支持 | 跨平台桌面应用 |
### 2. 🎯 Cursor AI 智能开发
内置 Cursor Rules 开发规则,AI 辅助编码:
- **自动代码建议**:AI 按项目规范自动生成代码
- **代码质量审查**:实时检测代码问题并提供改进建议
- **最佳实践应用**:自动应用 Vue3 组合式 API 和简洁代码原则
- **智能注释**:生成有意义的代码注释
- **快速重构**:一键重构代码符合规范
- **团队协作**:统一的编码标准和规范
- **Context7 集成**:自动获取最新技术文档
- **开箱即用**:在 Cursor IDE 中打开即可使用
### 3. 🎨 Vue3 组合式 API
全面采用 Vue3 最新特性:
- **Composition API**:更灵活的代码组织方式
- **\
```
### 数据字典使用
```vue
{{ item.label }}
```
### 条件编译
针对不同平台的差异化处理:
```vue
这是 H5 端的内容
这是微信小程序的内容
这是 App 的内容
```
### 列表页面开发
使用 z-paging 组件:
```vue
{{ item.name }}
```
### 富文本显示
使用 mp-html 组件:
```vue
```
## Cursor Rules 智能开发
项目内置 Cursor AI 开发规则,提升开发效率和代码质量。
### 规则配置
项目在 `.cursor/rules/` 目录下配置了以下规则文件:
| 规则文件 | 说明 | 应用范围 |
|---------|------|---------|
| `common.mdc` | 通用开发规则 | 全局应用 |
| `clean-code.mdc` | 简洁代码指南 | 所有代码文件 |
| `codequality.mdc` | 代码质量规范 | 所有代码文件 |
| `vue.mdc` | Vue 最佳实践 | Vue 文件 |
| `vue-3-composition-api.mdc` | Vue3 组合式 API 指南 | Vue 文件 |
| `vue-3-project-structure.mdc` | Vue3 项目结构规范 | 全局应用 |
| `uniapp-project-structure.mdc` | UniApp 项目结构规范 | 全局应用 |
### 使用方式
**自动应用**
在 Cursor IDE 中打开项目,规则会自动生效:
1. **智能代码建议**
- AI 助手会遵循项目规范生成代码
- 自动应用 Vue3 组合式 API 最佳实践
2. **代码审查**
- AI 会根据规则检查代码质量
- 提供符合规范的改进建议
3. **快速开发**
- 使用 `Ctrl+K`(或 `Cmd+K`)唤起 AI 助手
- 描述需求,AI 会按规则生成代码
**手动触发**
在 Cursor 中与 AI 对话时,提及规则名称:
```
请按照 vue-3-composition-api 规则实现用户列表页面
遵循 clean-code 规范优化这段代码
```
### 规则优势
| 优势 | 说明 |
|------|------|
| 🎯 **一致性** | 团队成员使用统一的编码规范 |
| ⚡ **效率** | AI 自动遵循最佳实践,减少返工 |
| 📚 **知识传承** | 新成员快速了解项目标准 |
| 🔍 **质量保障** | 代码审查自动化,减少低级错误 |
| 🚀 **快速上手** | 开箱即用的智能开发体验 |
## 常见问题
### 1. 如何切换后端接口地址?
修改 `config.js` 文件中的 `baseUrl`:
```javascript
export default {
baseUrl: 'https://your-api-domain.com',
// ...
}
```
### 2. 微信小程序无法访问接口?
需要配置服务器域名白名单:
1. 登录微信公众平台
2. 开发 → 开发设置 → 服务器域名
3. 添加你的后端接口域名
### 3. H5 跨域问题如何解决?
在 `manifest.json` 中配置代理:
```json
{
"h5": {
"devServer": {
"proxy": {
"/api": {
"target": "http://localhost:8087",
"changeOrigin": true
}
}
}
}
}
```
### 4. 如何添加新页面?
1. 在 `pages/` 目录下创建页面文件
2. 在 `pages.json` 中注册页面:
```json
{
"pages": [
{
"path": "pages/your-page/index",
"style": {
"navigationBarTitleText": "页面标题"
}
}
]
}
```
### 5. 如何使用 uni-ui 组件?
直接在模板中使用,无需导入:
```vue
```
### 6. 如何调试小程序?
1. HBuilderX 中运行到小程序模拟器
2. 微信开发者工具会自动打开
3. 使用开发者工具的调试功能
### 7. 如何自定义 TabBar?
在 `pages.json` 中配置:
```json
{
"tabBar": {
"color": "#000000",
"selectedColor": "#007AFF",
"list": [
{
"pagePath": "pages/index",
"iconPath": "static/images/home.png",
"selectedIconPath": "static/images/home_.png",
"text": "首页"
}
]
}
}
```
### 8. 如何处理不同平台的差异?
使用条件编译:
```vue
H5 端显示
小程序端显示
```
### 9. 如何实现下拉刷新?
使用 z-paging 组件自动处理,或使用 UniApp 内置方法:
```vue
```
### 10. 如何上传图片?
```javascript
uni.chooseImage({
count: 1,
success: (res) => {
uni.uploadFile({
url: 'http://your-api/upload',
filePath: res.tempFilePaths[0],
name: 'file',
success: (uploadRes) => {
console.log('上传成功', uploadRes)
}
})
}
})
```
## 平台兼容性说明
### 各平台特性支持
| 特性 | H5 | 小程序 | App | 说明 |
|------|----|----|-----|------|
| 网络请求 | ✅ | ✅ | ✅ | 完全支持 |
| 文件上传 | ✅ | ✅ | ✅ | 完全支持 |
| 本地存储 | ✅ | ✅ | ✅ | 完全支持 |
| 定位 | ✅ | ✅ | ✅ | 需要权限 |
| 相机 | ⚠️ | ✅ | ✅ | H5 部分浏览器支持 |
| 扫码 | ❌ | ✅ | ✅ | H5 不支持 |
| 支付 | ⚠️ | ✅ | ✅ | 需要对接支付平台 |
| 分享 | ⚠️ | ✅ | ✅ | H5 需要浏览器支持 |
### 尺寸单位说明
- **rpx**:响应式单位,750rpx = 屏幕宽度
- **px**:固定像素单位
- **upx**:UniApp 推荐使用 rpx
## 性能优化建议
### 1. 图片优化
- 使用合适的图片格式(WebP 优先)
- 压缩图片大小
- 使用懒加载
### 2. 分包加载
大型应用建议使用分包:
```json
{
"subPackages": [
{
"root": "pages/module1",
"pages": [
{ "path": "page1/index" }
]
}
]
}
```
### 3. 减少 setData
小程序中尽量减少 setData 的调用频率和数据量。
### 4. 使用组件缓存
合理使用 keep-alive 和组件缓存。
### 5. 避免过度渲染
使用 v-show 替代频繁切换的 v-if。
## 部署说明
### H5 部署
1. 构建生产版本:
```bash
npm run build:h5
```
2. 部署 `unpackage/dist/build/h5` 目录到服务器
3. 配置 Nginx:
```nginx
server {
listen 80;
server_name your-domain.com;
location / {
root /path/to/h5;
try_files $uri $uri/ /index.html;
}
}
```
### 小程序部署
1. HBuilderX 发行小程序
2. 微信开发者工具上传代码
3. 微信公众平台提交审核
4. 审核通过后发布
### App 部署
1. HBuilderX 云打包
2. 下载安装包
3. 上传到应用商店
## 更新日志
### v1.2.0 (2024-XX-XX)
- ✨ 新增 Cursor Rules 智能开发规则
- ✨ 升级到 Vue3 组合式 API
- ✨ 集成 Pinia 状态管理
- ✨ 集成 z-paging 分页组件
- ✨ 集成 mp-html 富文本组件
- 🐛 修复已知问题
- 📝 完善文档说明
### v1.0.0 (2024-XX-XX)
- 🎉 项目初始化
- ✨ 实现基础功能模块
- ✨ 支持多端运行
## 开源协议
本项目遵循 [ISC 协议](LICENSE) 开源。
## 参与贡献
欢迎提交 Issue 和 Pull Request!
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request
## 技术支持
- **官方文档**:http://doc.ruoyi.vip
- **UniApp 文档**:https://uniapp.dcloud.net.cn/
- **Gitee**:https://gitee.com/mc-springboot/RuoYi-SpringBoot3-UniApp
- **后端项目**:https://gitee.com/y_project/RuoYi-App/tree/vue3/
## 鸣谢
- [RuoYi-App](https://gitee.com/y_project/RuoYi-App/tree/vue3/):后端管理框架
- [UniApp](https://uniapp.dcloud.net.cn/):跨平台框架
- [uni-ui](https://uniapp.dcloud.net.cn/component/uniui/uni-ui.html):UI 组件库
- [z-paging](https://z-paging.zxlee.cn/):分页组件
- [mp-html](https://jin-yufeng.github.io/mp-html/):富文本组件
---
⭐ 如果觉得项目不错,请点个 Star 支持一下!