| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 | 
							- <?php
 
- namespace app\admin\controller;
 
- use think\Controller;
 
- /**
 
- *	管理父类
 
- */
 
- class Admin extends Controller{
 
- 	
 
- 	protected $user = null;
 
- 	protected function _initialize(){
 
- 		$site = cnf('site');
 
- 		$this->assign('site',$site);
 
- 		$this->init();
 
- 	}
 
- 	public function init(){
 
- 		if (!$this->user = is_login('admin')) {
 
- 			$isAjax = $this->request->isAjax();
 
- 			if($isAjax){
 
- 				return json(['data'=>null,'code'=>1001,'msg'=>'登录超时,请重新登录']);
 
- 			}else{
 
- 	            $login_url = url("Login/index");
 
- 	            $result =  redirect($login_url);
 
- 	            $result->send();exit();
 
- 			}
 
-         }
 
-         $this->assign('user',$this->user);
 
-         oplog('admin',$this->user['id']);
 
- 	}
 
- 	public function output($code,$msg,$data = [],$count = 0){
 
- 	    try {
 
- 	      // 返回JSON数据格式到客户端 包含状态信息
 
- 	      $count = $count == 0?count($data):$count;
 
- 	      $data = json_encode(['code'=>$code,'msg'=>$msg,'data'=>$data,'count'=>$count], JSON_UNESCAPED_UNICODE);
 
- 	      if ($data === false) {
 
- 	        throw new \InvalidArgumentException(json_last_error_msg());
 
- 	      }
 
- 	      header('Content-type: application/json');
 
- 	      echo $data;exit();
 
- 	    } catch (\Exception $e) {
 
- 	      if ($e->getPrevious()) {
 
- 	        throw $e->getPrevious();
 
- 	      }
 
- 	      throw $e;
 
- 	    }
 
-   	}
 
-   	public function changepwd(){
 
-         if ($this->request->isPost()) {
 
-             $user_id = $this->user['id'];
 
-             $User = model('User');
 
-             $user = $User->where(['id'=>$user_id])->find();
 
-             if (!$user) {
 
-             	$this->output(1,'参数错误');
 
-             }
 
-             $password = input('post.password');
 
-             if (!empty($password)) {
 
-             	$oldpwd = input('post.oldpwd');
 
- 	            $salt = $user['salt'];
 
- 	            if ($user['password'] != md5(md5($oldpwd).$salt) ) {
 
- 	            	$this->output(1,'登录旧密码错误');
 
- 	            }
 
- 	            $user->password = md5(md5($password).$salt);;
 
-             }
 
-             $mobile = input('post.mobile');
 
-             $user['mobile'] = $mobile;
 
-             $result = $user->save();
 
-             if (!$result) {
 
-             	$this->output(1,'修改失败');
 
-             }
 
-             $this->user['mobile'] = $mobile;
 
- 	      	session('admin_auth', $this->user);
 
-             $this->output(0,'修改成功');
 
-         }else{
 
-         	$this->assign('mobile',$this->user['mobile']);
 
-             $this->assign('name',$this->user['name']);
 
-             $this->assign('meta_title','修改密码');
 
-             return $this->fetch();
 
-         }
 
-     }
 
-     public function sendsms(){
 
- 	    $mobile = input('param.mobile');
 
- 	    if (empty($mobile)) {
 
- 	      $this->output(1,'手机不能为空');
 
- 	    }
 
- 	    $SmsCode = model('SmsCode');
 
- 	    $code = $SmsCode->where(['mobile'=>$mobile,'state'=>0])->find();
 
- 	    $time = $this->request->time();
 
- 	    $value = rand(1000,9999);
 
- 	    if ($code && $code['expire_time'] > $time) {
 
- 	      $value = $code['value'];
 
- 	      $create_time = strtotime($code['create_time']);
 
- 	      if ($create_time + 60 >= $time) {
 
- 	        $this->output(1,'请稍后重试');
 
- 	      }
 
- 	    }else{
 
- 	      $SmsCode->value = $value;
 
- 	      $SmsCode->expire_time = $time + 5 * 60;
 
- 	      $SmsCode->mobile = $mobile;
 
- 	      $SmsCode->state = 0;
 
- 	      $SmsCode->save();
 
- 	    }
 
- 	    vendor('aliyun.Dysms');
 
- 	    $result = \Dysms::send('帮帮福利网','SMS_224990133',$mobile,['code'=>$value]);
 
- 	    // var_dump($result);exit();
 
- 	    if ($result) {
 
- 	      $this->output(0,'发送成功');
 
- 	    }
 
- 	    $this->output(1,'发送失败');
 
- 	}
 
- 	public function checksms($mobile,$output = false){
 
- 	    $smscode = input('param.smscode');
 
- 	    if (empty($smscode)) {
 
- 	      $this->output(1,'验证码不能为空');
 
- 	    }
 
- 	    $SmsCode = model('SmsCode');
 
- 	    $code = $SmsCode->where(['mobile'=>$mobile,'state'=>0])->order('id desc')->find();
 
- 	    
 
- 	    $time = $this->request->time();
 
- 	    if (!$code || $code['expire_time'] < $time) {
 
- 	      $this->output(1,'验证码已过期,请重新获取');
 
- 	    }
 
- 	    if ($code['value'] != $smscode) {
 
- 	      $this->output(1,'验证码错误');
 
- 	    }
 
- 	    $code->state = 1;
 
- 	    $code->save();
 
- 	    if ($output) {
 
- 	      $this->output(0,'验证码正确');
 
- 	    }
 
- 	    return true;
 
-   	}
 
- }
 
 
  |