三项修习管理端

接口约定

  • 使用https
  • restful风格
  • 用户端:https://{域名}/api/{接口版本号}/{resource}/{resource_id}/{sub_resource}/{sub_resource_id}/{action}?{query_string}
  • 管理端:https://{域名}/admin/api/{接口版本号}/{resource}/{resource_id}/{sub_resource}/{sub_resource_id}/{action}?{query_string}
  • 测试环境域名babieta.xivan.cn
  • 正式环境域名待定
  • 公共参数放在header,如userid,session_key,unionid,version等

gcid算法

def gcid_hash_file(path):
    h = hashlib.sha1()
    size = os.path.getsize(path)
    psize = 0x40000
    while size / psize > 0x200 and psize < 0x200000:
        psize = psize << 1
    with open(path, 'rb') as stream:
        data = stream.read(psize)
        while data:
            h.update(hashlib.sha1(data).digest())
            data = stream.read(psize)
    return h.hexdigest()

GET /auth/qiniu/tokens/

name cname type Description
用途 获取七牛token
版本号 v1.0
gcid gcid

curl -XGET https://babieta.xivan.cn/api/v1.0/auth/qiniu/tokens/abc
返回数据:
name cname type Description
code int 返回码 0成功 非0失败
msg string 错误信息
token string 上传文件凭证(5分钟有效)
key string 上传文件key

{
    "code"0,
    "msg":"",
    "token":"xxxx",
    "key":"yyyy"
}

POST /studies/{studies_id}/contents/{contents_id}/

name cname type Description
用途 获取修习列表
版本号 v1.0
studies_id express(表达训练)/soak(浸泡训练)/communication(交流训练)
contents_id 题目id
请求数据:

query_string 参数/可选参数 (get)

name cname type Description
limit 数目 int 默认10
offset 偏移量 int 默认0
filter 筛选条件 object 可选

filter

name cname type Description
status 状态 int 1 上架 2下架
level 等级 array 适用级别

curl -XGET -i "https://babieta.xivan.cn/admin/api/v1.0/studies/express?offset=0&limit=4&filter={"status":1, "level":[1,2]}"

返回数据:
name cname type Description
code int 返回码 0成功 非0失败
msg string 错误信息
list array 测试题列表
count int 总数

object->express_info(表达训练)

name cname type Description
id int id
title string 标题
cover_url int 单词图片
word_chi string 单词中文
audio_text string 语音文本
audio_url string 语音播放url
level 等级 array 适用级别

object->soak_info(浸泡训练)

name cname type Description
id int id
title string 标题
cover_url int 语音图片
audio_url string 语音播放url
level array 适用等级

object->communication_info(交流训练)

name cname type Description
id int id
title string 标题
audio_text string 语音文本
audio_url string 语音播放url
level array 适用等级

{"msg": "", "code": 0, "count":10, "list": [{"id":1, "title":"xxx","audio_text":"xxx", "audio_url":"xxx", "level":[1,2,3,4],...}]}

GET /studies/{studies_id}/contents/{contents_id}

name cname type Description
用途 获取修习项信息
版本号 v1.0
studies_id express(表达训练)/soak(浸泡训练)/communication(交流训练)
contents_id 题目id
请求数据:

query_string 参数/可选参数 (get)

name cname type Description

curl -XGET -i "https://babieta.xivan.cn/admin/api/v1.0/studies/express/1"

返回数据:
name cname type Description
code int 返回码 0成功 非0失败
msg string 错误信息
info object 测试题列表

object->express_info(表达训练)

name cname type Description
id int id
title string 标题
cover_url int 单词图片
word_chi string 单词中文
audio_text string 语音文本
audio_url string 语音播放url
level array 适用等级

object->soak_info(浸泡训练)

name cname type Description
id int id
title string 标题
cover_url int 语音图片
audio_url string 语音播放url
level array 适用等级

object->communication_info(交流训练)

name cname type Description
id int id
title string 标题
audio_text string 语音文本
audio_url string 语音播放url
level array 适用等级

{"msg": "", "code": 0, "list": [{"id":1, "title":"xxx", "audio_text":"xxx", "audio_url":"ccc", "level":[1,2,3]}]}

POST /studies/{studies_id}/contents

name cname type Description
用途 添加修习内容
版本号 v1.0
studies_id express(表达训练)/soak(浸泡训练)/communication(交流训练)
请求数据:

body 参数

express_info(表达训练)

name cname type Description
title string 标题
cover_gcid int 单词gcid
word_chi string 单词中文
audio_text string 语音文本
audio_gcid string 语音播放gcid

soak_info(浸泡训练)

name cname type Description
title string 标题
cover_gcid int 图片gcid
audio_gcid string 语音gcid

communication_info(交流训练)

name cname type Description
title string 标题
audio_text string 语音文本
audio_gcid string 语音文件gcid

curl -XPOST -i "https://babieta.xivan.cn/admin/api/v1.0/studies/express" -H "Content-Type/application/json" 
-d '{"title":"xxx", "cover_gcid":"yyy", "word_chi":"333", "audio_text":"333", "audio_gcid":"xxx"}'

返回数据:
name cname type Description
code int 返回码 0成功 非0失败
msg string 错误信息

{"msg": "", "code": 0}

PUT /studies/{studies_id}/contents/{contents_id}

name cname type Description
用途 编辑修习内容(局部更新)
版本号 v1.0
studies_id express(表达训练)/soak(浸泡训练)/communication(交流训练)
contents_id 内容项id
请求数据:

body 参数/除id外均可选参数

express_info(表达训练)

name cname type Description
id int id
title string 标题
cover_url int 单词图片
word_chi string 单词中文
audio_text string 语音文本
audio_gcid string 语音文件gcid

soak_info(浸泡训练)

name cname type Description
id int id
title string 标题
cover_url int 语音图片
audio_gcid string 语音文件gcid

communication_info(交流训练)

name cname type Description
id int id
title string 标题
audio_text string 语音文本
audio_gcid string 语音文件gcid

curl -XPUT -i "https://babieta.xivan.cn/admin/api/v1.0/studies/express/contents/2" -H "Content-Type/application/json" 
-d '{"title":"xxx", "cover_url":"yyy", "word_chi":"333", "audio_text":"333", "audio_gcid":"xxx"}'
返回数据:
name cname type Description
code int 返回码 0成功 非0失败
msg string 错误信息

{"msg": "", "code": 0}

DELETE /studies/{studies_id}/contents/{contents_id}

name cname type Description
用途 删除修习内容项
版本号 v1.0
studies_id express(表达训练)/soak(浸泡训练)/communication(交流训练)
contents_id 内容项id

curl -XDELETE -i "https://babieta.xivan.cn/admin/api/v1.0/studies/express/contents/2" -H "Content-Type/application/json" 
返回数据:
name cname type Description
code int 返回码 0成功 非0失败
msg string 错误信息

{"msg": "", "code": 0}

你可能感兴趣的:(三项修习管理端)