# budaos-web **Repository Path**: ossbar/budaos-web ## Basic Information - **Project Name**: budaos-web - **Description**: 布道师学习通教学实训云平台/门户网站:依托云技术,采用“平台+”的方式,融合容器技术和虚拟化技术,构建多维度、 个性化、智能化的数字化教育资源体系,促进教育机构、企业”资源、教学、实训、评价” 完整可持续发展的学习生态系统。 - **Primary Language**: NodeJS - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 197 - **Forks**: 67 - **Created**: 2022-09-19 - **Last Updated**: 2026-05-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: HTML, CSS, JavaScript, Vue, Element-UI ## README # BudaOS Frontend
*教务管理、用户管理、数据统计*
### 学习门户
*课程学习、作业考试、社区互动*
### 生产环境构建
```bash
# 学习通构建
cd budaos-evgl-web
npm run build:prod
# 管理端构建
cd budaos-mgr-web
npm run build:prod
```
---
## 配置说明
### API 地址配置
**学习通** (`budaos-evgl-web/config/index.js`):
```javascript
const API_TARGET = process.env.API_TARGET || 'http://localhost:9080'
```
**管理端** (`budaos-mgr-web/config/index.js`):
```javascript
const BASE_API = process.env.BASE_API || 'http://localhost:9080'
```
### 环境配置
| 环境 | 命令 | 说明 |
|------|------|------|
| 开发环境 | `npm run dev` | 使用 dev 环境配置 |
| 测试环境 | `npm run build:test` | 使用 test 环境配置 |
| 生产环境 | `npm run build:prod` | 使用 prod 环境配置 |
### 代理配置
项目已配置 API 代理,开发环境下请求会自动转发到后端服务器:
```javascript
// 学习通代理路径
const apiPaths = [
'/evgl', '/login-api', '/classroom-api',
'/managementPanel-api', '/pkginfo-api',
'/resourceCenter-api', '/examCenter-api',
// ... 更多路径
]
```
---
## 目录规范
### 组件开发规范
```
src/
├── components/ # 公共组件
│ ├── common/ # 通用组件
│ │ └── MyComponent.vue
│ └── business/ # 业务组件
│ └── BizComponent.vue
│
├── views/ # 页面组件
│ ├── moduleName/ # 按模块分组
│ │ ├── List.vue # 列表页
│ │ ├── Detail.vue # 详情页
│ │ └── Edit.vue # 编辑页
│ └── index.vue
│
└── http/ # 接口请求
└── modules/ # 按模块管理接口
├── user.js
└── order.js
```
### 命名规范
| 类型 | 规范 | 示例 |
|------|------|------|
| 组件文件 | PascalCase | `UserInfo.vue` |
| 工具函数 | camelCase | `formatDate.js` |
| 样式类名 | kebab-case | `.user-info` |
| 常量 | UPPER_SNAKE_CASE | `MAX_COUNT` |
---
## 主要依赖
### 学习通依赖
| 依赖 | 版本 | 用途 |
|------|------|------|
| vue | 2.6.11 | 核心框架 |
| element-ui | 2.13.2 | UI 组件库 |
| vue-router | 3.5.1 | 路由管理 |
| vuex | 3.5.1 | 状态管理 |
| axios | 0.19.0 | HTTP 客户端 |
| echarts | 4.8.0 | 图表库 |
| tinymce | 5.2.2 | 富文本编辑器 |
| vue-cropper | 0.5.6 | 图片裁剪 |
| screenfull | 4.2.1 | 全屏切换 |
| v-charts | 1.19.0 | 可视化图表 |
### 管理端依赖
| 依赖 | 版本 | 用途 |
|------|------|------|
| vue | 2.5.2 | 核心框架 |
| element-ui | 2.9.1 | UI 组件库 |
| vue-router | 3.0.1 | 路由管理 |
| vuex | 3.0.1 | 状态管理 |
| axios | 0.18.0 | HTTP 客户端 |
| vue-i18n | 8.0.0 | 国际化 |
| quill | 1.3.6 | 富文本编辑器 |
---
## 开发指南
### 新增页面
1. 在 `src/views/` 下创建页面组件
2. 在 `src/router/index.js` 中配置路由
3. 添加权限标识(如需要)
```javascript
// router/index.js
{
path: '/example',
name: 'Example',
component: () => import('@/views/example/index'),
meta: { title: '示例页面', requireAuth: true }
}
```
### 新增 API 接口
```javascript
// http/modules/example.js
import axios from '@/http/axios'
export function getList(params) {
return axios({
url: '/evgl/example/list',
method: 'get',
params
})
}
export function save(data) {
return axios({
url: '/evgl/example/save',
method: 'post',
data
})
}
```
### 新增组件
```vue
>
> 捐赠时请备注「BudaOS 开源支持」,您的名字将出现在[致谢名单](SUPPORTERS.md)中(可选)。
### 感谢每一份支持
您的每一份捐赠都是对我们最大的鼓励,让我们能够持续维护和迭代开源项目,为社区提供更好的教育资源平台。
---
## 开源协议S
本项目采用 [Apache License 2.0](LICENSE) 开源协议。
- ✅ 可免费用于个人学习、企业内部培训
- ✅ 可用于商业项目,打造自有品牌的教育平台
- ✅ 支持深度二次开发,定制专属功能
- ✅ 支持私有化部署,数据完全自主可控
- ⚠️ 需要保留版权声明和 LICENSE 文件
---