若无特殊说明,请求和返回数据都是json
- Domain: https://*
{
"errorCode": 0,
"errorMsg": "ok",
"data":{}
}
- 0 表示正常工作
- -1 empty
- -2 error
- -3 token过期,重新登录
- -4 非法url
返回数据在data里,也是一个json 以下返回数据的说明只针对data内的部分
HTTP Method: Get
Url:/user/register
Request:
phonenum=12345678901&key=ed5ab7d5ac405659ed24e37bb89877c5
此处key由本地AES加密,秘钥私下给出。
Return:
{
"Id": "xxxxxxxx",
"Token": "xxxxxxxxxx",
"Needinfo": "True" //没信息则True。有信息则False,不需要再填个人信息。
}
HTTP Method: Get
Url:/user/login
Request:
phonenum=12345678901&key=ed5ab7d5ac405659ed24e37bb89877c5
Return:
{
"Id": "xxxxxxxx",
"Token": "xxxxxxxxx",
"Needinfo": "True" //可能上次注册流程没走完,则为False,需要继续填写信息
}
HTTP Method: Get
Url: /user/updatetoken
Request:
id=xxxxxxx&token=xxxxxxx
Response:
{
"Token": "zzzzzzzz" //新Token,用于替换旧Token
}
HTTP Method: Get
Url:/user/getselfinfo
Request:
id=xxxxxxx&token=xxxxxxx
Return:
{
"PhoneNum": "12345678901",
"Avatar": "xxxxxxxxxx", //七牛云url
"Username": "Feed!",
"Sex": "Male", //or Female or Secret
"Height": "170.5",
"Weight": "65.5",
"Birth": "2000-01-01", //格式我还不敢完全确定,但差不多就是这样
"City": "成都",
"SkinType": "1",
"HeatQuantityDemand": "100",
"ProteinDemand": "100",
"CarbohydratesDemand": "100", //糖类
"FatDemand": "100",
"VitaminADemand": "100",
"VitaminB1Demand": "100",
"VitaminB2Demand": "100",
"VitaminB6Demand": "100",
"VitaminB12Demand": "100",
"VitaminCDemand": "100",
"VitaminDDemand": "100",
"VitaminEDemand": "100",
"VitaminKDemand": "100",
"Streak": 2
}
*Demand
:需求量
HTTP Method: Get
Url: /user/getpublicinfo
Request:
id=xxxxxxx&token=xxxxxxx&getid=zzzzzz //Getid为需要获取的用户id
Response:
{
"Id": "zzzzzz",
"Avatar": "xxxxxxxxx", //七牛云url
"Username": "Feed@",
"Sex": "Male",
"City": "成都",
"Streak": 2
}
HTTP Method: Post
Url:/user/updatedata
Request:
{
"Id": "xxxxxxx",
"Token": "xxxxxxxxxx",
"UserData": {
"Avatar": "1",
"Username": "Feed!",
"Sex": "Male",
"Height": "170.5",
"Weight": "65.5",
"Birth": "2000-01-01",
"City": "成都",
"SkinType": "1",
"HeatQuantityDemand": "100",
"ProteinDemand": "100",
"CarbohydratesDemand": "100", //糖类
"FatDemand": "100",
"VitaminADemand": "100",
"VitaminB1Demand": "100",
"VitaminB2Demand": "100",
"VitaminB6Demand": "100",
"VitaminB12Demand": "100",
"VitaminCDemand": "100",
"VitaminDDemand": "100",
"VitaminEDemand": "100",
"VitaminKDemand": "100",
"Streak": 2
}
}
Response:
//空data
HTTP Method: Get
Url:/info/getstatistic
Request:
id=xxxxxxxx&token=xxxxxxx&getall=true&date=none
//或者
id=xxxxxxxx&token=xxxxxxx&getall=false&date=20200401
Return:
{
"2020-04-01": {
"HealthyState": "健康",
"HealthyScore": "97",
"HeatQuantity": "100",
"HeatQuantityDiff": "10",
"Protein": "100",
"ProteinDiff": "10",
"Carbohydrates": "100",
"CarbohydratesDiff": "10",
"Fat": "100",
"FatDiff": "10",
"VitaminA": "100",
"VitaminADiff": "10",
"VitaminB1": "100",
"VitaminB1Diff": "10",
"VitaminB2": "100",
"VitaminB2Diff": "10",
"VitaminB6": "100",
"VitaminB6Diff": "10",
"VitaminB12": "100",
"VitaminB12Diff": "10",
"VitaminC": "100",
"VitaminCDiff": "10",
"VitaminD": "100",
"VitaminDDiff": "10",
"VitaminE": "100",
"VitaminEDiff": "10",
"VitaminK": "100",
"VitaminKDiff": "10"
}
}
**以上只是返回一天的数据,如果请求里getall
是true
的话,可能会返回多天的数据,key
即是日期。
HTTP Method: Post
Url:/info/poststatistic
Request:
{
"Id": "xxxxxxx",
"Token": "xxxxxxxxxx",
"UserStatistic": {
"Date": "2020-04-01",
"HealthyState": "亚健康",
"HealthyScore": "97",
"HeatQuantity": "100",
"HeatQuantityDiff": "10",
"Protein": "100",
"ProteinDiff": "10",
"Carbohydrates": "100",
"CarbohydratesDiff": "10",
"Fat": "100",
"FatDiff": "10",
"VitaminA": "100",
"VitaminADiff": "10",
"VitaminB1": "100",
"VitaminB1Diff": "10",
"VitaminB2": "100",
"VitaminB2Diff": "10",
"VitaminB6": "100",
"VitaminB6Diff": "10",
"VitaminB12": "100",
"VitaminB12Diff": "10",
"VitaminC": "100",
"VitaminCDiff": "10",
"VitaminD": "100",
"VitaminDDiff": "10",
"VitaminE": "100",
"VitaminEDiff": "10",
"VitaminK": "100",
"VitaminKDiff": "10"
}
}
这里应该POST每天的累计量,服务器只做存储,不做累计工作。
Return:
//空data
HTTP Method: Get
Url: /moments/getmomentsid
Request:
id=xxxxxxxx&token=xxxxxxx&getall=true&getid=none
//或者
id=xxxxxxxx&token=xxxxxxx&getall=false&getid=xxxx
Response:
{
"MomentsIds": ["id1xxxxx", "id2xxxxxxx", "id3xxxxxxx"]
} //按时间顺序从新到旧
HTTP Method: Get
Url: /moments/getmoment
Request:
id=xxxxxxx&token=xxxxxxx&momentid=id1xxxxxx //Id为本用户id
Response:
{
"MomentID": "id1xxxxxx",
"Id": "xxxxxxxx", //发这条moment用户的id
"Time": "Fri, 15 May 2020 03:00:00 GMT",
"Text": "dgsgsgsdgasf sdff faf fa 啦啦啦啦测试内容",
"Pic": "xxxxxxxxxxxxxxx", //url
"Thumbs": 233,
"Username": "啦啦啦",
"Avatar": "xxxxxxxxxx", //用户头像链接
"Streak": 4, //该用户坚持天数
"Comments": { //因为是json,所以可能乱序,但commentid有规律,越大越新
"1232131": { //CommentID
"Id": "xxxxxxxx", //发送该条评论的用户id
"Username": "啦啦啦",
"Text": "哈哈哈哈昂xswl",
"Time": "Fri, 15 May 2020 03:00:00 GMT"
},
"2342341": {
"Id": "xxxxxxxx",
"Username": "这TM是来捣乱的是吧",
"Text": "233333333"
"Time": "Fri, 15 May 2020 03:00:00 GMT"
}
}
}
HTTP Method: Get Url: /moments/thumbup
Request:
id=xxxxxxx&token=xxxxxxx&momentid=id1xxxxxx
Response:
{
"Thumbs": 5
}
HTTP Method: POST
Url: /moments/postmoment
Request:
{
"Id": "xxxxxxxx",
"Token": "xxxxxxx",
"Text": "这是一条测试文案",
"Pic": "xxxxxxxxxxxx", //七牛云返回的图片url链接
}
Response:
{
"MomentID": "xxxxx"
}
HTTP Method: Post
Url: /moments/postcomment
Request:
{
"Id": "xxxxxxx",
"Token": "xxxxxxxxx",
"MomentID": "id1xxxxxx",
"Text": "哈哈哈哈笑死我了",
}
Response:
{
"CommentID": "cxxxxxxxxxx"
}
HTTP Method: GET
Url: /rank/dailyscore
Request:
id=xxxxxxx&token=xxxxxxx
Response:
{
"Ids": ["id1xxxxx", "id2xxxxxxx", "id3xxxxxxx"],
"Usernames":["啦啦啦", "哈哈哈", "呱呱呱"],
"Avatars": ["https://pixiv/114514", "1", "2"],
"HealthyScores": [99, 98, 93]
} //从高到低排列,最多50个
HTTP Method: GET
Url: /rank/streak
Request:
id=xxxxxxx&token=xxxxxxx
Response:
{
"Ids": ["id1xxxxx", "id2xxxxxxx", "id3xxxxxxx"],
"Usernames":["啦啦啦", "哈哈哈", "呱呱呱"],
"Avatars": ["https://pixiv/114514", "1", "2"],
"Streak": [7, 3, 0]
} //从高到低排列,最多50个
Key | Type | Length | more |
---|---|---|---|
ID | Serial | PK, NN | |
Token | char | 32 | NN |
AppleID | varchar | 64 | |
WechatID | varchar | 32 | |
PhoneNum | varchar | 16 | NN |
Avatar | varchar | 128 | |
Username | varchar | 20 | |
Sex | varchar | 9 | |
Height | varchar | 5 | |
Weight | varchar | 5 | |
Birth | date | ||
City | varchar | 20 | |
SkinType | varchar | 5 | |
HeatQuantityDemand | varchar | 8 | |
ProteinDemand | varchar | 8 | |
CarbohydratesDemand | varchar | 8 | |
FatDemand | varchar | 8 | |
VitaminADemand | varchar | 8 | |
VitaminB1Demand | varchar | 8 | |
VitaminB2Demand | varchar | 8 | |
VitaminB6Demand | varchar | 8 | |
VitaminB12Demand | varchar | 8 | |
VitaminCDemand | varchar | 8 | |
VitaminDDemand | varchar | 8 | |
VitaminEDemand | varchar | 8 | |
VitaminKDemand | varchar | 8 | |
Streak | integer |
key | type | length | more |
---|---|---|---|
ID | Serial | PK,FK | |
Date | date | PK | |
HealthyState | varchar | 15 | 健康,肥胖,亚健康 |
HealthyScore | int | 4 | |
HeatQuantity | varchar | 8 | |
HeatQuantityDiff | varchar | 8 | |
Protein | varchar | 8 | |
ProteinDiff | varchar | 8 | |
Carbohydrates | varchar | 8 | (糖类) |
CarbohydratesDiff | varchar | 8 | |
Fat | varchar | 8 | |
FatDiff | varchar | 8 | |
VitaminA | varchar | 8 | |
VitaminADiff | varchar | 8 | |
VitaminB1 | varchar | 8 | |
VitaminB1Diff | varchar | 8 | |
VitaminB2 | varchar | 8 | |
VitaminB2Diff | varchar | 8 | |
VitaminB6 | varchar | 8 | |
VitaminB6Diff | varchar | 8 | |
VitaminB12 | varchar | 8 | |
VitaminB12Diff | varchar | 8 | |
VitaminC | varchar | 8 | |
VitaminCDiff | varchar | 8 | |
VitaminD | varchar | 8 | |
VitaminDDiff | varchar | 8 | |
VitaminE | varchar | 8 | |
VitaminEDiff | varchar | 8 | |
VitaminK | varchar | 8 | |
VitaminKDiff | varchar | 8 |
key | type | length | more |
---|---|---|---|
ID | Serial4 | FK | |
MomentID | Serial8 | PK | |
Time | Timestamp | ||
Text | varchar | 256 | |
Pic | varchar | 512 | |
Thumbs | int | 8 |
key | type | length | more |
---|---|---|---|
MomentID | Serial8 | FK | |
CommentID | Serial8 | PK | |
ID | Serial4 | FK | |
Time | Timestamp | ||
Text | varchar | 256 |