doubleElevenActivity.html 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480
  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/doubleElevenActivity.css">
  10. <script src="../static/js/vender/jquery-3.4.1.min.js"></script>
  11. <script src="../static/js/vender/toastr/toastr.min.js"></script>
  12. <script src="../static/js/vender/config.js"></script>
  13. <style>
  14. .get-award-container{
  15. position: absolute;
  16. bottom: 1.3rem;
  17. left: 50%;
  18. transform: translate(-50%, -50%);
  19. width: 5.84rem;
  20. height: 0.5rem;
  21. line-height: 0.5rem;
  22. text-align: center;
  23. border-radius: 0.3rem;
  24. background-color: rgba(0,0,0,0.5);
  25. overflow: hidden;
  26. }
  27. .award-list{
  28. width: 5.84rem;
  29. position: absolute;
  30. top: 0;
  31. left: 50%;
  32. transform: translateX(-50%);
  33. height: 6rem;
  34. }
  35. .award-text{
  36. font-size: 0.24rem;
  37. color: #ffffff;
  38. }
  39. </style>
  40. </head>
  41. <body>
  42. <div class="container">
  43. <div class="header-container">
  44. <img class="top-banner" src="../static/img/doubleElevenActivity/top-banner.png" />
  45. <div class="get-award-container">
  46. <div class="award-list">
  47. <div class="award-text"></div>
  48. <div class="award-text"></div>
  49. <div class="award-text"></div>
  50. <div class="award-text"></div>
  51. <div class="award-text"></div>
  52. </div>
  53. </div>
  54. </div>
  55. <div class="middle-container">
  56. <div class="step-container">
  57. <img class="tips" src="../static/img/doubleElevenActivity/tip.png" />
  58. <div class="main-step-content">
  59. <div class="top-step">
  60. <div class="step-item">
  61. <img class="buyphone" src="../static/img/doubleElevenActivity/buyphone.png" />
  62. <span class="step-text">购买云机</span>
  63. </div>
  64. <img class="step" src="../static/img/doubleElevenActivity/step.png" />
  65. <div class="step-item">
  66. <img class="hongbao" src="../static/img/doubleElevenActivity/hongbao.png" />
  67. <span class="step-text">分享好友红包</span>
  68. <span class="step-text">并购买</span>
  69. </div>
  70. <img class="step" src="../static/img/doubleElevenActivity/step.png" />
  71. <div class="step-item">
  72. <img class="buyphone" src="../static/img/doubleElevenActivity/buyphone.png" />
  73. <span class="step-text">获得云机</span>
  74. </div>
  75. </div>
  76. <div class="red-packet">
  77. <div class="packet">
  78. <img class="fxhb" src="../static/img/doubleElevenActivity/fxhb.png" />
  79. <div class="money"><span class="money-mark">¥</span><span class="money-val">1111</span></div>
  80. <div class="packet-title">云手机无门槛抵扣券</div>
  81. <div class="packet-time">11月11-11月31日有效</div>
  82. </div>
  83. <div class="account">优惠券已放入您的账户130****6315</div>
  84. </div>
  85. </div>
  86. <div class="join-activity-btn">
  87. <img class="join-activity" src="../static/img/doubleElevenActivity/button-join-activity.png" />
  88. <div class="activity-btn-content">
  89. <span class="activity-btn-text">快来参加双十一活动</span>
  90. <img class="icon-left" src="../static/img/doubleElevenActivity/icon-left.png" />
  91. </div>
  92. </div>
  93. </div>
  94. <div class="invite-text">*邀请好友即得厚礼,红包购机买一赠一</div>
  95. <div class="packet-container">
  96. <img class="rule-tips" src="../static/img/doubleElevenActivity/packet-tip.png" />
  97. <div class="packet-block">
  98. <div class="red-packet-next"></div>
  99. </div>
  100. </div>
  101. <div class="rule-container">
  102. <img class="rule-tips" src="../static/img/doubleElevenActivity/rule.png" />
  103. <div class="rule-content">
  104. <div class="rule-point">红包规则:</div>
  105. <div class="rule-point">1.红包可以自用或者分享给好友(好友可以是双子星新/老用户)</div>
  106. <div class="rule-point">2.同一个红包一人限领一次,共计6个红包</div>
  107. <div class="rule-point">3.红包可以无门槛抵押任何套餐,但是一个订单只能使用一个</div>
  108. <div class="rule-point">4.分享者分享的红包被领取后,如果领取红包的人购买了任意套餐,分享者都可领取一份相同的套餐</div>
  109. <div class="rule-point">5.若分享者自己领取自己的红包购买套餐,自己可获得两份相同的套餐</div>
  110. <div class="rule-point">其它说明:</div>
  111. <div class="rule-point">1.活动中获得的活动红包,不具备现金价值,仅限于在本活动中使用,不可用于双子星的其他活动(不可和新人7.5折优惠券一同使用),也不可用于在双子星兑换、交易。</div>
  112. <div class="rule-point">2.任务奖励发放条件由平台根据活动需要设定,用户已获得的任务奖励(如体力、星星等)仅限用于兑换相应活动资格或用于领取优惠券、体验套餐,该部分任务奖励不能用于在本活动所述平台进行现金/商品等的兑换、交易等其他事项。</div>
  113. <div class="rule-point">2.任务奖励发放条件由平台根据活动需要设定,用户已获得的任务奖励(如体力、星星等)仅限用于兑换相应活动资格或用于领取优惠券、体验套餐,该部分任务奖励不能用于在本活动所述平台进行现金/商品等的兑换、交易等其他事项。</div>
  114. <div class="rule-point">3.优惠券的可使用范围有限制,请以券面提示为准,用户可在下单时选择该订单的可用优惠券,的卡券页面中查看已领取的优惠券的详细情况。具体适用范围以商品详情页提示内容为准。无法使用优惠券的商品,在商品详情页将不展示优惠券;同一笔订单中,不同类型的券可以叠加,同一类型的券,仅可选择一张使用。</div>
  115. <div class="rule-point">4.活动平台有权对用户订单进行审核。如活动平台认定订单存在异常(包括任何形式的用户作弊行为),有权取消订单,订单取消后优惠券自动失效。</div>
  116. <div class="rule-point">法律声明</div>
  117. <div class="rule-point">
  118. 1. 同一用户是指使用同一帐号、同一手机号、同一设备或同一提现账户的用户。上述与用户身份相关的信息,其中任意一项或数项相同,或通过特定标记形成关联,或活动平台有合理理由认为存在关联的,都视为同一个用户。部分参与方式中,对用户帐号有限制,同一个设备最多可使用一个帐号参与活动,同一帐号最多可以使用一台设备参与活动;用户使用多个帐号在同一个设备上登录的,视为同一用户,仅有一个帐号可参与本活动。
  119. </div>
  120. <div class="rule-point">
  121. 2. 用户不得采取任何不正当或作弊的违规手段参与本活动,一经发现,活动平台有权限制或取消用户参与活动的资格,有权取消奖励、追讨用户已领取的奖励(或同等价值的现金)。活动平台有权对违规用户采取限制登录、封禁帐号、限制提现的措施,并保留追究用户其他法律责任的权利。违规手段包括但不仅限于:
  122. </div>
  123. <div class="rule-point">
  124. 2.1 通过不正当手段参与活动。例如使用模拟器、插件、软件外挂、物理外挂等违规工具参与活动,与其他用户串通采取不正当手段谋取活动奖励等;
  125. </div>
  126. <div class="rule-point">
  127. 2.2 扰乱本活动秩序。例如使用多个帐号参与活动,修改个人位置信息,篡改设备数据,买卖用户帐号,买卖活动权益,买卖领奖资格等;
  128. </div>
  129. <div class="rule-point">
  130. 2.3 干扰活动平台正常运营。例如批量注册用户帐号,违规使用用户帐号,采用技术手段对活动平台进行干扰、破坏、修改或施加其他影响;
  131. </div>
  132. <div class="rule-point">
  133. 2.4 利用本活动进行违法犯罪。例如利用本活动洗钱、套现、诈骗,或开展其他违反国家法律法规的活动;
  134. </div>
  135. <div class="rule-point">
  136. 2.5 其他违反法律法规,违背诚实信用原则,违反活动规则,或活动平台认为的不正当手段。
  137. </div>
  138. <div class="rule-point">
  139. 3. 如因以下原因导致活动不能正常举办、用户无法参与或参与失败、活动奖励发放错误等,活动平台/本活动有权暂停或取消活动,且不承担任何法律责任或不利后果:
  140. </div>
  141. <div class="rule-point">
  142. 3.1 不可抗力,包括但不仅限于自然灾害,有权机关的政策要求,政府机关指令,重大疫情影响等不能预见、不可避免、不能克服的情况;
  143. </div>
  144. <div class="rule-point">
  145. 3.2 活动平台发生技术故障,本活动受到不正当技术手段干扰、破坏、篡改或被施加其他影响,第三方平台限制活动平台或本活动,或其他导致本活动的正常秩序受到干扰的情况;
  146. </div>
  147. <div class="rule-point">
  148. 3.3 用户所在地区网络故障、支付平台故障、电信运营商故障等非活动平台所能控制的情况。
  149. </div>
  150. <div class="rule-point">
  151. 4. 活动平台不支持用户通过众包或类似方式参与活动。如用户因此遭受经济损失的,活动平台不承担任何赔偿或补偿责任。
  152. </div>
  153. <div class="rule-point">
  154. 5. 商品展示的划线价格为参考价,该价格可能是品牌专柜标价、商品吊牌价或品牌供应商提供的指导价、建议零售价或该商品在电商平台及/或其他渠道曾展示过的销售价,并非原价;由于地区等差异性和市场行情波动,品牌专柜标价、商品吊牌价等可能会与电商平台展示的不一致,该价格仅供用户参考。
  155. </div>
  156. <div class="rule-point">
  157. 6. 若由于用户自身原因(包括但不限于参与方式不符合活动规则、未按活动规则要求提供收件地址、操作不当造成产品功能故障等)导致无法实际享有奖励的,视为用户自愿放弃奖励,活动平台将不会也无义务给予任何形式的补偿。
  158. </div>
  159. <div class="rule-point">
  160. 7. 任何第三方以活动平台名义从事欺诈行为造成用户损失的,活动平台无需为此承担法律责任。
  161. </div>
  162. <div class="rule-point">
  163. 8. 活动平台和电商平台的《用户协议》《隐私政策》(以手机客户端对应名称为准)及其他规范同样适用于本活动,本活动规则与活动平台和电商平台《用户协议》《隐私政策》及其他规范相冲突的,以本活动规则为准。本活动规则未约定的内容,以活动平台和电商平台的《用户协议》《隐私政策》及其他平台规范为准。
  164. </div>
  165. <div class="rule-point">
  166. 9. 在法律法规允许的范围内,活动平台有权对本活动规则进行变动或调整,相关变动或调整将公布在活动规则页面上,并于公布时即时生效,用户继续参与活动则视为同意并接受变动或者调整后的活动规则。如果用户拒绝活动规则的变更或者调整,请放弃参与变更后的活动。
  167. </div>
  168. </div>
  169. </div>
  170. </div>
  171. <div class="mask">
  172. <div class="pop">
  173. <img class="pop-bg" src="../static/img/doubleElevenActivity/pop_share.png" />
  174. <div class="top-title">恭喜你</div>
  175. <div class="share-num-text">还有*张优惠券可以分享</div>
  176. <div class="bottom">
  177. <div class="bottom-title-row">
  178. <span class="line"></span>
  179. <span class="bottom-title">分享到</span>
  180. <span class="line"></span>
  181. </div>
  182. <div class="bottom-share-row">
  183. <div class="left-friend_share">
  184. <img class="friend_share" src="../static/img/doubleElevenActivity/icon_wechat_friend_share.png" />
  185. <div class="share-text">朋友圈</div>
  186. </div>
  187. <div class="right-wechat">
  188. <img class="wechat" src="../static/img/doubleElevenActivity/wechat.png" />
  189. <div class="share-text">微信好友</div>
  190. </div>
  191. </div>
  192. </div>
  193. <div class="del">
  194. <img class="del-img" src="../static/img/doubleElevenActivity/del.png" />
  195. </div>
  196. </div>
  197. </div>
  198. </div>
  199. <script>
  200. toastr.options.positionClass = 'toast-center-center';
  201. toastr.options.timeOut = '1500';
  202. </script>
  203. <script type="text/javascript">
  204. let timer,flag = true;
  205. var url = window.location.href;
  206. var startTime,endTime,money;
  207. url = url.split('/');
  208. var topVal = -0.5;
  209. var baseUrl = 'http://192.168.211.34:8044'
  210. var loc = window.location.search,
  211. n1 = loc.length,//地址的总长度
  212. n2 = loc.indexOf("="),//取得=号的位置
  213. id = loc.substr(n2 + 1, n1 - n2),//从=号后面的内容
  214. u = navigator.userAgent,
  215. ua = navigator.userAgent.toLowerCase(),
  216. isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
  217. isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
  218. (function(){
  219. getActivityTime();
  220. awardHandle();
  221. headerAward();
  222. })()
  223. //轮播
  224. function headerAward(){
  225. setInterval(() =>{
  226. awardHandle();
  227. },3000);
  228. }
  229. function awardHandle(){
  230. let index = (topVal/0.5) + 1;
  231. if(topVal < 2){
  232. topVal+=0.5;
  233. }else{
  234. topVal = 0;
  235. $('.award-list').eq(0).css('top','0.5rem');
  236. }
  237. $('.award-text').eq(index).text(`恭喜1${[3,5,7,8,3,5,7,8,3,5][getRandom()]}${getRandom()}****${getRandom()}${getRandom()}${getRandom()}${getRandom()}用户免费获得唔即年卡`);
  238. $('.award-list').eq(0).animate({top: -(topVal) + 'rem'},"fast");
  239. }
  240. //获取时间
  241. function getActivityTime(){
  242. $.ajax({
  243. url: baseUrl + `/v1/activity/getActivityTime?name=双十一活动`,
  244. type: 'get',
  245. contentType:"application/json",
  246. dataType: 'json',
  247. cache: false,
  248. success: function (res) {
  249. startTime = res.data.startTime;
  250. endTime = res.data.endTime;
  251. getList();
  252. },
  253. })
  254. }
  255. //调用获取数据列表接口
  256. function getList(){
  257. if(!id){
  258. stopManyClick(() => {
  259. toastr.error('不支持当前环境!');
  260. })
  261. }
  262. $.ajax({
  263. url: baseUrl + '/v1/activity/orderRedEnvelopeSharing',
  264. type: 'post',
  265. headers: {
  266. 'Authorization': id //id
  267. },
  268. contentType: "application/json",
  269. dataType: 'json',
  270. cache: false,
  271. success: function (res) {
  272. if(res.status === 0){
  273. if(res.data && res.data.length > 0){
  274. let res = {
  275. data: [{
  276. totalMoney: 66,
  277. shareCount: 1,
  278. quantity: 6,
  279. list:[{
  280. receiveUser: '111',
  281. creatTime: '2020-11-11 11:21:08',
  282. receivePhoneDuration: 30,
  283. state: 2
  284. }]
  285. }]
  286. }
  287. $('.invite-text').eq(0).show();
  288. $('.packet-container').eq(0).show();
  289. var str = '',
  290. list = '',
  291. len = res.data.length;
  292. for (var i = 0; i < len; i++) {
  293. var totalMoney = res.data[i].totalMoney,
  294. shareCount = res.data[i].shareCount,
  295. dataList = res.data[i].list,
  296. quantity = res.data[i].quantity;
  297. dataList.map((item) => {
  298. list += `<div class="user-item">
  299. <div class="user-left">
  300. <img class="head-img" src="../static/img/doubleElevenActivity/touxiang_da_icon.png" />
  301. <div class="user-info">
  302. <div class="user-name">${item.receiveUser}</div>
  303. <div class="user-time">${item.creatTime}</div>
  304. </div>
  305. </div>
  306. <div class="meal">无极${item.receivePhoneDuration===30?'月卡':item.receivePhoneDuration===120?'季卡':item.receivePhoneDuration===365?'年卡':item.receivePhoneDuration+'卡'}</div>
  307. <div class="${['receive no-user','receive',' receive usered'][item.state]}" data-totalMoney=${totalMoney}>${['未使用','领取','已领取'][item.state]}</div>
  308. </div>`
  309. })
  310. str += `<div class="packet">
  311. <img class="fxhb" src="../static/img/doubleElevenActivity/fxhb.png" />
  312. <div class="money"><span class="money-mark">¥</span><span class="money-val">${totalMoney}</span></div>
  313. <div class="packet-titles">无门槛</div>
  314. <div class="packet-times">${startTime.substring(5,11)}-${endTime.substring(5,11)}日有效</div>
  315. <div class="share-btn">
  316. <img class="share" src="../static/img/doubleElevenActivity/share.png" />
  317. <div class="share-num">${shareCount}/${quantity}</div>
  318. </div>
  319. <div class="packet-info">${dataList.length !== 0?'':'尚未有用户领取红包购买云机'}</div>
  320. <img class="icon" src="../static/img/doubleElevenActivity/icon_up.png" />
  321. </div>
  322. <div class="${dataList.length !== 0?'user-list':''}" flag="2">
  323. ${list}
  324. </div>`
  325. }
  326. $('.red-packet-next').eq(0).append(str);
  327. }
  328. }else{
  329. stopManyClick(() => {
  330. toastr.error(res.msg);
  331. })
  332. }
  333. }
  334. })
  335. }
  336. // 6,dt_双11_h5_活动页面
  337. // 7, dt_双11_h5_快来参加双11
  338. // 8, dt_双11_mp_快来参加双11
  339. // 9,dt_双11_android_分享红包
  340. // 9,dt_双11_h5_分享红包
  341. // 10, dt_双11_h5_使用红包
  342. // 11, dt_双11_h5_领取红包
  343. //埋点
  344. operate('dt_双11_h5_活动页面');
  345. function operate(pointName,type){
  346. $.ajax({
  347. url: baseUrl + '/api/public/v1/systemBuriedPoint/stat',
  348. type: 'post',
  349. data:JSON.stringify({
  350. pointName: pointName
  351. }),
  352. contentType:"application/json",
  353. dataType: 'json',
  354. cache: false,
  355. success: function (res) {
  356. },
  357. })
  358. }
  359. //点击红包
  360. $('.red-packet-next')[0].addEventListener('click',(e) => {
  361. if(['fxhb','packet-titles','money-val'].includes(e.target.className)){
  362. $('.user-list').eq(0).toggle();
  363. const flag = $('.user-list').eq(0).attr('flag');
  364. if(flag === '1'){
  365. $('.icon').eq(0).attr('src','../static/img/doubleElevenActivity/icon_up.png');
  366. $('.user-list').eq(0).attr('flag','2');
  367. }else{
  368. $('.icon').eq(0).attr('src','../static/img/doubleElevenActivity/icon_down.png');
  369. $('.user-list').eq(0).attr('flag','1');
  370. }
  371. }
  372. })
  373. //点击参加按钮
  374. $('.join-activity-btn')[0].addEventListener('click',()=>{
  375. if (isAndroid) {
  376. window.native.startPurchase();
  377. operate('dt_双11_h5_快来参加双11');
  378. }
  379. });
  380. //点击领取
  381. $('.red-packet-next')[0].addEventListener('click',(e)=>{
  382. money = e.target.dataset.totalmoney;
  383. if(e.target.className === 'receive'){
  384. e.stopPropagation();
  385. if (isAndroid) {
  386. window.native.activatePhone(112);
  387. }
  388. }
  389. });
  390. //点击分享
  391. $('.red-packet-next')[0].addEventListener('click',(e) => {
  392. if(e.target.className === 'share' || e.target.className === 'share-num'){
  393. $('.pop').animate({top: '48vh'},"fast");
  394. $('.mask').show();
  395. document.documentElement.style.overflow='auto';
  396. }
  397. });
  398. //点击分享朋友圈
  399. $('.left-friend_share')[0].addEventListener('click',()=>{
  400. shareHandle('shareToWechatCircle');
  401. });
  402. //点击分享微信
  403. $('.right-wechat')[0].addEventListener('click',()=>{
  404. shareHandle('shareToWechatMin');
  405. });
  406. function shareHandle(type) {
  407. shareAddress();
  408. if (isAndroid) {
  409. if(window.native){
  410. operate('dt_双11_h5_分享红包');
  411. window.native[type](
  412. '111',
  413. '111',
  414. `pages/home/home?AppID=wxe7a691bd1cd74958&money=${money}&startTime=${startTime}endTime=${endTime}`,
  415. 'https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/18fe2f6bb3c843c0b6fc3935a7411c51~tplv-k3u1fbpfcp-zoom-mark-crop-v2:240:240:0:0.awebp',
  416. '2'
  417. );
  418. }else{
  419. stopManyClick(() => {
  420. toastr.error('不支持当前环境!');
  421. })
  422. }
  423. }else{
  424. stopManyClick(() => {
  425. toastr.error('不支持当前环境!');
  426. })
  427. }
  428. }
  429. // 获取链接
  430. function shareAddress(){
  431. $.ajax({
  432. url: baseUrl + `/v1/activity/shareAddress?paramJson=111111`,
  433. type: 'get',
  434. contentType:"application/json",
  435. dataType: 'json',
  436. cache: false,
  437. success: function (res) {
  438. console.log(res)
  439. },
  440. })
  441. }
  442. //点击关闭弹窗
  443. $('.del')[0].addEventListener('click',(e)=>{
  444. $('.pop').animate({top: '-6.96rem'},"fast");
  445. $('.mask').hide();
  446. document.documentElement.style.overflow='auto';
  447. });
  448. //防止提示一秒内重复显示
  449. function stopManyClick(fn) {
  450. if (flag) {
  451. fn();
  452. }
  453. flag = false;
  454. if(timer){clearTimeout(timer);}
  455. timer = setTimeout(() => {flag = true}, 1500);
  456. }
  457. // 获取一个随机数
  458. function getRandom(){
  459. return Math.floor(Math.random()*10);
  460. }
  461. </script>
  462. </body>
  463. </html>