Jonlin 6 år sedan
förälder
incheckning
72d3b643d8

+ 0 - 3
application/user/controller/Login.php

@@ -69,9 +69,6 @@ class Login extends Controller
                 //设置 session
                 session('user_id', $user_info['user_id']);
                 session('user_email', $user_info['user_email']);
-//                session('admin_group_id', $admin_info['admin_group_id']);
-//                session('admin_is_super', $admin_info['admin_is_super']);
-//                session('admin_pid', $admin_info['admin_pid']);
 
                 return $this->redirect('User/Index/index');
             } else {

+ 93 - 0
application/user/controller/Register.php

@@ -0,0 +1,93 @@
+<?php
+
+namespace app\user\controller;
+
+use think\Controller;
+use think\Lang;
+use think\Validate;
+
+class Register extends Controller
+{
+
+    public function _initialize()
+    {
+        parent::_initialize();
+        Lang::load(APP_PATH . 'admin/lang/' . config('default_lang') . '/login.lang.php');
+    }
+
+    /**
+     * 注册
+     * @return mixed
+     */
+    public function index()
+    {
+        if (request()->isPost()) {
+
+            $user_email = input('post.user_email');
+            $user_password = input('post.user_password');
+            $confirm_password = input('post.confirm_password');
+            $user_phone = input('post.user_phone');
+            $captcha = input('post.captcha');
+
+            //验证密码
+            if ($user_password != $confirm_password) {
+                //验证失败
+                $this->error('密码不一致');
+            }
+
+            $data = array(
+                'user_email' => $user_email,
+                'user_password' => $user_password,
+                'user_phone' => $user_phone,
+                'captcha' => $captcha,
+            );
+
+            //验证数据  BEGIN
+            $rule = [
+                ['user_email', 'require|min:2', '帐号为必填|帐号长度至少为2位'],
+                ['user_password', 'require|min:2', '密码为必填|帐号长度至少为6位'],
+                ['captcha', 'require|min:3', '验证码为必填|帐号长度至少为3位'],
+            ];
+            $validate = new Validate($rule);
+            $validate_result = $validate->check($data);
+
+            if (!$validate_result) {
+                $this->error($validate->getError());
+            }
+            //验证数据  END
+            if (!captcha_check(input('post.captcha'))) {
+                //验证失败
+                $this->error('验证码错误');
+            }
+
+            $condition['user_email'] = $user_email;
+
+            $user_info = db('user')->where($condition)->find();
+            if (is_array($user_info) and !empty($user_info)) {
+                $this->success('账户已存在');
+            } else {
+                $user_info = array(
+                    'user_email' => $user_email,
+                    'user_password' => md5($user_password),
+                    'user_phone' => $user_phone,
+                    'user_addTime' => TIMESTAMP,
+                    'user_loginTime' => TIMESTAMP
+                );
+                $id = db('user')->insertGetId($user_info);
+
+                //设置 session
+                session('user_id', $id);
+                session('user_email', $user_info['user_email']);
+
+                return $this->redirect('User/Index/index');
+            }
+        } else {
+            return $this->fetch();
+        }
+    }
+
+
+}
+
+
+?>

+ 7 - 0
application/user/lang/zh-cn.php

@@ -159,5 +159,12 @@ $lang['seo_description'] = 'SEO描述';
 
 $lang['user_email'] = '登陆邮箱';
 $lang['user_password'] = '登陆密码';
+$lang['login'] = '登陆';
+$lang['register'] = '注册';
+$lang['email_address'] = '邮箱地址';
+$lang['install_pasword'] = '设置密码';
+$lang['confirm_password'] = '确认密码';
+$lang['phone'] = '手机号码';
+$lang['register_sumbit'] = '同意协议并提交';
 
 ?>

+ 15 - 3
application/user/view/login/index.html

@@ -7,9 +7,9 @@
     <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
     <!-- Bootstrap 3.3.7 -->
     <link rel="stylesheet" href="{$Think.PLUGINS_SITE_ROOT}/layui/css/layui.css">
-    <link rel="stylesheet" href="{$Think.ADMIN_SITE_ROOT}/css/admin.css">
+    <link rel="stylesheet" href="{$Think.USER_SITE_ROOT}/css/admin.css">
     <script src="{$Think.PLUGINS_SITE_ROOT}/jquery-2.1.4.min.js"></script>
-    <script src="{$Think.ADMIN_SITE_ROOT}/js/admin.js"></script>
+    <script src="{$Think.USER_SITE_ROOT}/js/admin.js"></script>
     <link rel="stylesheet" href="{$Think.PLUGINS_SITE_ROOT}/font-awesome/css/font-awesome.min.css">
     <script type="text/javascript">
         var BASESITEROOT = "{$Think.BASE_SITE_ROOT}";
@@ -19,7 +19,19 @@
         var ADMINSITEURL = "{$Think.ADMIN_SITE_URL}";
     </script>
 </head>
-<body style="background-image:url({$Think.ADMIN_SITE_ROOT}/wallpage/bg_<?php echo rand(0,8)?>.jpg);background-size: cover;">
+<body>
+<!--<body style="background-image:url({$Think.ADMIN_SITE_ROOT}/wallpage/bg_<?php echo rand(0,8)?>.jpg);background-size: cover;">-->
+<div class="admincp-header">
+    <div class="logo">
+        <img width="200" src="{$Think.USER_SITE_ROOT}/images/backlogo.png"/>
+    </div>
+    <div class="navbar">
+        <ul class="fr" style="float:right" id="nav">
+            <li><a href="{:url('Login/index')}">{$Think.lang.login}</a></li>
+            <li><a href="{:url('Register/index')}">{$Think.lang.Register}</a></li>
+        </ul>
+    </div>
+</div>
 <div class="login">
     <div class="login_body">
         <div class="login_header">

+ 200 - 0
application/user/view/register/index.html

@@ -0,0 +1,200 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/html">
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>安全猫官网</title>
+    <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
+    <!-- Bootstrap 3.3.7 -->
+    <link rel="stylesheet" href="{$Think.PLUGINS_SITE_ROOT}/layui/css/layui.css">
+    <link rel="stylesheet" href="{$Think.USER_SITE_ROOT}/css/admin.css">
+    <link rel="stylesheet" href="{$Think.USER_SITE_ROOT}/iconfont/iconfont.css">
+    <script src="{$Think.PLUGINS_SITE_ROOT}/jquery-2.1.4.min.js"></script>
+    <script src="{$Think.USER_SITE_ROOT}/js/admin.js"></script>
+    <script type="text/javascript" src="{$Think.PLUGINS_SITE_ROOT}/layui/layui.js"></script>
+    <script type="text/javascript">
+        var BASESITEROOT = "{$Think.BASE_SITE_ROOT}";
+        var ADMINSITEROOT = "{$Think.ADMIN_SITE_ROOT}";
+        var BASESITEURL = "{$Think.BASE_SITE_URL}";
+        var HOMESITEURL = "{$Think.HOME_SITE_URL}";
+        var ADMINSITEURL = "{$Think.ADMIN_SITE_URL}";
+    </script>
+</head>
+<style type="text/css">
+    .layui-tab {
+        position: absolute;
+        left: 0;
+        top: 0;
+        height: 100%;
+        width: 100%;
+        z-index: 10;
+        margin: 0;
+        border: none;
+        overflow: hidden;
+    }
+
+    .layui-tab-content {
+        padding: 0;
+        height: 100%;
+    }
+
+    .layui-tab-item {
+        height: 100%;
+    }
+    .treeview .admin-nav-item{
+            color: #a7b1c2 !important;
+            padding-left: 5px;
+    }
+    .treeview .admin-nav-item:hover{
+            color: #fff !important;
+    }
+</style>
+<div class="admincp-header">
+    <div class="logo">
+        <img width="200" src="{$Think.USER_SITE_ROOT}/images/backlogo.png"/>
+    </div>
+    <div class="navbar">
+        <ul class="fr" style="float:right" id="nav">
+            <li><a href="{:url('Login/index')}">{$Think.lang.login}</a></li>
+            <li><a href="{:url('Register/index')}">{$Think.lang.register}</a></li>
+        </ul>
+    </div>
+</div>
+<div class="login">
+    <div class="login_body">
+        <div class="login_header">
+            <img style="margin: 0px auto; display: block; margin-bottom: 10px;" src="{$Think.ADMIN_SITE_ROOT}/images/logo.png"/>
+        </div>
+        <div class="login_content">
+            <form method="post">
+                <div class="form-group">
+                    <input type="text" name="user_email" placeholder="{:lang('email_address')}" required class="text">
+                </div>
+                <div class="form-group">
+                    <input type="text" name="user_password" placeholder="{:lang('install_pasword')}" required class="text">
+                    <div style="font-size: 10px;">密码必须包含有字母,数字,符号,密码长度为6-20个字符</div>
+                </div>
+                <div class="form-group">
+                    <input type="text" name="confirm_password" placeholder="{:lang('confirm_password')}" required class="text">
+                </div>
+                <div class="form-group">
+                    <input type="text" name="user_phone" placeholder="{:lang('phone')}" required class="text">
+                </div>
+                <div class="form-group">
+                    <input type="text" name="captcha" placeholder="{:lang('login_captcha')}" required class="text" style="width:60%;float:left;">
+                    <img src="{:captcha_src()}" style="width:30%;height:38px;" id="change_captcha"/>
+                </div>
+                <input type="checkbox" id="ch_box" onclick="c_box()" /><span>我已阅读并同意
+                <a href="xieyi.html" target="_blank">《用户协议》</a>及<a href="xieyi.html" target="_blank">《法律声明及隐私条款》</a></span><br><br>
+                <div class="form-group">
+                    <input type="submit" class="layui-btn" id="layui-btn" value="{:lang('register_sumbit')}" lay-submit lay-filter="login"/>
+                </div>
+            </form>
+        </div>
+    </div>
+</div>
+<script>
+    // 协议 校验
+    function c_box(){
+        var c_b = document.getElementById("ch_box");
+        var c_sub = document.getElementById("layui-btn");
+        if(c_b.checked){
+            c_sub.disabled=false;
+        }else{
+            c_sub.disabled=true;
+        }
+    }
+    $('#change_captcha').click(function () {
+        $(this).attr('src', '{:captcha_src()}?'+(new Date().getTime()));
+    });
+</script>
+<script type="text/javascript">
+    var width =document.body.clientWidth;
+    var changesmall =function(){
+        if($(".admincp-container-left").css("width")=="200px"){
+            $(".admincp-container-left").css("width","55px");
+            $("#layout-center").css({"position":"absolute","left":"55px","width":(width-55)+"px"});
+            $(".title").attr('title',$(".title .title-txt").html())
+            $(".title .title-txt").css("display","none");
+            $('.admincp-container-right').css("left","55px");
+        }else{
+            $(".admincp-container-left").css("width","200px");
+            $("#layout-center").css({"position":"absolute","left":"130px","width":(width-130)+"px"});
+            $(".title").attr('title',"")
+            $(".title span").css("display","inline-block");
+            $('.admincp-container-right').css("left","200px");
+        }
+    }
+
+</script>
+<script type="text/javascript">
+    layui.use(['jquery', 'element', 'layer'], function () {
+        var $ = layui.jquery, element = layui.element, layer = layui.layer;
+        $('.layui-tab-content').height($(window).height() - 145);
+        var tab = {
+            add: function (title, url, id) {
+                element.tabAdd('dsTab', {
+                    title: title,
+                    content: '<iframe width="100%" height="100%" lay-id="' + id + '" frameborder="0" src="' + url + '" scrolling="yes" class="x-iframe"></iframe>',
+                    id: id
+                });
+            }, change: function (id) {
+                element.tabChange('dsTab', id);
+            }
+        };
+        $('.admin-nav-item').click(function (event) {
+            var that = $(this);
+            if ($('iframe[src="' + that.attr('href') + '"]')[0]) {
+                tab.change(that.attr('data-id'));
+                event.stopPropagation();
+                return false;
+            }
+            if ($('iframe').length == 20) {
+                layer.msg('最多可打开20个标签页');
+                return false;
+            }
+            that.css({color: '#fff'});
+            tab.add(that.text(), that.attr('href'), that.attr('data-id'));
+            tab.change(that.attr('data-id'));
+            event.stopPropagation();
+            return false;
+        });
+        $(document).on('click', '.layui-tab-close', function () {
+            $('.layui-nav-child a[data-id="' + $(this).parent('li').attr('lay-id') + '"]').css({color: 'rgba(255,255,255,.7)'});
+        });
+    });
+    $('#gloMenu').on('click', '#navT', function () {
+        var parent = $(this).closest('li');
+        var index = parent.index();
+        if (parent.find('#navC').find('li').length) {
+            if (parent.hasClass('open')) {
+                parent.find('#navC').stop(true).slideUp(300, function () {
+                    parent.removeClass('open')
+                });
+            } else {
+                var openLi = $('.sidebar-menu').find('li.open');
+                openLi.removeClass('open').find('#navC').stop(true).slideUp(300);
+                parent.addClass('open').find('#navC').stop(true).slideDown(300);
+            }
+        }
+    })
+    $('#nav').on('click', '#nav1', function () {
+        var parent = $(this).closest('li');
+        var index = parent.index();
+        if (parent.find('#nav2').find('li').length) {
+            if (parent.hasClass('open')) {
+                parent.find('#nav2').stop(true).slideUp(300, function () {
+                    parent.removeClass('open')
+                });
+            } else {
+                var openLi = $('.sidebar-menu').find('li.open');
+                openLi.removeClass('open').find('#nav2').stop(true).slideUp(300);
+                parent.addClass('open').find('#nav2').stop(true).slideDown(300);
+            }
+        }
+    })
+</script>
+</body>
+
+
+</html>

+ 3 - 3
public/static/user/css/admin.css

@@ -142,7 +142,7 @@ h6 { font-size:12px;}
 
 /*登录页面 BEGIN*/
 .login{margin:7% auto;width:360px}
-.login_body{padding:20px;border-top:0;border-radius:3px;background-color:hsla(0,0%,100%,.75);box-shadow:0 0 50px rgba(0,0,0,.2);color:#666}
+.login_body{margin-top: -80px;padding:20px;border-top:0;border-radius:3px;background-color:hsla(0,0%,100%,.75);color:#666}
 .login_header{}
 .login_content{}
 .login_content .form-group{margin-bottom:15px;}
@@ -151,7 +151,7 @@ h6 { font-size:12px;}
 /*登录页面 END*/
 
 /*头部样式 BEGIN */
-.admincp-header{background-color: #fff; width: 100%; position: relative; z-index: 2;margin: 0;box-shadow: 0 0 5px #040000;height:60px;}
+.admincp-header{ width: 100%; position: relative; z-index: 2;margin: 0;box-shadow: 0 0 5px #040000;height:60px;}
 .admincp-header .logo{width:210px;height:60px;padding:0;float: left;text-shadow: 0 1px 3px rgba(0,0,0,0.25);overflow:hidden;}
 .admincp-header .logo img{height:51px;margin-top:4px;}
 .admincp-header .navbar li{position:relative;float:left;display:block;transition:all linear .2s;height:60px;}
@@ -167,7 +167,7 @@ h6 { font-size:12px;}
 .admincp-header .navbar li dl dd:hover{background-color:#f2f2f2!important}
 .admincp-header .navbar .fr li:before{position:relative;top:17px;float:left;color:#565556;content:"|";font-size:9pt}
 .admincp-header .navbar .fr li>span{color:#fff;padding:0 15px;color:#fff;font-size:14px;line-height:51px}
-.admincp-header .navbar .fr li>a{color:#fff;padding:0 15px;color:#fff;font-size:14px;line-height:51px}
+.admincp-header .navbar .fr li>a{color:black;padding:0 15px;font-size:14px;line-height:51px}
 .admincp-header .navbar .fr li ul{margin-top: 10px}
 .admincp-header .navbar .fr li ul .nav-style{background-color: #8D8D8D;border-bottom: 1px solid #ccc}
 .admincp-header .navbar .fr li ul .nav-style:hover{background-color: #424b5e;border-bottom: 1px solid red}