uni-app uniIDHasRole 方法无法获取用户信息

uni-app uniIDHasRole 方法无法获取用户信息

信息类别 信息内容
产品分类 uniapp/小程序/微信
PC开发环境操作系统 Mac
PC开发环境操作系统版本号 11.4
HBuilderX类型 Alpha
HBuilderX版本号 3.1.19
第三方开发者工具版本号 1.05.2105170
基础库版本号 2.17.0
项目创建方式 HBuilderX

操作步骤:

  • 微信小程序用uniIDHasRole() 在模板效验权限

预期结果:

  • 正常判断是否有权限 显示和隐藏组件

实际结果:

  • 组件不显示,不能正常效验权限,报错 Error in render: “Error: 获取当前用户信息出错,详细错误信息为:atob is not a function”

bug描述:

  • uniIDHasRole() 效验权限时,开发者工具能正常效验权限,手机预览,真机调试就不行,报错误:Error in render: “Error: 获取当前用户信息出错,详细错误信息为:atob is not a function”

更多关于uni-app uniIDHasRole 方法无法获取用户信息的实战教程也可以访问 https://www.itying.com/category-93-b0.html

11 回复

同问

更多关于uni-app uniIDHasRole 方法无法获取用户信息的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在哪用的uniIDHasRole方法?模板里面还是js里面

模板里面使用,手机预览,真机调试该方法无法正常使用。 <view v-if="uniIDHasRole('admin')">仅管理员可见</view>

回复 8***@qq.com: 你好,请问在vue3 setup里怎么使用?

uniCloud.getCurrentUserInfo(),此方法小米手机真机调试及预览都会报这个错误,请优先处理一下谢谢!

Bug已确认,此问题会在下个alpha版本修复

该问题目前解决了吗,在小程序编译器里面是正常的,发布后有问题,返回undefined,求解答一下

万分感谢

回复 5***@qq.com: 更新到3.2.10-alpha此问题已修复

回复 DCloud_uniCloud_WYQ: 收到,感谢处理,测试已正常

这个错误是由于微信小程序环境缺少atob函数导致的。atob是浏览器环境中的全局函数,用于解码Base64字符串,但在微信小程序环境中不可用。

解决方案:

  1. 添加atob polyfillmain.js或页面脚本中添加以下代码:
    if (typeof atob === 'undefined') {
      global.atob = function(encodedData) {
        const buffer = uni.base64ToArrayBuffer(encodedData);
        const decoder = new TextDecoder();
        return decoder.decode(buffer);
      };
    }
回到顶部