# uniapp_vue3_vite_element_plus **Repository Path**: ncepu-bj/uniapp_vue3_vite_element_plus ## Basic Information - **Project Name**: uniapp_vue3_vite_element_plus - **Description**: 微信小程序: 这是一个基于 Vue 3 + TypeScript + Uni-app 的微信小程序模板项目。 ## 技术栈 - Vue 3:使用最新的 Vue.js 框架 - Vite:作为构建工具 - TypeScript:使用 TypeScript 进行开发 - uni-app:跨平台开发框架 - Element-Plus:UI组件库 - Pinia:状态管理 - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-12-05 - **Last Updated**: 2025-11-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 微信小程序模板项目 这是一个基于uni-app框架的,基于 Vue 3 + TypeScript + Vite 构建的微信小程序开发模板,提供完整的项目架构和开箱即用的开发体验。 注意:小程序在node.js的版本22.21.1下调试通过; ## 技术栈 - **node.js**- 在版本22.21.1下调试通过;npm使用10.9.4; - **Vue 3.3** - 渐进式 JavaScript 框架,使用 Composition API - **TypeScript 5.0** - 类型安全的 JavaScript 超集 - **Vite 5.2** - 下一代前端构建工具 - **uni-app 3.0** - 跨平台应用开发框架 - **Pinia 2.1** - Vue 官方状态管理库 - **Element Plus 2.4** - 基于 Vue 3 的组件库 - **Sass** - CSS 预处理器 ## 项目结构 ``` wx-mini-template/ ├── src/ │ ├── api/ # API 接口层 │ │ ├── common.ts # 通用接口(上传、配置等) │ │ ├── user.ts # 用户相关接口 │ │ ├── types.ts # 接口类型定义 │ │ └── index.ts # 统一导出 │ ├── config/ # 配置文件 │ │ ├── env.ts # 环境配置(开发/生产) │ │ └── index.ts # 全局配置(应用名称、版本等) │ ├── pages/ # 页面目录 │ │ ├── home/ # 首页 │ │ ├── learn/ # 学习模块 │ │ │ ├── index.vue # 学习主页 │ │ │ └── word-study/ # 单词学习页面 │ │ ├── discover/ # 发现页(课程) │ │ └── mine/ # 我的页面 │ ├── static/ # 静态资源 │ │ └── tabbar/ # 底部导航图标 │ ├── stores/ # Pinia 状态管理 │ │ └── user.ts # 用户状态 │ ├── utils/ # 工具函数 │ │ └── request.ts # 网络请求封装 │ ├── App.vue # 应用入口组件 │ ├── main.ts # 主入口文件 │ ├── manifest.json # uni-app 应用配置 │ ├── pages.json # 页面路由配置 │ └── uni.scss # 全局样式变量 ├── docs/ # 项目文档 │ ├── TABBAR_ICONS.md # 底部导航图标配置指南 │ └── SASS_FIXES.md # Sass 配置文档 ├── scripts/ # 脚本工具 │ └── convert-svg-to-png.js # SVG 转 PNG 工具 ├── vite.config.ts # Vite 配置 ├── tsconfig.json # TypeScript 配置 └── package.json # 项目依赖 ``` ## 核心功能 ### 1. 完整的 TypeScript 支持 - 严格的类型检查 - 完善的类型定义 - 智能代码提示 ### 2. 状态管理(Pinia) 位于 `src/stores/user.ts`,提供: - 用户信息管理 - 登录状态持久化 - 类型安全的 store ### 3. 网络请求封装 位于 `src/utils/request.ts`,特性: - Promise 风格的 API - 统一的错误处理 - 自动添加请求头 - 支持 GET、POST、PUT、DELETE 方法 ### 4. API 接口层 - **用户接口**(`src/api/user.ts`):登录、获取/更新用户信息、退出登录 - **通用接口**(`src/api/common.ts`):文件上传、获取配置 - **类型定义**(`src/api/types.ts`):统一的接口类型和响应格式 ### 5. 环境配置 位于 `src/config/env.ts`,支持: - 开发环境配置 - 生产环境配置 - 自动切换 API 地址 ### 6. 底部导航栏 预设四个主要页面,配置在 `src/pages.json`: - 首页(pages/home/index) - 学习(pages/learn/index)- 单词学习模块 - 课程(pages/discover/index) - 我的(pages/mine/index) ### 7. 学习模块 位于 `src/pages/learn/`,提供: - **学习主页**:显示当前学习计划、今日应学单词数 - **单词学习页**:单词详情、发音、例句、用法展示 - **交互功能**:认识/不认识标记、发音播放 ### 8. Vite 构建优化 - 路径别名(@ 指向 src) - Terser 压缩(生产环境移除 console) - 现代 Sass 编译器(modern-compiler) - 禁用弃用警告(legacy-js-api、import) - 开发服务器配置 ## 快速开始 ### 环境要求 - Node.js >= 16.0.0(推荐使用 LTS 版本) - pnpm >= 7.0.0(推荐)或 npm >= 8.0.0 - 微信开发者工具 > 已在 Node.js 22.21.1 + pnpm 9.0.0 环境下测试通过 ### 安装 pnpm(推荐) 如果还没有安装 pnpm,可以使用以下方式安装: ```bash # 使用 npm 安装 pnpm npm install -g pnpm # 或使用 PowerShell(Windows) iwr https://get.pnpm.io/install.ps1 -useb | iex # 或使用 Homebrew(macOS) brew install pnpm # 验证安装 pnpm -v ``` ### 安装依赖 ```bash # 使用 pnpm(推荐) pnpm install # 或使用 npm npm install --legacy-peer-deps ``` ### 配置 TabBar 图标 项目需要 PNG 格式的底部导航图标才能正常显示。快速创建图标: ```bash # 打开图标生成器(推荐) pnpm run icons:create # 或检查图标状态 pnpm run icons:check ``` 详细说明请查看:[TabBar 图标配置指南](docs/TABBAR_ICONS.md) ### 开发调试 ```bash # 启动开发服务器 pnpm run dev # 类型检查 pnpm run type-check ``` ### 构建发布 ```bash # 构建微信小程序 pnpm run build ``` ### 导入微信开发者工具 1. 打开微信开发者工具 2. 导入项目,选择 `dist/dev/mp-weixin` 目录(开发环境)或 `dist/build/mp-weixin` 目录(生产环境) 3. 填写 AppID(在 `src/manifest.json` 中配置) 4. 开始调试 ## 配置说明 ### 修改应用信息 编辑 `src/manifest.json`: ```json { "name": "你的应用名称", "appid": "你的微信小程序 AppID", "versionName": "1.0.0" } ``` ### 配置 API 地址 编辑 `src/config/env.ts`: ```typescript export const ENV = { development: { BASE_API: 'http://your-dev-api.com', UPLOAD_URL: 'http://your-dev-upload.com' }, production: { BASE_API: 'https://your-api.com', UPLOAD_URL: 'https://your-upload.com' } } ``` ### 样式配置 项目使用现代 Sass 编译器(modern-compiler),已配置禁用弃用警告。 **Sass 配置特性:** - 使用 `api: 'modern-compiler'` 启用现代编译器 - 禁用 `legacy-js-api` 和 `import` 弃用警告 - 支持 SCSS 语法和嵌套规则 如需使用全局样式变量,可在组件中手动引入: ```scss ``` 可用的全局变量请查看 `src/uni.scss` ### 添加新页面 1. 在 `src/pages/` 下创建页面目录和 `index.vue` 2. 在 `src/pages.json` 中注册页面路由 ```json { "pages": [ { "path": "pages/your-page/index", "style": { "navigationBarTitleText": "页面标题" } } ] } ``` ## 开发规范 ### 代码风格 - 使用 TypeScript 进行开发 - 遵循 Vue 3 Composition API 规范 - 使用 `