index.html 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. {extend name="public/container"}
  2. {block name="head_top"}
  3. <style>
  4. .mask h4{padding-top: 1rem;padding-bottom: 1rem;margin-top: 1rem;color: #ffffff;font-size: 0.5rem;text-align: center;}
  5. .mask .code{width: 100%;display: flex;align-items: center}
  6. .mask .code .image{height: 5rem;width: 5rem;margin: 0 auto;}
  7. .mask a{display: inherit;text-align: center; font-size: 0.28rem;color: #fff;width: 2.5rem;height: 0.6rem;background-color: #509efb;line-height: 0.6rem;border-radius: 0.5rem;margin: 1rem auto;}
  8. </style>
  9. {/block}
  10. {block name="title"}立即登陆{/block}
  11. {block name="content"}
  12. <div id="app" v-cloak="">
  13. <div class="entry up">
  14. <div class="title">手机号登录</div>
  15. <div class="entry-list">
  16. <div class="item"><input type="number" v-model="phone" placeholder="请输入手机号"></div>
  17. <div class="item item1 acea-row row-between-wrapper">
  18. <input type="number" v-model="code_num" placeholder="请输入验证码">
  19. <button class="code" :disabled="active" :class="active == true?'on':''" @click="code">{{timetext}}</button>
  20. </div>
  21. </div>
  22. <div class="select-btn">
  23. <div class="checkbox-wrapper"><label class="well-check"><input type="checkbox" v-model="agree" name="" value="1" checked="checked"><i class="icon"></i>已阅读并同意 <a :href="goagree()">[{{site_name}}付费用户协议]</a></label></div>
  24. </div>
  25. <div class="enterBnt acea-row row-center-wrapper" @click="login">登录</div>
  26. </div>
  27. <div class="mask" @touchmove.prevent></div>
  28. <div class="mask" @touchmove.prevent style="z-index: 100;" v-show="isfollow">
  29. <h4>立即绑定微信公众号用户</h4>
  30. <div class="code">
  31. <img :src="codeUrl" class="image" alt="">
  32. </div>
  33. <a class="button" target="_blank" href="{:Url('wap/index/index')}">跳过直接去首页</a>
  34. </div>
  35. </div>
  36. {/block}
  37. {block name='foot'}
  38. <script>
  39. var ref ='{$ref}',site_name = '{$Auth_site_name}';
  40. require(['vue','helper','store','reg-verify'],function(Vue,$h,app) {
  41. new Vue({
  42. el:'#app',
  43. data:{
  44. timetext:'获取验证码',
  45. active:false,
  46. phone:'',
  47. code_num:'',
  48. codeUrl:'',
  49. isfollow:false,
  50. agree:1,
  51. site_name:site_name
  52. },
  53. methods:{
  54. goagree:function(){
  55. return $h.U({c:"index",a:'agree'});
  56. },
  57. login:function(){
  58. var that=this;
  59. if(!this.phone) return $h.pushMsgOnce('请输入手机号码');
  60. if(!$reg.isPhone(this.phone)) return $h.pushMsgOnce('您输入的手机号码不正确');
  61. if(!that.code_num) return $h.pushMsgOnce('请输入验证码');
  62. if(!that.agree) return $h.pushMsgOnce('请同意'+that.site_name+'付费用户协议');
  63. $h.loadFFF();
  64. app.basePost($h.U({c:'login',a:'phone_check'}),{phone:this.phone,code:this.code_num},function (res) {
  65. $h.loadClear();
  66. $h.showMsg({
  67. title:res.data.msg,
  68. icon:'success',
  69. success:function (){
  70. if(res.data.data.isfollow){
  71. window.location.href=ref ? ref : $h.U({c:'index',a:'index'});
  72. }else{
  73. that.isfollow=true;
  74. that.codeUrl=res.data.data.url;
  75. }
  76. }
  77. });
  78. },function () {
  79. $h.loadClear();
  80. });
  81. },
  82. code:function () {
  83. var that = this;
  84. if(!that.phone) return $h.pushMsgOnce('请输入手机号码');
  85. if(!$reg.isPhone(that.phone)) return $h.pushMsgOnce('请输入正确的手机号码');
  86. that.active = true;
  87. var n = 60;
  88. app.baseGet($h.U({c:'public_api',a:'code',q:{phone:that.phone}}),function (res){
  89. var data=res.data.data;
  90. if(data.Message=='OK' || data.Code=='OK'){
  91. var run =setInterval(function(){
  92. n--;
  93. if(n<0){
  94. clearInterval(run);
  95. }
  96. that.timetext = "剩余 "+n+"s";
  97. if(that.timetext<"剩余 "+0+"s"){
  98. that.active = false;
  99. that.timetext = "重发";
  100. }
  101. },1000);
  102. }else{
  103. $h.pushMsgOnce(data.Message);
  104. that.active =false;
  105. }
  106. },function (res) {
  107. that.active =false;
  108. });
  109. },
  110. },
  111. mounted:function () {
  112. }
  113. })
  114. })
  115. </script>
  116. {/block}