anniversaryCelebrate.html 52 KB

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