app操作按钮获取权限

    /*
获取养护考核流程节点用户权限
*/
    @RequestMapping(value = "getAQZLRightes.html")
    public void getAQZLRightes(HttpServletRequest request, HttpServletResponse response) {
        String result = "[]";
        String code = "-1";
        String msg = "获取数据失败";
        //获取app传递的参数
        String id = request.getParameter("id");
        String userID = request.getParameter("userID");
        String yhkh_type = request.getParameter("type");
        try {
            //获取当前登录用户的权限,并且保存在session中
            String rights = appService.getUserByName(userID).getRights();
            request.getSession().setAttribute("userRights", rights);
            //根据当前节点获取下一节点
            List list = null;
            list = appService.getAQZLRightes(request, id, userID, yhkh_type);
            result = JSONArray.fromObject(list).toString();
            msg = "获取数据成功";
            code = "0";
        } catch (Exception e) {
            e.printStackTrace();
        }
        //组织返回结果
        result = "{\"code\":\"" + code + "\",\"msg\":\"" + msg + "\",\"data\":" + result + "}";
        // System.out.println("result:"+result);
        //调用打印方法返回给前台
        PrintWriterUtil.print(result, response);
    }
    /*
获取养护考核流程节点用户权限
*/
    @Transactional(readOnly = true)
    public List getAQZLRightes(HttpServletRequest request, String id, String username, String yhkh_type) {
        //获取所有的下一级节点
        List list = appDao.getAQZLRightes(id);
        //获取相关案件信息
        Map yhkh_map = appDao.getAQZLDetailes(id);
        return getAQZLRightFlowStep(request, list, username, yhkh_type, yhkh_map);

    }

权限比对

    private List getAQZLRightFlowStep(HttpServletRequest request, List list, String userId, String yhkh_type, Map yhkh_map) {

        List list_return = new ArrayList();
        //循环判断是否有操作节点的权限
        boolean flag = true;
        boolean flag1 = true;
        for (int i = 0; i < list.size(); i++) {
            Map map = (HashMap) list.get(i);
            if (!StringFacs.isEmpty(map) && !StringFacs.isEmpty(map.get("ID"))) {
                List<RightinfoEntity> list_rights = rightinfoDao.getRightinfoByPid(map.get("ID").toString());
//                System.out.println("list_rights:"+list_rights);
                for (int j = 0; j < list_rights.size(); j++) {
                    RightinfoEntity rightinfoEntity = list_rights.get(j);
                    if (frontLoginDao.userHasRight(request.getSession(), rightinfoEntity.getPrightname(), rightinfoEntity.getRightname())) {
                        list_return.add(map);
                        break;
                    }
                }
            }
        }

//        System.out.println("list_return:"+list_return);
        return list_return;
    }
    /**************************************************************
     *函数功能: 获取用户在某个系统中是否有某个权限
     *输入参数:
     *       session    --获取该用户的所有权限
     *       groupName  --需要获取用户在哪个组中的权限
     *       itemName   --具体的权限名字,如果为空,表示计算用户在该系统下有无任一权限
     **************************************************************/
    public boolean userHasRight(HttpSession session, String groupName, String itemName){
        if(session.getAttribute("userRights")==null) return false;
        String userRights=(String)session.getAttribute("userRights");
        //System.out.println("userRights="+userRights+"\ngroupName="+groupName+"\nitemName="+itemName);
        if(userRights.indexOf("<"+groupName+">")>-1){
            String innerRights=userRightInGroup(session,groupName);
            if(StringFacs.isEmpty(itemName)){
                //如果子权限的名字为空,则返回用户在这个系统下是否有权限,如果有任何一种权限,则返回true,反之,
                //如果用户在该系统下一个权限都没有,则返回false
                return innerRights.trim().length() > 0;
            }
            String[] la_rights=innerRights.split("~t");
            //System.out.println("len:"+la_rights.length);
            for (int i=0;i<la_rights.length;i++){
                // System.out.println(i+":"+la_rights[i]+"\n");
                if (la_rights[i].equalsIgnoreCase(itemName) || la_rights[i].equalsIgnoreCase("["+itemName+"]")){
                    //System.out.println("有该权限");
                    return true;
                }
            }
        }else return false;
        return false;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在uniapp中,可以通过添加相应的代码来获取麦克风权限。在需要获取麦克风权限的页面,可以使用以下代码弹出是否开启麦克风权限的提醒: ```javascript plus.android.requestPermissions(['android.permission.RECORD_AUDIO'], function(e) { if (e.deniedAlways.length > 0) { // 权限被永久拒绝 // 弹出提示框解释为何需要麦克风权限,引导用户打开设置页面开启 console.log('Always Denied!!! ' + e.deniedAlways.toString()); } if (e.deniedPresent.length > 0) { // 权限被临时拒绝 // 弹出提示框解释为何需要麦克风权限,可再次调用plus.android.requestPermissions申请权限 console.log('Present Denied!!! ' + e.deniedPresent.toString()); } if (e.granted.length > 0) { // 权限被允许 // 调用依赖获取麦克风权限的代码 console.log('Granted!!! ' + e.granted.toString()); } }, function(e) { console.log('Request Permissions error:' + JSON.stringify(e)); }); ``` 通过以上代码,可以实现获取麦克风权限的功能,并根据用户的操作结果进行相应的处理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [permission.js](https://download.csdn.net/download/weixin_41970780/85670970)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [uni-app 录音权限安装时没提醒开启的问题](https://blog.csdn.net/qq_35827660/article/details/118765471)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [uni_app授权登录及授权麦克风防止用户点击拒绝按钮权限无法再次被挂起。](https://blog.csdn.net/m0_66523895/article/details/125662064)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值