generate.php 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>设置管理员</title>
  6. <link href="/css/admin/style.css?version=<?= $this->context->version ?>" rel="stylesheet" type="text/css">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui" />
  9. <meta name="apple-mobile-web-app-capable" content="yes" />
  10. <meta name="format-detection" content="telephone=no, email=no" />
  11. <link rel="stylesheet" href="/css/bootstrap.css?version=<?= $this->context->version ?>">
  12. <script src="/js/jquery-1.11.1.min.js?version=<?= $this->context->version ?>"></script>
  13. <style>
  14. label{
  15. font-weight:normal;
  16. }
  17. .xhMask{
  18. position:fixed;
  19. left:0;top:0;
  20. width:100%;
  21. height:100%;
  22. z-index:99;
  23. background-color:gray;
  24. filter:alpha(opacity=50);
  25. opacity:0.5;
  26. display:none;
  27. }
  28. .xhPop{
  29. position:fixed;
  30. width:20%;
  31. font-size:12px;
  32. height:auto;
  33. background:wheat;
  34. padding:10px;
  35. z-index:9999;
  36. display:none;
  37. width:160px;
  38. text-align:center;
  39. }
  40. .xhBeCenterBox{
  41. position:fixed;
  42. width:80%;
  43. height:auto;
  44. background:#DBE4EB;
  45. display:none;
  46. border-radius:2px;
  47. z-index:999;
  48. }
  49. .xhCenterModal{
  50. background-color: #8dc63f;
  51. border-color: #8dc63f;
  52. color: #ffffff;
  53. position:fixed;
  54. width:20%;
  55. font-size:12px;
  56. height:auto;
  57. padding:15px;
  58. z-index:999;
  59. display:none;
  60. width:180px;
  61. text-align:center;
  62. border-radius:4px;
  63. }
  64. </style>
  65. </head>
  66. <body>
  67. <div name="xhTempModal" style="background-color: #8dc63f;border-radius:2px;border-color: #8dc63f;color: #ffffff;position:fixed;width:20%;font-size:12px;height:auto;padding:15px;z-index:9999;display:none;width:180px;text-align:center;" ></div>
  68. <div class="panel panel-default" style="border:none;-webkit-box-shadow:none;">
  69. <div class="panel-body" style="margin-top:15px;">
  70. <form role="form">
  71. <div class="form-group">
  72. <label class="col-sm-2 control-label" for="field-1">*管理员:</label>
  73. <div class="col-sm-10">
  74. <input type="text" class="form-control" name="userName" value="<?= $admin['adminName'] ?>" disabled placeholder="">
  75. <p></p>
  76. </div>
  77. </div>
  78. <div class="form-group">
  79. <label class="col-sm-2 control-label">*手机号(帐号):</label>
  80. <div class="col-sm-10">
  81. <input type="tel" class="form-control" name="relateMobile" placeholder="登陆后台的帐号">
  82. <p></p>
  83. </div>
  84. </div>
  85. <div class="form-group">
  86. <label class="col-sm-2 control-label">*验证码:</label>
  87. <div class="col-sm-10">
  88. <input type="tel" class="form-control" name="relateAuthCode" placeholder="" style="width:30%;display:inline">
  89. <button type="button" name="createAuthCode" getMobileMsgStatus="yes" class="btn btn-info btn-single">
  90. <span name="getAuthCodeText">获取验证码</span>
  91. <span style="display:none;font-size:12px;" name="reGetAuthCode"><i style="font-size:12px;font-style:normal;">120</i> 秒后重新获取</span>
  92. </button>
  93. <p name="authHint"></p>
  94. </div>
  95. </div>
  96. <div class="form-group">
  97. <label class="col-sm-2 control-label">*密码:</label>
  98. <div class="col-sm-10">
  99. <input type="password" class="form-control" name="relatePassword" placeholder="登陆后台的密码,不少于6位数">
  100. <p></p>
  101. </div>
  102. </div>
  103. <div class="form-group-separator"></div>
  104. <div class="form-group" style="text-align:center;">
  105. <button type="button" onclick="relateSubmit('click',this)" class="btn btn-info btn-single">确认</button>
  106. </div>
  107. </form>
  108. </div>
  109. </div>
  110. <script>
  111. var relateMobile = $("input[name=relateMobile]");
  112. var relateAuthCode = $("input[name=relateAuthCode]");
  113. var relatePassword = $("input[name=relatePassword]");
  114. var relateCheck = [relateMobile,relatePassword,relateAuthCode];
  115. relateSubmit();
  116. function relateSubmit()
  117. {
  118. setRelateStats(relateMobile,'请填写手机号',function(val,msg){
  119. var info = [false,msg];
  120. val = $.trim(val);
  121. if(val.length <= 0){
  122. info[1] = '请填写手机号';
  123. }else if((/^1[0-9]\d{9}$/.test(val)) == false){
  124. info[1] = '手机号填写不正确';
  125. }else{
  126. $.ajax({type:"GET",url:"/admin/check-mobile?mobile="+val+"&account=<?= $_GET['account'] ?>",dataType:'json',async:false,success:function(data){
  127. if(data.code == 'A0001'){
  128. info[0] = true;
  129. }else{
  130. info[1] = data.msg;
  131. }
  132. }});
  133. }
  134. return info;
  135. });
  136. setRelateStats(relatePassword, '请填写密码', function(val, mess){
  137. var info=[false, mess];
  138. if(val.length <= 0){
  139. info[1] = '请填写密码';
  140. }else if(val.length < 6){
  141. info[1] = '密码不能少于6位';
  142. }else{
  143. info[0] = true;
  144. }
  145. return info;
  146. });
  147. setRelateStats(relateAuthCode, '请填写验证码', function(val, mess){
  148. var info=[false, mess];
  149. if(val.length <= 0){
  150. info[1] = '请填写验证码';
  151. }else if(val.length > 0){
  152. $.ajax({type:"GET",url:"/admin/check-code?authCode="+val+"&account=<?= $_GET['account'] ?>",dataType:'json',async:false,success:function(data){
  153. if(data.code == 'A0001'){
  154. info[0] = true;
  155. }else{
  156. info[1] = data.msg;
  157. }
  158. }});
  159. }else{
  160. info[0] = false;
  161. }
  162. return info;
  163. });
  164. if(arguments[0] == 'click'){
  165. var submitButton = arguments[1];//获取提交按钮对象
  166. var submitButtonObj = $(submitButton);
  167. if(submitButtonObj.attr('submitStatus') == 'yes'){
  168. xhPopMsg('请稍候……',1000);
  169. return;
  170. }
  171. submitButtonObj.attr('submitStatus','yes');
  172. setTimeout(function(){
  173. submitButtonObj.attr('submitStatus','no');
  174. },2000);
  175. var relateSubmitStatus = true;
  176. for(var om=0;om<relateCheck.length;om++){
  177. var singleObj = relateCheck[om]
  178. if(singleObj.attr('relateInputStatus') == undefined){
  179. singleObj.blur();
  180. }
  181. if(singleObj.attr('relateInputStatus') == 'no'){
  182. relateSubmitStatus = false;
  183. }
  184. }
  185. if(relateSubmitStatus == false){
  186. return;
  187. }
  188. var data = "_csrf=<?= Yii::$app->request->csrfToken ?>&mobile="+relateMobile.val()+"&code="+relateAuthCode.val()+"&password="+relatePassword.val();
  189. $.ajax({type:"POST",url:'/admin/binding?account=<?= $merchant['id'] ?>',dataType:'json',data:data,async:false,success:function(data){
  190. xhPopMsg(data.msg,1600);
  191. if(data.code == 'A0001'){
  192. setTimeout(function(){
  193. window.location.href = '/admin/result?account='+data.data.account;
  194. },1500);
  195. }
  196. }});
  197. }
  198. }
  199. function setRelateStats(obj,mess,check)
  200. {
  201. obj.focus(function(){
  202. $(this).removeAttr('relateInputStatus');
  203. $(this).siblings('p').html('');
  204. });
  205. obj.blur(function(){
  206. var objVal = obj.val();
  207. var info = check(objVal,mess);
  208. if(info[0]){
  209. $(this).attr('relateInputStatus','yes');
  210. }else{
  211. $(this).attr('relateInputStatus','no');
  212. $(this).siblings('p').css("color","red").html(info[1]);
  213. }
  214. });
  215. }
  216. var createAuthCode = $("button[name=createAuthCode]");
  217. var getAuthCodeText = $("span[name=getAuthCodeText]");
  218. var reGetAuthCode = $("span[name=reGetAuthCode]");
  219. //获取手机验证码
  220. createAuthCode.click(function(){
  221. var mobileVal = relateMobile.val();
  222. if(mobileVal.length <= 0){
  223. $("p[name=authHint]").css("color","red").html('请填写手机号');
  224. }
  225. if(relateMobile.attr('relateInputStatus') == undefined){//手机未验证
  226. return;
  227. }
  228. if(relateMobile.attr('relateInputStatus') == 'no'){//手机验证未通过
  229. return;
  230. }
  231. if(mobileVal.length <= 0){
  232. $("p[name=authHint]").css("color","red").html('请填写手机号');
  233. return;
  234. }
  235. $("p[name=authHint]").html('');
  236. if(createAuthCode.attr('getMobileMsgStatus') == 'yes'){
  237. $.ajax({type:"GET",url:"/admin/generate-code?mobile="+mobileVal+'&account=<?= $_GET['account'] ?>',dataType:'json',async:false,success:function(data){
  238. if(data.code == 'A0001'){
  239. createAuthCode.attr('getMobileMsgStatus','no');
  240. getAuthCodeText.css("display","none");
  241. reGetAuthCode.css("display","block").parent().css("background-color","#CCCCCC").css("border-color","#CCCCCC");
  242. var timeI = reGetAuthCode.find('i')
  243. var orTime = timeI.text();
  244. var timeNum = parseInt(timeI.text());
  245. var setInt = setInterval(function(){
  246. timeNum--;
  247. timeI.text(timeNum);
  248. if(timeNum == 0){
  249. clearInterval(setInt);
  250. getAuthCodeText.css('display','block').parent().css("background-color","#18a8df").css("border-color","#1590be");
  251. reGetAuthCode.css('display','none');
  252. timeI.text(orTime);
  253. createAuthCode.attr('getMobileMsgStatus','yes');
  254. }
  255. },1200);
  256. }else{
  257. $("p[name=authHint]").css("color","red").html(data.msg);
  258. }
  259. }});
  260. }
  261. });
  262. </script>
  263. <script src="/js/util.js?version=<?= $this->context->version ?>"></script>
  264. </body>
  265. </html>