remindHelper.js
2.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
define(['mUtil'], function (mUtil) {
return {
renderBadge: function (badges, $badges, remindApis) {
if (!mUtil.isArray(badges) && !mUtil.isString(badges) && isNaN(badges)) return;
var _render = function (_badges) {
if (!mUtil.isArray(_badges) && mUtil.isString(_badges)) {
_badges = [_badges];
}
_badges.forEach(function (badgeNum, i) {
var $badgei = $badges.eq(i);
if($badgei.data("api")) return;
_renderEl($badgei, badgeNum);
});
}, _renderEl = function($badgei, badgeNum){
if (!badgeNum || badgeNum == "0") {
$badgei.html("").hide();
return;
}
if(!isNaN(badgeNum) && Number(badgeNum) > 99){
badgeNum = "99+";
}
$badgei.html(badgeNum).css("visibility", "visible").show();
};
var remindApiSize = 0;
if(mUtil.isArray(remindApis) || mUtil.isObject(remindApis)){
remindApiSize = mUtil.isArray(remindApis) ? remindApis.length : 1;
require(["apiHelper"], function(apiHelper){
var callApi = function(apiConfig){
apiHelper.callApi(apiConfig, {}, function(result){
var formats = apiConfig.response.formats;
var datas = formats.DATAS ? mUtil.getKeyValue(formats.DATAS, result) : result;
if(mUtil.isObject(datas)){
try{
datas = JSON.stringify(datas);
}catch(e){}
}
var $selEl = $badges.filter(function(index){
if(((apiConfig.uuid ? (apiConfig.uuid + "_") : "") + apiConfig.api.id) == $(this).data("api")){
return this;
}
});
_renderEl($selEl, datas);
});
};
if(mUtil.isArray(remindApis)){
remindApis.forEach(function(apiConfig){
callApi(apiConfig);
});
}else{
callApi(remindApis);
}
});
}
if (mUtil.isString(badges)) {
var actionUrl = badges;
if($badges.length <= remindApiSize) return;
return mUtil.getJSON(actionUrl, function (result) {
var _badges = result.data || "";
_render(_badges);
});
}
_render(badges);
}
};
});