# Gigplatform_front
**Repository Path**: hhdych_admin/Gigplatform_front
## Basic Information
- **Project Name**: Gigplatform_front
- **Description**: 智慧零工平台前端系统是一个基于uni-app框架开发的跨平台移动端应用,支持微信小程序和H5双端运行。平台旨在为零工与雇主之间搭建高效、便捷的双向服务平台,通过现代化的移动端UI设计,为用户提供流畅的工作发布、搜索、申请、管理等全流程服务体验。
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: https://lgpt.ybyq.wang/
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 3
- **Created**: 2025-09-04
- **Last Updated**: 2025-09-04
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 智慧零工平台前端系统
[](https://vuejs.org/)
[](https://uniapp.dcloud.io/)
[](https://github.com/weilanwl/ColorUI)
[](https://developers.weixin.qq.com/miniprogram/dev/framework/)
[](https://www.w3.org/html/)
## 项目简介
智慧零工平台前端系统是一个基于uni-app框架开发的跨平台移动端应用,支持微信小程序和H5双端运行。平台旨在为零工与雇主之间搭建高效、便捷的双向服务平台,通过现代化的移动端UI设计,为用户提供流畅的工作发布、搜索、申请、管理等全流程服务体验。
### 核心特性
- 🔄 **双重身份系统**: 用户可在零工和雇主身份间自由切换
- 📱 **跨平台支持**: 支持微信小程序和H5,一套代码多端运行
- 🎨 **现代化UI**: 基于ColorUI设计,界面美观、交互流畅
- 🔍 **智能搜索**: 支持多维度筛选(工种、区域、薪资等)
- 💬 **实时通信**: 雇主与零工间实时消息交流
- 📍 **地理定位**: 基于位置的附近工作推荐
- 📊 **离线支持**: 网络不可用时展示示例数据
- ⭐ **评价系统**: 完整的工作评价和信誉体系
## 技术栈
### 核心框架
- **Vue.js 2.6.11** - 渐进式JavaScript框架
- **uni-app 3.0** - 跨平台开发框架
- **ColorUI 2.1.6** - 高颜值UI组件库
### 开发工具
- **SCSS/SASS** - CSS预处理器
- **Vuex** - 状态管理模式
- **uni.request** - 网络请求封装
- **webpack** - 模块打包工具
### 平台支持
- **微信小程序** - 原生小程序体验
- **H5** - 移动端网页应用
- **App** - 原生应用(可扩展)
## 项目架构
```
smart-gig-platform-front/
├── api/ # API接口层
│ └── index.js # 统一请求封装
├── components/ # 公共组件
│ ├── custom-nav-bar.vue # 自定义导航栏
│ ├── job-card.vue # 工作卡片组件
│ ├── job-card-compact.vue # 紧凑型工作卡片
│ ├── identity-switch.vue # 身份切换组件
│ ├── employer-navbar.vue # 雇主导航栏
│ ├── employer-tabbar.vue # 雇主底部导航
│ └── common-filter.vue # 通用筛选组件
├── pages/ # 页面文件
│ ├── index/ # 首页模块
│ │ └── index.vue # 主页面
│ ├── jobSearch/ # 工作搜索
│ │ └── jobSearch.vue # 搜索页面
│ ├── jobDetail/ # 工作详情
│ │ └── jobDetail.vue # 详情页面
│ ├── category/ # 分类模块
│ │ ├── categoryJobs.vue # 分类工作列表
│ │ └── categoryWorkers.vue # 分类工人列表
│ ├── mine/ # 个人中心
│ │ ├── mine.vue # 个人主页
│ │ ├── applications.vue # 申请记录
│ │ ├── myApplications.vue # 我的申请
│ │ ├── feedback.vue # 意见反馈
│ │ └── insurance.vue # 保险中心
│ ├── login/ # 登录注册
│ │ ├── login.vue # 登录页面
│ │ ├── register.vue # 注册页面
│ │ └── reset-password.vue # 密码重置
│ ├── worker/ # 工人相关
│ │ └── workerDetail.vue # 工人详情
│ ├── employer/ # 雇主相关
│ │ ├── index.vue # 雇主首页
│ │ ├── jobPost.vue # 发布工作
│ │ ├── jobManage.vue # 工作管理
│ │ ├── certification.vue # 企业认证
│ │ ├── jobs/ # 工作管理模块
│ │ │ ├── list.vue # 工作列表
│ │ │ ├── detail.vue # 工作详情
│ │ │ └── jobDetail.vue # 工作管理详情
│ │ ├── resume/ # 简历模块
│ │ │ ├── index.vue # 简历列表
│ │ │ └── detail.vue # 简历详情
│ │ └── personal/ # 个人信息
│ │ └── detail.vue # 个人详情
│ └── training/ # 培训模块
│ └── training.vue # 培训页面
├── employerPackage/ # 雇主专属分包
│ └── pages/ # 雇主页面
│ ├── center/ # 雇主中心
│ ├── postJob/ # 发布工作
│ └── resume/ # 简历管理
├── static/ # 静态资源
│ ├── img/ # 图片资源
│ │ ├── category/ # 分类图标
│ │ ├── icons/ # 通用图标
│ │ ├── tabbar/ # 底部导航图标
│ │ ├── employer/ # 雇主专用图标
│ │ └── default/ # 默认图片
│ └── logo.png # 应用Logo
├── store/ # 状态管理
│ └── index.js # Vuex配置
├── colorui/ # ColorUI组件库
│ ├── main.css # 主样式文件
│ ├── icon.css # 图标样式
│ ├── animation.css # 动画样式
│ └── components/ # UI组件
├── src/ # 源码备份目录
├── unpackage/ # 编译输出目录
├── pages.json # 页面配置文件
├── manifest.json # 应用配置文件
├── App.vue # 应用入口文件
├── main.js # 程序入口文件
├── uni.scss # 全局样式变量
├── package.json # 项目依赖配置
└── README.md # 项目说明文档
```
## 核心功能模块
### 1. 用户身份系统
- **身份切换**: 零工/雇主身份无缝切换
- **用户认证**: 手机号登录、短信验证
- **资料管理**: 个人信息、头像上传
- **实名认证**: 身份证验证、企业认证
### 2. 零工端功能
#### 工作发现
- **首页推荐**: 轮播广告、热门工作、最新工作
- **分类浏览**: 按行业分类查看工作机会
- **地理位置**: 基于位置推荐附近工作
- **搜索筛选**: 关键词搜索、多条件筛选
#### 工作申请
- **快速申请**: 一键申请心仪工作
- **申请跟踪**: 实时查看申请状态
- **历史记录**: 申请历史和结果查看
- **收藏管理**: 收藏感兴趣的工作
#### 个人中心
- **简历管理**: 完善个人技能和经验
- **培训中心**: 参与技能培训课程
- **保险中心**: 购买工作保险
- **消息通知**: 接收工作相关通知
### 3. 雇主端功能
#### 工作管理
- **发布工作**: 详细的工作信息发布
- **工作编辑**: 随时修改工作要求
- **状态管理**: 工作上下线、完成状态
- **申请处理**: 查看和处理工人申请
#### 人才发现
- **简历库**: 浏览工人简历信息
- **人才筛选**: 按技能、经验筛选
- **主动邀请**: 向合适工人发送邀请
- **评价系统**: 对工人进行评价
#### 企业管理
- **企业认证**: 营业执照等资质认证
- **订单管理**: 查看历史雇佣记录
- **财务统计**: 支出统计和分析
- **客服沟通**: 平台客服支持
### 4. 通用功能
#### 消息系统
- **实时聊天**: 雇主与工人实时沟通
- **系统通知**: 平台公告和系统消息
- **状态提醒**: 申请、审核状态变更提醒
- **消息历史**: 聊天记录和通知历史
#### 地图定位
- **位置服务**: 获取用户当前位置
- **附近工作**: 显示附近的工作机会
- **地址选择**: 工作地点选择和导航
- **区域筛选**: 按区域范围筛选工作
## 页面路由配置
### 主包页面
```json
{
"pages": [
{
"path": "pages/index/index",
"style": { "navigationBarTitleText": "智慧零工" }
},
{
"path": "pages/jobSearch/jobSearch",
"style": { "navigationBarTitleText": "搜索工作" }
},
{
"path": "pages/mine/mine",
"style": { "navigationBarTitleText": "个人中心" }
}
]
}
```
### 分包配置
```json
{
"subPackages": [
{
"root": "employerPackage",
"name": "employer",
"pages": [
{
"path": "pages/center/index",
"style": { "navigationBarTitleText": "雇主中心" }
}
]
}
]
}
```
## API接口集成
### 接口配置
```javascript
// api/index.js
const BASE_URL = 'https://lgpt.ybyq.wang/api'
export const request = (options) => {
return uni.request({
url: BASE_URL + options.url,
method: options.method || 'GET',
data: options.data || {},
header: {
'Content-Type': 'application/json',
'Authorization': getToken()
}
})
}
```
### 主要接口模块
- **用户认证**: `/auth/login`, `/auth/register`, `/auth/sms-code`
- **工作管理**: `/jobs/list`, `/jobs/detail`, `/jobs/apply`
- **用户管理**: `/users/profile`, `/worker-profiles`, `/employer-profiles`
- **文件上传**: `/upload/image`, `/upload/file`
- **消息通知**: `/notifications/list`, `/notifications/read`
## 样式规范
### 设计系统
```scss
// uni.scss - 全局样式变量
$primary-color: #4CAF50; // 主色调
$success-color: #4CAF50; // 成功色
$warning-color: #FF9800; // 警告色
$danger-color: #F44336; // 危险色
$info-color: #2196F3; // 信息色
// 间距规范
$spacing-xs: 10rpx;
$spacing-sm: 20rpx;
$spacing-md: 30rpx;
$spacing-lg: 40rpx;
$spacing-xl: 60rpx;
// 字体规范
$font-size-xs: 22rpx;
$font-size-sm: 24rpx;
$font-size-base: 28rpx;
$font-size-lg: 32rpx;
$font-size-xl: 36rpx;
```
### 组件样式
```scss
// 工作卡片样式示例
.job-card {
background: #fff;
border-radius: 12rpx;
padding: $spacing-md;
margin: $spacing-sm;
box-shadow: 0 4rpx 12rpx rgba(0,0,0,0.1);
&-title {
font-size: $font-size-lg;
font-weight: bold;
color: #333;
}
&-salary {
color: $primary-color;
font-size: $font-size-lg;
font-weight: bold;
}
}
```
## 快速开始
### 环境要求
- **Node.js** 14.0+ 或更高版本
- **npm** 6.0+ 或 **yarn** 1.0+
- **HBuilderX** 3.0+ (推荐使用官方IDE)
- **微信开发者工具** (开发小程序时需要)
### 安装与运行
1. **克隆项目**
```bash
git clone https://github.com/BXCQ/Gigplatform_front.git
cd Gigplatform_front
```
2. **安装依赖**
```bash
# 使用npm
npm install
# 或使用yarn
yarn install
```
3. **开发模式**
```bash
# H5开发
npm run dev:h5
# 访问 http://localhost:8080
# 微信小程序开发
npm run dev:mp-weixin
# 在微信开发者工具中导入 unpackage/dist/dev/mp-weixin
```
4. **生产构建**
```bash
# 构建H5版本
npm run build:h5
# 构建微信小程序版本
npm run build:mp-weixin
# 构建App版本
npm run build:app-plus
```
### 使用HBuilderX开发
1. **导入项目**
- 打开HBuilderX
- 文件 → 导入 → 从本地目录导入
- 选择项目根目录
2. **运行项目**
- 选择要运行的平台(H5/微信小程序/App)
- 点击工具栏的运行按钮
- 选择对应的运行环境
3. **发布项目**
- 点击工具栏的发行按钮
- 选择发布平台和配置
- 等待构建完成
## 部署指南
### H5部署
1. **构建生产版本**
```bash
npm run build:h5
```
2. **部署到服务器**
```bash
# 上传 unpackage/dist/build/h5 目录到服务器
scp -r unpackage/dist/build/h5/* user@server:/www/wwwroot/your-domain/
```
3. **Nginx配置示例**
```nginx
server {
listen 80;
server_name your-domain.com;
root /www/wwwroot/your-domain;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
# API代理
location /api/ {
proxy_pass https://lgpt.ybyq.wang/api/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
```
### 微信小程序发布
1. **构建小程序版本**
```bash
npm run build:mp-weixin
```
2. **使用微信开发者工具**
- 导入 `unpackage/dist/build/mp-weixin` 目录
- 配置小程序AppID
- 点击上传提交审核
3. **小程序配置**
```json
{
"appid": "your-app-id",
"setting": {
"urlCheck": false,
"es6": true,
"postcss": true,
"minified": true
},
"permissions": {
"scope.userLocation": {
"desc": "获取位置信息用于推荐附近工作"
}
}
}
```
## 配置说明
### 应用配置 (manifest.json)
```json
{
"name": "智慧零工平台",
"appid": "__UNI__XXXXXX",
"description": "专业的零工服务平台",
"versionName": "1.0.0",
"versionCode": "100",
"transformPx": false,
"app-plus": {
"usingComponents": true,
"nvueStyleCompiler": "uni-app",
"compilerVersion": 3
},
"h5": {
"title": "智慧零工平台",
"template": "index.html",
"publicPath": "/",
"devServer": {
"port": 8080,
"proxy": {
"/api": {
"target": "https://lgpt.ybyq.wang",
"changeOrigin": true,
"secure": true
}
}
}
},
"mp-weixin": {
"appid": "your-weixin-appid",
"setting": {
"urlCheck": false,
"es6": true,
"postcss": true,
"minified": true
},
"usingComponents": true,
"permission": {
"scope.userLocation": {
"desc": "获取位置信息用于推荐附近工作"
}
}
}
}
```
### 页面配置 (pages.json)
```json
{
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "智慧零工",
"navigationBarBackgroundColor": "#F8F8F8",
"backgroundColor": "#F8F8F8"
},
"tabBar": {
"color": "#7A7E83",
"selectedColor": "#4CAF50",
"borderStyle": "black",
"backgroundColor": "#ffffff",
"list": [
{
"pagePath": "pages/index/index",
"iconPath": "static/img/tabbar/home.png",
"selectedIconPath": "static/img/tabbar/homeactive.png",
"text": "首页"
},
{
"pagePath": "pages/mine/mine",
"iconPath": "static/img/tabbar/me.png",
"selectedIconPath": "static/img/tabbar/meactive.png",
"text": "我的"
}
]
}
}
```
## 开发指南
### 新增页面
1. **创建页面文件**
```bash
mkdir pages/new-page
touch pages/new-page/new-page.vue
```
2. **页面模板**
```vue
```
3. **注册页面路由**
```json
// pages.json
{
"pages": [
{
"path": "pages/new-page/new-page",
"style": {
"navigationBarTitleText": "页面标题"
}
}
]
}
```
### 新增组件
1. **创建组件文件**
```bash
touch components/new-component.vue
```
2. **组件模板**
```vue
```
### API接口调用
```javascript
// 在页面中调用API
import { request } from '@/api/index.js'
export default {
methods: {
async fetchData() {
try {
const response = await request({
url: '/jobs/list',
method: 'GET',
data: { page: 1, size: 10 }
})
console.log(response.data)
} catch (error) {
console.error('请求失败:', error)
uni.showToast({
title: '请求失败',
icon: 'none'
})
}
}
}
}
```
## 性能优化
### 代码分割
- 使用分包加载减少主包体积
- 按需引入第三方库
- 图片懒加载和压缩
### 渲染优化
- 合理使用v-if和v-show
- 列表数据虚拟滚动
- 避免频繁的DOM操作
### 网络优化
- 接口数据缓存
- 图片CDN加速
- 请求防抖和节流
## 测试
### 单元测试
```bash
# 运行测试
npm run test
# 测试覆盖率
npm run test:coverage
```
### E2E测试
```bash
# 端到端测试
npm run test:e2e
```
## 常见问题
### Q: 如何配置不同环境的API地址?
A: 在`api/index.js`中根据环境变量设置不同的BASE_URL
### Q: 微信小程序真机调试网络请求失败?
A: 检查域名是否在微信小程序后台配置了request合法域名
### Q: H5页面刷新后出现404?
A: 配置Nginx的try_files,支持单页面应用的路由
### Q: 如何开启gzip压缩?
A: 在Nginx配置中开启gzip,或在构建时生成gzip文件
## 版本历史
- **v1.0.0** (2025-06-02) - 初始版本发布
- 基础功能实现
- 支持微信小程序和H5
- 用户认证和工作管理
- **v1.1.0** (2025-06-02) - 功能增强
- 新增雇主端功能
- 优化用户体验
- 修复已知问题
- **v1.2.0** (2025-06-02) - 性能优化
- 代码重构优化
- 新增离线支持
- 界面美化升级
## 贡献指南
我们欢迎所有形式的贡献,无论是新功能、bug修复还是文档改进。
### 贡献流程
1. **Fork项目**
```bash
# 在GitHub上Fork本仓库
git clone https://github.com/your-username/Gigplatform_front.git
```
2. **创建分支**
```bash
git checkout -b feature/amazing-feature
```
3. **提交代码**
```bash
git commit -m 'feat: 添加某个新功能'
```
4. **推送分支**
```bash
git push origin feature/amazing-feature
```
5. **创建Pull Request**
- 在GitHub上创建PR
- 描述你的更改
- 等待代码审查
### 代码规范
- 使用ESLint进行代码检查
- 遵循Vue.js官方风格指南
- 组件命名使用PascalCase
- 方法命名使用camelCase
- 常量命名使用UPPER_SNAKE_CASE
### 提交信息规范
```
():
[optional body]
[optional footer]
```
类型说明:
- `feat`: 新功能
- `fix`: 修复bug
- `docs`: 文档更新
- `style`: 代码格式调整
- `refactor`: 代码重构
- `test`: 测试相关
- `chore`: 构建过程或辅助工具的变动
## 许可证
本项目基于 [MIT License](LICENSE) 开源协议。
## 联系方式
- **项目主页**: https://github.com/BXCQ/Gigplatform_front
- **问题反馈**: https://github.com/BXCQ/Gigplatform_front/issues
- **邮箱**: 676567473@qq.com
- **博客**: https://blog.ybyq.wang/
## 相关项目
- **后端项目**: [Gigplatform_backend](https://github.com/BXCQ/Gigplatform_backend)
- **在线预览**: https://lgpt.ybyq.wang/
- **API文档**: [接口文档](./API接口文档.md)
## 致谢
感谢以下开源项目和贡献者:
- [Vue.js](https://vuejs.org/) - 渐进式JavaScript框架
- [uni-app](https://uniapp.dcloud.io/) - 跨平台开发框架
- [ColorUI](https://github.com/weilanwl/ColorUI) - 高颜值UI组件库
- [微信小程序](https://developers.weixin.qq.com/miniprogram/dev/framework/) - 微信小程序开发框架
特别感谢所有为本项目提供支持、反馈和贡献的开发者们!
---
**智慧零工平台前端系统** - 让工作与人才精准匹配,让就业更简单高效!