clockIn.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374
  1. function ClockIn(){
  2. Common.call(this)
  3. }
  4. ClockIn.prototype = new Common()
  5. ClockIn.prototype.constructor = ClockIn
  6. // 渲染页面
  7. ClockIn.prototype.renderPage = function(obj){
  8. console.log(obj)
  9. if(obj.type == 2){
  10. // 报名成功,明日开始打开
  11. $('.tomo_clock_card').show()
  12. $('.sign-b').text('截至目前报名人数');
  13. $('.now_btn').removeClass('active_now_btn').addClass('no-btn').html('成功报名!明日开始打卡');
  14. $('.sign-d').hide();
  15. $('.award_item').addClass('award_item50');
  16. if ( obj.pop == 1 ){
  17. this.renderPagePop({
  18. type:4,
  19. });
  20. }
  21. }else if(obj.type == 3){
  22. // 今天打卡成功
  23. $('.today_success').show()
  24. $('.content').css({
  25. 'marginTop': '1.8rem'
  26. })
  27. $('.now_btn').removeClass('active_now_btn').addClass('no-btn').html('打卡成功')
  28. }else if(obj.type == 4){
  29. // 本次挑战成功
  30. $('.charge_sucess').show()
  31. $('.huodong_over').show().css({
  32. 'marginTop': '4.2rem'
  33. })
  34. $('.content').hide()
  35. $('.huodong_btn_tomo').show()
  36. }else if(obj.type == 5){
  37. // 可以打卡了,点击立即打卡
  38. $('.today_now_clock').show()
  39. $('.content').css({
  40. 'marginTop': '1.8rem'
  41. })
  42. if($('.now_btn').hasClass('active_now_btn')){
  43. $('.now_btn').html('立即打卡')
  44. }else{
  45. $('.now_btn').addClass('active_now_btn').html('立即打卡')
  46. }
  47. }else if(obj.type == 6){
  48. // 领取奖励
  49. $('.get_awrard').show()
  50. $('.huodong_over').show().css({
  51. 'marginTop': '4.2rem'
  52. })
  53. $('.content').hide()
  54. $('.huodong_btn_get_award').show()
  55. }else if(obj.type == 7){
  56. this.renderPagePop({
  57. type:5,
  58. })
  59. $('.today_now_clock').show()
  60. $('.content').css({
  61. 'marginTop': '1.8rem'
  62. })
  63. if($('.now_btn').hasClass('active_now_btn')){
  64. $('.now_btn').html('去补签')
  65. }else {
  66. $('.now_btn').addClass('active_now_btn').html('去补签')
  67. }
  68. }else if(obj.type == 8){
  69. // 挑战成功参加下一期
  70. $('.get_awrard').show()
  71. $('.huodong_over').show().css({
  72. 'marginTop': '4.2rem'
  73. })
  74. $('.content').hide()
  75. $('.huodong_btn_recharge_next').show()
  76. }else if(obj.type == 9){
  77. this.renderPagePop({
  78. type:7,
  79. })
  80. // 挑战失败,更多福利
  81. $('.charge_failed').show()
  82. $('.huodong_over').show().css({
  83. 'marginTop': '4.2rem'
  84. })
  85. $('.content').hide()
  86. $('.huodong_btn_more_award').show()
  87. }else if(obj.type == 10){
  88. var remainDay = parseInt($('#match_id').attr('read_num'))+1;
  89. if ( remainDay == 7 ){
  90. this.renderPagePop({
  91. type:9,
  92. })
  93. }else{
  94. this.renderPagePop({
  95. type:6,
  96. })
  97. }
  98. }else if(obj.type == 11){
  99. this.renderPagePop({
  100. type:1,
  101. })
  102. }else if(obj.type == 12){
  103. this.renderPagePop({
  104. type:7,
  105. })
  106. $('.charge_failed').show()
  107. $('.huodong_over').show().css({
  108. 'marginTop': '4.2rem'
  109. })
  110. $('.content').hide()
  111. $('.huodong_btn_recharge_next').show()
  112. }else if(obj.type == 13){
  113. $('.today_now_clock').show()
  114. $('.content').css({
  115. 'marginTop': '1.8rem'
  116. })
  117. if($('.now_btn').hasClass('active_now_btn')){
  118. $('.now_btn').html('去补签')
  119. }else {
  120. $('.now_btn').addClass('active_now_btn').html('去补签')
  121. }
  122. }else if(obj.type == 14){
  123. window.location.reload()
  124. }
  125. }
  126. // 渲染弹层
  127. ClockIn.prototype.renderPagePop = function(obj){
  128. if(obj.type == 1){
  129. // 打卡成功
  130. cpslog([702, {map:{campaign_status:'campaign_sign_success'}}, 'campaign_sign_success'])
  131. console.log(obj);
  132. var remainDay = parseInt($('#match_id').attr('read_num'))+1;
  133. $('.clock_sign_success').show()
  134. console.log(remainDay);
  135. if(remainDay == 7) {
  136. $('.clock_sign_success_text_top').empty();
  137. $('.clock_sign_success_text_6').hide()
  138. $('.clock_sign_success_text_7').show()
  139. }else{
  140. $('.clock_sign_success_span').html(7-remainDay)
  141. }
  142. }else if(obj.type == 2){
  143. // 打卡失败
  144. $('.clock_sign_fail').show()
  145. }else if(obj.type == 3){
  146. // 获得奖励
  147. $('.clock_sign_get_award').show()
  148. }else if(obj.type == 4){
  149. // 报名成功(应该在首页点击调用接口后直接弹出)
  150. $('.clock_enter_success').show()
  151. }else if(obj.type == 5){
  152. // 昨天忘记打卡
  153. cpslog([702, {map:{campaign_status:'campaign_forget_sign'}}, 'campaign_forget_sign'])
  154. $('.clock_forget_sign').show()
  155. }else if(obj.type == 6){
  156. // 补签成功
  157. cpslog([702, {map:{campaign_status:'campaign_csign_success'}}, 'campaign_csign_success'])
  158. $('.clock_supple_success').show()
  159. }else if(obj.type == 7){
  160. // 挑战失败
  161. $('.clock_charge_fail').show()
  162. }else if(obj.type == 8){
  163. // 挑战失败 下一期
  164. $('.charge_failed').show()
  165. $('.huodong_over').show().css({
  166. 'marginTop': '4.2rem'
  167. })
  168. $('.content').hide()
  169. // $('.huodong_btn_more_award').show()
  170. $('.clock_charge_fail').show()
  171. }else if(obj.type == 9){
  172. // 第8天补签成功
  173. $('.clock_forget_tip').hide();
  174. $('.clock_supple_success_tip').text('完成挑战,请及时领奖').show();
  175. $('.clock_supple_success').show()
  176. }
  177. }
  178. // 所有的点击事件
  179. ClockIn.prototype.clockHandleClick = function(){
  180. var that = this
  181. that.handleClick()
  182. var matchKey = $('#match_id');
  183. var data = {};
  184. data.matchId = matchKey.attr('data-match');
  185. data.kandian = matchKey.attr('data-kandian');
  186. data.activeId = matchKey.attr('data-active');
  187. data.matchDate = matchKey.attr('data-date');
  188. data.num = parseInt(matchKey.attr('read_num'))+1;
  189. // 点击立即打卡
  190. $('body').on('click','.active_now_btn', function(){
  191. if ( $('#web_status').val() == 7 || $('#web_status').val() == 13 ){ //补卡
  192. //补卡打点
  193. cpslog([702, {map:{campaign_status:'campaign_csign'}}, 'campaign_sign_click_btn'])
  194. var userId = matchKey.attr('user-id');
  195. var activeId = matchKey.attr('data-active');
  196. window.location.href="/index/recharge/pay?from=wechat&type=1&user_id="+userId+"&active_id="+activeId;
  197. }else{//打卡
  198. $.ajax({
  199. type: 'get',
  200. url: '/api/campaign/sign',
  201. data: data,
  202. success: function(res){
  203. if(res.data.code == 200){
  204. that.renderPagePop({
  205. type: 1,
  206. })
  207. }else{
  208. that.renderPagePop({
  209. type: 2,
  210. })
  211. }
  212. },
  213. error: function(err){
  214. that.renderPagePop({
  215. type: 2,
  216. })
  217. }
  218. })
  219. }
  220. })
  221. // 挑战失败点击按钮参加下次比较
  222. $('body').on('click', '.huodong_btn_recharge_next', function(){
  223. window.location.reload()
  224. })
  225. // 领取奖励
  226. $('body').on('click','.huodong_btn_get_award', function(){
  227. $.ajax({
  228. type: 'get',
  229. url: '/api/campaign/getReward',
  230. data: data,
  231. success: function(res){
  232. if(res.data.code == 200){
  233. that.renderPagePop({
  234. type: 3,
  235. award:res.data.data,
  236. })
  237. }else{
  238. alert(res.data.msg)
  239. }
  240. },
  241. error: function(err){
  242. alert('请稍后重试')
  243. }
  244. })
  245. })
  246. // 挑战失败精彩书籍
  247. $('body').on('click', '.huodong_btn_more_award', function(){
  248. var url = String($("#web_status").attr('channel-url'));
  249. window.location.href=url+"/index/user/recent?from=wechat";
  250. })
  251. // 去补签,弹层
  252. $('body').on('click', '.today_middle_supple_btn', function(){
  253. that.renderPagePop({
  254. type: 5
  255. })
  256. })
  257. // 充值获得补签
  258. $('body').on('click','.clock_forget_btn', function(){
  259. //打点
  260. cpslog([702, {map:{campaign_status:'campaign_csign'}}, 'campaign_sign_click_web'])
  261. $('.clock_forget_sign').hide()
  262. var userId = matchKey.attr('user-id');
  263. var activeId = matchKey.attr('data-active');
  264. window.location.href="/index/recharge/pay?from=wechat&type=1&user_id="+userId+"&active_id="+activeId;
  265. })
  266. // 书籍跳转
  267. $('body').on('click', '.book_item', function(e){
  268. var bookId = String($(this).attr('data-bookid'));
  269. var url = String($("#web_status").attr('channel-url'));
  270. window.location.href=url+"index/book/info?book_id="+bookId;
  271. })
  272. // 去看好书,跳转到书架
  273. $('body').on('click', '.top_prev span,.clock_sign_fail_btn,.see_more_btn', function(){
  274. var url = String($("#web_status").attr('channel-url'));
  275. window.location.href=url+"/index/user/recent?from=wechat";
  276. })
  277. //领奖完成
  278. $('.clock_sign_get_award .pop_close').click(function(){
  279. var actNext = $('#match_id').attr('act-next');
  280. $('.huodong_btn_get_award').hide();
  281. if ( actNext == 1 ){
  282. $('.huodong_btn_recharge_next').text('报名新一期挑战赛').show();
  283. }else{
  284. $('.huodong_btn_more_award').show();
  285. }
  286. })
  287. // 打卡成功的弹层关闭
  288. $('body').on('click', '.clock_sign_success .pop_close,.clock_supple_success .pop_close', function(){
  289. window.location.reload()
  290. })
  291. // 报名成功挑战阅读
  292. $('body').on('click', '.clocl_enter_success_see_book', function(){
  293. var url = String($("#web_status").attr('channel-url'));
  294. window.location.href=url+"/index/user/recent?from=wechat";
  295. })
  296. //挑战成功查看规则
  297. $('.clock_enter_success_rule_btn').click(function(){
  298. if($(this).parents('.clock_enter_success').length > 0){
  299. $(this).parents('.clock_enter_success').hide()
  300. }
  301. $('.charge_rule_pop').show();
  302. $('.pop_close').unbind();
  303. $('.pop_close').click(function(){
  304. $(this).parents('.common_pop').hide();
  305. window.location.reload()
  306. })
  307. })
  308. }
  309. // 渲染已经读了多少分钟
  310. ClockIn.prototype.init = function(){
  311. var phpStatus = $('#web_status').val();
  312. var popType = $('#web_status').attr('pop-type');
  313. this.clockHandleClick()
  314. // this.transitionFun()
  315. console.log(phpStatus);
  316. this.renderPage({
  317. type: phpStatus,
  318. pop:popType
  319. })
  320. }
  321. var clockInObj = new ClockIn()
  322. clockInObj.init()
  323. function taskCallback(type){
  324. if(type == 1){
  325. clockInObj.logClick({
  326. module: 'read_change_status',
  327. zone: 'buqiansuccess',
  328. json: {
  329. date: date
  330. }
  331. })
  332. clockInObj.renderPagePop({
  333. type: 6
  334. })
  335. }
  336. }
  337. function notfind(){
  338. var img = event.srcElement
  339. if(img.src.indexOf('classify_default') > -1){
  340. img.onerror = null
  341. return
  342. }
  343. img.src = '../../assets/img/frontend/campaign/classify_default.png'
  344. }