Score.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. Namespace.register("U.MD.U.S"); //积分
  2. //类型
  3. U.MD.U.S.TF = { "Contribute": "找出漏洞", "Introduce": "推广本网站", "Upload": "上传文件", "PostArticle": "发表文章", "Online": "在线时间", "Reply": "回复文章", "SignIn": "登陆签到", "Download": "下载文件", "DiskAddition": "硬盘增加", "IllegalImage": "发布违规图片" }
  4. U.MD.U.S.FTF = { "Upload": "UseStudioUserDiskDiv", "Download": "UseStudioUserDiskDiv", "PostArticle": "UseStudioStudyControlDiv", "Reply": "UseStudioStudyControlDiv" };
  5. //用户数据分页
  6. U.MD.U.S.E = {};
  7. //点击积分图标
  8. U.MD.U.S.LoginIC = function () {
  9. var _UICD = $("#UU_IC")[0], _UDGG = $("#UU_ICBG_GG")[0]; //积分的显示区域
  10. U.UF.F.windowTopCenter(_UICD); //居中弹框
  11. U.MD.U.S.GetIC($("div#UU_IC_Pay", _UICD)[0]); //获取积分统计
  12. U.MD.D.T.WindowRestore(_UICD, '', '积分中心'); //创建任务栏
  13. }
  14. //切换
  15. U.MD.U.S.SIC = function (TF) {
  16. U.MD.U.S.YXICD["none", "block"]; //切换到显示的div
  17. if (TF == 1) { U.MD.U.S.GetIC($("#UU_IC_Pay")[0]); }
  18. else { U.MD.U.S.ICSS(1); }
  19. }
  20. //切换的显示和隐藏
  21. U.MD.U.S.YXICD = function (TF) {
  22. $('#UU_IC_HB')[0].style.display = TF[0];
  23. $('#UU_IC_Info')[0].style.display = TF[1];
  24. }
  25. //------------------------------------------------------------------------用户个人
  26. //用户积分资料
  27. U.MD.U.S.SUIC = function (UICD) {
  28. var i, TF = 0, _UDAD = $("#UU_IC_Avatar", UICD)[0], _UET = U.MD.U.S.E[US.userInfo.userid]["ICCSV"][0]; _UDAD.innerHTML = "";
  29. for (i = 0; i < _UET.length; i++) { TF += _UET[i].VCSumValue; } //获取用户显示的积分
  30. //显示用户积分资料
  31. $$("img", { "onerror": U.MD.C.imgError,
  32. "onerror": U.MD.C.imgError,
  33. "id": "UU_IC_Avatar_img", "src": U.MD.C.getHeadImage(US.userInfo.UserThumbnailImageHead)
  34. }, _UDAD);
  35. $("#UU_IC_VCSum", UICD)[0].innerHTML = TF; //用户积分
  36. }
  37. //------------------------------------------------------------------------用户积分消耗查询(分)
  38. //用户积分查询分页
  39. U.MD.U.S.ICSS = function (P) {
  40. var SP = Math.ceil(P * 7 / 70),
  41. _E = SP * 70,
  42. _S = _E - 69,
  43. UPDL = U.MD.U.S.E[US.userInfo.userid];
  44. if (UPDL && (UPDL = UPDL["Page"]) && (UPDL = UPDL[SP])) {
  45. var _TP = P % 10;
  46. _TP = _TP == 0 ? 10 : _TP;
  47. _E = _TP * 7; _S = _E - 7; //分页算法
  48. var _UICL = UPDL.slice(_S, _E); //获取打印的数据
  49. U.MD.U.S.SetICSS(_UICL, P);
  50. }
  51. else { U.A.Request("UseStudioPay.UserGetSomeVC", [_S, _E], U.MD.U.S.AsynICSS, ["", P, SP, US.userInfo.userid]); } //获取积分明细记录
  52. }
  53. //异步用户资料查询
  54. U.MD.U.S.AsynICSS = function (r) {
  55. var _context = r.context;
  56. r = r.value;
  57. if (U.MD.U.S.E[_context[3]] == null) {
  58. U.MD.U.S.E[_context[3]] = { "Page": [] };
  59. }
  60. else if (U.MD.U.S.E[_context[3]]["Page"] == null) {
  61. U.MD.U.S.E[_context[3]]["Page"] = [];
  62. }
  63. U.MD.U.S.E[_context[3]]["Page"][_context[2]] = r[0]; //添加用户数据
  64. U.MD.U.S.ICTT(r[1], $("#UU_ICM_UU_IC_Heroes")[0]); //打印英雄榜
  65. U.MD.U.S.ICSS(_context[1]); //用户积分查询分页
  66. }
  67. //设置分页
  68. U.MD.U.S.SetICSS = function (UICL, P) {
  69. if (UICL.length > 0) {
  70. U.MD.U.S.ICPL(UICL, ["时间", "来源", "来源", "积分"], $("#UU_IC_Info")[0]); //打印数据
  71. new U.UF.P.page($("#UU_IC_Pag")[0], UICL[0].AllCount, 7, P, function (P) { U.MD.U.S.ICSS(P); }); //分页
  72. }
  73. }
  74. //-------------------------------------------------------------------获取用户积分消耗情况(总)
  75. //获取积分
  76. U.MD.U.S.GetIC = function (UICD) {
  77. if (U.MD.U.S.E[US.userInfo.userid] && U.MD.U.S.E[US.userInfo.userid]["ICCSV"]) {
  78. U.MD.U.S.SetIC(U.MD.U.S.E[US.userInfo.userid]["ICCSV"], UICD);
  79. }
  80. else {
  81. U.A.Request("UseStudioPay.UserCountVC", [], U.MD.U.S.AsynGetIC, [UICD, 1, US.userInfo.userid]);
  82. } //获取积分统计
  83. }
  84. //获取积分异步
  85. U.MD.U.S.AsynGetIC = function (r) {
  86. var _context = r.context;
  87. r = r.value;
  88. if (U.MD.U.S.E[_context[2]] == null) {
  89. U.MD.U.S.E[_context[2]] = {};
  90. }
  91. U.MD.U.S.E[_context[2]]["ICCSV"] = r; //积分消耗统计
  92. U.MD.U.S.GetIC(_context[0], r); //显示积分
  93. }
  94. //打印积分详情(总)
  95. U.MD.U.S.SetIC = function (UIC, UICD) {
  96. U.MD.U.S.ICTT(UIC[1], $("div#UU_ICM_UU_IC_Heroes", UICD)[0]); //打印排名
  97. U.MD.U.S.ICPL(UIC[0], ["时间", "来源", "积分", "次数"], $("div#UU_IC_Info", UICD)[0]); //积分使用获得的变化
  98. U.MD.U.S.SUIC(UICD); //设置用户积分信息
  99. }
  100. //打印积分排名
  101. U.MD.U.S.ICTT = function (UICL, UOD) {
  102. var i, _UCL, _el, _UDTD,
  103. _UDFD = $$("frag");
  104. UOD.innerText = "";
  105. for (i = 0; i < UICL.length; i++) {
  106. _UCL = UICL[i]; //获取积分名次
  107. _el = $$("div", {
  108. "style":
  109. {
  110. "marginTop": "8px"
  111. },
  112. "onclick": function () {
  113. U.UF.EV.stopBubble();
  114. U.MD.U.V.POUW(_UCL.UserId);
  115. }
  116. }, _UDFD);
  117. $$("img", { "onerror": U.MD.C.imgError,
  118. "onerror": U.MD.C.imgError,
  119. "src": U.MD.C.getHeadImage(_UCL.UserThumbnailImageHead),
  120. "className": "UU_IC_Heroes_img"
  121. }, _el);
  122. $$("div", {"className": "UU_IC_HSOne","innerHTML": _UCL.UserNickName}, _el);
  123. _UDTD = $$("div", {"className": "UU_IC_HSTwo"}, _el);
  124. $$("span", {"innerHTML": "积分:"}, _UDTD);
  125. $$("span", {"style":{"color": "#3081fe"},"innerHTML": _UCL.VCSumValue}, _UDTD);
  126. }
  127. UOD.appendChild(_UDFD);
  128. }
  129. //打印用户积分来源
  130. U.MD.U.S.ICPL = function (UICL, UDTF, UOD) {
  131. UOD.innerText = $("#UU_IC_Pag")[0].innerText = "";
  132. var i, j, _UCI, _UDSD,
  133. _el = $$("div", { "className": "UU_IC_Values" }),
  134. _UDTD = $$("div", {"className": "UU_IC_VP"});
  135. for (i = 0; i < UDTF.length; i++) {
  136. $$("div", {
  137. "innerHTML": UDTF[i],
  138. "style": { "width": (i == 3 ? "50px " : (i == 1 ? "100px" : i == 2 ? "200px" : "")) }
  139. }, _el);
  140. };
  141. for (j = 0; j < UICL.length; j++) {
  142. _UCI = UICL[j];
  143. _UDSD = $$("div", {"className": "UU_IC_SG"}, _UDTD);
  144. $$("div", {"innerHTML": U.UF.D.getDateInterval(_UCI.VCDateTime)}, _UDSD);
  145. $$("div", {"innerHTML": U.MD.U.S.TF[_UCI.VCType], "style": { "width": "100px" }}, _UDSD);
  146. $$("div", {
  147. "onclick": _UCI.VCCountValue ? "" : U.MD.U.S.FTF[_UCI.VCType] ? function () {
  148. U.UF.EV.stopBubble(); U.UF.C.divdoubleClick(U.MD.U.S.FTF[_UCI.VCType],
  149. _UCI.VCDetailsDataID, null, null, "ART" + _UCI.VCDetailsDataID);
  150. } : "", "className": ("U_MD_D_Text_Abbreviation" + (_UCI.VCCountValue ? "" : " UU_IC_FS")),
  151. "style":
  152. {
  153. "color": _UCI.VCCountValue ? "" : "#3081fe", "width": "200px"
  154. },
  155. "innerHTML": _UCI.VCCountValue ? _UCI.VCSumValue : _UCI.VCDetailsDataValue
  156. }, _UDSD);
  157. $$("div", {"innerHTML": _UCI.VCCountValue || _UCI.VCValue,"style":{"width": "50px"}}, _UDSD);
  158. }
  159. UOD.appendChild(_el); UOD.appendChild(_UDTD);
  160. }
  161. //--------------------------------------------------------------------------------汇换空间----------------------------------------------------------------------------
  162. //弹出
  163. U.MD.U.S.ICEXC = function (TF) {
  164. var _UIED = $("#UU_IC_EXC")[0];
  165. if (TF == "block") { U.UF.F.topWindow(_UIED); } //解决层次的问题
  166. _UIED.style.display = TF; //显示或者隐藏
  167. }
  168. //用户换去空间
  169. U.MD.U.S.ICGK = function (UICD) {
  170. var i, _TF = 0,
  171. _UICE = U.MD.U.S.E[US.userInfo.userid]["ICCSV"][0];
  172. UICV = UICD.value;
  173. for (i = 0; i < _UICE.length; i++) {
  174. _TF += _UICE[i].VCSumValue;
  175. } //获取用户所有的积分
  176. if (parseFloat(UICV) < 0) {
  177. U.alert("请输入正整数");
  178. } //换取有效网盘空间
  179. else if (!U.UF.S.Number.test(UICV)) {
  180. U.alert("您的输入有误,请输入数字!");
  181. } //输入的是无效数据
  182. else if (UICV > _TF) {
  183. U.alert("您的积分不足");
  184. } //积分不足无法汇换
  185. else {
  186. U.UF.UI.confirm("确定确定要兑换" + UICV + "M的空间吗?", function () {
  187. // U.A.Request(US.USER,"UseStudioManage.UserDiskAddition", [UICV], U.MD.U.S.AsynICGK, ["", UICD, UICV]);
  188. UICD.parentNode.parentNode.parentNode.style.display = "none"; UICD.value = "";
  189. })
  190. } //于服务器同步增加用户的网盘
  191. }
  192. //汇换空间异步
  193. U.MD.U.S.AsynICGK = function (r) {
  194. var _context = r.context;
  195. r = r.value;
  196. if (r) {
  197. var i, _TF = true,
  198. ICDE = U.MD.U.S.E[US.userInfo.userid]["ICCSV"][0];
  199. for (i = 0; i < ICDE.length; i++) {
  200. if (ICDE[i]["VCType"] == "DiskAddition") {
  201. _TF = false; ICDE[i].VCSumValue -= _context[2];
  202. ICDE[i].VCCountValue += 1;
  203. }
  204. } //修改用户积分消耗信息
  205. if (_TF) {
  206. var _E = new U.MD.U.S.PICE[1, new Date(), -_context[2], "DiskAddition"],
  207. _UICE = U.MD.U.S.E[US.userInfo.userid]["Page"];
  208. ICDE.push(_E);
  209. if (_UICE && _UICE.length > 0) {
  210. var _ICE = U.MD.U.S.ICE(_UICE[1][0].AllCount, "0", US.userInfo.userid, new Date(), Guid.newGuid(), "硬盘增加", Guid.newGuid(), "DiskAddition", -_context[2]); _UICE[1].unshift(_ICE);
  211. }
  212. } //添加用户积分消耗信息
  213. U.MD.U.S.SUIC();
  214. U.MD.U.S.ICPL(ICDE, ["时间", "来源", "积分", "次数"], $("#UU_IC_Info")[0]);
  215. US.userInfo.UserDiskSpace += 1; //积分使用获得的变化 //用户信息
  216. }
  217. }
  218. //-----------------------------------------------------------------------------数据结构-------------------------------------------------------------------------------
  219. //积分的结构
  220. U.MD.U.S.PICE = function (E) {
  221. this.VCCountValue = E[0];
  222. this.VCDateTime = E[1];
  223. this.VCSumValue = E[2];
  224. this.VCType = E[3];
  225. }
  226. //积分的消耗
  227. U.MD.U.S.ICE = function (E) {
  228. this.AllCount = E[0];
  229. this.PageNum = E[1];
  230. this.UserID = E[2];
  231. this.VCDateTime = E[3];
  232. this.VCDetailsDataID = E[4];
  233. this.VCDetailsDataValue = E[5];
  234. this.VCID = E[6];
  235. this.VCType = E[7];
  236. this.VCValue = E[8];
  237. }