#发布器点赞api说明
接口基本地址
http://huodong.duowan.com/commonzan/index.php
| 功能 | 地址拼接 | 详细地址 |
| -- | -- | -- |
| 初始化数据 | 地址+ ?r=default/init
| http://huodong.duowan.com/commonzan/index.php?r=default/init
|
| 触发请求数据 | 地址+?r=default/click
| http://huodong.duowan.com/commonzan/index.php?r=default/click
|
不需要调用集合Vote.js的可以直接调用原生的接口去实现自己所需要的内容 需要调用集合api的可以往下看
http://huodong.duowan.com/commonzan/index.php?r=default/init
| 接口参数 | 类型 | 默认 | 可选 | 说明 | | -------- | --- | --- | --- | --| | title | string | - | - | 必填 |
参数 | 类型 | 说明 |
---|---|---|
code | number | 状态码,200代表成功,100代表标题为空 |
message | string | 返回的状态信息 |
result | json | 里面包含3个值,分别是is_click(json),title(string),value(json) 下面会对result的值进行说明 |
result值的说明
名称 | 类型 | 说明 | 例子 |
---|---|---|---|
is_click | json | 数据能否点击, 格式是 第几个按钮 : 能否点击 ,如果之前按钮没有被点击过的话也是为空的 | is_click:{1:0,2:1,3:0,4:1} |
title | string | 文章的标题 | - |
value | json | 某个值的投票数据value_list(json),同时包含了总和value_sum(number),特别说明一下,如果没有点击过的话则数据为空,并不是为0的 |
"result":{"value":{"value_list":{"1":"1","2":"1","3":"1","4":"1"},"value_sum":4} |
http://huodong.duowan.com/commonzan/index.php?r=default/click
| 接口参数 | 类型 | 默认 | 可选 | 说明 |
| -------- | --- | --- | --- | --|
| addition | string | toggle | toggle
single
unique
| [可选]toggle 表示点击之后可以取消 single;代表可以点击,不能取消(可以投多个票,类似战队投票可以对所有战队投票);unique 同组只能投一个票(类似表情投票) |
| title | string | - | - | [必须]文章的标题,将作为唯一的id记录,为了保证唯一性,可以在标题后面加上网址/时间增加唯一性 |
| value | number | - | - | [必选]代表点的值的index值,只记录这个index对应了是否点击了,以及点击的次数 |
| day | number | 0 | 0
1
| [可选]代表再次投票的时间周期,默认是投票之后,一直都不允许再次投票,建议写1,代表1天(0点)重置投票 |
| rv | number | 0 | 0
1
| [可选]代表返回的结果时候返回统计数据的值,默认不返回,1代表返回,0代表不返回 |
参数 | 类型 | 说明 |
---|---|---|
code | number | 状态码,100代表标题为空,101已经点过了(single),102已经点过该项的其他项(unique),200操作成功(single,unique) / 取消成功(toggle) |
message | string | 返回对于的信息 |
result | json | 包含title 以及ip。title是请求时候的title,ip是用户点击的ip |
如果一个按钮没有被点击的时候,它们他返回过来的数据都是空对象,这个时候它处于一个可以点击状态的 当然如果一个对象返回过来的是is_click是0的话它也是允许被点击的。 当且仅当这个这个按钮的is_click为1的时候,我们就判断他被点击过,其余时候都代表它是可以被点击的
vote是一个已经集合好点赞api的一个接口,只需要几部简单的调用就可以使用到功能了, 目前还处于试验简单,有什么问题的话请联系我(YY:909013894 李建军),进行反馈 因为现在页面上的Footer.js已经自带了cmd 所以只需要js放到页面最后就可以
id这里不一定写id,但是保证唯一也可以
options
参数 | 类型 | 说明 | 默认 | 回调参数 |
---|---|---|---|---|
voteTitle | string | [必选] 标题,保证唯一性 | - | - |
voteTime | string | [建议选] 时间,写上当前日期,保证唯一性,需要刷新数据的话更改时间就可以了 | - | - |
type | string | [必选] 投票的种类,默认unique。可选项toggle(点赞之后可以取消,类似于取消点赞),single(多选多,可以同时选几个,但是不可以取消) | - | unique |
itemBtn | string | [可选] 点击的按钮 | [data-vote="btn"] |
- |
itemVal | string | [可选] 显示数据值的地方 | [data-vote="value"] |
- |
endClass | string | [可选] 已经点击了之后的样式,给itemBtn添加的,可以改变样式 | is-end |
- |
needfresh | boolean | [可选] 默认不刷新,是否需要同步刷新所有itemVal数据 | false |
- |
initFn | function | [可选]数据初始化之后的回调函数 | - | 返回this,代表Vote对象,rstJson是一个json格式的数据{index:val,index2:val} ,代表每一个itemBtn的点击状态, index是dom的序号从0开始,val代表点击状态,0代表未点击,1代表点击 |
successFn | function | [可选]点赞成功之后的回调函数 | - | - |
failFn | function | [可选]点赞失败之后的回调函数 | - | - |
time | number | [可选] 投票更新周期,可选0 ,1 |
1 |
- |
引入js文件
CMD
http://assets.dwstatic.com/project/vote/1.0.0/js/vote.js
JQuery
http://assets.dwstatic.com/project/vote/1.0.0/js/vote-jq.js
写好页面结构
<div class="vote is-single">
<button data-vote="btn">点击按钮</button><span data-vote="value">显示的地方</span>
<button data-vote="btn">点击按钮</button><span data-vote="value">显示的地方</span>
<button data-vote="btn">点击按钮</button><span data-vote="value">显示的地方</span>
<button data-vote="btn">点击按钮</button><span data-vote="value">显示的地方</span>
<button data-vote="btn">点击按钮</button><span data-vote="value">显示的地方</span>
<button data-vote="btn">点击按钮</button><span data-vote="value">显示的地方</span>
</div>
对js进行配置,放到页面最后
<script>
var vote=new Vote('.is-single',{
'voteTitle':'test14',
type:'unique',
valFn:function (val,sum) {
$(this).html('空的地方是:'+val+', 总数是:'+sum)
},
successFn:function (_this) {
alert('成功点赞')
console.log(this)
},
failFn:function () {
alert('点赞失败')
},
needfresh:true
});
</script>
简单版
<div class="vote is-single">
<button data-vote="btn">点击按钮</button><span data-vote="value">显示的地方</span>
</div>
<!-- 以下内容放到页面最后 -->
<script src="http://assets.dwstatic.com/project/vote/1.0.0/js/vote.js"></script>
<script>
var vote=new Vote('.is-single',{
'voteTitle':'test14',
type:'single'
needfresh:true
});
</script>