zan.md 7.0 KB

#发布器点赞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的可以往下看

初始化地址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接口

vote是一个已经集合好点赞api的一个接口,只需要几部简单的调用就可以使用到功能了, 目前还处于试验简单,有什么问题的话请联系我(YY:909013894 李建军),进行反馈 因为现在页面上的Footer.js已经自带了cmd 所以只需要js放到页面最后就可以

参数说明 Vote(id[,options])

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 -

使用方法

  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

  2. 写好页面结构

    <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>
    
    1. 对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>