API 开放平台 v3.0 使用文档
开放平台API地址
之前推出的api数据均来自于互联网,数据依赖于源网站,源网站对数据调整后,导致数据无法访问,所以此次重写3.0版本,所有数据保存在本地服务器,避免数据失效问题。
此次对数据进行了划分,支持隔离和非隔离模式。
一、
隔离模式:
用户注册登录后,上传的文件,发布的动态,发布的文章等都可以通过接口获取登录者自己账号下的数据,这部分数据会过滤掉其他用户的数据。
二、
非隔离模式:
与隔离模式对应,同时也提供获取公共数据的接口,让你不必自己生产数据,而可以直接使用其他用户构建好的数据。
三、用户授权(获取公共数据无需登录授权):
1.注册账号/api/auth/login
参数:
{
"password": "password123",
"username": "alice"
}
响应:
{
"code": 200,
"data": {
"profile": {
"account_id": 1,
"age": 25,
"avatar": "https://i.pravatar.cc/150?img=1",
"bio": "热爱编程的开发者",
"created_at": "2024-01-01 10:00:00",
"email": "alice@example.com",
"gender": "female",
"location": "北京",
"nickname": "爱丽丝",
"updated_at": "2024-01-01 10:00:00"
},
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
},
"message": "成功"
}
2.注册账号/api/auth/login
参数:
{
"password": "password123",
"username": "alice"
}
响应:
{
"code": 200,
"data": {
"profile": {
"account_id": 1,
"age": 25,
"avatar": "https://i.pravatar.cc/150?img=1",
"bio": "热爱编程的开发者",
"created_at": "2024-01-01 10:00:00",
"email": "alice@example.com",
"gender": "female",
"location": "北京",
"nickname": "爱丽丝",
"updated_at": "2024-01-01 10:00:00"
},
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
},
"message": "成功"
}
3.需要授权的接口增加请求头(以js为例,其他语言类似,在请求头增加Authorization字段即可)
request.interceptors.request.use(
(config) => {
if (userStore.token) {
// userStore.token来自于登录返沪的token字段eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
config.headers.Authorization = `Bearer ${userStore.token}`;
}
return config;
},
(error) => {
return Promise.reject(error);
}
);
四、文件上传须知:
1.文件上传时,需要传递fileType参数,此支持的类型
avatar:当此图片是用来设置用户头像时使用
image:当此图片是用来上传图库时使用(后续可以通过获取图片接口获取)
video:当此图片是用上传视频时使用(后续可以通过获取视频接口获取)
article:当此图片是文章内容中需要展示时使用
2.获取文件
例如上传了一张图片后,返回的fileName为778af5d6-a6e1-4596-9c61-aa0ba43cdade.jpg
通过/api/files/{filename}即可返回上传的文件,例如:/api/files/778af5d6-a6e1-4596-9c61-aa0ba43cdade.jpg
四、接口调试:
1.在线接口调试
五、案例展示:
六、其他: