声音巴士 API

# 声音巴士 API(2023-10-10更新)

## API 简单介绍

* base_url: https://www.vbus.cc/api/v1/
* 上传、回复、编辑等操作需要传入token(token参数在用户登陆成功后返回的json里)

### json格式说明:

```json
{
  "code": 1,
  "data": ""
}
```

* code=1表示正常返回结果,code=0表示错误结果,可以根据data来打印具体错误原因。
* data字段为具体结果数据
详情请查看具体的返回数据


### 用户注册

* url: https://www.vbus.cc/register
* 请跳转到浏览器


### 用户登陆

* url: user/login
* method: post
* username: UID/手机号/用户名/邮箱地址
* password: 密码


### 节目列表

* url: program/list
* method: get
* token: 用户信息key
* type: 类型(new===最新、hot=最热、recommend=推荐)
* page: 分页


### 节目详情

* url: program/item
* method: get
* token: 用户信息key
* program_id: 节目 id


### 节目收藏/取消收藏

* url: program/collection
* method: post
* token: 用户信息key
* program_id: 节目 id


### 节目点赞/取消点赞

* url: program/attitude
* method: post
* token: 用户信息key
* program_id: 节目 id


### 发布节目

* url: program/create
* method: post
* token: 用户信息key
* program_name: 节目标题
* content: 节目介绍
* album_id: 专辑 ID
* tag: 话题(逗号分隔)
* third_party_url: 第三方播放地址
* upload_file: 本地文件
* file_hash: 本地文件 sha1 值
* 说明: third_party_url 和本地文件任选一种,如果都存在 third_party_url 优先


### 修改节目

* url: program/update
* method: post
* token: 用户信息key
* program_id: 节目 ID
* program_name: 节目标题
* content: 节目介绍
* album_id: 专辑 ID
* tag: 话题(逗号分隔)
* third_party_url: 第三方播放地址
* upload_file: 本地文件
* file_hash: 本地文件 sha1 值
* 说明: 不需要更新的字段留空即可; third_party_url 和本地文件任选一种,如果都存在 third_party_url 优先


### 评论列表

* url: comment/list
* method: get
* token: 用户信息key
* program_id: 节目 ID
* page: 分页


### 评论节目

* url: comment/create
* method: post
* token: 用户信息key
* program_id: 节目 ID
* text: 评论内容


### 修改评论

* url: comment/update
* method: post
* token: 用户信息key
* comment_id: 评论 ID
* text: 评论内容


### 搜索

* url: search
* method: get
* token: 用户信息key
* q: 搜索关键词(urlencode)
* type: 搜索类型(program=节目、album=专辑、tag=话题、user=用户), 默认: program
* page: 页码(如果结果有多页)


### 用户资料

* url: user/profile
* method: get
* token: 用户信息key
*uid: 用户 ID

### 用户的节目

* url: user/program
* method: get
* token: 用户信息key
* uid: 用户ID
* page: 页码(如果有分业)


### 用户的专辑

* url: user/album
* method: get
* token: 用户信息key
* uid: 用户ID
* page: 页码(如果有分业)


### 用户点赞过的节目

* url: user/attitude
* method: get
* token: 用户信息key
* uid: 用户ID
* page: 页码(如果有分业)


### 用户收藏的节目

* url: user/collection
* method: get
* token: 用户信息key
* uid: 用户ID
* page: 页码(如果有分业)


### 发送私信

* url: pm/create
* method: post
* token: 用户信息key
* touid: 要发送到的用户 ID
* message: 私信内容


### 私信列表

* url: pm/list
* method: get
* token: 用户信息key
* type: 类型: to|from, 我发出的和我收到的
* page: 分页


### 删除私信

* url: pm/delete
* method: post
* token: 用户信息key
* pm_id: 私信 ID
* confirm: 确认删除,取值为 0 或 1


### 清空所有私信

* url: pm/truncate
* method: post
* token: 用户信息key
* confirm: 确认删除,取值为 0 或 1


### 话题列表

* url: tag/list
* method: get
* token: 用户信息key
* type: 类型(new===最新、hot=最热、recommend=推荐)
* page: 分页


### 话题详情

* url: tag/item
* method: get
* token: 用户信息key
* tag_id: 话题 id


### 话题下的节目

* url: tag/program
* method: get
* token: 用户信息key
* tag_id: 话题 id
* page: 页码(如果有分业)


### 专辑列表

* url: album/list
* method: get
* token: 用户信息key
* type: 类型(new===最新、hot=最热、recommend=推荐)
* page: 分页


### 专辑详情

* url: album/item
* method: get
* token: 用户信息key
* album_id: 专辑 id


### 专辑下的节目

* url: album/program
* method: get
* token: 用户信息key
* album_id: 专辑 id
* page: 页码(如果有分业)


### 新建专辑

* url: album/create
* method: post
* token: 用户信息key
* album_name: 专辑名称
* album_description: 专辑描述(可选)


### 修改专辑

* url: album/update
* method: post
* token: 用户信息key
* album_id: 专辑 ID
* album_name: 专辑名称
* album_description: 专辑描述(可选)


### 删除专辑

* url: album/delete
* method: post
* token: 用户信息key
* album_id: 专辑 ID
* confirm: 确认删除,取值为 0 或 1


### 文章列表

* url: article/list
* method: get
* token: 用户信息key
* page: 分页


### 文章详情

* url: article/item
* method: get
* token: 用户信息key
* article_id: 文章 id


### 检查用户名是否存在

* url: check/username
* method: post
* username: 用户名


### 检查手机号是否存在

* url: check/mobile
* method: post
* mobile: 手机号


### 检查邮箱地址是否存在

* url: check/email
* method: post
* email: 邮箱地址


### 检查文件是否存在

* url: check/hash
* method: post
* file_hash: 文件的sha1