网络引流系统前后端数据交互接口设计
网络引流系统采用前后端完全解耦的方式进行写作开发,前端主要责任是实现跟用户之间的界面交互,后台的主要责任是进行业务逻辑的处理及业务数据的持久化,前后端通过http协议进行数据交互实现系统的整体联动。
根据用户交互界面,前后端交互接口如下:
注:接口引用中base_url为系统项目管理平台的部署入口URL。
1 登录
接口URL:base_url/login
交互方式:POST JSON
响应数据格式:JSON
{
‘flg’:x, //状态,0:登录失败;1:成功
‘msg’:’xxxxxx’, //消息,失败原因,用户名密码错误或者是系统内部错误‘username’:’xxxxxx’//登录用户名
}
2 退出
接口URL:base_url/logout
交互方式:HTTP GET
交互参数:无
响应数据格式:JSON
{
‘flg’:x, //状态,0:登录失败;1:成功
‘msg’:’xxxxxx’//消息,失败原因,用户名密码错误或者是系统内部错误}
3 加载渠道列表
接口URL:base_url/channel/list
交互方式:POST JSON
响应数据格式:JSON
{
‘flg’:x, //状态,0:失败;1:成功;-1:未登录
‘msg’:’xxxxxx’, //消息,失败原因,参数错误或者是系统内部错误
‘total’:x, //总记录数,如失败或者未登录,则不需要响应此数据
‘items’:[{渠道数据}] //渠道数据列表,如失败或者未登录,则不需要响应此数据}
注:渠道数据中,需要一个额外的字段,创建人名称,此字段数据来源于用户表,前端可排序字段:名称、创建时间、状态
4 编辑渠道
接口URL:base_url/channel/edit
交互方式:POST JSON
交互参数:复杂JSON格式
{
‘id’:xxxx, //ID,新增渠道时,ID为空
‘code’:xxxx, //代码
‘name’:xxxx, //名称‘remark’:xxxx, //说明
‘level’:xxxx, //等级
‘feature’:xxxx, //特性
‘state’:xxxx, //状态
‘flag’:xx //操作标志,-1:删除;0:编辑;1:新增‘props’:[
{
‘id’:xxxxx, //属性ID,新增的属性,ID为空
‘code’:xxxx, //属性代码
‘name’:xxxxx, //属性名称
‘value’:xxxx, //属性值
‘flag’:xx //操作标志,-1:删除;0:编辑;1:新增
},
?? //其他属性
]
}
响应数据格式:JSON
{
‘flg’:x, //状态,0:失败;1:成功;-1:未登录
‘msg’:’xxxxxx’, //消息,失败原因,参数错误或者是系统内部错误
}
注:渠道特性来源于属性模板表,属性模板表里的类别为“channel_feature_props_tmpl”的属性列表即为渠道特性选项列表。属性那里,如果有模板id的,属性代码不可编辑,如果没有模板id,属性代码可编辑,没有模板id的说明是用户手工添加的属性。另外,有模板id的,如果模板上定义的属性是不可删除的,则这条属性是不能删除的,界面上对应的属性不需要删除按钮及操作,后台也不能删除此属性,如果模板定义的属性是必填的,则这条属性的值不能为空,前端后端就要进行验证。
5 加载渠道属性
接口URL:base_url/channel/props/{id}
交互方式:RESTFul
交互参数:渠道记录ID,直接包含在URL中,{id}即为渠道记录ID,以get的方式交互
响应数据格式:JSON
{
‘flg’:x, //状态,0:失败;1:成功;-1:未登录
‘msg’:’xxxxxx’, //消息,失败原因,参数错误或者是系统内部错误
‘total’:x, //总记录数,如失败或者未登录,则不需要响应此数据
‘items’:[{渠道属性数据}] //渠道属性数据列表,如失败或者未登录,则不需要响应此数据}
注:渠道属性数据中,需要额外的字段,可删除、必填,字段数据来源于属性模板表。
属性那里,如果有模板id的,属性代码不可编辑,如果没有模板id,属性代码可编辑,没有模板id的说明是用户手工添加的属性。另外,有模板id的,如果是不可删除的,则这条属性是不能删除的,界面上对应的属性不需要删除按钮
网络引流系统前后端数据交互接口设计 来自淘豆网m.daumloan.com转载请标明出处.