skill_market_agent.js - HTTP API文档
生成时间: 2024-01-30
源文件: skill_market_agent.js, skill_market_agent1.js, skill_market_agent2.js, skill_market_agent3.js
API端点数量: 22
HTTP API 文档
概述
该系统提供技能市场平台的完整API接口,包括技能管理、订单管理、账户管理、用户管理和系统管理等功能。基于Node.js实现,使用文件系统进行数据存储。
路由分组
所有API路由均以 /rtagent/skill_market/ 为前缀,分为技能管理、标签管理、交易撮合、账户管理、用户技能管理和系统管理六类。
API端点表格
技能管理API
| HTTP方法 |
路由路径 |
描述 |
请求参数 |
响应格式 |
状态码 |
| ALL |
/rtagent/skill_market/skill/list |
列出所有技能(支持分页、过滤、排序) |
page: 页码(默认1)
limit: 每页数量(默认20)
status: 状态过滤
sort_by: 排序字段
sort_order: 排序顺序 |
{ret: boolean, data: {skills: Array, pagination: Object, filters: Object}} |
200 |
| ALL |
/rtagent/skill_market/skill/publish |
发布新技能 |
user_id: 用户ID
description: 技能描述
hourly_price: 时薪
location: 位置
availability: 可用时间
contact_info: 联系方式 |
{ret: boolean, msg: string, data: {skill_id: string, skill: Object}} |
200 |
| ALL |
/rtagent/skill_market/skill/update |
更新技能信息 |
user_id: 用户ID
skill_id: 技能ID
description: 技能描述
hourly_price: 时薪
location: 位置
availability: 可用时间
contact_info: 联系方式 |
{ret: boolean, msg: string, data: {skill_id: string, skill: Object}} |
200 |
| ALL |
/rtagent/skill_market/skill/offline |
下架技能 |
user_id: 用户ID
skill_id: 技能ID |
{ret: boolean, msg: string, data: {skill_id: string, status: string}} |
200 |
| ALL |
/rtagent/skill_market/skill/search |
搜索技能(支持多条件过滤) |
tags: 标签(逗号分隔或数组)
min_price: 最低价格
max_price: 最高价格
location: 位置
status: 状态
page: 页码
limit: 每页数量 |
{ret: boolean, data: {skills: Array, pagination: Object}} |
200 |
| ALL |
/rtagent/skill_market/skill/detail |
获取技能详情 |
skill_id: 技能ID |
{ret: boolean, data: {skill: Object, seller_info: Object}} |
200 |
标签管理API
| HTTP方法 |
路由路径 |
描述 |
请求参数 |
响应格式 |
状态码 |
| ALL |
/rtagent/skill_market/tag/extract |
从描述中提取标签 |
description: 描述文本
custom_tags: 自定义标签 |
{ret: boolean, data: {description: string, tags: Array, tag_count: number}} |
200 |
| ALL |
/rtagent/skill_market/tag/list |
列出所有标签及统计 |
min_count: 最小出现次数
sort_by: 排序字段
sort_order: 排序顺序 |
{ret: boolean, data: {tags: Array, total_tags: number, total_skills: number, popular_tags: Array, filters: Object}} |
200 |
交易撮合API
| HTTP方法 |
路由路径 |
描述 |
请求参数 |
响应格式 |
状态码 |
| ALL |
/rtagent/skill_market/order/create |
创建订单 |
user_id: 用户ID
skill_id: 技能ID
hours: 服务时长
requirements: 需求说明
contact_info: 联系方式 |
{ret: boolean, msg: string, data: {order_id: string, order: Object}} |
200 |
| ALL |
/rtagent/skill_market/order/confirm |
确认订单(卖家) |
user_id: 用户ID
order_id: 订单ID |
{ret: boolean, msg: string, data: {order_id: string, order: Object}} |
200 |
| ALL |
/rtagent/skill_market/order/cancel |
取消订单 |
user_id: 用户ID
order_id: 订单ID
reason: 取消原因 |
{ret: boolean, msg: string, data: {order_id: string, order: Object}} |
200 |
| ALL |
/rtagent/skill_market/order/complete |
完成订单(买家) |
user_id: 用户ID
order_id: 订单ID
completion_proof: 完成证明
rating: 评分
feedback: 反馈 |
{ret: boolean, msg: string, data: {order_id: string, order: Object, skill_updated: Object}} |
200 |
| ALL |
/rtagent/skill_market/order/list |
列出订单(支持多条件过滤) |
user_id: 用户ID
role: 角色(buyer/seller/both)
status: 状态
start_date: 开始日期
end_date: 结束日期
page: 页码
limit: 每页数量 |
{ret: boolean, data: {orders: Array, pagination: Object}} |
200 |
| ALL |
/rtagent/skill_market/order/detail |
获取订单详情 |
order_id: 订单ID
user_id: 用户ID(可选) |
{ret: boolean, data: {order: Object, skill: Object, buyer: Object, seller: Object}} |
200 |
账户管理API
| HTTP方法 |
路由路径 |
描述 |
请求参数 |
响应格式 |
状态码 |
| ALL |
/rtagent/skill_market/account/balance |
获取账户余额 |
user_id: 用户ID |
{ret: boolean, data: {user_id: string, balance: number, frozen_amount: number, available_balance: number, total_earnings: number, total_spent: number}} |
200 |
| ALL |
/rtagent/skill_market/account/deposit |
用户充值 |
user_id: 用户ID
amount: 充值金额
payment_method: 支付方式
transaction_id: 交易ID |
{ret: boolean, msg: string, data: {user_id: string, amount: number, new_balance: number, transaction_time: string}} |
200 |
| ALL |
/rtagent/skill_market/account/withdraw |
用户提现 |
user_id: 用户ID
amount: 提现金额
withdraw_method: 提现方式
account_info: 账户信息 |
{ret: boolean, msg: string, data: {user_id: string, amount: number, new_balance: number, transaction_time: string, withdraw_method: string}} |
200 |
| ALL |
/rtagent/skill_market/account/transactions |
获取用户交易记录 |
user_id: 用户ID
type: 交易类型
start_date: 开始日期
end_date: 结束日期
page: 页码
limit: 每页数量 |
{ret: boolean, data: {user_id: string, transactions: Array, summary: Object, pagination: Object}} |
200 |
用户技能管理
| HTTP方法 |
路由路径 |
描述 |
请求参数 |
响应格式 |
状态码 |
| ALL |
/rtagent/skill_market/user/skills |
获取用户发布的技能 |
user_id: 用户ID
status: 状态
page: 页码
limit: 每页数量 |
{ret: boolean, data: {user_id: string, skills: Array, summary: Object, pagination: Object}} |
200 |
| ALL |
/rtagent/skill_market/user/orders |
获取用户相关订单 |
user_id: 用户ID
role: 角色(buyer/seller)
status: 状态
page: 页码
limit: 每页数量 |
{ret: boolean, data: {user_id: string, role: string, orders: Array, summary: Object, pagination: Object}} |
200 |
系统管理API
| HTTP方法 |
路由路径 |
描述 |
请求参数 |
响应格式 |
状态码 |
| ALL |
/rtagent/skill_market/stats/overview |
获取系统统计信息 |
无 |
{ret: boolean, data: {platform_stats: Object, today_stats: Object, status_distribution: Object, top_tags: Array}} |
200 |
| ALL |
/rtagent/skill_market/admin/skills |
管理员查看所有技能 |
status: 状态
user_id: 用户ID
min_price: 最低价格
max_price: 最高价格
page: 页码
limit: 每页数量 |
{ret: boolean, data: {skills: Array, summary: Object, pagination: Object}} |
200 |
中间件使用情况
- urlParser: 所有路由都使用,用于解析URL参数
- session_filter: 所有路由都使用,用于会话过滤和验证
业务数据存储格式说明
技能数据格式
{
"skill_id": "skill_1706600000000_abc123",
"user_id": "user123",
"description": "技能描述",
"hourly_price": 100.0,
"location": "北京",
"availability": "随时可接单",
"contact_info": "微信: xxx",
"tags": ["送货", "取货"],
"status": "online", // online, offline, busy
"created_at": "2024-01-30T12:00:00.000Z",
"updated_at": "2024-01-30T12:00:00.000Z",
"rating": 4.5,
"completed_orders": 10,
"total_earnings": 5000.0
}
订单数据格式
{
"order_id": "order_1706600000000_def456",
"buyer_id": "user456",
"seller_id": "user123",
"skill_id": "skill_1706600000000_abc123",
"skill_description": "技能描述",
"hours": 2.0,
"hourly_price": 100.0,
"total_amount": 200.0,
"requirements": "需求说明",
"contact_info": "联系方式",
"status": "pending", // pending, confirmed, in_progress, completed, cancelled
"created_at": "2024-01-30T12:00:00.000Z",
"updated_at": "2024-01-30T12:00:00.000Z",
"payment_status": "unpaid", // unpaid, paid, refunded
"completion_proof": "",
"rating": 0,
"feedback": "",
"cancelled_by": null,
"cancelled_reason": null,
"cancelled_at": null,
"completed_at": null
}
账户数据格式
{
"user_id": "user123",
"balance": 1000.0,
"frozen_amount": 200.0,
"pending_amount": 0.0,
"total_earnings": 5000.0,
"total_spent": 3000.0,
"transactions": [
{
"type": "deposit",
"amount": 1000.0,
"payment_method": "alipay",
"transaction_id": "txn123",
"timestamp": "2024-01-30T12:00:00.000Z",
"description": "充值 1000.0 元"
}
],
"created_at": "2024-01-30T12:00:00.000Z",
"updated_at": "2024-01-30T12:00:00.000Z"
}
技能索引格式
[
{
"skill_id": "skill_1706600000000_abc123",
"user_id": "user123",
"description": "技能描述",
"hourly_price": 100.0,
"location": "北京",
"tags": ["送货", "取货"],
"status": "online",
"created_at": "2024-01-30T12:00:00.000Z",
"rating": 4.5
}
]
标签索引格式
{
"送货": ["skill_1706600000000_abc123", "skill_1706600000000_xyz789"],
"取货": ["skill_1706600000000_abc123"],
"翻译": ["skill_1706600000000_def456"]
}
文件存储结构
skill_market_agent/
├── data/
│ ├── skill_[skill_id].json # 技能详细数据
│ ├── order_[order_id].json # 订单详细数据
│ ├── account_[user_id].json # 账户详细数据
│ ├── skill_index.json # 技能索引文件
│ └── tag_index.json # 标签索引文件
└── cached/ # 缓存目录
业务规则说明
订单状态流转
- pending → confirmed(卖家确认)
- confirmed → in_progress(开始服务)
- confirmed/in_progress → completed(买家确认完成)
- pending/confirmed/in_progress → cancelled(取消订单)
资金处理规则
- 创建订单:冻结买家资金
- 确认订单:解冻资金转为卖家待结算
- 完成订单:待结算资金转入卖家余额
- 取消订单:
- pending状态:全额退款给买家
- confirmed状态:买家取消扣10%违约金给卖家,剩余退款给买家
- 卖家取消:全额退款给买家
技能状态管理
- online:可接单状态
- busy:有进行中的订单
- offline:已下架,不可接单
错误处理
所有API返回统一格式:
{
"ret": false,
"msg": "错误描述信息"
}
元数据
{
"sourceFiles": [
"skill_market_agent.js",
"skill_market_agent1.js",
"skill_market_agent2.js",
"skill_market_agent3.js"
],
"generatedAt": "2024-01-30",
"endpointCount": 22,
"hasHttpApis": true,
"dataStorage": "file-system",
"version": "1.0.0"
}