# TaskUp - 自由职业与服务市场平台
## 项目概述
- **项目类型**: Web应用 (Laravel框架)
- **主要功能**: 自由职业者市场平台,类似Fiverr/Upwork,支持服务发布、订单管理、支付系统、即时通讯
- **技术栈**:
- PHP 8.1+
- Laravel 10
- Livewire
- Tailwind CSS
- MySQL
- Vue.js (部分组件)
- Pusher (实时通信)
## 模块结构
```
taskup/
├── app/
│ ├── Http/
│ │ ├── Controllers/
│ │ │ ├── Admin/ # 后台管理
│ │ │ ├── Api/ # API接口
│ │ │ ├── Auth/ # 认证相关
│ │ │ ├── Dashboard/ # 仪表盘
│ │ │ ├── Gig/ # 服务管理
│ │ │ ├── Seller/ # 卖家相关
│ │ │ ├── Site/ # 站点管理
│ │ │ ├── AccountController.php
│ │ │ ├── DisputeController.php
│ │ │ ├── GigController.php
│ │ │ ├── ProjectController.php
│ │ │ ├── ProposalController.php
│ │ │ ├── TransactionController.php
│ │ │ └── ...
│ │ └── Middleware/
│ ├── Models/ # Eloquent模型
│ ├── Services/ # 业务服务
│ └── Helpers/ # 辅助函数
├── bootstrap/
├── config/
├── database/
├── lang/ # 多语言
├── node_modules/
├── packages/ # 本地包
│ ├── laraguppy/ # 聊天系统
│ ├── larapayease/ # 支付系统
│ ├── larabuild/
│ │ ├── optionbuilder/ # 选项构建器
│ │ └── pagebuilder/ # 页面构建器
│ └── laravel-installer/ # 安装程序
├── public/
├── resources/
│ ├── css/
│ ├── js/
│ └── views/
├── routes/
├── storage/
├── tests/
└── vendor/
```
## 核心业务逻辑
### 1. 服务(Gig)管理
- **服务发布**: 卖家创建服务,设置价格、描述、交付时间
- **服务套餐**: 支持基础、标准、高级三档套餐
- **服务分类**: 多级分类管理
- **服务搜索**: 关键词、分类、价格筛选
- **服务收藏**: 用户收藏感兴趣的服务
### 2. 订单系统
- **下单流程**: 选择服务→填写需求→支付→等待交付
- **订单状态**: 待处理、进行中、待审核、已完成、已取消
- **交付管理**: 卖家上传交付物,买家确认收货
- **修改请求**: 支持修改请求和延期
### 3. 支付系统 (LaraPayEase)
- **多支付网关**: PayPal、Stripe、Razorpay等
- **钱包系统**: 平台钱包,支持充值提现
- **佣金管理**: 平台抽成设置
- **退款处理**: 争议退款流程
### 4. 即时通讯 (LaraGuppy)
- **实时聊天**: 买家卖家实时沟通
- **文件传输**: 支持文件、图片发送
- **消息通知**: 邮件和站内通知
- **聊天记录**: 完整聊天记录保存
### 5. 争议处理
- **争议提交**: 订单问题提交争议
- **仲裁系统**: 管理员介入仲裁
- **退款判定**: 根据仲裁结果退款
### 6. 评价系统
- **双向评价**: 买家卖家互评
- **星级评分**: 1-5星评分
- **评价展示**: 服务页面展示评价
## 核心代码分析
### 主要控制器
#### GigController.php
```php
// 服务管理控制器
- index() // 服务列表
- create() // 创建服务
- store() // 保存服务
- show() // 服务详情
- edit() // 编辑服务
- update() // 更新服务
- destroy() // 删除服务
- search() // 搜索服务
```
#### ProjectController.php
```php
// 项目管理控制器(买家发布项目)
- index() // 项目列表
- create() // 发布项目
- store() // 保存项目
- proposals() // 查看提案
- hire() // 雇佣自由职业者
```
#### ProposalController.php
```php
// 提案控制器
- submit() // 提交提案
- accept() // 接受提案
- reject() // 拒绝提案
- negotiate() // 协商价格
```
### 主要模型
#### Gig.php
```php
class Gig extends Model
{
protected $fillable = [
'title', 'description', 'category_id',
'sub_category_id', 'seller_id', 'status'
];
// 关联关系
public function seller() // 卖家
public function category() // 分类
public function packages() // 套餐
public function reviews() // 评价
public function orders() // 订单
}
```
#### Order.php
```php
class Order extends Model
{
protected $fillable = [
'order_number', 'buyer_id', 'seller_id',
'gig_id', 'package_id', 'amount', 'status'
];
// 关联关系
public function buyer() // 买家
public function seller() // 卖家
public function gig() // 服务
public function deliveries() // 交付记录
public function disputes() // 争议
}
```
### 数据库核心表
```
users # 用户表
gigs # 服务表
gig_packages # 服务套餐
gig_images # 服务图片
categories # 分类表
sub_categories # 子分类
orders # 订单表
order_deliveries # 订单交付
projects # 项目表(买家发布)
proposals # 提案表
reviews # 评价表
disputes # 争议表
transactions # 交易记录
wallets # 钱包表
conversations # 会话表
messages # 消息表
```
## 功能特点
1. **服务市场**: 类似Fiverr的服务发布和购买
2. **项目发布**: 买家发布项目,卖家投标
3. **即时通讯**: 内置实时聊天系统
... (content truncated)