# 任务发布接派单系统 **Repository Path**: GSLiHai/tasks ## Basic Information - **Project Name**: 任务发布接派单系统 - **Description**: 基于 PHP + MySQL 的任务发布接派单平台,专为威客服务场景设计。一站式任务发布、接单、派单、交付、结算平台,支持客户发单、老师抢单、平台抽成、推广佣金、实时通知、在线聊天、数据大屏等功能。 - **Primary Language**: PHP - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: https://www.lihaiblog.cn/ - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-06-24 - **Last Updated**: 2026-06-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: 威客任务系统, 任务发布接派单系统 ## README # 任务发布接派单系统 一站式任务发布、接单、派单、交付、结算平台,支持客户发单、老师抢单、平台抽成、推广佣金、实时通知、在线聊天等功能。 ## 📖 项目简介 本系统是一款基于 PHP + MySQL 的任务发布接派单平台,专为威客服务场景设计。客户发布任务并冻结预算,老师接单后交付作品,客户验收通过后资金自动结算,平台按比例抽取服务费。系统还内置了推广佣金体系,支持老师和客户通过邀请好友获得佣金。 ## ✨ 功能特性 ### 用户角色 - **客户(user)**:发布任务、验收交付、评价老师、充值提现、推广获佣 - **老师(teacher)**:抢单接任务、交付作品、修改作品、收益提现、推广获佣 - **管理员(admin)**:用户管理、任务监管、资金审核、系统设置、数据大屏、**授权管理** ### 核心功能模块 | 模块 | 功能点 | |---|---| | 任务管理 | 发布任务(动态计算预算)、抢单、交付(文件+说明)、退回修改、验收、评价、加急 | | 资金管理 | 充值(上传凭证)、提现(需上传收款码)、手动退款(全额/部分)、服务费统计 | | 推广体系 | 专属邀请链接/二维码、佣金比例可配置(老师/客户分开)、佣金自动结算、推广记录明细 | | 通知系统 | 站内实时通知(任务状态、审核结果、催单、转单、佣金到账)、支持全部/单条已读 | | 在线聊天 | 实时文字聊天、表情包、输入状态提示、未读消息角标 | | 管理员工具 | 用户/任务/资金/日志管理、老师资质审核、接单/发布权限控制、数据大屏(ECharts图表) | | 授权管理 | 授权码生成(RSA签名)、云端验证、体验期机制、授权状态监控、价格方案展示 | ### 特色亮点 - **加急任务**:客户可对未完成的任务加急,加急金额按加急费率拆分给平台和老师 - **转单功能**:管理员可将已接单任务转给其他认证老师 - **部分退款**:支持对已接单但未完成的任务进行部分退款,剩余金额按任务创建时的服务费率自动结算 - **原子抢单**:使用 `UPDATE ... WHERE status=0 AND deadline>NOW()` 保证并发抢单唯一性 - **消息推送**:任务状态变更、催单、转单、佣金到账等实时通知 - **响应式设计**:适配 PC、平板、手机 - **授权保护**:支持离线RSA签名验证 + 云端在线验证,确保软件正版授权 - **24小时体验期**:新安装系统自动享有24小时全功能体验,体验期后需激活授权 ## 🛠 技术栈 - **后端**:PHP 7.4+(原生 + PDO) - **数据库**:MySQL 5.7+(InnoDB,支持事务) - **前端**:HTML5 / CSS3 / JavaScript(原生) - **图表**:ECharts 5.5.0 - **二维码**:phpqrcode 库(本地生成) - **头像**:RandomUser.me API(固定 seed 保证同一用户头像不变) - **第三方**:ip-api.com(IP 地理位置查询) - **授权验证**:RSA 2048位签名 + openssl_verify,云端独立验证服务 ## 🚀 安装步骤 系统提供两种安装方式,推荐使用**在线安装向导**(可视化操作,简单快捷)。 ### ✅ 方法一:使用在线安装向导(推荐) 1. 将项目所有文件上传至网站根目录。 2. 确保 `uploads/` 及其子目录(`certs`、`qrcodes`、`recharge_certs`)具有写入权限(755 或 777)。 3. 访问 `http://您的域名/install.php`(如文件不存在,请从源码包中获取 `install.php`)。 4. 按照向导提示,依次进行: - **环境检测**:自动检查 PHP 版本、必要扩展、目录权限等。 - **数据库配置**:填写数据库主机、端口、用户名、密码、数据库名,点击“测试连接”。 - **导入数据表**:系统自动执行 `install.sql`,创建所有表和初始数据。 - **设置管理员**:输入管理员用户名、密码、邮箱。 - **完成安装**:自动生成 `config.php` 并锁定安装(生成 `install.lock`)。 **注意:安装完成后系统会自动开启24小时全功能体验期。** 5. 安装完成后,建议删除 `install.php` 文件以增强安全性。 6. 访问首页 `index.php`,使用刚设置的管理员账号登录后台 `/admin/login.php`,进行系统配置。 > **💡 提示**:如果安装向导提示"install.sql 文件缺失",请确保已将源码包中的 `install.sql` 上传到根目录。若安装过程中出现任何错误,请根据错误提示修正环境或手动导入数据库(参见方法二)。 ### 📝 方法二:手动安装(备选) #### 环境要求 - Web 服务器(Apache / Nginx) - PHP 7.4 及以上(需启用 PDO、GD、curl、fileinfo 扩展) - MySQL 5.7 及以上 - 服务器需支持 `.htaccess` 或配置 URL 重写(非必须) #### 安装流程 1. **下载源码**:将项目所有文件上传至网站根目录。 2. **创建数据库**: `CREATE DATABASE IF NOT EXISTS `article_system` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;` 3. **导入数据表结构**:导入 `install.sql` 文件(该文件已包含所有表结构和默认系统设置)。 4. **修改数据库配置**:编辑 `config.php`,填写正确的数据库连接信息。 5. **设置目录权限**:确保 `uploads/` 及其子目录可写(755 或 777)。 6. **注册管理员账号**:访问 `register.php` 注册,然后修改数据库 role 为 admin;或使用默认预置账号 `admin/password`(建议安装后立即修改密码)。 7. **配置系统设置**:登录后台 `/admin/login.php`,配置服务费率、加急费率、任务类型/分类、客服微信等。 8. **测试运行**:访问首页 `index.php`,测试各角色功能。 ## 📁 目录结构 ``` ├── admin/ # 管理员后台 │ ├── data_dashboard.php │ ├── edit_user.php │ ├── funds.php │ ├── license.php # 授权激活页面 │ ├── license_info.php # 授权信息及价格展示 │ └── ... ├── api/ # API 接口 ├── teacher/ # 老师端 ├── user/ # 客户(用户)端 ├── uploads/ # 上传文件目录 ├── config.php ├── functions.php ├── install.sql ├── install.php # 在线安装向导(推荐使用) ├── README.md └── ... ``` 详细结构请参考项目文件包。 ## 🧑‍💻 客户使用流程 1. 注册账号(客户)→ 完善资料(手机、微信)→ 充值(上传凭证待审核) 2. 发布任务:填写标题、类型/分类、数量、截止时间等,系统自动计算预算,支付后冻结金额。 3. 等待老师接单 → 老师交付后验收(确认付款)或退回修改(消耗修改次数)。 4. 完成后可对老师 1~5 星评价。 5. 我的推广:获取邀请链接/二维码,推广他人注册获得佣金。 6. 资金管理:查看流水、申请提现(需上传微信收款码)。 ## 👩‍🏫 老师使用流程 1. 注册账号(老师)→ 完善资料(手机、微信、真实姓名、身份证、资质证明)→ 等待管理员审核。 2. 审核通过后进入任务大厅抢单。 3. 在工作台处理任务:交付作品(文件+说明),根据客户意见修改重新提交。 4. 客户验收后收入自动到账(平台抽取服务费)。 5. 邀请新用户获得推广佣金。 6. 申请提现(填写支付宝账号并上传收款码)。 ## ⚙️ 管理员操作 - 登录后台 `/admin/login.php`(默认 admin/password) - **用户管理**:审核老师资质、禁用/启用、设置提现预留金额、控制接单/发布权限。 - **任务管理**:手动派单、强制完成、取消、催单、转单。 - **资金管理**:审核充值/提现、手动退款(支持部分退款)、查看服务费收益明细。 - **系统设置**:费率、审核等待时长、任务类型/分类价格配置、客服微信、二维码、公告等。 - **数据大屏**:查看用户/任务/资金指标、周趋势图、老师排行榜。 - **日志查看**:操作日志、登录日志,支持搜索和清理。 - **授权管理**:激活/更新授权码、查看授权状态、授权信息及价格方案展示。 ## ⚙️ 系统设置说明 | 设置项 | 说明 | |---|---| | 平台服务费率 | 任务完成后平台收取的百分比(0~1,例 0.4 = 40%) | | 加急服务费率 | 加急金额中平台抽取的百分比(0~1,例 0.2 = 20%) | | 免费修改次数 | 客户可免费退回修改的次数,超出后需联系管理员 | | 提现/充值审核小时数 | 用户提交申请后预计审核完成的时间(前端显示) | | 老师提现强制预留金额 | 老师提现后账户余额不得低于此值(可针对个人覆盖) | | 推广佣金比例 | 老师接单/客户发单分别可获得的佣金比例(按老师收入/客户预算计算) | | 任务类型/分类配置 | 动态配置报价单位和基础价、价格系数,客户发布时自动计算预算 | ## 🔐 系统授权机制 本系统采用本地离线验证 + 云端在线验证的双重授权保护机制,确保软件正版授权,防止非法使用。 ### 授权工作流程 1. **安装后自动进入24小时全功能体验期**:新安装的系统无需任何授权码即可正常使用所有功能,体验期间每小时弹窗提醒剩余时间。 2. **购买授权码**:联系客服(微信:GS_LiHai)购买授权码,授权码基于 RSA 2048 位签名生成,保证唯一性和不可伪造性。 3. **激活授权**:管理员登录后台,进入 `系统授权` 页面,粘贴授权码并激活。系统会进行本地签名验证、域名匹配、有效期校验,并通过云端验证接口二次确认。 4. **授权状态管理**:授权信息保存在数据库 `settings` 表中,管理员可在 `授权信息` 页面查看当前授权的域名、有效期、激活时间及剩余天数。 5. **授权过期/禁用处理**:授权码过期或被管理员在授权管理后台禁用后,系统将禁止保存系统设置等敏感操作,并引导用户进入授权页面。 6. **授权码续期/更换域名**:购买新授权码后,管理员在授权页面直接更新授权码即可覆盖原有授权。 ### 授权相关页面 - `/admin/license.php` – 授权激活与更新页面,显示当前授权状态,支持输入授权码激活。 - `/admin/license_info.php` – 授权信息展示页,包含授权详情、价格方案、联系方式,方便客户购买/续期。 - `/api/get_trial_remaining.php` – 获取体验期剩余时间接口,用于前端弹窗。 ### 体验期机制 - 安装完成后系统自动在 `settings` 表中写入 `trial_start_time`,精确记录安装时间。 - 体验期内(24小时内),所有功能正常使用,但每小时会弹窗提醒剩余时间及购买建议。 - 体验期结束后,若系统仍未激活有效授权码,用户访问任何页面(除授权页外)均会被强制跳转到授权激活页,并显示具体原因(未授权/已过期/被禁用/体验期结束)。 - 体验期内激活授权,体验期标记自动失效,不再弹窗提醒。 ### 授权价格方案(参考) | 授权期限 | 价格(元) | 说明 | |---|---|---| | 1个月 | ¥300 | 月度订阅,按月续费 | | 1年 | ¥3650 | 年度订阅,按年续费 | | 终身授权(推荐) | ¥10086 | 一次性买断,永久使用,免费升级 | * 价格不含税,购买后提供专属授权码,年费及以上授权支持更换域名(每年免费更换1次)。 ### 授权验证流程图 ``` 用户访问系统 → check_trial_or_license() ├── 已有有效授权 → 放行 ├── 体验期内 → 放行并定时弹窗提醒 └── 体验期已过且无有效授权 → 跳转至 license.php 管理员保存系统设置时: ├── is_license_valid_online() │ ├── 本地验证(RSA签名+域名+有效期) │ └── 云端验证(请求 verify.php) └── 验证失败 → 根据具体错误类型跳转并显示提示 ``` ## ❓ 常见问题 > **Q:注册时提示“用户名或邮箱已存在”?** > A:请更换用户名或邮箱,系统要求唯一性。 > **Q:为什么我无法发布任务?** > A:客户账号必须完成个人资料(手机号、微信号)且未被禁用发布权限,同时账户余额需足够支付任务预算。 > **Q:老师为什么无法抢单?** > A:请确保老师已通过资质审核(teacher_verified = 1)、账号状态正常、未被禁止接单(can_take_order = 1),且任务尚未过期。 > **Q:加急任务如何计算老师收入?** > A:加急金额×(1 – 加急服务费率)归老师,其余归平台。同时原任务金额也按原服务费率拆分。老师总收入 = 原任务老师收益 + 加急净收入。 > **Q:部分退款后剩余金额如何分配?** > A:剩余金额按照**任务创建时**存储的服务费率拆分给平台和老师,并生成 settled 类型交易记录。 > **Q:推广佣金何时到账?** > A:被邀请的用户完成任意订单(老师完成接单任务或客户发布的任务被验收)后,推广人即可获得对应比例的佣金,实时到账余额。 > **Q:如何修改默认管理员密码?** > A:登录后台后点击“个人资料”修改,或直接在数据库执行: > `UPDATE users SET password = password_hash('新密码', PASSWORD_DEFAULT) WHERE username = 'admin'; > ``` > **Q:体验期结束后还能继续使用吗?** > A:体验期结束后必须购买并激活授权码才能继续使用所有功能。未激活时,系统会强制跳转到授权页面,仅允许激活操作。 > **Q:授权码被管理员在授权管理后台删除了怎么办?** > A:请联系客服重新生成授权码,并在后台更新授权码。系统会自动检测到授权码失效,并提示“授权码已被删除”。 ## 📞 技术支持 客服微信:GS_LiHai 帮助文档:访问 `/help.html` 获取详细操作指南。 版本 v2.0 · 最后更新 2026年06月 · 本系统仅供学习研究使用,未经授权不得用于商业用途。