/*
@说明:瀑布流 Woo unit 单元在此组装,已经尽量简化过,搞定此文件才能真正将Woo 纳为己有。
@准备事项:
我们使用了artTemplate 生成html 字符串,在此感谢腾讯CDC 为前端事业做出的重大贡献。
编辑此文件之前请先学习artTemplate 的使用方法,具体地址如下:
https://github.com/aui/artTemplate
*/
//####################################################################
// 你可能会用到的 字符串截取功能 "abc".cut(1)
/**
* 字符串左起字节数
* @return {String} 返回字符串左起字节数
*/
if(!String.prototype.lenB){
String.prototype.lenB = function(){
return this.replace(/[^\x00-\xff]/g,"**").length;
}
}
/**
* 截取字符串左起字节数
* @param {String} o string对象
* @param {Number} n 截取个数
* @return {String} 返回左起字符串
*/
if(!String.prototype.leftB){
String.prototype.leftB = function(n){
var s = this,
s2 = s.slice(0, n),
i = s2.replace(/[^\x00-\xff]/g, "**").length;
if (i <= n) {
return s2;
}
i -= s2.length;
switch (i) {
case 0: return s2;
case n: return s.slice(0, n >> 1);
default:
var k = n - i,
s3 = s.slice(k, n),
j = s3.replace(/[\x00-\xff]/g, "").length;
return j ? s.slice(0, k) + s3.leftB(j) : s.slice(0, k);
}
}
}
/**
* 按需截取字符串,如有截取则按需补足,比如'...'
* @依赖: leftB 方法
* @param {String} s string对象
* @param {Number} n 截取个数
* @param {String} a 如有截取用来补足,默认为'...'
* @param {Bool} b 是否按字节截取,true 按字符 false(默认) 按字节
* @return {String} 返回截取后的字符串
*/
if(!String.prototype.cut){
String.prototype.cut = function(n, a, b){
var s = this;
r = b ? s.substr(0, n) : s.leftB(n);
return r == s ? r : r + (typeof a === 'undefined' ? '…' : a);
}
}
;(function (){
if( !$.Woo ){
return
}
var ua = navigator.userAgent.toString().toLowerCase(),
ipad = !!ua.match(/ipad/ig),
// 是否使用 srcd 替代 的src 属性,用于图片延迟加载
// ipad 不适用,因为出过 bug
SRCD = !ipad,
// (function数组) 每次请求成功后,对数据进行分析处理
ANALYZERESPONSE = [],
// (function数组) 使用artTemplate 拼装数据
RENDER = [],
// (template数组) 存放不同类型的template
TEMPLATES = [],
// (extra数据数组) ANALYZERESPONSE 方法内填充 extra 数据供 RENDER 方法使用
EXTRADATA = [];
/*
ANALYZERESPONSE RENDER TEMPLATES EXTRADATA
均为数组,同一下标对应一类瀑布流形态(瀑布流单元里的内容或形状不相同)
不同类别的瀑布流通过在 .woo-pcont 节点上的 data-wootemp="1" 设置
*/
//####################################################################
TEMPLATES = [
'
\ <%= u.video.name %> \ \ <%= u.user %> \ \
\