anniversaryCelebrate.html 54 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
  6. <title>周年庆活动</title>
  7. <link rel="icon" href="../static/img/favicon2.ico" type="img/x-ico">
  8. <link rel="stylesheet" href="../static/js/vender/toastr/toastr.min.css">
  9. <link rel="stylesheet" href="../static/css/anniversaryCelebrate.css">
  10. <link rel="stylesheet" href="../static/css/doubleChristmasActivity.css">
  11. <script src="../static/js/vender/jquery-3.4.1.min.js"></script>
  12. <script src="../static/js/vender/toastr/toastr.min.js"></script>
  13. <script src="../static/js/vender/config.js"></script>
  14. <style>
  15. .reward-list{
  16. display: none;
  17. }
  18. .slider{
  19. height: 5.92rem;
  20. overflow: hidden;
  21. }
  22. .slider-item {
  23. padding-left: 0.3rem;
  24. }
  25. .page{
  26. color: #FFFFFF;
  27. }
  28. .icon_xingyao{
  29. width: 0.8rem;
  30. height: 0.4rem;
  31. }
  32. .reward-btn-img{
  33. width: 4rem;
  34. height: 0.6rem;
  35. margin: auto;
  36. }
  37. .distribution-reward-btn{
  38. width: 100%;
  39. text-align: center;
  40. }
  41. .distribution-time-Record{
  42. width: 1.6rem;
  43. margin: 0.2rem auto 0.4rem auto;
  44. padding-bottom: 0.05rem;
  45. border-bottom: 0.01rem solid #F5F5F5;
  46. font-size: 0.26rem;
  47. color: #FFFFFF;
  48. }
  49. .reward-row{
  50. height: 0.8rem;
  51. margin-top: 0.1rem;
  52. }
  53. .page-row{
  54. margin-top: 0.4rem;
  55. }
  56. .time-color{
  57. color: #FDFF41;
  58. }
  59. .btn-wrap{
  60. position: absolute;
  61. bottom: -0.3rem;
  62. left: 50%;
  63. transform: translateX(-50%);
  64. }
  65. .select-page-number{
  66. color: #FFFFFF;
  67. }
  68. .slider-list{
  69. height: 4.5rem;
  70. overflow-y: scroll;
  71. }
  72. .slider{
  73. padding-top: 0.2rem;
  74. }
  75. .reward-row:first-child{
  76. margin: 0;
  77. }
  78. </style>
  79. </head>
  80. <body>
  81. <div class="container">
  82. <span class="ipts"></span>
  83. <div class="rule-wrap">
  84. <img class="rule" src="../static/img/anniversaryCelebrate/rule.png" />
  85. </div>
  86. <div class="activity-text-wrap">
  87. <img class="activity-text" src="../static/img/anniversaryCelebrate/activity-text.png" />
  88. </div>
  89. <div class="activity-tips-wrap">
  90. <img class="activity-tips" src="../static/img/anniversaryCelebrate/activity-tips.png" />
  91. </div>
  92. <div class="star-wrap">
  93. <img class="star" src="../static/img/anniversaryCelebrate/star.png" />
  94. <img class="light-show" src="../static/img/anniversaryCelebrate/light-show.gif" />
  95. <img class="award-success" src="../static/img/anniversaryCelebrate/award-success.png" />
  96. <div class="point-wrap"></div>
  97. </div>
  98. <div class="station-wrap">
  99. <img class="station" src="../static/img/anniversaryCelebrate/station.png" />
  100. <div class="station-text-wrap">
  101. <div class="once-text">购买/续费星曜月卡,获得 <span class="time-color">1次</span> 点亮资格</div>
  102. <div class="ten-text">购买/续费星曜年卡,获得 <span class="time-color">10次</span> 点亮资格</div>
  103. </div>
  104. <div class="btn-list">
  105. <img class="once-btn btn" src="../static/img/anniversaryCelebrate/once.png" />
  106. <img class="five-btn btn" src="../static/img/anniversaryCelebrate/fifce.png" />
  107. </div>
  108. </div>
  109. <div class="award-get-wrap">
  110. <div class="number-wrap">
  111. <div class="rest-times">剩余次数<span class="rest-number"></span>次</div>
  112. <div class="process-wrap">
  113. <div class="small-star-wrap">
  114. <img class="small-star" src="../static/img/anniversaryCelebrate/small-star.png" />
  115. </div>
  116. <div class="line-out-wrap">
  117. <div class="line-wrap">
  118. <img class="icon icon1" src="../static/img/anniversaryCelebrate/icon2.png" />
  119. <div class="icon-once">1</div>
  120. <img class="icon icon2" src="../static/img/anniversaryCelebrate/icon1.png" />
  121. <div class="icon-five-times">5</div>
  122. </div>
  123. </div>
  124. </div>
  125. </div>
  126. <img class="get-times" src="../static/img/anniversaryCelebrate/get-times.png" />
  127. </div>
  128. <div class="no-join-activity">激活码、优惠券、星币购买的订单及PC端不参与本次活动</div>
  129. <div class="light-record-wrap">
  130. <div class="record-title-wrap">
  131. <img class="record-title" src="../static/img/anniversaryCelebrate/record-title.png" />
  132. </div>
  133. <div class="record-main-wrap">
  134. <img class="selected-bg" src="../static/img/anniversaryCelebrate/right-selected.png" />
  135. <div class="change-wrap">
  136. <div class="get-award-wrap">
  137. <img class="award-img" src="../static/img/anniversaryCelebrate/left-bg.png" />
  138. <img class="get-award-img" src="../static/img/anniversaryCelebrate/get-award-show.png" />
  139. <div class="get-award-text">充值奖励</div>
  140. </div>
  141. <div class="get-award-wrap get-award-right-wrap">
  142. <img class="award-img right-bg" src="../static/img/anniversaryCelebrate/right-bg.png" />
  143. <img class="get-award-img" src="../static/img/anniversaryCelebrate/get-award-success-hidden.png" />
  144. <div class="get-award-text used-text">分配奖励</div>
  145. <div class="no-distribution-award"></div>
  146. </div>
  147. </div>
  148. <div class="light-content-container">
  149. <div class="light-content-list"></div>
  150. <div class="all-light">已全部点亮<text class="light-number"></text>次</div>
  151. </div>
  152. <div class="reward-list">
  153. <div class="light-title-wrap">
  154. <div class="light-title-text">总时长<text class="time-color all-time">0</text>天</div>
  155. <div class="light-title-text">已分配<text class="time-color get-time">0</text>天</div>
  156. <div class="light-title-text">未分配<text class="time-color no-distribution">0</text>天</div>
  157. </div>
  158. <div class="slider" id="slider">
  159. <div class="slider-list" id="slider-list"></div>
  160. </div>
  161. <div class="btn-wrap">
  162. <div class="distribution-reward-btn">
  163. <img class="reward-btn-img" src="../static/img/anniversaryCelebrate/distribution-reward-btn.png" />
  164. </div>
  165. <div class="distribution-time-Record">分配时长记录</div>
  166. </div>
  167. </div>
  168. </div>
  169. <div class="activity-intrduction-wrap">
  170. <div>活动时间:2022年6月18日-2022年6月27日</div>
  171. <div>活动参与套餐:星曜套餐月卡年卡(自动续费除外)</div>
  172. </div>
  173. <div class="law-statement">请阅读相关《法律声明》文件</div>
  174. </div>
  175. <div class="award-result-mask">
  176. <div class="award-result-dialog-sure">
  177. <div class="have-times-wrap">
  178. <div class="award-result-tip"></div>
  179. <div class="line"></div>
  180. <div class="card-wrap award-result-wrap"></div>
  181. <div class="btn-row">
  182. <img class="award-btn continue-lighten" src="../static/img/anniversaryCelebrate/continue-lighten.png" />
  183. <img class="award-btn distribution-award" src="../static/img/anniversaryCelebrate/sure-btn.png" />
  184. </div>
  185. <div class="times-text">还剩次数:<span class="times-text-number"></span>次</div>
  186. </div>
  187. <img class="award-result-close" src="../static/img/anniversaryCelebrate/close.png" />
  188. </div>
  189. </div>
  190. <div class="rule-mask">
  191. <div class="rule-result-dialog">
  192. <div class="rule-content">
  193. <div class="rule-title">活动规则</div>
  194. <div class="rule-point">1、本次活动参与活动的套餐是星曜月卡、年卡套餐,其他套餐不参与活动,现金购买及续费皆可参与活动</div>
  195. <div class="rule-point">2、激活码、优惠券、星币、购买的订单及PC端不参与本次活动</div>
  196. <div class="rule-point">3、本次活动购买限时折扣次数不限,获得赠送天数,可分配在购买套餐的云机账户上,单账号购买新增云机总数上限为200台</div>
  197. <div class="rule-point">4、本次活动赠送星曜机型,单次点亮赠送天数1~30天随机,内环全部点亮额外赠送88天,外环全部点亮额外获得188天,10次可全部点亮</div>
  198. <div class="rule-point">5、已点亮位置单次不会重复点亮,活动奖励即时领取,单次活动全部点亮后重置点亮进度,可再次进行点亮活动。</div>
  199. <div class="rule-point">6、运营平台有权对用户购买数据进行审核,如发现活动订单中存在异常情况(包括任何形式的用户作弊行为),有权取消优惠,退款处理。</div>
  200. </div>
  201. <img class="rule-close" src="../static/img/anniversaryCelebrate/close.png" />
  202. </div>
  203. </div>
  204. <div class="law-mask">
  205. <div class="law-result-dialog">
  206. <div class="rule-content law-content">
  207. <div class="rule-point">
  208. 法律声明:
  209. </div>
  210. <div class="rule-point">
  211. 1.同一用户是指使用同一帐号、同一手机号、同一设备或同一提现账户的用户。上述与用户身
  212. 份相关的信息,其中任意一项或数项相同,或通过特定标记形成关联,或活动平台有合理理由认
  213. 为存在关联的,都视为同一个用户。部分参与方式中,对用户帐号有限制,同一个设备最多可使
  214. 用一个帐号参与活动,同一帐号最多可以使用一台设备参与活动;用户使用多个帐号在同一个设
  215. 备上登录的,视为同一用户,仅有一个帐号可参与本活动。
  216. </div>
  217. <div class="rule-point">
  218. 2.用户不得采取任何不正当或作弊的违规手段参与本活动,一经发现,活动平台有权限制或取
  219. 消用户参与活动的资格,有权取消奖励、追讨用户已领取的奖励(或同等价值的现金)。活动平
  220. 台有权对违规用户采取限制登录、封禁帐号、限制提现的措施,并保留追究用户其他法律责任的
  221. 权利。违规手段包括但不仅限于:
  222. </div>
  223. <div class="rule-point">2.1通过不正当手段参与活动。例如使用模拟器、插件、软件外挂、物理外挂等违规工具参与活动,与其他用户串通采取不正当手段谋取活动奖励等;</div>
  224. <div class="rule-point">2.2扰乱本活动秩序。例如使用多个帐号参与活动,修改个人位置信息,篡改设备数据,买卖用户帐号,买卖活动权益,买卖领奖资格等;</div>
  225. <div class="rule-point">2.3干扰活动平台正常运营。例如批量注册用户帐号,违规使用用户帐号,采用技术手段对活动平台进行干扰、破坏、修改或施加其他影响;</div>
  226. <div class="rule-point">2.4利用本活动进行违法犯罪。例如利用本活动洗钱、套现、诈骗,或开展其他违反国家法律法规的活动;</div>
  227. <div class="rule-point">2.5其他违反法律法规,违背诚实信用原则,违反活动规则,或活动平台认为的不正当手段。</div>
  228. <div class="rule-point">
  229. 3.如因以下原因导致活动不能正常举办、用户无法参与或参与失败、活动奖励发放错误等,活
  230. 动平台/本活动有权暂停或取消活动,且不承担任何法律责任或不利后果:
  231. </div>
  232. <div class="rule-point">3.1不可抗力,包括但不仅限于自然灾害,有权机关的政策要求,政府机关指令,重大疫情影响等不能预见、不可避免、不能克服的情况;</div>
  233. <div class="rule-point">3.2活动平台发生技术故障,本活动受到不正当技术手段干扰、破坏、篡改或被施加其他影响,第三方平台限制活动平台或本活动,或其他导致本活动的正常秩序受到干扰的情况;</div>
  234. <div class="rule-point">3.3用户所在地区网络故障、支付平台故障、电信运营商故障等非活动平台所能控制的情况。</div>
  235. <div class="rule-point">
  236. 4.活动平台不支持用户通过众包或类似方式参与活动。如用户因此遭受经济损失的,活动平台
  237. 不承担任何赔偿或补偿责任。
  238. </div>
  239. <div class="rule-point">
  240. 5.商品展示的划线价格为参考价,该价格可能是品牌专柜标价、商品吊牌价或品牌供应商提供
  241. 的指导价、建议零售价或该商品在电商平台及/或其他渠道曾展示过的销售价,并非原价;由于
  242. 地区等差异性和市场行情波动,品牌专柜标价、商品吊牌价等可能会与电商平台展示的不一致,
  243. 该价格仅供用户参考。
  244. </div>
  245. <div class="rule-point">
  246. 6.若由于用户自身原因(包括但不限于参与方式不符合活动规则、未按活动规则要求提供收件
  247. 地址、操作不当造成产品功能故障等)导致无法实际享有奖励的,视为用户自愿放弃奖励,活动
  248. 平台将不会也无义务给予任何形式的补偿。
  249. </div>
  250. <div class="rule-point">
  251. 7.任何第三方以活动平台名义从事欺诈行为造成用户损失的,活动平台无需为此承担法律责任。
  252. </div>
  253. <div class="rule-point">
  254. 8.活动平台和电商平台的《用户协议》《隐私政策》(以手机客户端对应名称为准)及其他规
  255. 范同样适用于本活动,本活动规则与活动平台和电商平台《用户协议》《隐私政策》及其他规范
  256. 相冲突的,以本活动规则为准。本活动规则未约定的内容,以活动平台和电商平台的《用户协议》
  257. 《隐私政策》及其他平台规范为准。
  258. </div>
  259. <div class="rule-point">
  260. 9.在法律法规允许的范围内,活动平台有权对本活动规则进行变动或调整,相关变动或调整将
  261. 公布在活动规则页面上,并于公布时即时生效,用户继续参与活动则视为同意并接受变动或者调
  262. 整后的活动规则。如果用户拒绝活动规则的变更或者调整,请放弃参与变更后的活动。
  263. </div>
  264. </div>
  265. <img class="law-close" src="../static/img/anniversaryCelebrate/close.png" />
  266. </div>
  267. </div>
  268. <div class="no-start-mask">
  269. <div class="no-start-dialog"></div>
  270. </div>
  271. <div class="sure-distribution-wrap">
  272. <div class="sure-distribution-box">
  273. <div class="sure-distribution-title">确定分配奖励时长</div>
  274. <div class="sure-distribution-btn-list">
  275. <div class="sure-distribution-btn sure-distribution-cannel">取消</div>
  276. <div class="sure-distribution-btn sure-distribution-sure">确定</div>
  277. </div>
  278. </div>
  279. </div>
  280. <div class="distribution-time-mask">
  281. <div class="distribution-time-dialog">
  282. <div class="distribution-time-container">
  283. <div class="distribution-time-title">分配时长记录</div>
  284. <div class="distribution-time-wrap">
  285. <div class="distribution-time-name">云机名称</div>
  286. <div class="distribution-time-name">时间</div>
  287. <div class="distribution-time-name">时长</div>
  288. </div>
  289. <div class="distribution-list"></div>
  290. </div>
  291. <img class="distribution-close" src="../static/img/anniversaryCelebrate/close.png" />
  292. </div>
  293. </div>
  294. <div class="share-wrap">
  295. <img class="share-img" src="../static/img/anniversaryCelebrate/share.png" />
  296. </div>
  297. </div>
  298. <script>
  299. toastr.options.positionClass = 'toast-center-center';
  300. toastr.options.timeOut = '1500';
  301. </script>
  302. <script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>
  303. <script type="text/javascript" src="https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js"></script>
  304. <script type="text/javascript">
  305. // var baseUrl = 'http://prese.phone.androidscloud.com'
  306. let timer,flag = true;
  307. var url = window.location.href;
  308. url = url.split('/')
  309. var loc = window.location.search,
  310. n1 = loc.length,//地址的总长度
  311. n2 = loc.indexOf("="),//取得=号的位置
  312. id = loc.substr(n2 + 1, n1 - n2),//从=号后面的内容
  313. u = navigator.userAgent,
  314. ua = navigator.userAgent.toLowerCase(),
  315. isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
  316. miniprogram = false,
  317. anniversarySwitch = 0,
  318. receiveSwitch = 1,
  319. animationFlag = true,
  320. residueDegree = 0,
  321. awardTimes = 0,
  322. pageNum = 1,
  323. pages = 1,
  324. receive = 0,
  325. lighten = [],
  326. notReceive = true,
  327. phoneRemainQuantity = 0,
  328. totalTime = 0,
  329. receivedDuration = 0,
  330. totalRewardDuration = 0,
  331. currTotalTime = 0,
  332. distributionList = [],
  333. totalRecords = [],
  334. pageNums = 0,
  335. pageIndex = 0,
  336. distributionFlag = true,
  337. distributionPageNum = 1,
  338. distributionPages = 0,
  339. pageIndexs = 0,
  340. code = '',
  341. recordFlags = true,
  342. userCardId = '',
  343. sliderNumber = 0,//滑块是数量,控制溢出不能滑动
  344. isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android终端
  345. imgs = ['../static/img/anniversaryCelebrate/result-bg.png','../static/img/anniversaryCelebrate/result-once-bg.png'];
  346. //异步加载图片
  347. async function loadAsync() {
  348. let promise = function(url) {
  349. return new Promise((resolve, reject) => {
  350. const image = new Image();
  351. image.src = url;
  352. if(image.src.includes('result-bg')){
  353. image.className = 'result-bg';
  354. }else{
  355. image.className = 'result-once-bg';
  356. }
  357. image.onload = function() {
  358. $('.award-result-dialog-sure')[0].insertBefore(image, $('.have-times-wrap')[0]);
  359. resolve('ok');
  360. }
  361. })
  362. }
  363. for(let url of imgs) {
  364. await promise(url);
  365. }
  366. }
  367. loadAsync();
  368. // 初始化数据
  369. init();
  370. if(id){
  371. getPhoneNumber();
  372. getUserCard();
  373. }
  374. function init() {
  375. $.ajax({
  376. url: baseUrl + '/api/activity/v1/anniversary/getAnniversary',
  377. type: 'get',
  378. headers: {
  379. 'Authorization': id //id
  380. },
  381. contentType: "application/json",
  382. dataType: 'json',
  383. cache: false,
  384. success: function (res) {
  385. if(res.status === 0){
  386. residueDegree = res.data.residueDegree;
  387. anniversarySwitch = res.data.anniversarySwitch;
  388. receiveSwitch = res.data.receiveSwitch;
  389. result = res.data.lighten;
  390. totalTime = res.data.notReceivedDuration;
  391. receivedDuration = res.data.receivedDuration;
  392. totalRewardDuration = res.data.totalRewardDuration;
  393. $('.all-time').eq(0).text(totalRewardDuration);
  394. $('.get-time').eq(0).text(receivedDuration);
  395. $('.no-distribution').eq(0).text(totalTime);
  396. if(totalTime > 999){
  397. $('.no-distribution-award').eq(0).text('999+');
  398. } else {
  399. $('.no-distribution-award').eq(0).text(totalTime);
  400. }
  401. lighten = result && result.split(',') || [], str = '';
  402. $('.rest-number').eq(0).text(residueDegree);
  403. $('.light-number').eq(0).text(res.data.allTotal);
  404. if(residueDegree == 0){
  405. $('.line-wrap')[0].className = 'line-wrap';
  406. $('.icon1')[0].src = '../static/img/anniversaryCelebrate/icon1.png';
  407. $('.icon2')[0].src = '../static/img/anniversaryCelebrate/icon2.png';
  408. }else if(residueDegree >=1 && residueDegree < 5){
  409. $('.line-wrap')[0].className = 'line-wrap line-wrap-one';
  410. $('.icon1')[0].src = '../static/img/anniversaryCelebrate/icon4.png';
  411. $('.icon2')[0].src = '../static/img/anniversaryCelebrate/icon2.png';
  412. } else if(residueDegree >= 5){
  413. $('.line-wrap')[0].className = 'line-wrap line-wrap-two';
  414. $('.icon1')[0].src = '../static/img/anniversaryCelebrate/icon4.png';
  415. $('.icon2')[0].src = '../static/img/anniversaryCelebrate/icon3.png';
  416. }
  417. if(anniversarySwitch == 1 || (receiveSwitch == 0 && anniversarySwitch == 2)){
  418. let awardText = anniversarySwitch == 1 ? '<div>活动暂未开启</div>请稍安勿躁' : '<div>活动已结束</div>期待下次的见面'
  419. $('.no-start-dialog').eq(0).append(awardText);
  420. $('.no-start-dialog').animate({top: '50%'},"fast");
  421. $('.no-start-mask').show();
  422. document.documentElement.style.overflow='hidden';
  423. }
  424. if(result == '' || !lighten){
  425. return
  426. }
  427. //更新点亮星星
  428. $('.point-wrap').eq(0).empty();
  429. for (let i = 0; i < lighten.length; i++) {
  430. if([1, 3, 5, 7, 12].includes(lighten[i])){
  431. str += `<img class="in-point point${lighten[i]}" src="../static/img/anniversaryCelebrate/out-point.png" />`
  432. } else {
  433. str += `<img class="out-point point${lighten[i]}" src="../static/img/anniversaryCelebrate/out-point.png" />`
  434. }
  435. }
  436. $('.point-wrap').eq(0).append(str);
  437. }else{
  438. stopManyClick(() =>{
  439. toastr.error(res.msg)
  440. })
  441. }
  442. },
  443. })
  444. };
  445. getAward();
  446. //点击抽奖
  447. $('.once-btn')[0].addEventListener('click',() => {
  448. if(!animationFlag) return;
  449. if(residueDegree < 1) {
  450. getTimeHandle();
  451. return
  452. }
  453. $('.continue-lighten')[0].src = '../static/img/anniversaryCelebrate/continue-lighten.png';
  454. if(lighten.length == 9){
  455. $('.point-wrap').eq(0).empty();
  456. $('.light-show').show();
  457. setTimeout(() => {
  458. $('.light-show').hide();
  459. $('.award-success').show();
  460. },800)
  461. }
  462. handleAward(1);
  463. operate('znq_2022_h5_抽奖1次');
  464. },false);
  465. $('.five-btn')[0].addEventListener('click',() => {
  466. if(!animationFlag) return;
  467. if(residueDegree < 5) {
  468. getTimeHandle();
  469. return
  470. }
  471. $('.continue-lighten')[0].src = '../static/img/anniversaryCelebrate/five-click.png';
  472. if(lighten.length + 5 >= 10){
  473. $('.point-wrap').eq(0).empty();
  474. $('.light-show').show();
  475. setTimeout(() => {
  476. $('.light-show').hide();
  477. $('.award-success').show();
  478. },400)
  479. }
  480. handleAward(5);
  481. operate('znq_2022_h5_抽奖5次');
  482. },false);
  483. //点击再抽
  484. $('.continue-lighten')[0].addEventListener('click',() => {
  485. if(!animationFlag) return;
  486. if(residueDegree < awardTimes) {
  487. getTimeHandle();
  488. return
  489. }
  490. let pams = `znq_2022_h5_抽奖${awardTimes}次`;
  491. operate(pams);
  492. handleAward(awardTimes,'report')
  493. },false);
  494. function handleAward(times,type) {
  495. if(!id){
  496. download();
  497. return
  498. }
  499. awardTimes = times;
  500. animationFlag = false;
  501. $.ajax({
  502. url: baseUrl + '/api/activity/v1/anniversary/luckDraw',
  503. type: 'post',
  504. headers: {
  505. 'Authorization': id //id
  506. },
  507. data:JSON.stringify({
  508. frequency: times
  509. }),
  510. contentType: "application/json",
  511. dataType: 'json',
  512. cache: false,
  513. success: function (res) {
  514. if(res.status === 0){
  515. let imgNumber = 0,
  516. str = '',
  517. otherData = [],
  518. list = res.data.anniversaryAwards;
  519. // 188 88放在最后
  520. list.map(item => {
  521. if(item.awardType != 0){
  522. otherData.push(item)
  523. }
  524. });
  525. let currData = list.filter(item => item.awardType == 0);
  526. list = [...currData, ...otherData];
  527. getAward();
  528. if(type !== 'report'){
  529. $('.award-result-dialog-sure').animate({top: '1.86rem'},"fast");
  530. $('.award-result-mask').show();
  531. document.documentElement.style.overflow='hidden';
  532. }
  533. if(lighten.length < 10){
  534. $('.award-success').hide();
  535. }
  536. $('.award-result-wrap').eq(0).text('');
  537. if(times === 1){
  538. $('.award-result-dialog-sure')[0].className = 'award-result-dialog-sure award-result-one-dialog';
  539. $(".result-bg").css({
  540. "display": "none"
  541. })
  542. $(".result-once-bg").css({
  543. "display": "block"
  544. })
  545. $('.award-result-tip').eq(0).text('换个姿势,再抽一次');
  546. $('.award-result-wrap')[0].className = 'card-wrap award-result-wrap one-result';
  547. for (let i = 0; i < list.length; i++) {
  548. if(list[i].awardType == 0){
  549. str += `<div class="card-item one-card-item">
  550. <div class="card-item-wrap">
  551. <img class="one-card" src="../static/img/anniversaryCelebrate/day-card.png" />
  552. <div class="card-text card-texts">星曜${list[0].awardDurations}天卡</div>
  553. </div>
  554. </div>`
  555. } else {
  556. if(list.length == 3) {
  557. str += `<div class="card-item many-two-card">
  558. <div class="card-item-wrap card-item-wraps">
  559. <img class="many-card" src="../static/img/anniversaryCelebrate/first.png" />
  560. <div class="card-text">星曜${list[1].awardDurations}天卡</div>
  561. </div>
  562. </div>
  563. <div class="card-item many-one-card">
  564. <div class="card-item-wrap card-item-wraps">
  565. <img class="many-card" src="../static/img/anniversaryCelebrate/second.png" />
  566. <div class="card-text">星曜${list[2].awardDurations}天卡</div>
  567. </div>
  568. </div>`
  569. }else if(list[i].awardType == 2){//外环
  570. str += `<div class="card-item many-two-card">
  571. <div class="card-item-wrap card-item-wraps">
  572. <img class="many-card" src="../static/img/anniversaryCelebrate/first.png" />
  573. <div class="card-text">星曜${list[1].awardDurations}天卡</div>
  574. </div>
  575. </div>
  576. <div class="card-item many-one-card">
  577. <div class="card-item-wrap card-item-wraps">
  578. <img class="many-card" src="../static/img/anniversaryCelebrate/no-award-selcet.png" />
  579. <div class="card-text">星曜188天卡</div>
  580. </div>
  581. </div>`
  582. } else if(list[i].awardType == 1) {//内环
  583. str += `<div class="card-item many-two-card">
  584. <div class="card-item-wrap card-item-wraps">
  585. <img class="many-card" src="../static/img/anniversaryCelebrate/no-award-selcet.png" />
  586. <div class="card-text">星曜88天卡</div>
  587. </div>
  588. </div>
  589. <div class="card-item many-one-card">
  590. <div class="card-item-wrap card-item-wraps">
  591. <img class="many-card" src="../static/img/anniversaryCelebrate/second.png" />
  592. <div class="card-text">星曜${list[1].awardDurations}天卡</div>
  593. </div>
  594. </div>`
  595. }
  596. }
  597. if(otherData.length == 0){
  598. str += `<div class="card-item many-two-card">
  599. <div class="card-item-wrap card-item-wraps">
  600. <img class="many-card" src="../static/img/anniversaryCelebrate/no-award-selcet.png" />
  601. <div class="card-text">星曜88天卡</div>
  602. </div>
  603. </div>
  604. <div class="card-item many-one-card">
  605. <div class="card-item-wrap card-item-wraps">
  606. <img class="many-card" src="../static/img/anniversaryCelebrate/no-award-selcet.png" />
  607. <div class="card-text">星曜188天卡</div>
  608. </div>
  609. </div>`
  610. }
  611. }
  612. setTimeout(() => {
  613. animationFlag = true;
  614. },1000);
  615. } else {
  616. $('.award-result-dialog-sure')[0].className = 'award-result-dialog-sure award-result-dialog';
  617. $(".result-once-bg").css({
  618. "display": "none"
  619. })
  620. $(".result-bg").css({
  621. "display": "block"
  622. })
  623. $('.award-result-tip').eq(0).text('善良的人,好运气最终是会眷顾你');
  624. $('.award-result-wrap')[0].className = 'card-wrap award-result-wrap many-card-wrap'
  625. for (let i = 0; i < list.length; i++) {
  626. if(list[i].awardType == 0){
  627. str += `<div class="card-item many-card-item">
  628. <div class="card-item-wrap card-item-wraps">
  629. <img class="many-card" src="../static/img/anniversaryCelebrate/day-card.png" />
  630. <div class="card-text card-texts">星曜${list[i].awardDurations}天卡</div>
  631. </div>
  632. </div>`
  633. } else {
  634. if(list.length == 7) {
  635. if(i == 5) {
  636. str += `<div class="card-item many-card-item">
  637. <div class="card-item-wrap card-item-wraps">
  638. <img class="many-card" src="../static/img/anniversaryCelebrate/first.png" />
  639. <div class="card-text">星曜${list[i].awardDurations}天卡</div>
  640. </div>
  641. </div>`
  642. }
  643. if(i == 6) {
  644. str += `<div class="card-item many-card-item two-item">
  645. <div class="card-item-wrap card-item-wraps">
  646. <img class="many-card" src="../static/img/anniversaryCelebrate/second.png" />
  647. <div class="card-text">星曜${list[i].awardDurations}天卡</div>
  648. </div>
  649. </div>`
  650. }
  651. } else if(list[i].awardType == 2){
  652. str += `<div class="card-item many-card-item">
  653. <div class="card-item-wrap card-item-wraps">
  654. <img class="many-card" src="../static/img/anniversaryCelebrate/first.png" />
  655. <div class="card-text">星曜${list[i].awardDurations}天卡</div>
  656. </div>
  657. </div>
  658. <div class="card-item many-card-item two-item">
  659. <div class="card-item-wrap card-item-wraps">
  660. <img class="many-card" src="../static/img/anniversaryCelebrate/no-award-selcet.png" />
  661. <div class="card-text">星曜188天卡</div>
  662. </div>
  663. </div>`
  664. } else if(list[i].awardType == 1) {
  665. str += `<div class="card-item many-card-item">
  666. <div class="card-item-wrap card-item-wraps">
  667. <img class="many-card" src="../static/img/anniversaryCelebrate/no-award-selcet.png" />
  668. <div class="card-text">星曜88天卡</div>
  669. </div>
  670. </div>
  671. <div class="card-item many-card-item two-item">
  672. <div class="card-item-wrap card-item-wraps">
  673. <img class="many-card" src="../static/img/anniversaryCelebrate/second.png" />
  674. <div class="card-text">星曜${list[i].awardDurations}天卡</div>
  675. </div>
  676. </div>`
  677. }
  678. }
  679. }
  680. if(otherData.length == 0){
  681. str += `<div class="card-item many-card-item">
  682. <div class="card-item-wrap card-item-wraps">
  683. <img class="many-card" src="../static/img/anniversaryCelebrate/no-award-selcet.png" />
  684. <div class="card-text">星曜88天卡</div>
  685. </div>
  686. </div>
  687. <div class="card-item many-card-item two-item">
  688. <div class="card-item-wrap card-item-wraps">
  689. <img class="many-card" src="../static/img/anniversaryCelebrate/no-award-selcet.png" />
  690. <div class="card-text">星曜188天卡</div>
  691. </div>
  692. </div>`
  693. }
  694. var imgTimer2 = setInterval(() => {
  695. $('.many-card-item').eq(imgNumber).css('display', 'block');
  696. if(imgNumber >= 6){
  697. clearInterval(imgTimer2);
  698. animationFlag = true;
  699. }
  700. imgNumber++;
  701. },400)
  702. }
  703. $('.times-text-number').eq(0).text(residueDegree - times);
  704. $('.award-result-wrap').eq(0).append(str);
  705. init();
  706. }else{
  707. animationFlag = true;
  708. stopManyClick(() =>{
  709. toastr.error(res.msg)
  710. })
  711. }
  712. },
  713. })
  714. }
  715. //点击确定
  716. $('.distribution-award')[0].addEventListener('click',() => {
  717. operate('znq_2022_h5_确定按钮');
  718. animationFlag = true;
  719. $('.award-result-dialog').animate({top: '-10.96rem'},"fast");
  720. $('.award-result-mask').hide();
  721. document.documentElement.style.overflow='auto';
  722. },false);
  723. //点击抽奖关闭按钮
  724. $('.award-result-close')[0].addEventListener('click',() => {
  725. operate('znq_2022_h5_抽奖关闭按钮');
  726. animationFlag = true;
  727. $('.award-result-dialog').animate({top: '-10.96rem'},"fast");
  728. $('.award-result-mask').hide();
  729. document.documentElement.style.overflow='auto';
  730. },false);
  731. // 点击领取tab切换
  732. $('.get-award-wrap')[0].addEventListener('click',(e) => {
  733. operate('znq_2022_h5_充值奖励');
  734. if(!id){
  735. return
  736. }
  737. $('.light-content-list').eq(0).empty();
  738. pageNum = 1;
  739. pages = 0;
  740. receive = 0;
  741. recordFlag = true;
  742. recordFlags = true;
  743. getAward();
  744. $('.get-award-img')[0].src = '../static/img/anniversaryCelebrate/get-award-show.png';
  745. $('.get-award-img')[1].src = '../static/img/anniversaryCelebrate/get-award-success-hidden.png';
  746. $('.reward-list').eq(0).css('display', 'none');
  747. $('.award-img').eq(1).css('display', 'none');
  748. $('.award-img').eq(0).css('display', 'block');
  749. $('.light-content-container').eq(0).css('display', 'block');
  750. $('.selected-bg')[0].src = '../static/img/anniversaryCelebrate/right-selected.png';
  751. $('.get-award-text')[1].className = 'get-award-text used-text';
  752. $('.get-award-text')[0].className = 'get-award-text';
  753. },false);
  754. $('.get-award-wrap')[1].addEventListener('click',(e) => {
  755. operate('znq_2022_h5_分配奖励');
  756. if(!id){
  757. return
  758. }
  759. $('.reward-list').eq(0).css('display', 'block');
  760. $('.light-content-container').eq(0).css('display', 'none');
  761. pageNums = 1;
  762. pages = 0;
  763. totalRecords = [];
  764. getLists();
  765. $('.get-award-img')[0].src = '../static/img/anniversaryCelebrate/get-award-hidden.png';
  766. $('.get-award-img')[1].src = '../static/img/anniversaryCelebrate/get-award-success-show.png';
  767. $('.award-img').eq(0).css('display', 'none');
  768. $('.award-img').eq(1).css('display', 'block');
  769. $('.selected-bg')[0].src = '../static/img/anniversaryCelebrate/left-selected.png';
  770. $('.get-award-text')[0].className = 'get-award-text used-text';
  771. $('.get-award-text')[1].className = 'get-award-text';
  772. },false);
  773. //获取抽奖记录
  774. function getAward(type){
  775. operate('znq_2022_h5_抽奖记录');
  776. $.ajax({
  777. url: baseUrl + `/api/activity/v1/anniversary/rewardList?pageNum=${pageNum}&pageSize=10&receive=${receive}`,
  778. type: 'get',
  779. headers: {
  780. 'Authorization': id //id
  781. },
  782. contentType: "application/json",
  783. dataType: 'json',
  784. cache: false,
  785. success: function (res) {
  786. if(res.status === 0){
  787. recordFlag = true;
  788. let str = '',
  789. records = res.data.records;
  790. pages = res.data.pages;
  791. if(type != 'down'){
  792. $('.light-content-list').eq(0).empty();
  793. }
  794. if(records.length === 0){
  795. $('.title-row').eq(0).css('display', 'none');
  796. if(receive == 1 && parseInt(notReceive) > 0){
  797. str = '<div class="no-award">暂无已分配云手机</div>'
  798. }else{
  799. str = `<div class="no-award">没有奖励,我都替你着急</div>`
  800. }
  801. }else{
  802. $('.title-row').eq(0).css('display', 'flex');
  803. }
  804. for (var i = 0; i < records.length; i++) {
  805. str += `<div class="light-content-text">${records[i].awardType == 1 ? '内环已点亮额外' : records[i].awardType == 2 ? '外环已点亮额外' : '点亮一颗星'}获得星曜${records[i].awardDurations}天时长奖励</div>`
  806. }
  807. $('.light-content-list').eq(0).append(str)
  808. }else{
  809. stopManyClick(() =>{
  810. toastr.error(res.msg)
  811. })
  812. }
  813. },
  814. })
  815. }
  816. //点击规则
  817. $('.rule-wrap')[0].addEventListener('click',(e) => {
  818. operate('znq_2022_h5_规则');
  819. $('.rule-result-dialog').animate({top: '1.86rem'},"fast");
  820. $('.rule-mask').show();
  821. document.documentElement.style.overflow='hidden';
  822. },false);
  823. //关闭规则
  824. $('.rule-close')[0].addEventListener('click',() => {
  825. operate('znq_2022_h5_关闭规则');
  826. $('.rule-result-dialog').animate({top: '-10.96rem'},"fast");
  827. $('.rule-mask').hide();
  828. document.documentElement.style.overflow='auto';
  829. },false);
  830. //点击法律声明
  831. $('.law-statement')[0].addEventListener('click',(e) => {
  832. operate('znq_2022_h5_法律声明');
  833. $('.law-result-dialog').animate({top: '1.86rem'},"fast");
  834. $('.law-mask').show();
  835. document.documentElement.style.overflow='hidden';
  836. },false);
  837. //关闭法律声明
  838. $('.law-close')[0].addEventListener('click',() => {
  839. operate('znq_2022_h5_关闭法律声明');
  840. $('.law-result-dialog').animate({top: '-10.96rem'},"fast");
  841. $('.law-mask').hide();
  842. document.documentElement.style.overflow='auto';
  843. },false);
  844. //点击获取次数
  845. $('.get-times')[0].addEventListener('click',getTimeHandle,false);
  846. function getTimeHandle() {
  847. if(anniversarySwitch == 2){
  848. toastr.error('活动已结束!');
  849. return
  850. }
  851. if(!id){
  852. download();
  853. // location.href = 'http://f.mpay8.cn/l/cmK4MSiolegJcfl';
  854. return
  855. }
  856. operate('znq_2022_h5_获取次数按钮');
  857. stopManyClick(() =>{
  858. if (window.__wxjs_environment === 'miniprogram') { // 小程序
  859. if(phoneRemainQuantity > 0){
  860. wx.miniProgram.navigateTo({
  861. url: '/packageA/order/buy/index?type=activity'
  862. })
  863. } else {
  864. wx.miniProgram.navigateTo({
  865. url: '/packageA/order/renew/index?record=' + userCardId
  866. })
  867. }
  868. } else if (isAndroid && window.native) { // 安卓
  869. if(phoneRemainQuantity > 0){
  870. window.native.startPurchase('SVIP', 365);
  871. } else {
  872. window.native.startRenew();
  873. }
  874. } else if (isiOS) {
  875. try {
  876. if(phoneRemainQuantity > 0){
  877. window.webkit.messageHandlers.startPurchase.postMessage({ type: 1, day: 365 });
  878. } else {
  879. window.webkit.messageHandlers.startRenew.postMessage({ type: 1, day: 365 });
  880. }
  881. } catch(error) {
  882. if(phoneRemainQuantity > 0){
  883. uni.webView.navigateTo({
  884. url: '/pages/order/order'
  885. })
  886. } else {
  887. uni.webView.navigateTo({
  888. url: '/pages/order/renew?record=' + userCardId
  889. })
  890. }
  891. }
  892. }
  893. })
  894. }
  895. function getUserCard(){
  896. if(!id){
  897. return
  898. }
  899. $.ajax({
  900. url: baseUrl + '/api/resources/v5/client/disk/info/anniversary/usercard',
  901. type: 'get',
  902. data: {
  903. pageNum: 1,
  904. pageSize: 5,
  905. phoneType: 'SVIP'
  906. },
  907. headers: {
  908. 'Authorization': id //id
  909. },
  910. contentType: "application/json",
  911. dataType: 'json',
  912. cache: false,
  913. success: function (res) {
  914. userCardId = res.data.pageInfo.list[0].id;
  915. }
  916. })
  917. }
  918. //充值奖励下拉加载
  919. $('.light-content-list')[0].addEventListener('scroll',function () {
  920. let scrollTop = $('.light-content-list')[0].scrollTop;
  921. let clientHeight = $('.light-content-list')[0].clientHeight;
  922. let scrollHeight = $('.light-content-list')[0].scrollHeight;
  923. if(scrollTop + clientHeight + 100 > scrollHeight){
  924. if(recordFlag && pageNum < pages && pages > 1){
  925. recordFlag = false;
  926. pageNum++;
  927. getAward('down');
  928. }
  929. }
  930. });
  931. //分配奖励下拉加载
  932. $('.slider-list')[0].addEventListener('scroll',function () {
  933. let scrollTop = $('.slider-list')[0].scrollTop;
  934. let clientHeight = $('.slider-list')[0].clientHeight;
  935. let scrollHeight = $('.slider-list')[0].scrollHeight;
  936. if(scrollTop + clientHeight + 100 > scrollHeight){
  937. if(recordFlags && pageNums < sliderNumber && sliderNumber > 1){
  938. recordFlags = false;
  939. pageNums++;
  940. getLists('down');
  941. }
  942. }
  943. });
  944. //分配时长下拉加载
  945. $('.distribution-list')[0].addEventListener('scroll',function () {
  946. let scrollTop = $('.distribution-list')[0].scrollTop;
  947. let clientHeight = $('.distribution-list')[0].clientHeight;
  948. let scrollHeight = $('.distribution-list')[0].scrollHeight;
  949. console.log(scrollHeight)
  950. if(scrollTop + clientHeight + 100 > scrollHeight){
  951. if(distributionFlag && distributionPageNum < distributionPages && distributionPages > 1){
  952. distributionFlag = false;
  953. distributionPageNum++;
  954. getTimeRecord('down');
  955. }
  956. }
  957. });
  958. // 活动获取用户云机列表,分页
  959. function getLists(type){
  960. const sliderLen = Array.from($('.slider-item')).length;
  961. $.ajax({
  962. url: baseUrl + '/api/resources/v5/client/disk/info/anniversary/usercard',
  963. type: 'get',
  964. data: {
  965. pageNum: pageNums,
  966. pageSize: 5,
  967. phoneType: 'SVIP'
  968. },
  969. headers: {
  970. 'Authorization': id //id
  971. },
  972. contentType: "application/json",
  973. dataType: 'json',
  974. cache: false,
  975. success: function (res) {
  976. if (res.status === 0) {
  977. recordFlags = true;
  978. let records = res.data.pageInfo.list;
  979. totalRecords = [...totalRecords, ...records];
  980. if(type != 'down'){
  981. $('#slider-list').empty();
  982. }
  983. if(records.length === 0){
  984. $('.page-row').eq(0).css('display','none');
  985. let sliderItemDom = `<div class="slider-item no-slider">暂无可分配的云手机</div>`;
  986. $('#slider-list').append(sliderItemDom);
  987. return
  988. }
  989. if(res.data && records.length > 0){
  990. sliderNumber = res.data.pageInfo.pages;
  991. let sliderItemText = $('.slider-item').eq(pageNums).text();
  992. let str = '',
  993. strs = '',
  994. len = records.length;
  995. for (var i = 0; i < len; i++) {
  996. // 解决ios时间显示为NaN
  997. var now = res.data.currentTime.replace(/T/g, ' ');
  998. now = now.replace(/\-/g, '/');
  999. var exceptTime = records[i].exceptTime.replace(/T/g, ' ');
  1000. exceptTime = exceptTime.replace(/\-/g, '/');
  1001. var diskName = records[i].diskName,
  1002. currTime = parseInt(Date.parse(now)),
  1003. closeTime = parseInt(Date.parse(exceptTime)),
  1004. resultTime = closeTime - currTime,
  1005. day = parseInt(resultTime / 1000 / 60 / 60 / 24),
  1006. hour = parseInt(resultTime / 1000 / 60 / 60 % 24),
  1007. time = "剩" + day + "天" + hour + "小时",
  1008. recordsId = records[i].id;
  1009. if(day == 0 && hour <= 0){
  1010. time = '已过期';
  1011. }
  1012. if(sliderItemText){
  1013. $('.reward-diskName').eq(i).text(diskName);
  1014. $('.reward-time-content').eq(i).text(time);
  1015. }
  1016. str += `<div class="reward-row">
  1017. <div class="reward-row-content">
  1018. <img class="icon_xingyao" src="../static/img/anniversaryCelebrate/home_list_icon_xingyao.png" />
  1019. <div class="reward-day-text">
  1020. <div class="reward-day reward-diskName">${diskName}</div>
  1021. <div class="total-day time-row">
  1022. <img class="time-icon" src="../static/img/anniversaryCelebrate/time-icon.png" />
  1023. <span class="reward-time-content ${time === '已过期'?'time-overdue':''}">${time}</span>
  1024. </div>
  1025. </div>
  1026. <div class="compute-block">
  1027. <img class="compute-icon cut" data-id=${recordsId} data-index=${totalRecords.length - records.length + i} src="../static/img/anniversaryCelebrate/cut.png" />
  1028. <input class="ipt" data-id=${recordsId} data-index=${totalRecords.length - records.length + i} type="number" onkeyup="this.value=this.value.replace(/-/g,'')" value="0" />
  1029. <img class="compute-icon add" data-id=${recordsId} data-index=${totalRecords.length - records.length + i} src="../static/img/anniversaryCelebrate/add.png" />
  1030. </div>
  1031. </div>
  1032. </div>`
  1033. }
  1034. let sliderItemDom = `<div class="slider-item">${str}</div>`;
  1035. if(!sliderItemText){
  1036. $('#slider-list').append(sliderItemDom);
  1037. }else{
  1038. return
  1039. }
  1040. $('.distribution-reward-btn').eq(0).css('display','block');
  1041. for (var i = 0; i < len; i++) {
  1042. $('.ipt')[totalRecords.length - records.length + i].oninput = function (e) {
  1043. const id = e.target.dataset.id;
  1044. let oldDuration = 0;
  1045. let preTotalTime = 0;
  1046. let index = e.target.dataset.index;
  1047. let value = $('.ipt').eq(index).val();
  1048. if(value.length >= 5){
  1049. value = value.substr(0, 5);
  1050. }
  1051. var position = String(value).indexOf(".");//获取小数点的位置
  1052. if(position != -1){
  1053. value = value.substr(0, position);
  1054. }
  1055. distributionList.map(item => { // 上一次的总数据
  1056. preTotalTime += parseInt(item.duration);
  1057. })
  1058. //这一次操作
  1059. if(value == 0){
  1060. if(!distributionList.find((item) => item.userCardId == id)){
  1061. distributionList.push({
  1062. userCardId: id,
  1063. duration: +value
  1064. });
  1065. }else{
  1066. distributionList = distributionList.filter(item => item.userCardId != id);
  1067. }
  1068. distributionList = distributionList.filter(item => item.duration != 0);
  1069. }else{
  1070. if(!distributionList.find((item) => item.userCardId == id)){
  1071. distributionList.push({
  1072. userCardId: id,
  1073. duration: Math.abs(value)
  1074. });
  1075. }else{
  1076. distributionList.map(item => {
  1077. if (item.userCardId == id) {
  1078. oldDuration = item.duration;
  1079. item.duration = +value;
  1080. }
  1081. })
  1082. }
  1083. }
  1084. currTotalTime = 0;
  1085. distributionList.map(item => { // 这一次的总数据
  1086. currTotalTime += parseInt(item.duration);
  1087. })
  1088. if(currTotalTime > totalTime){ // 当前已分配大于总分配时长
  1089. let val = totalTime - preTotalTime + oldDuration;
  1090. distributionList.map(item => {
  1091. if (item.userCardId == id) {
  1092. item.duration = val;
  1093. }
  1094. })
  1095. $('.ipt').eq(index).val(val);
  1096. stopManyClick(() => {
  1097. toastr.error('分配时长不能大于未分配总时长');
  1098. })
  1099. return
  1100. }
  1101. if(value.length > 5) value=value.slice(0, 5);
  1102. $('.ipt').eq(index).val(value);
  1103. }
  1104. }
  1105. }
  1106. } else {
  1107. stopManyClick(() => {
  1108. toastr.error(res.msg);
  1109. })
  1110. }
  1111. }
  1112. })
  1113. }
  1114. //点击加号
  1115. $('.slider-list')[0].addEventListener('click',(e) => {
  1116. operate('znq_2022_h5_加号');
  1117. if(e.target.className === 'compute-icon add'){
  1118. const id = e.target.dataset.id;
  1119. let currTotalTime = 0;
  1120. let index = e.target.dataset.index;
  1121. let number = $('.ipt').eq(index).val();
  1122. // 这一次操作
  1123. if(number == 0){
  1124. if(!distributionList.find((item) => item.userCardId == id)){
  1125. distributionList.push({
  1126. userCardId: id,
  1127. duration: +number + 1
  1128. });
  1129. }else{
  1130. distributionList.map(item => {
  1131. if(item.userCardId == id){
  1132. item.duration++;
  1133. }
  1134. })
  1135. }
  1136. }else{
  1137. distributionList.map(item => {
  1138. if(item.userCardId == id){
  1139. item.duration++;
  1140. }
  1141. })
  1142. }
  1143. distributionList.map(item => { // 这一次的总数据
  1144. currTotalTime += parseInt(item.duration);
  1145. })
  1146. if(currTotalTime <= totalTime){
  1147. number++;
  1148. $('.ipt').eq(index).val(number);
  1149. }else{
  1150. distributionList.map(item => {
  1151. if(item.userCardId == id){
  1152. item.duration = +number;
  1153. }
  1154. })
  1155. stopManyClick(() => {
  1156. toastr.error('分配时长不能大于未分配总时长');
  1157. })
  1158. }
  1159. console.log(distributionList)
  1160. }
  1161. });
  1162. //点击减号
  1163. $('.slider-list')[0].addEventListener('click',(e) => {
  1164. operate('znq_2022_h5_减号');
  1165. if(e.target.className === 'compute-icon cut'){
  1166. const id = e.target.dataset.id;
  1167. let index = e.target.dataset.index;
  1168. let number = $('.ipt').eq(index).val();
  1169. if(number > 0){
  1170. distributionList.map(item => {
  1171. if(item.userCardId == id){
  1172. item.duration--;
  1173. }
  1174. })
  1175. number--;
  1176. if(number == 0){
  1177. distributionList = distributionList.filter(item => item.userCardId != id);
  1178. }
  1179. currTotalTime--;
  1180. $('.ipt').eq(index).val(number);
  1181. }else{
  1182. stopManyClick(() => {
  1183. toastr.error('分配的时长不能小于0');
  1184. })
  1185. }
  1186. console.log(distributionList)
  1187. }
  1188. });
  1189. //点击分配时长按钮
  1190. $('.distribution-reward-btn')[0].addEventListener('click', (e) => {
  1191. operate('znq_2022_h5_分配时长');
  1192. if(e.target.className != 'reward-btn-img'){
  1193. return
  1194. }
  1195. distributionList = distributionList.filter(item => item.duration != 0);
  1196. if (distributionList.length === 0) {
  1197. stopManyClick(() => {
  1198. toastr.error('未选中任何云手机');
  1199. })
  1200. } else {
  1201. $('.sure-distribution-wrap').eq(0).css('display', 'block');
  1202. }
  1203. });
  1204. //点击分配时长取消按钮
  1205. $('.sure-distribution-cannel')[0].addEventListener('click', (e) => {
  1206. operate('znq_2022_h5_分配奖励_取消');
  1207. $('.sure-distribution-wrap').eq(0).css('display', 'none');
  1208. });
  1209. //点击分配时长确定按钮
  1210. $('.sure-distribution-sure')[0].addEventListener('click', (e) => {
  1211. stopManyClick(() => {
  1212. $.ajax({
  1213. url: baseUrl + '/api/activity/v1/anniversary/receive',
  1214. type: 'post',
  1215. data: JSON.stringify({
  1216. userCards: distributionList
  1217. }),
  1218. headers: {
  1219. 'Authorization': id //id
  1220. },
  1221. contentType: "application/json",
  1222. dataType: 'json',
  1223. cache: false,
  1224. success: function (res) {
  1225. if(res.status === 0){
  1226. operate('znq_2022_h5_分配奖励_确定');
  1227. $('.sure-distribution-wrap').eq(0).css('display', 'none');
  1228. $('.slider-list').eq(0).text('');
  1229. $('.page-number').eq(0).text('');
  1230. init();
  1231. pageNums = 1;
  1232. pages = 0;
  1233. getLists();
  1234. distributionPageNum = 1;
  1235. $('.time-row-data').eq(0).text('');
  1236. distributionList.map((val) => {
  1237. totalRecords.map((item, indexs) => {
  1238. if(val.userCardId == item.id){
  1239. $('.ipt').eq(indexs).val(0);
  1240. }
  1241. })
  1242. })
  1243. distributionList = [];
  1244. totalRecords = [];
  1245. stopManyClick(() => {
  1246. toastr.error('分配成功,请前往云机列表查看');
  1247. })
  1248. } else {
  1249. $('.sure-distribution-wrap').eq(0).css('display', 'none');
  1250. stopManyClick(() => {
  1251. toastr.error(res.data.msg);
  1252. })
  1253. pageNums = 1;
  1254. pages = 0;
  1255. getLists();
  1256. }
  1257. },
  1258. })
  1259. })
  1260. });
  1261. //点击分配时长记录
  1262. $('.distribution-time-Record')[0].addEventListener('click', (e) => {
  1263. operate('znq_2022_h5_分配时长记录');
  1264. $('.distribution-time-dialog').animate({top: '4.86rem'},"fast");
  1265. $('.distribution-time-mask').show();
  1266. document.documentElement.style.overflow='hidden';
  1267. $('.distribution-list').eq(0).empty();
  1268. getTimeRecord();
  1269. });
  1270. //分配时长记录
  1271. function getTimeRecord(type){
  1272. $.ajax({
  1273. url: baseUrl + '/api/activity/v1/anniversary/receiveData',
  1274. type: 'get',
  1275. headers: {
  1276. 'Authorization': id //id
  1277. },
  1278. data: {
  1279. pageNum: distributionPageNum,
  1280. pageSize: 10,
  1281. phoneType: 'SVIP'
  1282. },
  1283. contentType: "application/json",
  1284. dataType: 'json',
  1285. cache: false,
  1286. success: function (res) {
  1287. if(res.status === 0){
  1288. distributionFlag = true;
  1289. let records = res.data.records, str = '', strs = '';
  1290. distributionPages = res.data.pages;
  1291. if(type != 'down'){
  1292. $('.distribution-list').eq(0).empty();
  1293. }
  1294. for (var i = 0; i < records.length; i++) {
  1295. str += `<div class="distribution-content-wrap">
  1296. <div class="distribution-content-name">${records[i].diskName}</div>
  1297. <div class="distribution-time-text">${records[i].createTime}</div>
  1298. <div class="distribution-content-names">${records[i].receiveDurations}天</div>
  1299. </div>`
  1300. }
  1301. $('.distribution-list').eq(0).append(str)
  1302. }else{
  1303. stopManyClick(() =>{
  1304. toastr.error(res.msg)
  1305. })
  1306. }
  1307. },
  1308. })
  1309. }
  1310. $('.share-wrap')[0].addEventListener('click',() => {
  1311. operate('znq_2022_h5_分享');
  1312. if (isAndroid && window.native) {
  1313. window.native.share('双子星云手机闪曜周年庆!大礼回馈,最高免费赠送188天!', '双子星云手机闪曜周年庆!大礼回馈,最高免费赠送188天!', `${baseUrl}/h5/microserviceUserH5/vcloud/anniversaryCelebrate.html`, '../static/img/anniversaryCelebrate/share-bg.png')
  1314. } else if (isiOS) {
  1315. try {
  1316. window.webkit.messageHandlers.share.postMessage({
  1317. title: '双子星云手机闪曜周年庆!大礼回馈,最高免费赠送188天!',
  1318. content: '双子星云手机闪曜周年庆!大礼回馈,最高免费赠送188天!',
  1319. gotoUrl: `${baseUrl}/h5/microserviceUserH5/vcloud/anniversaryCelebrate.html`,
  1320. shareImg: '../static/img/anniversaryCelebrate/share-bg.png'
  1321. });
  1322. } catch(error) {
  1323. stopManyClick(() =>{
  1324. copyUrl();
  1325. })
  1326. }
  1327. } else {
  1328. stopManyClick(() =>{
  1329. copyUrl();
  1330. })
  1331. }
  1332. },false);
  1333. function download() {
  1334. operate('znq_2022_h5_下载');
  1335. let ua = navigator.userAgent.toLowerCase();
  1336. if(ua.match(/MicroMessenger/i)=="micromessenger"){
  1337. location.href = 'http://f.mpay8.cn/l/cmK4MSiolegJcfl';
  1338. } else if (isAndroid) {
  1339. window.location.href = 'http://www.androidscloud.com/suanchou?timestamp=' + Math.random();
  1340. } else if (isiOS) {
  1341. document.location.href = 'https://www.pgyer.com/gemini6?timestamp=' + Math.random();
  1342. } else {
  1343. document.location.href = 'https://www.androidscloud.com?timestamp=' + Math.random();
  1344. }
  1345. }
  1346. function copyUrl() {
  1347. var oInput = document.createElement('input'); //创建一个input
  1348. oInput.setAttribute("readonly", "readonly"); //设置只读,否则移动端使用复制功能时可能会造成软件盘弹出
  1349. setTimeout(() => {
  1350. let myUrl = window.location.href;
  1351. let copyUrl = myUrl.split('?');
  1352. oInput.value = copyUrl[0];
  1353. $('.ipts')[0].appendChild(oInput);
  1354. selectText(oInput, 0, oInput.value.length);
  1355. document.execCommand("Copy"); // 执行浏览器复制命令
  1356. toastr.error(`复制成功`);
  1357. $('.dialog').animate({top: '-6.96rem'},"fast");
  1358. $('.mask').hide();
  1359. document.documentElement.style.overflow='auto';
  1360. oInput.style.display = 'none'; // 将input隐藏
  1361. oInput.blur();
  1362. oInput.remove(); // 将input销毁
  1363. }, 400)
  1364. };
  1365. function selectText(textbox, startIndex, stopIndex) {
  1366. if (textbox.createTextRange) { //ie
  1367. const range = textbox.createTextRange();
  1368. range.collapse(true);
  1369. range.moveStart('character', startIndex); //起始光标
  1370. range.moveEnd('character', stopIndex - startIndex); //结束光标
  1371. range.select(); //不兼容苹果
  1372. } else { //firefox/chrome
  1373. textbox.setSelectionRange(startIndex, stopIndex);
  1374. textbox.focus();
  1375. }
  1376. }
  1377. //点击分配时长关闭按钮
  1378. $('.distribution-close')[0].addEventListener('click',() => {
  1379. operate('znq_2022_h5_分配时长关闭');
  1380. $('.distribution-time-dialog').animate({top: '-10.96rem'},"fast");
  1381. $('.distribution-time-mask').hide();
  1382. document.documentElement.style.overflow='auto';
  1383. },false);
  1384. //获取云机数量
  1385. function getPhoneNumber(){
  1386. $.ajax({
  1387. url: baseUrl + '/api/pay/v2/meal/info?phoneType=SVIP',
  1388. type: 'get',
  1389. headers: {
  1390. 'Authorization': id //id
  1391. },
  1392. contentType: "application/json",
  1393. dataType: 'json',
  1394. cache: false,
  1395. success: function (res) {
  1396. if(res.status === 0){
  1397. phoneRemainQuantity = res.data.list[0].phoneRemainQuantity;
  1398. }else{
  1399. stopManyClick(() =>{
  1400. toastr.error(res.msg)
  1401. })
  1402. }
  1403. },
  1404. })
  1405. }
  1406. //埋点
  1407. function operate(pointName){
  1408. $.ajax({
  1409. url: baseUrl + '/api/public/v1/systemBuriedPoint/stat',
  1410. type: 'post',
  1411. data:JSON.stringify({
  1412. pointName: pointName
  1413. }),
  1414. contentType:"application/json",
  1415. dataType: 'json',
  1416. cache: false,
  1417. success: function (res) {
  1418. console.log(res)
  1419. },
  1420. })
  1421. }
  1422. //防止提示一秒内重复显示
  1423. function stopManyClick(fn) {
  1424. if (flag) {
  1425. fn();
  1426. }
  1427. flag = false;
  1428. if(timer){clearTimeout(timer);}
  1429. timer = setTimeout(() => {flag = true}, 1500);
  1430. }
  1431. </script>
  1432. </body>
  1433. </html>