<?php

namespace app\admin\controller;

use app\common\controller\AdminController;
use app\admin\validate\Admin;
use app\admin\model\Admin as adminModel;
use think\facade\View;
use think\facade\Request;
use think\facade\Config;
use think\facade\Db;
use think\facade\Session;
use think\exception\ValidateException;
use app\common\model\User as UserModel;

class User extends AdminController
{
	/**
	protected function initialize()
    {
        parent::initialize();
       
    }
	*/
	//用户表
	public function list()
	{
		if(Request::isAjax()){
			$user = Db::name('user')->where(['delete_time'=>0])->select();
			$count = $user->count();
			$res = [];
			if($user){
				$res = ['code'=>0,'msg'=>'','count'=>$count];
				
				foreach($user as $k => $v){
				$data = ['id'=>$v['id'],'username'=>$v['name'],'avatar'=>$v['user_img'],'phone'=>$v['phone'],'email'=>$v['email'],'sex'=>$v['sex'],'ip'=>$v['last_login_ip'],'jointime'=>date("Y-m-d",$v['create_time']),'status'=>$v['status']];
				$res['data'][] = $data; 
				}
			}
			return json($res);
		}
		return View::fetch();
	}
	
	
	//添加用户
	public function userForm()
	{
		//
		if(Request::isAjax()){
			$data = Request::param();
			$result = Db::name('user')->save($data);
			if($result){
				$res = ['code'=>1,'msg'=>'添加成功'];
			}else{
				$res = ['code'=>0,'msg'=>'添加失败'];
			}
		return json($res);
		}
		
		return View::fetch('userform');
	}
	
	//编辑用户
	public function userEdit()
	{
		if(Request::isAjax()){
			$data = Request::param();
			$result = Db::name('user')->update($data);
			if($result){
				$res = ['code'=>1,'msg'=>'编辑成功'];
			}else{
				$res = ['code'=>0,'msg'=>'编辑失败'];
			}
			return json($res);
		}
		$user = Db::name('user')->find(input('id'));
		View::assign('user',$user);
		return View::fetch('useredit');
	}
	
	//删除用户
	public function delete($id)
	{
		if(Request::isAjax()){
			$user =UserModel::find($id);
			$result = $user->delete();
			
				if($result){
					return json(['code'=>1,'msg'=>'删除成功']);
				}else{
					return json(['code'=>0,'msg'=>'删除失败']);
				}
			}
	}
	
	//上传头像
	 public function uploadImg()
    {
        $file = request()->file('file');
		try {
			validate(['image'=>'filesize:2048|fileExt:jpg,png,gif|image:200,200,jpg'])
            ->check(array($file));
			$savename = \think\facade\Filesystem::disk('public')->putFile('head_pic',$file);
		} catch (think\exception\ValidateException $e) {
			echo $e->getMessage();
		}
		$upload = Config::get('filesystem.disks.public.url');
		
		if($savename){
            $name_path =str_replace('\\',"/",$upload.'/'.$savename);
				$res = ['code'=>0,'msg'=>'上传头像成功','src'=>$name_path];
			} else {
				$res = ['code'=>1,'msg'=>'上传错误'];
			}
		return json($res);
    }
	
	
	//退出登陆
	public function logout()
	{
		Session::clear();
		$res = ['code'=>0,'msg'=>'退出成功' ];
		
		return json($res);
	}
	
}