| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- <?php
- namespace app\admin\model;
- use\think\Model;
- use think\Session;
- use think\cache\driver\Redis;
- use think\Loader;
- use think\Cache;
- class Admin extends Model
- {
- /**
- * 管理员登陆
- */
- public function login()
- {
- $code = -2;
- // $redis = new Redis;
- // 获取的用户信息.
- $param = input('post.');
- $name = $param['name'];
- $password = $param['password'];
- // 验证传参.
- $data = [
- 'name' => $name,
- 'password' => $password,
- ];
- $validate = Loader::validate('Admin');
- if (!$validate->scene('login')->check($data)) {
- return [
- 'code' => $code,
- 'msg' => $validate->getError(),
- 'data' => [],
- ];
- }
- // 获取用户信息.
- $adminInfoWhere['admin_name'] = $name;
- $adminInfoWhere['admin_status'] = 1;
- $getAdminInfo = $this
- ->field('admin_name, admin_identity, admin_phone, admin_nickname, admin_salt, admin_password')
- ->where($adminInfoWhere)
- ->find();
- $adminSalt = $getAdminInfo['admin_salt'];
- // print_r(md5(md5($adminSalt.$password)));exit;
- // 验证密码.
- if (md5(md5($adminSalt.$password)) !== $getAdminInfo['admin_password']) {
- return [
- 'code' => $code,
- 'msg' => lang('EA01001'),
- 'data' => [],
- ];
- }
- // 存储用户信息.
- $adminInfo = [
- 'adminName' => $getAdminInfo['admin_name'],
- 'adminId' => $getAdminInfo['admin_identity'],
- 'adminNick' => $getAdminInfo['admin_nickname'],
- 'lastOperation' => time(),
- ];
- session('admin', $adminInfo);
- // 修改最后操作信息.
- $upData = [
- 'admin_last_time' => time(),
- 'admin_last_ip' => $_SERVER['REMOTE_ADDR'],
- ];
- $upAdmin = $this
- ->where($adminInfoWhere)
- ->update($upData);
- return [
- 'code' => 1,
- 'msg' => lang('MA01001'),
- 'data' => [],
- ];
- }//end login()
- /**
- * 退出登陆
- */
- public function logout()
- {
- Session::delete('admin');
- return [
- 'code' => 1,
- 'msg' => lang('MA01003'),
- 'data' => [],
- ];
- }//end logout()
- /**
- * 修改用户密码
- */
- public function updatePassword()
- {
- $code = -2;
- // 验证传参.
- $param = input('get.');
- $oldPassword = $param['oldPassword'];
- $newPassword = $param['newPassword'];
- $data = [
- 'oldPassword' => $oldPassword,
- 'newPassword' => $newPassword,
- ];
- $validate = Loader::validate('Admin');
- if (!$validate->scene('updatePassword')->check($data)) {
- return [
- 'code' => $code,
- 'msg' => $validate->getError(),
- 'data' => [],
- ];
- }
- // 获取管理员信息.
- $adminInfo = session('admin');
- $conditions_admin['admin_identity'] = $adminInfo['adminId'];
- // 查询用户.
- $adminInfo = $this
- ->field('admin_salt, admin_password')
- ->where($conditions_admin)
- ->find();
- // 验证旧密码.
- $adminSalt = $adminInfo['admin_salt'];
- if (md5(md5($adminSalt.$oldPassword)) !== $adminInfo['admin_password']) {
- return [
- 'code' => $code,
- 'msg' => lang('EA01006'),
- 'data' => [],
- ];
- }
- // 修改密码.
- $newPasswordData = GenPassword($newPassword);
- $updateData = [
- 'admin_password' => $newPasswordData['password'],
- 'admin_salt' => $newPasswordData['encryption'],
- ];
- $getAdminInfo = $this
- ->where($conditions_admin)
- ->update($updateData);
- if (empty($getAdminInfo) === true) {
- return [
- 'code' => $code,
- 'msg' => lang('EC01002'),
- 'data' => [],
- ];
- } else {
- $code = 1;
- return [
- 'code' => $code,
- 'msg' => lang('MC01004'),
- 'data' => [],
- ];
- }
- }//end updatePassword()
- }
|