# front-debi
**Repository Path**: hyxc_01/front-debi
## Basic Information
- **Project Name**: front-debi
- **Description**: 真赚真赚真赚真赚真赚
- **Primary Language**: JavaScript
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-11-18
- **Last Updated**: 2026-04-02
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# fron-wechat-template
UniApp Vue3 框架模板 - 快速开发微信小程序
## 项目简介
这是一个基于 UniApp + Vue3 + Pinia + uview-plus 的微信小程序框架模板,提供了完整的项目基础架构,包含路由系统、状态管理、API 层、认证系统等核心功能,帮助你快速启动新项目。
## 技术栈
- **框架**: UniApp + Vue3 Composition API
- **状态管理**: Pinia + pinia-plugin-persistedstate
- **UI组件**: uview-plus
- **路由**: uniapp-router-next
- **HTTP请求**: axios + uni-helper/axios-adapter
- **构建工具**: Vite
- **包管理器**: pnpm
## 目录结构
```
fron-wechat-template/
├── src/
│ ├── api/ # API 接口层
│ │ ├── modules/ # API 模块
│ │ └── index.js # API 统一导出
│ ├── components/ # 公共组件
│ │ ├── navbar/ # 自定义导航栏
│ │ ├── tabbar/ # 自定义 TabBar
│ │ ├── card/ # 卡片组件
│ │ └── scroll-paging/ # 分页滚动组件
│ ├── hooks/ # 组合式函数
│ ├── layouts/ # 布局组件
│ ├── pages/ # 主要页面
│ │ ├── home/ # 首页
│ │ ├── login/ # 登录页
│ │ └── user/ # 用户中心
│ ├── router/ # 路由配置
│ │ ├── index.js # 路由初始化
│ │ └── helper.js # 路由守卫和辅助函数
│ ├── static/ # 静态资源
│ ├── store/ # Pinia 状态管理
│ │ ├── modules/ # Store 模块
│ │ └── index.js # Store 统一导出
│ ├── utils/ # 工具函数
│ │ ├── router.js # 路由工具
│ │ └── request.js # HTTP 请求封装
│ ├── uni_modules/ # uni_modules 插件
│ ├── App.vue # 应用入口
│ ├── main.js # 主入口文件
│ ├── pages.json # 页面配置
│ └── uni.scss # 全局样式变量
├── .env # 环境变量
├── .env.development # 开发环境变量
├── .env.production # 生产环境变量
├── manifest.config.js # 应用配置
├── vite.config.js # Vite 配置
└── package.json # 项目依赖
```
## 快速开始
### 1. 安装依赖
```bash
# 必须使用 pnpm
pnpm install
```
### 2. 开发环境运行
```bash
# 微信小程序
pnpm run dev:mp-weixin
# H5
pnpm run dev:h5
# APP
pnpm run dev:app
```
### 3. 生产环境构建
```bash
# 微信小程序
pnpm run build:mp-weixin
# H5
pnpm run build:h5
# APP
pnpm run build:app
```
## 核心功能
### 1. 路由系统
使用 `uniapp-router-next` 提供类似 Vue Router 的路由体验:
```javascript
import { push, switchTab, back } from '@/utils/router'
// 普通跳转
push('/pages/detail/index?id=123')
// 对象方式跳转
push({
path: '/pages/detail/index',
query: { id: 123 }
})
// TabBar 跳转
switchTab('/pages/home/index')
// 返回
back()
```
### 2. 状态管理
使用 Pinia 管理全局状态,支持持久化:
```javascript
// store/modules/user.js
import { defineStore } from 'pinia'
export const useUserStore = defineStore('user', {
state: () => ({
token: '',
userInfo: {}
}),
actions: {
setToken(token) {
this.token = token
},
setUserInfo(info) {
this.userInfo = info
}
},
persist: true // 开启持久化
})
```
### 3. API 请求
统一的 API 管理:
```javascript
// api/modules/user.js
import request from '@/utils/request'
export default {
// 登录
login: (data) => request({
url: '/user/login',
method: 'POST',
data
}),
// 获取用户信息
getUserInfo: () => request({
url: '/user/info',
method: 'GET'
})
}
// 使用
import api from '@/api'
api.user.login({ phone, code })
```
### 4. 路由守卫
在 `pages.json` 中配置需要登录的页面:
```json
{
"path": "pages/user/index",
"style": {
"navigationBarTitleText": "我的"
},
"meta": {
"requiresAuth": true
}
}
```
### 5. 自定义组件
#### CustomNavbar - 自定义导航栏
```vue
```
#### CustomTabbar - 自定义底部导航
```vue
```
## 环境配置
修改 `.env.*` 文件配置不同环境的变量:
```bash
# .env.development
VITE_APP_API_BASEURL = 'http://localhost:3000/api'
# .env.production
VITE_APP_API_BASEURL = 'https://api.example.com'
```
代码中使用:
```javascript
const apiUrl = import.meta.env.VITE_APP_API_BASEURL
```
## 开发建议
1. **组件导入**: uview-plus 组件支持 easycom 自动导入,无需手动注册
2. **路由导航**: 始终使用 `@/utils/router` 中的方法,不要直接使用 uni 原生 API
3. **状态管理**: 使用 `storeToRefs` 解构 store 中的响应式属性
4. **API 模块化**: 按业务模块拆分 API 文件,统一通过 `api/index.js` 导出
5. **代码规范**: 项目已配置 ESLint、Prettier、Stylelint,提交前请检查代码规范
## Git 提交规范
使用 commitizen 规范提交信息:
```bash
pnpm run cz
```
提交类型:
- `feat`: 新功能
- `fix`: 修复 bug
- `refactor`: 重构代码
- `perf`: 性能优化
- `docs`: 文档更新
- `style`: 代码格式调整
- `test`: 测试相关
- `build`: 构建系统
- `ci`: CI 配置
## 常见问题
### 1. 为什么必须使用 pnpm?
项目配置了 `preinstall` 钩子限制只能使用 pnpm,这是为了保证依赖版本一致性。
### 2. 如何添加新页面?
1. 在 `src/pages/` 或 `src/packages/` 创建页面目录
2. 在 `src/pages.json` 中注册页面路由
3. 如果需要登录才能访问,添加 `meta: { requiresAuth: true }`
### 3. 如何修改 TabBar?
修改 `src/pages.json` 中的 `tabBar` 配置,并更新相应的图标文件。
### 4. API 请求如何处理 Token?
Token 在 `src/utils/request.js` 中自动注入到请求头,无需手动添加。
## 许可证
MIT License
## 参考文档
- [UniApp 官方文档](https://uniapp.dcloud.net.cn/)
- [Vue3 官方文档](https://cn.vuejs.org/)
- [Pinia 官方文档](https://pinia.vuejs.org/zh/)
- [uview-plus 官方文档](https://uview-plus.jiangruyi.com/)
- [uniapp-router-next 文档](https://github.com/orca-team/uniapp-router-next)
---
如有问题,欢迎提 Issue 或 PR!