学习前言
所有的系统都会有删除数据的操作。
对于数据删除这样的敏感操作,一定要对其身份、密码等进行验证操作。本文学习研究:用户删除数据时要进行密码验证。
包含:HTML部分、layui的js部分、tp6的控制器部分。
学习相关:Layuiadmin pro 1.40(来源于网络,仅供学习使用) + thinkphp6 + Apache + MySQL + vscode 等
HTML部分(仅供学习参考)
<div class="layui-card-body">
<table id="LAY-app-article-category-list" lay-filter="LAY-app-article-category-list">
</table>
<script type="text/html" id="layuiadmin-app-list-tagsbar">
<div class="layui-btn-group">
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>
</div>
</script>
</div>
layui的 js部分(仅供学习参考)
//监听工具条
treeTable.on('tool(LAY-app-article-category-list)', function (obj) {
var data = obj.data;
var uid = layui.data(setter.tableName).uid; //获取用户ID值
if (obj.event === 'del') {
//使用layui.prompt方法
layer.prompt({ title: '敏感操作,请输入当前账号的密码!', formType: 1 }, function (value, index) {
admin.req({
url: "/ccadmins/login/verifypwd", //后端验证密码接口
data: { uid: uid, pwd: value }, //传递用户ID和输入的密码值
type: 'post',
done: function (res) {
if (res.status == 0) {
layer.confirm('确定删除吗?', { title: '密码验证成功' }, function (index) {
admin.req({
url: "/ccadmins/article/cat_del", //后端删除接口
data: data,
type: 'post',
done: function (res) {
layer.closeAll();
if (res.status == 0) {
layer.msg(res.msg, { icon: 1, time: 1300 }, function () {
renderTable(); //重载表格
});
} else if (res.status == 1) {
layer.msg(res.msg);
return false;
}
}
})
});
} else if (res.status == 1) {
layer.msg(res.msg, { icon: 2, time: 1300 });
return false;
}
}
});
});
}
}
thinkphp6部分(仅供学习参考)
//敏感操作,验证当前用户的密码 thinkphp6.1.1
public function verifypwd(){
$uid = input('uid');
$pwd = input('pwd');
if ($uid){
$ret = Db::name('admin')->where('user_id',$uid)->find();
if ($ret) {
if (md5($pwd) == $ret['password'] ) {
return json(['code'=>0,'status'=>'0','msg'=>'密码正确','data'=>'']);
}else {
return json (["code"=>0,'status'=>'1',"msg"=>'密码错误','data'=>'']);
}
}else {
return json (["code"=>1001,"msg"=>'参数错误,请重新登录!']);
}
}else{
return json (["code"=>1001,"msg"=>'参数错误,请重新登录!']);
}
}
//删除分类(软删除,在数据库文章列表里加delete字段,默认0,1为删除)
public function cat_del(){
$data = [
'cat_id' => input('cat_id'),
'delete' => '1'
];
if($data['cat_id']){
$ret = Db::name('article_category')->where('cat_id',$data['cat_id'])->update($data);//软删除更新delete的值
if($ret){
return json(['code'=>0,'status'=>0,'msg'=>'删除成功','data'=>'']);
}
else{
return json(['code'=>0,'status'=>1,'msg'=>'没有删除任何数据!','data'=>'']);
}
}
else{
return json(['code'=>0,'status'=>1,'msg'=>'参数错误','data'=>'']);
}
}
//分类列表输出 ->where('delete' , 0)