LinLorry / PetLog

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PetLog

url为:host:5000/api/user/...... 的接口需要验证登陆的请求,请求头上带上"Authorization":token[:str],过期时间为600s

token过期会返回

{

"status":0

"message":"failed"

}

系统环境变量:

PETLOG_SALT:保存密码使用的“盐”

PETLOG_DATABASE:数据库URL

PETLOG_SECRET_KEY:密钥

PETLOG_REGISER_KEY:注册用户时的加密密钥

PETLOG_CARD_IMAGES:用户的图片的存储路径

PETLOG_MAIL_USERNAME:邮箱系统账号

PETLOG_MAIL_PASSWORD:邮箱系统密码

API说明:

用户注册及登录:

url: host:5000/api/registered (注册)

methods:"POST"

Request:

{
    "email": Text,
    "password": Text,
    "user_nickname": Text,
    "address": Text,
    "gender": Text[male/female],
    "register_key": MD5 SHA1-32
}

Response:

{
    "status":1/0
    "message":"success"/"failed"
}

url: host:5000/api/registered/verify_code (邮箱认证)

methods:"POST"

Request:

{
    "email":Text
}

Response:

{
    "status":1               “status":0
    "code":                  "message":failed
}

url: host:5000/api/auth (检查是否登录状态下)

methods:"GET"

Request:


Response:

{
    "status":1/0,
    "message: "ok"/"failed"
}

url: host:5000/api/login (登录)

methods:"POST"

Request:

{
    "email":Text,
    "password":Text
}

Response:

{
    "status":1,         "status":0,
    "token":            "message":"failed"
}

用户个人信息查询及更改

url: host:5000/api/user/profile(个人信息获取)

methods:"GET"

Response:

{
    ”status:1/0 (是否登录)
    "message:
    "user":{
        "name":Text,
        "avatar":Text,
        "motto":Text,
        "gender":Text,
        "birth_day":YYYY-MM-DD,
        "location":Text
    }
}

url: host:5000/api/user/avatar(头像上传)

methods:"POST"

Request:

{
    multipart/form-data
}

Response:

{
    "status":1,                 "status":0,
    "filename":                 "message":"faied"
}

url: host:5000/api/user/update(修改用户个人资料)

methods:"POST"

Request:

{
    "name":Text,
    "avatar":Text,
    "motto":Text,
    "gender":Text,
    "birth_day":YYYY-MM-DD,
    "location":Text
}

Response:

{
    "status":1,                   "status":0,
    "message":"success"           "message":"failed"
}

用户操作

url: host:5000/tags/get_tags(获取所有Tag)

methods:"GET"

Response:

{
    "status":1,        "status":0,
    "tags":Array       "tags":Array
}

url: host:5000/user/post_card(发布动态)

methods:"POST"

Request:

{
    "content":Text,
    "status":Text,
    "tags":Array,
    "images":Array,
    "for":Text
}

Response:

{
    "status":1,     "status":0,
    "message":"success"   "message":"failed"
}

url: host:5000/api/user/post_comment(发表评论)

methods:"POST"

Requuest:

{
    "card_id":Text,
    "to_author":Bool,
    "reply_to":Text,
    "content":Text
}

Response:

{
    "status":1,          "status":0,
    "message":
    "time":
}

url: host:5000/api/user/post_praise(点赞)

methods:"POST"

Request:

{
    "id",Text,
    "action":1/0
}

Response:

{
    "status":1/0,
    "message":"success"/"fail"
}

url: host:5000/api/upload/card_image(上传卡片的图片)

methods:"POST"

Request:

{
    multipart/form-data
}

Response:

{
    "status":1/0,
    "filename":
}

url: host:5000/user/get_timeline/(时间轴内容)

methods:"GET"

Response:

{
    "status" : 0,
    "message" : "你没有权限获得该宠物的时间轴"/
    "status"1,
    message: Text, 
    name: Text, //宠物昵称
    age: Int, //根据添加宠物时提供的出生日期计算
    avatar: Text, //宠物头像
    motto: Text, //宠物简介
    items: [
        {
            // 非年份时
            date: (M)M-(D)D,
            is_year: false,
            items: [
                {
                    content: Text,
                    images: Array,
                    status: Text,
                    id: Text
                },
                {
                    ...
                }
            ]
        },
        {
            //是年份时, “”、[]均代表空值
            date: "",
            items: [],
            is_year: true,
            year: Int
        }
    ]
}

url: host:5000/user/get_circle_of_friends(获取朋友圈内容)

methods:"GET"

Response:

{
    status: 1/0, //用户是否登录的标识符
    infinited: Bool, //如果取完所有卡片,返回true,否则返回false
    cards: [
        {
            id: Text,
            author: {
                name: Text,
                id: Text,
                avatar: Text,
                followed: Bool
            },
            liked: Bool,
            post: {
                time: YYYY年(M)M月(M)M日 hh:mm,
                content: Text,
                status: Text, //记录宠物状态
                tags: Array,
                likes: Int,
                images: Array
            },
            comments: Int //评论数
        }
    ]
}

url: host:5000/card/(卡片详情)

methods:"GET"

Response:

{
    id: Text,
    author: {
        name: Text,
        id: Text,
        avatar: Text,
        followed: Bool
    },
    liked: Bool,
    post: {
        time: YYYY年(M)M月(M)M日 hh:mm,
        content: Text,
        status: Text, //记录宠物状态
        tags: Array,
        likes: Int,
        images: Array
    },
    comments: [
        {
            id: Text,
            author: {
                name: Text,
                id: Text,
                avatar: Text
            },
            to_author: Bool, //标识被回复人是否是作者
            reply_to: Text, //被回复人昵称
            time: YYYY-M-D, //如果年份与当前年份相等,只显示M-D
            content: Text
        }
    ]
}

url: host:5000/get_hot

methods:"GET"

Response:

{
    status: 1/0, //是否获取成功的标识符
    infinited: Bool, //如果取完所有卡片,返回true,否则返回false
    cards: [
        {
            id: Text,
            author: {
                name: Text,
                id: Text,
                avatar: Text,
                followed: Bool
            },
            liked: Bool,
            post: {
                time: YYYY年(M)M月(M)M日 hh:mm,
                content: Text,
                status: Text, //记录宠物状态
                tags: Array,
                likes: Int,
                images: Array
            },
            comments: Int //评论数
        }
    ]
}

url: host:5000/get_cards

methods:"GET"

Response:

{
}

url: host:5000/user/focus/

methods:"GET"

Request:

{
    "id":Text,
    "action":1/0
}

Response:

{
    "status":1/0,
    "message":"关注成功"/"取消关注成功"
}

url: host:5000/user/get_followers

methods:"GET"

Response:

{
    status: 1/0, //用于判断用户是否登录
    message: Text,
    followers: [
        {
            name: Text, //用户昵称
            id: Text,
            avatar: Text,
            motto: Text,
            followed: Bool
        }
    ]
}

url: host:5000/user/get_followings

methods:"GET"

Response:

{
 status: 1/0, //用于判断用户是否登录
    message: Text,
    followers: [
        {
            name: Text, //用户昵称
            id: Text,
            avatar: Text,
            motto: Text,
            followed: Bool
        }
    ]
}

url: host:5000/user/profile_summary

methods:"GET"

Request:

{
    
}

Response:

{
    status: 1/0, //用于标识用户是否登录
    message: Text,
    user: {
        name: Text,
        avatar: Text,
        followers: Int,
        following: Int,
        motto: Text
    }
}

url: host:5000/user/profile

methods:"GET"

Request:

{
    status: 1/0, //用于标识用户是否登录
    message: Text,
    user: {
        name: Text,
        avatar: Text,
        motto: Text,
        gender: Text[male/female],
        birth_day: YYYY-MM-DD,
        location: Text
    }
}

url: host:5000/user/profile_other

methods:"GET"

Response:

{

    status: 1/0, //用于标识用户是否登录
    message: Text,
    user: {
        name: Text,
        avatar: Text,
        motto: Text,
        gender: Text[male/female],
        birth_day: YYYY-MM-DD,
        location: Text
    }
}

url: host:5000/user/pet/update

methods:"POST"

Request:

{
    status: 1/0, //用于判断该宠物是否属于当前用户
    message: Text,
    id: Text,
    name: Text,
    motto: Text,
    avatar: Text,
    gender: Text[male/female],
    birth_day: YYYY-MM-DD,
    meet_day: YYYY-MM-DD,
    variety: Text
}

Response:

{
    "status":1/0,
    "message":"success"/"failed"
}

url: host:5000/user/pet/create_pet

methods:"POST"

Request:

{
    name: Text,
    motto: Text,
    avatar: Text,
    gender: Text[male/female],
    birth_day: YYYY-MM-DD,
    meet_day: YYYY-MM-DD,
    variety: Text
}

Response:

{
    status: 1/0,
    message: Text,
    id: Text
}

url: host:5000/user/pet/detail

methods:"GET"

Request:

{
    "id":Text
}

Response:

{
    status: 1/0, //用于判断该宠物是否属于当前用户
    message: Text,
    name: Text,
    motto: Text,
    avatar: Text,
    gender: Text[male/female],
    birth_day: YYYY-MM-DD,
    meet_day: YYYY-MM-DD,
    variety: Text
}

About


Languages

Language:Python 99.5%Language:HTML 0.5%