今天我们继续开发个人博客系统,昨天我们做了登录功能,今天我们完善一下后台主页,并作出个人资料的修改功能。
说明:在登录页面我们做了小的优化,包括验证码点击更改,添加鼠标滑过成手状的css样式(已经同步至码云)。
一、创建个人主页模板
在admin模块view目录下创建Common文件夹,里面新建公共头文件header.html,在Index中新建index.html文件(后台首页文件),具体代码文件已经同步至码云。
二、创建个人中心模板
个人中心包含账户名称、密码及手机号这三者的修改和展示。
三、个人中心功能实现
代码如下:
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2019/5/9 0009
* Time: 下午 9:38
*/
namespace app\admin\controller;
use app\common\model\User;
use think\captcha\Captcha;
use think\Controller;
class Login extends Controller
{
protected $user_model;
public function __construct()
{
parent::__construct();
$this->user_model = new User();
}
/**
* 登录页面
* @return \think\response\View
*/
public function index()
{
return view();
}
/**
* 登录处理
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
public function getLogin()
{
$userName = input('post.userName'); //账户
$userPass = input('post.userPass'); //密码
$code = input('post.code'); //验证码
if (!captcha_check($code)) {
// 验证失败
$this->error('验证码错误');
};
if (!$userName || !$userPass) {
//数据不完整
$this->error('请填写账号或密码');
}
$res = $this->user_model->getDataOne(['user_name' => $userName], 'id,user_status,user_pass');
if (!$res) {
$this->error('账号或密码错误');
}
if ($res['user_pass'] !== md5($userPass)) {
$this->error('账号或密码错误');
}
if ($res['user_status'] == 2) {
$this->error('账户已冻结');
}
//记录session
session('userName', $userName, 'thinkBlog');
session('userId', $res['id'], 'thinkBlog');
$this->success('登录成功', '/admin');
}
/**
* 验证码
* @return mixed
*/
public function code()
{
$config = [
// 验证码字体大小
'fontSize' => 30,
// 验证码位数
'length' => 3,
// 关闭验证码杂点
'useNoise' => false,
];
$captcha = new Captcha($config);
return $captcha->entry();
}
/**
* 退出登录
*/
public function out()
{
session(null, 'thinkBlog');
$this->success('成功退出');
}
}
四、退出登录
代码见三中代码;