uni-app 小红书小程序打包后获取不到用户信息

uni-app 小红书小程序打包后获取不到用户信息

示例代码:

<button type="primary" open-type="getUserInfo" lang="zh_CN" bindgetuserinfo="getUser">获取用户信息</button>  

<script lang="ts" setup>  
function getUser(e){  
        console.log('用户信息', e)  
    }  
</script>

操作步骤:

uniapp写一个获取用户信息的demo,打包成小红书小程序,运行小红书小程序,会出现一下警告,并且获取不到用户信息, VM5486:2528 [xhs warning]: Method getUser not found in pages/mine/TopInfo/index.xhsml

预期结果:

可以获取到小红书小程序的用户昵称和头像

实际结果:

没有接收到用户信息的回调,并抛出警告

bug描述:

使用小红书的<button type="primary" open-type="getUserInfo" lang="zh_CN" bindgetuserinfo="getUser">获取用户信息</button>组件,结果代码压缩编译后,找不到getUser方法,因此没有回调信息


| 开发环境               | 版本号   | 项目创建方式 |
|------------------------|----------|--------------|
| PC开发环境操作系统     | Windows  |              |
| PC开发环境操作系统版本 | window 11|              |
| HBuilderX类型          | 正式     |              |
| HBuilderX版本号        | 4.57     |              |
| 第三方开发者工具版本号  | 2.5.0    |              |
| 基础库版本号           | 3.122.1  |              |
| 项目创建方式           | HBuilderX|              |

更多关于uni-app 小红书小程序打包后获取不到用户信息的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

hello , 这个方法,经过实际测试使用, @getuserinfo 是正常的,你可以这样使用

更多关于uni-app 小红书小程序打包后获取不到用户信息的实战教程也可以访问 https://www.itying.com/category-93-b0.html


好的,感谢感谢,拿到用户信息了,方便更新一个uniapp的文档吗,因为我是找过负责小红书小程序的人沟通过,没想到有这个方法

回复 2***@qq.com: 这个方法在uniapp上都是@getuserinfo这样使用的,文档之后会更新小红书的支持情况的

根据你描述的问题,这是小红书小程序在uni-app中的兼容性问题。主要原因是小红书小程序的组件事件绑定方式与微信小程序存在差异。

解决方案如下:

  1. 使用小红书特有的xhs:前缀绑定事件:
<button type="primary" open-type="getUserInfo" lang="zh_CN" xhs:getuserinfo="getUser">获取用户信息</button>
  1. 确保方法在正确的作用域中声明(使用setup语法糖时需注意):
<script lang="ts" setup>
const getUser = (e: any) => {
    console.log('用户信息', e.detail)
}
</script>
  1. 或者改用uniapp的API方式获取用户信息:
uni.getUserProfile({
    desc: '获取用户信息',
    success: (res) => {
        console.log(res.userInfo)
    }
})
回到顶部