📖 File Reader
<?php
namespace app\admin\controller;
use app\admin\common\Common_config;
use app\admin\common\Common_menus;
use app\BaseController;
use think\facade\Db;
use think\facade\Session;
use think\facade\View;
class Base extends BaseController
{
protected $page = 1;//默认页数
protected $limit = 10;//默认条数
protected $admin_id = 0;//管理员id
protected $admin_info = [];//管理员信息
protected $table_jurisdiction = [];//表权限
// 初始化
protected function initialize()
{
$this->page = input('page')?:$this->page;
$this->limit = input('limit')?:$this->limit;
$admin_id = session("admin_id");
header("Content-Type:text/html; charset=utf-8");
if (empty($admin_id)){
header('Location:'.Url('admin/Login/login'));exit;
}
//会员信息
$admin_info = db::name("admin")->alias("a")
->join("admin_role b","a.role_id = b.id","LEFT")
->join("shop c","a.shop_id = c.id","left")
->field("a.*,b.name as role_name,b.type as role_type,c.is_seal,c.seal_describe,c.time_deblocking")
->where("a.admin_id = $admin_id")
->find();
$this->shop_deblocking($admin_info);
$admin_info["time_deblocking"] = $admin_info["time_deblocking"] > 0?date("Y-m-d H:i",$admin_info["time_deblocking"]):'';
$this->admin_id = session("admin_id");
$this->admin_info = $admin_info;
$config = Common_config::config("'name','url'");
$admin_log_time = db::name("admin_login_log")->where("admin_id = $admin_id")->order("id desc")->value("time_add");
if ($admin_log_time > session("admin_login_time")){
//$this->tips_out();
}
/*菜单栏处理*/
Common_menus::menus($admin_id);
/*页面权限*/
$table_jurisdiction = Common_menus::table_jurisdiction($admin_id);
$table_jurisdiction_json = json_encode($table_jurisdiction);
return View::assign([
'admin_id'=>$admin_id,
'admin_info'=>$admin_info,
'config'=>$config,
'table_jurisdiction'=>$table_jurisdiction,
'table_jurisdiction_json'=>$table_jurisdiction_json,
]);
}
/*退出提示*/
public function tips_out()
{
$html = '<script src="/public/admin_layui/lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
<link href="/public/layui-v2.8.1/layui/css/layui.css" rel="stylesheet">
<script>
window.onload = function () {
parent.layer.confirm("本次登录已失效,本账号已在其它设备登录!(如非本人操作建议修改本账号密码。)",{
icon: 4,
title:"提示",
btn: ["确定","取消"], //按钮
shade: 0.5, //不显示遮罩
closeBtn: 0
}, function () {
if(window.parent.length>0){
window.parent.location.href = "/admin/Login/login";
}else{
window.location.href="/admin/Login/login";
}
}, function () {
if(window.parent.length>0){
window.parent.location.href = "/admin/Login/login";
}else{
window.location.href="/admin/Login/login";
}
});
}
</script>';
session("admin_id",null);
session("admin_login_time",'');
print_r($html);
exit;
}
/**
* 店铺解封处理
* @param array $admin_info 账号信息
* @return string
*/
public function shop_deblocking($admin_info=[])
{
if ($admin_info["is_seal"] == 1 && time() >= $admin_info["time_deblocking"]){
$shop_info = db::name("shop")->where("id = $admin_info[shop_id]")->find();
if ($shop_info["is_seal"] == 1){
if (!empty($shop_info["goods_id_str"])){
db::name("goods")->where("goods_id in ($shop_info[goods_id_str])")->update(['is_sold'=>1]);
}
$info_variation = [
'admin_id'=>$admin_info["admin_id"],
'shop_id'=>$admin_info["shop_id"],
'type'=>2,
'describe'=>"店铺解封!",
'goods_id_str'=>$shop_info["goods_id_str"],
'time_add'=>time(),
];
db::name("shop_variation")->insert($info_variation);
db::name("shop")->where("id = $admin_info[shop_id]")->update(['is_seal'=>0,'seal_describe'=>'','goods_id_str'=>'','time_deblocking'=>0]);
}
}
return 'ok';
}
}