layui学习笔记(四)关于后台删除数据的敏感操作提示,输入当前用户的密码鉴权成功后软删除的全过程。

学习前言

所有的系统都会有删除数据的操作。
对于数据删除这样的敏感操作,一定要对其身份、密码等进行验证操作。

本文学习研究:用户删除数据时要进行密码验证。

包含: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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ccadmins

你的鼓励是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值