BaiycPan 网盘 API 文档

本页面与当前后端实现对齐,包含请求参数和返回示例。

统一响应格式

{
  "code": 0,
  "msg": "获取成功",
  "data": {},
  "timestamp": 1714012345
}

公开接口

GET/api/site-config
参数:无
字段字典(data)
字段类型必返含义
site_namestring站点名称
site_urlstring站点对外访问地址(可能为空字符串)
{
  "code": 0,
  "msg": "获取成功",
  "data": {"site_name":"BaiycPan网盘","site_url":"https://example.com"},
  "timestamp": 1714012345
}
GET/api/public/packages
参数:无(仅返回已启用套餐)
字段字典(data[],套餐对象)
字段类型必返含义
idnumber套餐 ID
namestring套餐名称
pricenumber价格
statusnumber状态(1=启用)
enable_direct_linknumber套餐表自带直连标记(展示用,实际以绑定用户组为准)
group_enable_url_transfernumber绑定用户组是否开启在线转存(1=开)
group_referral_register_percentnumber绑定用户组:下级充值/购套餐分成比例(0=关闭)
group_referral_share_rewardnumber绑定用户组:单次分享下载奖励(元,0=关闭)
注:后端实际返回完整套餐对象(字段较多),此处仅列出前端联调常用字段。
{
  "code": 0,
  "msg": "ok",
  "data": [{"id":1,"name":"月度套餐","price":9.9,"group_enable_direct_link":1,"group_enable_url_transfer":0,"group_referral_register_percent":10,"group_referral_share_reward":0.05}]
}
GET/api/public/share/:code
路径参数:code(6-18位数字)
字段字典(data)
字段类型必返含义
file_namestring文件名
file_sizenumber文件大小(字节)
download_urlstring下载地址(已包含 ts/sig)
password_requiredboolean是否需要密码
{
  "code": 0,
  "msg": "ok",
  "data": {
    "file_name":"demo.zip",
    "file_size":123456,
    "download_url":"/s/123456/download?ts=1714012345&sig=xxxx",
    "password_required":true
  }
}
GET/s/:code/download?ts=...&sig=...&pwd=...
下载文件流;失败时返回文本错误(如签名无效、密码错误、防盗链拦截)
字段字典(成功响应 Header)
Header类型必返含义
X-Download-Speed-KBstring服务端计算限速(KB/s)
X-Accel-Limit-Ratestring兼容 Nginx 的限速提示(字节/秒)
Content-Dispositionstring下载文件名

客户接口(/api/customer)

GET/api/customer/package-status
参数:无
字段字典(data)
字段类型必返含义
has_packageboolean是否已购买套餐(且有到期时间)
package_namestring套餐名称(可能为空)
package_expirestring到期时间(可能为空)
package_expiredboolean是否已过期
days_remainingnumber剩余天数(未过期时)
minutes_remainingnumber剩余分钟(未过期时)
show_direct_menuboolean是否展示直连菜单
{
  "code":0,
  "msg":"获取成功",
  "data":{"has_package":true,"package_name":"月度套餐","show_direct_menu":true}
}
GET/api/customer/recharge-plans
参数:无
字段字典(data[],充值方案对象)
字段类型必返含义
idnumber方案 ID
namestring方案名称
amountnumber充值金额
bonus_amountnumber赠送金额(可能为 0)
statusnumber状态(1=启用)
sort_ordernumber排序
注:后端返回完整充值方案对象,此处列出常用字段。
GET/api/customer/pan-capabilities
参数:无
字段字典(data)
字段类型必返含义
show_direct_menuboolean是否展示直连菜单
download_speed_kbnumber下载限速(KB/s)
user_groupobject|null用户组对象(可能为 null)
enable_url_transferboolean是否允许在线转存(用户组或管理员为客户单独开启)
direct_by_groupboolean用户组是否开启直连
direct_by_customer_extraboolean管理员是否在客户管理中单独开启直连
{
  "code":0,
  "msg":"获取成功",
  "data":{"show_direct_menu":true,"enable_url_transfer":false,"download_speed_kb":1024,"direct_by_group":true,"direct_by_customer_extra":false}
}
GET/api/customer/files
参数:无
字段字典(data[],文件对象)
字段类型必返含义
idnumber文件 ID
customer_idnumber所属客户
file_namestring文件名
file_sizenumber文件大小(字节)
mime_typestringMIME 类型
pathstring服务端存储路径(本地路径)
statusnumber状态(1=正常,0=回收站)
注:后端返回完整文件对象,此处列出常用字段。
POST/api/customer/files
Body:file_name 必填,file_size/mime_type/path 可选
字段字典(返回 data,创建后的文件对象)
返回为创建后的文件对象(同“文件列表 data[]”字段)。至少包含 id/customer_id/file_name/path/status
{
  "file_name":"demo.zip",
  "file_size":123456,
  "mime_type":"application/zip",
  "path":""
}
DELETE/api/customer/files/:id
路径参数:id 文件ID(逻辑删除到回收站)
GET/api/customer/recycle-bin
参数:无
字段字典(data[],回收站对象)
字段类型必返含义
idnumber回收站记录 ID
file_idnumber文件 ID
customer_idnumber所属客户
file_namestring文件名
file_sizenumber文件大小(字节)
original_pathstring原始存储路径
deleted_atstring删除时间
expire_atstring过期清理时间
POST/api/customer/recycle-bin/:id/restore
路径参数:id 回收站ID
DELETE/api/customer/recycle-bin/:id
路径参数:id 回收站ID(物理删除)
GET/api/customer/share-links
参数:无
字段字典(data[],分享对象)
字段类型必返含义
idnumber分享 ID
file_idnumber文件 ID
share_codestring分享码(6-18 位数字)
allow_referersstring允许来源域名白名单
max_downloadsnumber最大下载次数(0=不限)
download_countnumber已下载次数
expire_atstring|null过期时间
statusnumber状态(1=启用)
注:后端返回完整分享对象,此处列出常用字段。
POST/api/customer/share-links
Body:file_id 必填;支持 code_lengthexpire_hoursmax_downloadspasswordallow_referers
字段字典(返回 data)
字段类型必返含义
share_codestring分享码
share_urlstring分享访问路径(/s/xxxx)
{
  "file_id":1001,
  "code_length":8,
  "expire_hours":24,
  "max_downloads":100,
  "password":"1234",
  "allow_referers":"example.com,foo.com"
}
{
  "code":0,
  "msg":"创建成功",
  "data":{"share_code":"12345678","share_url":"/s/12345678"}
}
POST/api/customer/upload/chunk/init
Body:file_namefile_sizetotal_chunks 必填;chunk_size 可选
字段字典(返回 data)
字段类型必返含义
upload_idstring上传会话 ID
chunk_sizenumber服务端最终采用的分片大小(字节)
GET/api/customer/upload/chunk/status?upload_id=...
字段字典(返回 data)
字段类型必返含义
upload_idstring上传会话 ID
total_chunksnumber总分片数
uploaded_indexesnumber[]已上传分片下标列表(从 0 开始)
POST/api/customer/upload/chunk/part
multipart:upload_idindexchunk(file)
字段字典(表单参数)
字段类型必填含义
upload_idstring上传会话 ID
indexnumber分片下标(从 0 开始)
chunkfile分片文件
POST/api/customer/upload/chunk/complete
Body:{"upload_id":"..."}
字段字典(返回 data)
字段类型必返含义
file_idnumber新建文件记录 ID
file_pathstring合并后的服务端路径
PUT/api/customer/nickname
Body:{"nickname":"新昵称"}
字段字典(请求 Body)
字段:nickname(string,必填,最长 50)。
POST/api/customer/avatar
multipart:avatar 文件
字段字典(表单参数)
字段:avatar(file,必填)。
PUT/POST/api/customer/password
Body:旧密码/新密码字段(按当前前端调用)
字段字典(请求 Body)
此接口字段以实际实现为准(通常为 old_password / new_password)。
PUT/api/customer/api-key
参数:无(重置并返回新 API Key)
字段字典(返回 data)
返回为新的 API Key(字段名以接口返回为准)。

充值与支付

POST/customer/recharge/buy-package
Body:{"package_id":1}
字段字典(请求 Body)
字段:package_id(number,必填)。成功后通常仅返回 code/msg/timestamp。
POST/customer/recharge/card
Body:{"card_no":"...","card_pwd":"..."}
字段字典(返回 data)
字段类型必返含义
amountnumber本次充值金额
balancenumber充值后的余额
POST/customer/recharge/online
Body:{"amount":10,"pay_type":"alipay"}
字段字典(返回 data)
字段类型必返含义
order_nostring订单号
pay_urlstring可直接打开的支付地址
pay_actionstringsubmit.php 地址
pay_fieldsobject表单字段(含 sign 等)
pay_qrcodestring网关 mapi 返回的二维码内容(如有)
{
  "code":0,
  "msg":"订单创建成功",
  "data":{"order_no":"R202604251234560001","pay_url":"https://.../submit.php?..."}
}
GET/customer/recharge/order-status?order_no=...
字段字典(返回 data)
字段类型必返含义
order_nostring订单号
pay_statusnumber支付状态(1=已支付)
amountnumber订单金额
GET/POST/api/pay/notify
易支付异步通知,成功返回纯文本 success
GET/POST/api/pay/return
同步回调,返回 HTML 页面并跳回充值页

管理接口(/admin)

GET/admin/user-groups/data
POST/admin/user-groups
PUT/admin/user-groups/:id
DELETE/admin/user-groups/:id
{
  "name":"注册用户组",
  "description":"默认组",
  "download_speed_kb":256,
  "storage_quota_mb":10240,
  "is_default_register":1,
  "enable_direct_link":0,
  "status":1
}
GET/admin/storage-policies/data
POST/admin/storage-policies
PUT/admin/storage-policies/:id
DELETE/admin/storage-policies/:id
{
  "name":"本地存储",
  "driver":"local",
  "base_path":"web/static/uploads/files",
  "is_default":1,
  "status":1
}
GET/admin/files/data
DELETE/admin/files/:id(移入回收站)
GET/admin/recycle-bin/data
POST/admin/recycle-bin/:id/restore
DELETE/admin/recycle-bin/:id
GET/admin/share-visits/data

客户页面路由映射

以下路由与 /api/customer/* 的业务一致,参数结构相同: