Files
template-MP/IFLOW.md
2025-09-26 16:21:43 +08:00

93 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 项目概述
这是一个基于 UniApp + Vue3 + uView-Plus 的微信小程序项目模板。它提供了一个基础的项目结构和一些常用的工具函数,方便快速开发微信小程序。
## 技术栈
* **UniApp**: 跨平台开发框架,用于构建微信小程序。
* **Vue3**: 渐进式 JavaScript 框架,用于构建用户界面。
* **uView-Plus**: 基于 UniApp 的 UI 组件库。
* **z-paging**: 一个用于处理分页加载的组件库。
## 目录结构
```
.
├── api/ # 接口相关
│ └── request.js # 请求封装
├── common/ # 公共资源
│ ├── styles/ # 全局样式
│ └── utils/ # 工具函数
├── components/ # 公共组件
│ └── z-paging/ # z-paging 组件库
├── lib/ # 第三方库
│ └── luch-request/ # luch-request 网络请求库
├── uview-plus/ # uView-Plus 组件库
├── mixins/ # Vue 混入
├── pages/ # 主包页面
├── subPages/ # 分包页面
├── App.vue # 应用入口
├── main.js # 主入口文件
├── pages.json # 页面配置
├── manifest.json # 应用配置
├── uni.scss # 全局样式变量
└── .env # 环境变量
```
# 开发环境与运行
## 环境要求
* Node.js (版本信息在 `.nvmdrc` 文件中指定)
* npm 或 yarn
## 安装依赖
```bash
npm install
```
## 运行项目
由于这是一个 UniApp 项目,通常需要使用 HBuilderX 或其他支持 UniApp 的 IDE 来运行和调试。具体的运行命令取决于你的开发环境。
## 构建项目
同样,构建项目也需要使用 HBuilderX 或相应的 CLI 工具。
# 代码规范与开发约定
## 样式
* 全局样式文件位于 `common/styles/` 目录下,包括 `common.css``normal.scss`
* 样式规范应遵循项目中已有的风格。
## 静态资源
* 所有静态资源需要使用环境变量 `VITE_ASSETSURL`
## 工具函数 (tool.js)
`common/utils/tool.js` 文件提供了一系列常用的工具函数:
* **提示与加载**: `alert`, `loading`, `hideLoading`
* **页面跳转**: `navigateTo`, `redirectTo`, `reLaunch`, `switchTab`, `navigateBack`
* **本地存储**: `storage`, `removeStorage`, `getStorageInfo`
* **其他功能**: `copy` (复制文本), `saveImageToPhotos` (保存图片), `requestPayment` (微信支付), `upload` (文件上传)
## 网络请求
* 网络请求使用 `lib/luch-request` 库进行封装。
* 全局配置在 `api/request.js` 中定义包括基础URL、请求头、SSL验证等。
* 包含请求和响应拦截器,用于处理通用逻辑(如错误提示、鉴权等)。
## 组件
* 项目集成了 `uView-Plus``z-paging` 两个组件库。
* `uView-Plus` 组件的使用方式是 `u-icon``u-input``u-textarea`
* 自定义组件应放在 `components/` 目录下。
## 页面
* 页面配置在 `pages.json` 中管理。
* 主包页面放在 `pages/` 目录下,分包页面放在 `subPages/` 目录下。