6dda102988ac7ead8190e8f2a55ee5d8.php 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362
  1. <?php if (!defined('THINK_PATH')) exit(); /*a:3:{s:93:"D:\phpstudy_pro\WWW\minongyun\aaa\minongyun\public/../application/admin\view\index\login.html";i:1655794815;s:83:"D:\phpstudy_pro\WWW\minongyun\aaa\minongyun\application\admin\view\common\meta.html";i:1655794242;s:85:"D:\phpstudy_pro\WWW\minongyun\aaa\minongyun\application\admin\view\common\script.html";i:1655794583;}*/ ?>
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5. <meta charset="utf-8">
  6. <title><?php echo (isset($title) && ($title !== '')?$title:''); ?></title>
  7. <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
  8. <meta name="renderer" content="webkit">
  9. <meta name="referrer" content="never">
  10. <meta name="robots" content="noindex, nofollow">
  11. <link rel="shortcut icon" href="/assets/img/favicon.ico" />
  12. <!-- Loading Bootstrap -->
  13. <link href="/assets/css/backend<?php echo \think\Config::get('app_debug')?'':'.min'; ?>.css?v=<?php echo \think\Config::get('site.version'); ?>" rel="stylesheet">
  14. <?php if(\think\Config::get('fastadmin.adminskin')): ?>
  15. <link href="/assets/css/skins/<?php echo \think\Config::get('fastadmin.adminskin'); ?>.css?v=<?php echo \think\Config::get('site.version'); ?>" rel="stylesheet">
  16. <?php endif; ?>
  17. <!-- HTML5 shim, for IE6-8 support of HTML5 elements. All other JS at the end of file. -->
  18. <!--[if lt IE 9]>
  19. <script src="/assets/js/html5shiv.js"></script>
  20. <script src="/assets/js/respond.min.js"></script>
  21. <![endif]-->
  22. <script type="text/javascript">
  23. var require = {
  24. config: <?php echo json_encode($config); ?>
  25. };
  26. </script>
  27. <style type="text/css">
  28. body {
  29. color: #999;
  30. background-color: #f1f4fd;
  31. background-size: cover;
  32. }
  33. a {
  34. color: #444;
  35. }
  36. .login-screen {
  37. max-width: 430px;
  38. padding: 0;
  39. margin: 100px auto 0 auto;
  40. }
  41. .login-screen .well {
  42. border-radius: 3px;
  43. -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
  44. box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
  45. background: rgba(255, 255, 255, 1);
  46. border: none;
  47. overflow: hidden;
  48. padding: 0;
  49. }
  50. @media (max-width: 767px) {
  51. .login-screen {
  52. padding: 0 20px;
  53. }
  54. }
  55. .profile-img-card {
  56. width: 100px;
  57. height: 100px;
  58. display: block;
  59. -moz-border-radius: 50%;
  60. -webkit-border-radius: 50%;
  61. border-radius: 50%;
  62. margin: -93px auto 30px;
  63. border: 5px solid #fff;
  64. }
  65. .profile-name-card {
  66. text-align: center;
  67. }
  68. .login-head {
  69. background: #899fe1;
  70. }
  71. .login-form {
  72. padding: 40px 30px;
  73. position: relative;
  74. z-index: 99;
  75. }
  76. #login-form {
  77. margin-top: 20px;
  78. }
  79. #login-form .input-group {
  80. margin-bottom: 15px;
  81. }
  82. #login-form .form-control {
  83. font-size: 13px;
  84. }
  85. #sms{
  86. display: none;
  87. }
  88. .change_login{
  89. margin: 0 auto;
  90. text-align: center;
  91. padding-top: 20px;
  92. font-size: 20px;
  93. }
  94. #pass_login{
  95. color: #fff;
  96. text-decoration: underline;
  97. cursor:pointer
  98. }
  99. #sms_login{
  100. cursor:pointer;
  101. color:#333;
  102. }
  103. #sms_login:hover,#pass_login:hover{
  104. color: #fff;
  105. text-decoration: underline;
  106. }
  107. #captcha{
  108. margin-top: 20px;
  109. }
  110. #captcha .input-group {
  111. margin-bottom: 15px;
  112. }
  113. </style>
  114. <!--@formatter:off-->
  115. <?php if($background): ?>
  116. <style type="text/css">
  117. body{
  118. background-image: url('<?php echo $background; ?>');
  119. }
  120. </style>
  121. <?php endif; ?>
  122. <!--@formatter:on-->
  123. <script src="/assets/js/jquery.js"></script>
  124. </head>
  125. <body>
  126. <div class="container">
  127. <div class="login-wrapper">
  128. <div class="login-screen">
  129. <div class="well">
  130. <div class="login-head">
  131. <div class="change_login"><span id="pass_login">密码登录</span> | <span id="sms_login">验证码登录</span></div>
  132. <img src="/assets/img/login-head.png" style="width:100%;"/>
  133. </div>
  134. <div class="login-form" id="pass">
  135. <img id="profile-img" class="profile-img-card" src="/assets/img/avatar.png"/>
  136. <p id="profile-name" class="profile-name-card"></p>
  137. <form action="" method="post" id="login-form">
  138. <!--@AdminLoginFormBegin-->
  139. <div id="errtips" class="hide"></div>
  140. <?php echo token(); ?>
  141. <div class="input-group">
  142. <div class="input-group-addon"><span class="glyphicon glyphicon-user" aria-hidden="true"></span></div>
  143. <input type="text" class="form-control" id="pd-form-username" placeholder="<?php echo __('Username'); ?>" name="username" autocomplete="off" value="" data-rule="<?php echo __('Username'); ?>:required;username"/>
  144. </div>
  145. <div class="input-group">
  146. <div class="input-group-addon"><span class="glyphicon glyphicon-lock" aria-hidden="true"></span></div>
  147. <input type="password" class="form-control" id="pd-form-password" placeholder="<?php echo __('Password'); ?>" name="password" autocomplete="off" value="" data-rule="<?php echo __('Password'); ?>:required;password"/>
  148. </div>
  149. <!--@CaptchaBegin-->
  150. <?php if(\think\Config::get('fastadmin.login_captcha')): ?>
  151. <div class="input-group">
  152. <div class="input-group-addon"><span class="glyphicon glyphicon-option-horizontal" aria-hidden="true"></span></div>
  153. <input type="text" name="captcha" class="form-control" placeholder="<?php echo __('Captcha'); ?>" data-rule="<?php echo __('Captcha'); ?>:required;length(<?php echo \think\Config::get('captcha.length'); ?>)" autocomplete="off"/>
  154. <span class="input-group-addon" style="padding:0;border:none;cursor:pointer;">
  155. <img src="<?php echo rtrim('/', '/'); ?>/index.php?s=/captcha" width="100" height="30" onclick="this.src = '<?php echo rtrim('/', '/'); ?>/index.php?s=/captcha&r=' + Math.random();"/>
  156. </span>
  157. </div>
  158. <?php endif; ?>
  159. <!--@CaptchaEnd-->
  160. <div class="form-group checkbox">
  161. <label class="inline" for="keeplogin">
  162. <input type="checkbox" name="keeplogin" id="keeplogin" value="1"/>
  163. <?php echo __('Keep login'); ?>
  164. </label>
  165. </div>
  166. <div class="form-group">
  167. <button type="submit" class="btn btn-success btn-lg btn-block" style="background:#708eea;"><?php echo __('Sign in'); ?></button>
  168. </div>
  169. <!--@AdminLoginFormEnd-->
  170. </form>
  171. </div>
  172. <!-- 验证码登录 -->
  173. <div class="login-form" id="sms">
  174. <img id="profile-img" class="profile-img-card" src="/assets/img/avatar.png" />
  175. <p id="profile-name" class="profile-name-card"></p>
  176. <form action="" method="post" id="captcha">
  177. <div id="errtips" class="hide"></div>
  178. <?php echo token(); ?>
  179. <div class="input-group">
  180. <div class="input-group-addon"><span class="glyphicon glyphicon-user" aria-hidden="true"></span></div>
  181. <input type="text" class="form-control" id="pd-form-mobile" placeholder="<?php echo __('Mobile'); ?>" name="mobile" autocomplete="off" value="" />
  182. <div class="input-group-addon" id="getcaptcha" style="cursor:pointer;"><span><?php echo __('Get captcha'); ?></span></div>
  183. </div>
  184. <div class="input-group">
  185. <div class="input-group-addon"><span class="glyphicon glyphicon-lock" aria-hidden="true"></span></div>
  186. <input type="password" class="form-control" id="pd-form-Captcha" placeholder="<?php echo __('Captcha'); ?>" name="captcha" autocomplete="off" value="" />
  187. </div>
  188. <div class="form-group checkbox">
  189. <label class="inline" for="keeplogin">
  190. <input type="checkbox" name="keeplogin" id="keeplogin" value="1"/>
  191. <?php echo __('Keep login'); ?>
  192. </label>
  193. </div>
  194. <div class="form-group">
  195. <button type="submit" class="btn btn-success btn-lg btn-block" style="background:#708eea;"><?php echo __('Sign in'); ?></button>
  196. </div>
  197. </form>
  198. </div>
  199. </div>
  200. </div>
  201. </div>
  202. </div>
  203. <script>
  204. // 切换选项卡
  205. $("#sms_login").click(function(){
  206. $(this).css('display','inline-block').css('text-decoration','underline').css('color','#fff');
  207. $("#pass_login").css('text-decoration','none').css('color','#333');
  208. $("#sms").css('display','block');
  209. $("#pass").css('display','none');
  210. })
  211. $("#pass_login").click(function(){
  212. $(this).css('display','inline-block').css('text-decoration','underline').css('color','#fff');
  213. $("#sms_login").css('text-decoration','none').css('color','#333');
  214. $("#sms").css('display','none');
  215. $("#pass").css('display','block');
  216. })
  217. //手机号失焦
  218. $("#pd-form-mobile").blur(()=>{
  219. let mobile = $("#pd-form-mobile").val()
  220. localStorage.setItem("mobile", mobile);
  221. })
  222. //获取验证码
  223. $("#getcaptcha").click(()=>{
  224. let mobile = $("#pd-form-mobile").val()
  225. let regExp = new RegExp("^1[3578]\\d{9}$");
  226. if(regExp.test(mobile)){
  227. $.post('index/getCaptcha',{mobile:mobile},(res)=>{
  228. console.log(res);
  229. })
  230. }else{
  231. layer.msg('请输入正确的手机号');
  232. }
  233. })
  234. //如果有缓存,读缓存,,,
  235. $(function(){
  236. let mobile = localStorage.getItem("mobile");
  237. if(mobile){
  238. $("#pd-form-mobile").val(mobile)
  239. }
  240. });
  241. </script>
  242. <script src="/assets/js/require<?php echo \think\Config::get('app_debug')?'':'.min'; ?>.js" data-main="/assets/js/require-backend<?php echo \think\Config::get('app_debug')?'':'.min'; ?>.js?v=<?php echo htmlentities($site['version']); ?>"></script>
  243. <script>
  244. // 需要用到的地方调用就好
  245. watermark({watermark_txt: '水印文字'})
  246. function watermark(settings) {
  247. //默认设置
  248. var defaultSettings={
  249. watermark_txt:"text",
  250. watermark_x:20,//水印起始位置x轴坐标
  251. watermark_y:20,//水印起始位置Y轴坐标
  252. watermark_rows:20,//水印行数
  253. watermark_cols:20,//水印列数
  254. watermark_x_space:50,//水印x轴间隔
  255. watermark_y_space:100,//水印y轴间隔
  256. watermark_color:'#aaa',//水印字体颜色
  257. watermark_alpha:0.4,//水印透明度
  258. watermark_fontsize:'14px',//水印字体大小
  259. watermark_font:'微软雅黑',//水印字体
  260. watermark_width:210,//水印宽度
  261. watermark_height:80,//水印长度
  262. watermark_angle:15//水印倾斜度数
  263. };
  264. //采用配置项替换默认值,作用类似jquery.extend
  265. if(arguments.length===1&&typeof arguments[0] ==="object" )
  266. {
  267. var src=arguments[0]||{};
  268. for(key in src)
  269. {
  270. if(src[key]&&defaultSettings[key]&&src[key]===defaultSettings[key])
  271. continue;
  272. else if(src[key])
  273. defaultSettings[key]=src[key];
  274. }
  275. }
  276. var oTemp = document.createDocumentFragment();
  277. //获取页面最大宽度
  278. var page_width = Math.max(document.body.scrollWidth,document.body.clientWidth);
  279. var cutWidth = page_width*0.0150;
  280. var page_width=page_width-cutWidth;
  281. //获取页面最大高度
  282. var page_height = Math.max(document.body.scrollHeight,document.body.clientHeight);
  283. // var page_height = document.body.scrollHeight+document.body.scrollTop;
  284. //如果将水印列数设置为0,或水印列数设置过大,超过页面最大宽度,则重新计算水印列数和水印x轴间隔
  285. if (defaultSettings.watermark_cols == 0 || (parseInt(defaultSettings.watermark_x + defaultSettings.watermark_width *defaultSettings.watermark_cols + defaultSettings.watermark_x_space * (defaultSettings.watermark_cols - 1)) > page_width)) {
  286. defaultSettings.watermark_cols = parseInt((page_width-defaultSettings.watermark_x+defaultSettings.watermark_x_space) / (defaultSettings.watermark_width + defaultSettings.watermark_x_space));
  287. defaultSettings.watermark_x_space = parseInt((page_width - defaultSettings.watermark_x - defaultSettings.watermark_width * defaultSettings.watermark_cols) / (defaultSettings.watermark_cols - 1));
  288. }
  289. //如果将水印行数设置为0,或水印行数设置过大,超过页面最大长度,则重新计算水印行数和水印y轴间隔
  290. if (defaultSettings.watermark_rows == 0 || (parseInt(defaultSettings.watermark_y + defaultSettings.watermark_height * defaultSettings.watermark_rows + defaultSettings.watermark_y_space * (defaultSettings.watermark_rows - 1)) > page_height)) {
  291. defaultSettings.watermark_rows = parseInt((defaultSettings.watermark_y_space + page_height - defaultSettings.watermark_y) / (defaultSettings.watermark_height + defaultSettings.watermark_y_space));
  292. defaultSettings.watermark_y_space = parseInt(((page_height - defaultSettings.watermark_y) - defaultSettings.watermark_height * defaultSettings.watermark_rows) / (defaultSettings.watermark_rows ));
  293. }
  294. var x;
  295. var y;
  296. for (var i = 0; i < defaultSettings.watermark_rows; i++) {
  297. y = defaultSettings.watermark_y + (defaultSettings.watermark_y_space + defaultSettings.watermark_height) * i;
  298. for (var j = 0; j < defaultSettings.watermark_cols; j++) {
  299. x = defaultSettings.watermark_x + (defaultSettings.watermark_width + defaultSettings.watermark_x_space) * j;
  300. var mask_div = document.createElement('div');
  301. mask_div.id = 'mask_div' + i + j;
  302. mask_div.className = 'mask_div';
  303. mask_div.appendChild(document.createTextNode(defaultSettings.watermark_txt));
  304. //设置水印div倾斜显示
  305. mask_div.style.webkitTransform = "rotate(-" + defaultSettings.watermark_angle + "deg)";
  306. mask_div.style.MozTransform = "rotate(-" + defaultSettings.watermark_angle + "deg)";
  307. mask_div.style.msTransform = "rotate(-" + defaultSettings.watermark_angle + "deg)";
  308. mask_div.style.OTransform = "rotate(-" + defaultSettings.watermark_angle + "deg)";
  309. mask_div.style.transform = "rotate(-" + defaultSettings.watermark_angle + "deg)";
  310. mask_div.style.visibility = "";
  311. mask_div.style.position = "absolute";
  312. mask_div.style.left = x + 'px';
  313. mask_div.style.top = y + 'px';
  314. mask_div.style.overflow = "hidden";
  315. mask_div.style.zIndex = "9999";
  316. mask_div.style.pointerEvents='none';//pointer-events:none 让水印不遮挡页面的点击事件
  317. //mask_div.style.border="solid #eee 1px";
  318. mask_div.style.opacity = defaultSettings.watermark_alpha;
  319. mask_div.style.fontSize = defaultSettings.watermark_fontsize;
  320. mask_div.style.fontFamily = defaultSettings.watermark_font;
  321. mask_div.style.color = defaultSettings.watermark_color;
  322. mask_div.style.textAlign = "center";
  323. mask_div.style.width = defaultSettings.watermark_width + 'px';
  324. mask_div.style.height = defaultSettings.watermark_height + 'px';
  325. mask_div.style.display = "block";
  326. oTemp.appendChild(mask_div);
  327. };
  328. };
  329. document.body.appendChild(oTemp);
  330. }
  331. </script>
  332. </body>
  333. </html>