uni-app uniCloud.getCurrentUserInfo() 报Bug
uni-app uniCloud.getCurrentUserInfo() 报Bug
示例代码:
console.log(1111, uniCloud.getCurrentUserInfo())
操作步骤:
- 使用uniadmin模板创建的程序
- 在
page/index/index.vue增加代码
console.log(1111, uniCloud.getCurrentUserInfo())
- 得到bug
预期结果:
- 返回
uni_id_token包含的权限
实际结果:
- 在真机运行时报
atob is not defined错误
bug描述:
uniCloud.getCurrentUserInfo() 云函数在真机运行时报 atob is not defined 错误
H5没有问题
微信开发者调试工具预览没有问题

更多关于uni-app uniCloud.getCurrentUserInfo() 报Bug的实战教程也可以访问 https://www.itying.com/category-93-b0.html
9 回复
遇到了同样的问题。在电脑模拟器上正常,在手机预览出现错误
更多关于uni-app uniCloud.getCurrentUserInfo() 报Bug的实战教程也可以访问 https://www.itying.com/category-93-b0.html
等待解答
遇到同样的问题,官方就没有一个来回答的吗,开发工具上没问题,真机上就报错
同样的问题,没人管了嘛?
同样问题,关注
同样的问题,导致系统没法使用。这个就没有人解决吗?
此问题已修复,问题分类建议使用uniCloud,方便相关人员查看。 https://ask.dcloud.net.cn/question/125953
这是一个典型的浏览器兼容性问题。atob 是浏览器环境中的全局方法,用于解码 base64 字符串,但在某些小程序运行环境中可能不存在。
解决方案:
- 添加 polyfill
在调用
uniCloud.getCurrentUserInfo()之前,先检测并补全atob方法:
if (typeof atob === 'undefined') {
global.atob = function(str) {
return new Buffer(str, 'base64').toString('binary');
};
}
- 使用条件编译 由于 H5 端正常,可以针对非 H5 平台进行兼容处理:
// #ifndef H5
if (typeof atob === 'undefined') {
// polyfill 代码
}
// #endif
console.log(1111, uniCloud.getCurrentUserInfo())



