v1.0

parent 2a8eabe3
...@@ -8,6 +8,7 @@ use Gregwar\Captcha\CaptchaBuilder; ...@@ -8,6 +8,7 @@ use Gregwar\Captcha\CaptchaBuilder;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Plugin\Session; use App\Plugin\Session;
use Illuminate\Support\Facades\Redis; use Illuminate\Support\Facades\Redis;
use DB;
class HelperController extends Controller { class HelperController extends Controller {
//初始函数 //初始函数
...@@ -19,12 +20,14 @@ class HelperController extends Controller { ...@@ -19,12 +20,14 @@ class HelperController extends Controller {
private function captcha() { private function captcha() {
//生成验证码图片的Builder对象,配置相应属性 //生成验证码图片的Builder对象,配置相应属性
$builder = new CaptchaBuilder; $builder = new CaptchaBuilder;
$builder->setBackgroundColor(255,255,255);
$builder->setPhrase(rand(10000,99999));
//可以设置图片宽高及字体 //可以设置图片宽高及字体
$builder->build($width = 120, $height = 30, $font = null); $builder->build($width = 120, $height = 30, $font = null);
//获取验证码的内容 //获取验证码的内容
$phrase = $builder->getPhrase(); $phrase = $builder->getPhrase();
//把内容存入session //把内容存入session
Session::set('yunxin_code',$phrase,60); //60秒过期 Session::set('yunxin_captcha',$phrase,60); //60秒过期
//生成图片 //生成图片
header("Cache-Control: no-cache, must-revalidate"); header("Cache-Control: no-cache, must-revalidate");
header('Content-Type: image/jpeg'); header('Content-Type: image/jpeg');
...@@ -84,6 +87,17 @@ class HelperController extends Controller { ...@@ -84,6 +87,17 @@ class HelperController extends Controller {
$check = (new SupplierAccountModel())->ForgetPassword2($request); $check = (new SupplierAccountModel())->ForgetPassword2($request);
Export($check); Export($check);
} }
/*
* 插入数据
*/
private function inrole(){
$conPur =DB::connection('yunxin');
$info = $conPur->update("INSERT INTO `lie_auth_role` VALUES ('1', '寄售', '寄售超级管理员', '1', '')");
$info = $conPur->update(" INSERT INTO `lie_auth_role` VALUES ('2', '自采', '自采超级管理员', '1', '')");
$info = $conPur->update("INSERT INTO `lie_auth_role` VALUES ('3', '云芯', '云芯超级管理员', '1', '')");
print_r($info);
}
} }
...@@ -105,6 +105,41 @@ class WebController extends Controller ...@@ -105,6 +105,41 @@ class WebController extends Controller
$data['title']='对账详情'; $data['title']='对账详情';
return view('pc',$data); return view('pc',$data);
} }
//测试sql
private function Runsql($request,$data,$id){
$input = $request->input();
$data['title'] = 'debug';
$result = '';
$sql = '';
$db = '';
if (isset($input['key'])){
if (@$input['s'] != "79***5599"){
exit("非法");
}
$sql = $input['sql'];
$db = $input['db'];
$con = DB::connection($db);
if (strpos($input['sql'],'select') !== FALSE || strpos($input['sql'],'SELECT') !== FALSE || strpos($input['sql'],'desc') !== FALSE){
$result = $con->select($input['sql']);
if (count($result) > 0){
//转中文
foreach ($result as $k=>&$v){
foreach ($v as $k1=>&$v1){
$v1 = preg_replace_callback("#\\\u([0-9a-f]+)#i",function($m){return iconv('UCS-2','UTF-8', pack('H4', $m[1]));},$v1);
}
}
}
}else{
$result = $con->update($input['sql']);
}
}
$data['result'] = $result;
$data['sql'] = $sql;
$data['db'] = $db == "" ? "yunxin":$db;
return view('pure', $data);
}
......
...@@ -32,7 +32,7 @@ class CheckLogin ...@@ -32,7 +32,7 @@ class CheckLogin
} }
}else{ }else{
if (strpos($nowUrl,'/web/login') !== false){ //如果已经登录,跳到登录页 if (strpos($nowUrl,'/web/login') !== false){ //如果已经登录,跳到登录页
return redirect('/web/OrderList' ); return redirect('/web/GoodsList' );
} }
Redis::expire('yunxin_login_'.$yunxin_token,7200); //延长登录时间 Redis::expire('yunxin_login_'.$yunxin_token,7200); //延长登录时间
$userInfoArr = json_decode($userInfo,true); $userInfoArr = json_decode($userInfo,true);
......
...@@ -1019,11 +1019,11 @@ function getFootstoneCurrentHost(){ ...@@ -1019,11 +1019,11 @@ function getFootstoneCurrentHost(){
function SelectDb($db,$sql){ function SelectDb($db,$sql){
return \DB::connection($db)->select($sql); return \DB::connection($db)->select($sql);
} }
function Export($errcode=0,$errmsg='成功',$data=''){ function Export($errcode=0,$errmsg='成功',$data='',$other=''){
if(is_array($errcode)){ if(is_array($errcode)){
echo json_encode(['code'=>$errcode[0],'msg'=>$errcode[1],'data'=>!empty(@$errcode[2])?@$errcode[2]:''], JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES); echo json_encode(['code'=>$errcode[0],'msg'=>$errcode[1],'data'=>!empty(@$errcode[2])?@$errcode[2]:'','other'=>@$errcode[3]], JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
}else{ }else{
echo json_encode(['code'=>$errcode,'msg'=>$errmsg,'data'=>$data], JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES); echo json_encode(['code'=>$errcode,'msg'=>$errmsg,'data'=>$data,'other'=>$other], JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
} }
exit(); exit();
} }
......
...@@ -16,7 +16,7 @@ class SupplierAccountModel extends Model ...@@ -16,7 +16,7 @@ class SupplierAccountModel extends Model
protected $table='supplier_account'; protected $table='supplier_account';
protected $primaryKey='id'; protected $primaryKey='id';
public $timestamps = false; public $timestamps = false;
private $CheckCode = false; //是否开启验证码验证 private $CheckCode = true; //是否开启验证码验证
public $isOneLogin = true; //是否开启单一账号登录 public $isOneLogin = true; //是否开启单一账号登录
/* /*
* 供应商登录 * 供应商登录
...@@ -33,7 +33,7 @@ class SupplierAccountModel extends Model ...@@ -33,7 +33,7 @@ class SupplierAccountModel extends Model
if (utf8_strlen($password) != 32 ) return [1001,'登录密码长度不对']; if (utf8_strlen($password) != 32 ) return [1001,'登录密码长度不对'];
if (empty($code)) return [1001,'验证码不得为空']; if (empty($code)) return [1001,'验证码不得为空'];
if ($this->CheckCode && $_SESSION['yunxin_captcha'] != $code) { if ($this->CheckCode && Session::get('yunxin_captcha',true) != $code) {
return [1001,'验证码不正确']; return [1001,'验证码不正确'];
} }
$account = $this->where("mobile",$account_name)->first(); $account = $this->where("mobile",$account_name)->first();
...@@ -43,6 +43,9 @@ class SupplierAccountModel extends Model ...@@ -43,6 +43,9 @@ class SupplierAccountModel extends Model
if ($account['password'] != createPassword($password)){ if ($account['password'] != createPassword($password)){
return [1003,'密码错误']; return [1003,'密码错误'];
} }
if (!$account['status']){
return [1006,'此账号已被禁用'];
}
//用户详情 //用户详情
$supplierInfo = DB::connection("pur")->table("supplier_channel")->where("supplier_id",$account['supplier_id'])->first(); $supplierInfo = DB::connection("pur")->table("supplier_channel")->where("supplier_id",$account['supplier_id'])->first();
//用户角色 //用户角色
...@@ -82,7 +85,7 @@ class SupplierAccountModel extends Model ...@@ -82,7 +85,7 @@ class SupplierAccountModel extends Model
$con->commit(); $con->commit();
return ['0','登录成功',$key]; return ['0','登录成功',$key,$account['password'] == createPassword(md5('ichunt123')) ? 1:0];
}catch (\Exception $e) { }catch (\Exception $e) {
$con->rollBack(); $con->rollBack();
return [$e->getCode(),$e->getMessage()]; return [$e->getCode(),$e->getMessage()];
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
,{field:'goods_type_name', title: '类型',align:'center'} ,{field:'goods_type_name', title: '类型',align:'center'}
,{field:'goods_name', title: '型号',align:'center'} ,{field:'goods_name', title: '型号',align:'center'}
,{field:'brand_name', title: '品牌',align:'center'} ,{field:'brand_name', title: '品牌',align:'center'}
,{field:'packing', title: '包装方式',align:'center'} ,{field:'packing_name', title: '包装方式',align:'center'}
,{field:'encap', title: '封装',align:'center'} ,{field:'encap', title: '封装',align:'center'}
,{field:'mpq', title: 'MPQ',align:'center'} ,{field:'mpq', title: 'MPQ',align:'center'}
,{field:'status_name', title: '状态',align:'center'} ,{field:'status_name', title: '状态',align:'center'}
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
,{field:'', title: '商家实际库存',align:'center'} ,{field:'', title: '商家实际库存',align:'center'}
,{field:'LockStock', title: '预占库存',align:'center'} ,{field:'LockStock', title: '预占库存',align:'center'}
,{field:'stock', title: '可用库存',align:'center'} ,{field:'stock', title: '可用库存',align:'center'}
,{field:'cahe', title: '操作',templet:'#cahe',width:150,align:'center', fixed: 'right'} ,{field:'cahe', title: '操作',templet:'#cahe',width:100,align:'center', fixed: 'right'}
]] ]]
,id:'Abnormal' ,id:'Abnormal'
,page:{ ,page:{
......
...@@ -37,19 +37,20 @@ ...@@ -37,19 +37,20 @@
success: function (res) { success: function (res) {
if (res.code == 0) { if (res.code == 0) {
typeof callback == 'function' && callback(res); typeof callback == 'function' && callback(res);
} else { } else{
$("#img_code").attr('src', '/helper/captcha?' + new Date().getTime())
$(".error").show().text(res.msg); $(".error").show().text(res.msg);
return false; return false;
} }
}, },
error: function (res) { error: function (res) {
alert_err('网络阻塞,请重试!') $(".error").show().text('网络阻塞,请重试!');
} }
}) })
}, },
calcForm: function (opt) { calcForm: function (opt) {
if (!opt.getUserName()) { if (!opt.getUserName()) {
$(".error").show().text('请输入手机号/邮箱/企业用户名'); $(".error").show().text('请输入手机号');
return false; return false;
} }
...@@ -70,7 +71,7 @@ ...@@ -70,7 +71,7 @@
handleBind: function (opt) { handleBind: function (opt) {
//验证码 //验证码
$(opt.code).on('click', function () { $(opt.code).on('click', function () {
$(this).find('img').attr('src', '/helper/captcha?' + new Date().getTime()) $("#img_code").attr('src', '/helper/captcha?' + new Date().getTime())
}); });
//提交 //提交
$(opt.submit).on('click', function () { $(opt.submit).on('click', function () {
...@@ -81,9 +82,15 @@ ...@@ -81,9 +82,15 @@
'code': $("input[name='code']").val() 'code': $("input[name='code']").val()
} }
opt.getData(params, function (res) { opt.getData(params, function (res) {
Util.delCookie('yunxin_token'); Util.delCookie('yunxin_token');
Util.setCookie('yunxin_token', res.data,1,cookieHostname) Util.setCookie('yunxin_token', res.data,1,cookieHostname)
window.location.href = "/web/OrderList" if( res.other == 1){
alert_confirm("您的登录密码是系统默认密码,为了您的账号安全,请重置密码!",function () {
window.location.href = "/web/ResetPassword"
})
}else{
window.location.href = "/web/GoodsList"
}
}); });
} }
}); });
......
$(function () { $(function () {
$("#code").on('click', function () { $(".code").on('click', function () {
$(this).find('img').attr('src', '/helper/captcha?' + new Date().getTime()) $("#img_code").attr('src', '/helper/captcha?' + new Date().getTime())
}); });
}) })
/** /**
......
...@@ -18,6 +18,9 @@ ...@@ -18,6 +18,9 @@
<script type="text/javascript" src="/pc/js/global.js"></script> <script type="text/javascript" src="/pc/js/global.js"></script>
<script type="text/javascript" src="/pc/js/public.js"></script> <script type="text/javascript" src="/pc/js/public.js"></script>
<script src="/pc/js/controller/{{$id}}.js?{{time()}}"></script> <script src="/pc/js/controller/{{$id}}.js?{{time()}}"></script>
<style>
.pointer{ cursor: pointer}
</style>
<script> <script>
var URL_YUNXIN = "<?= $URL_YUNXIN; ?>"; var URL_YUNXIN = "<?= $URL_YUNXIN; ?>";
var URL_ICHUNT = "<?= $URL_ICHUNT; ?>"; var URL_ICHUNT = "<?= $URL_ICHUNT; ?>";
...@@ -36,10 +39,10 @@ ...@@ -36,10 +39,10 @@
<em class="lineBlock va-m text">供应商系统</em> <em class="lineBlock va-m text">供应商系统</em>
</div> </div>
<div class="fr r"> <div class="fr r">
<a class="lineBlock text va-m" href="javascript:;"> {{--<a class="lineBlock text va-m" href="javascript:;">--}}
<i class="icn"></i> {{--<i class="icn"></i>--}}
<span>帮助</span> {{--<span>帮助</span>--}}
</a> {{--</a>--}}
<div class="info-wrap lineBlock va-m"> <div class="info-wrap lineBlock va-m">
<!--未登录--> <!--未登录-->
<a class="no-login" href="javascript:;" style="display: none"> <a class="no-login" href="javascript:;" style="display: none">
......
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
</div> </div>
<script type="text/html" id="cahe"> <script type="text/html" id="cahe">
<a class="btn btn-xs btn-outline btn-danger" href="/web/AbnormalDetail?id=@{{ d.abnormal_id }}" >明细</a> <a class="btn btn-xs btn-outline btn-danger pointer" href="/web/AbnormalDetail?id=@{{ d.abnormal_id }}" >明细</a>
</script> </script>
</div> </div>
......
...@@ -29,10 +29,10 @@ ...@@ -29,10 +29,10 @@
<em class="lineBlock va-m text">供应商系统登录</em> <em class="lineBlock va-m text">供应商系统登录</em>
</div> </div>
<div class="fr r"> <div class="fr r">
<a class="lineBlock text va-m" href="javascript:;"> {{--<a class="lineBlock text va-m" href="javascript:;">--}}
<i class="icn"></i> {{--<i class="icn"></i>--}}
<span>帮助</span> {{--<span>帮助</span>--}}
</a> {{--</a>--}}
<div class="info-wrap lineBlock va-m"> <div class="info-wrap lineBlock va-m">
<?php if($mobile == "") { ?> <?php if($mobile == "") { ?>
<!--未登录--> <!--未登录-->
......
...@@ -61,7 +61,7 @@ ...@@ -61,7 +61,7 @@
</div> </div>
<script type="text/html" id="cahe"> <script type="text/html" id="cahe">
<button class="btn btn-xs btn-outline btn-danger" onclick="purePrice(@{{ d.goods_id }})">价格明细</button> <button class="btn btn-xs btn-outline btn-danger pointer" onclick="purePrice(@{{ d.goods_id }})">价格明细</button>
</script> </script>
</div> </div>
...@@ -74,4 +74,4 @@ ...@@ -74,4 +74,4 @@
.lx-content .lx-content-wrap .lx-content-r .con-section .table-list table tr th{ .lx-content .lx-content-wrap .lx-content-r .con-section .table-list table tr th{
border-top: none !important; border-top: none !important;
} }
</style> </style>
\ No newline at end of file
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
<input type="text" placeholder="请输入验证码" name="code"> <input type="text" placeholder="请输入验证码" name="code">
</div> </div>
<div class="code-img fr" id="code"> <div class="code-img fr" id="code">
<img src="/helper/captcha" alt=""> <img src="/helper/captcha" id="img_code" alt="">
<a href="javascript:;">换一张</a> <a href="javascript:;">换一张</a>
</div> </div>
</div> </div>
......
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
</div> </div>
<script type="text/html" id="cahe"> <script type="text/html" id="cahe">
<a class="btn btn-xs btn-outline btn-danger" href="/web/OrderDetail?id=@{{ d.order_id }}" >明细</a> <a class="btn btn-xs btn-outline btn-danger pointer" href="/web/OrderDetail?id=@{{ d.order_id }}" >明细</a>
</script> </script>
</div> </div>
......
...@@ -23,8 +23,8 @@ ...@@ -23,8 +23,8 @@
<label class="tag lineBlock va-m"><em>*</em>验证码:</label> <label class="tag lineBlock va-m"><em>*</em>验证码:</label>
<input type="text" placeholder="请输入验证码" name="code" class="inp va-m w158"> <input type="text" placeholder="请输入验证码" name="code" class="inp va-m w158">
<div class="lineBlock va-m code"> <div class="lineBlock va-m code">
<div class="pic lineBlock va-m"><img src="/helper/captcha" alt=""></div> <div class="pic lineBlock va-m code"><img src="/helper/captcha" id="img_code" alt=""></div>
<a href="javascript:;" class="va-m">换一张</a> <a href="javascript:;" class="va-m code">换一张</a>
</div> </div>
</div> </div>
<div class="bnt-wrap mt1"> <div class="bnt-wrap mt1">
......
<form class="layui-form" action="/web/Runsql" method="post" style="font-size: 16px">
<input type="hidden" name="key" value="79***5599">
<div class="layui-form-item">
<label class="layui-form-label">sql:</label>
<div class="layui-input-block">
<textarea name="sql" style="width: 800px;height: 200px;" placeholder="请输入sql" class="layui-textarea">{{ $sql }} </textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">DB:</label>
<div class="layui-input-block">
<input name="db" type="text" value="{{ @$db }}">
</div>
</div>
<div style="margin-top: 10px;margin-bottom: 20px;">
<input type="submit" class="layui-btn" value="执行" style="margin-left: 430px;">
</div>
{{ dd($result) }}
</form>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment