uniapp中百度小程序getLoginCode获取code的方法

百度小程序获取 登录code 的方法其实很早就改了。

不再使用 swan.Login()

而是使用 swan.getLoginCode 来获取登录code。

uniapp 一直没兼容过来。

github上有人提交了,貌似给拒了。

获取百度的登录 code 其实有一个条件,就是宿主APP必须是登录的。

也就是开发工具必须是用户登录状态(不是指开发者登录),或者百度APP必须是登录状态。

uniapp 百度小程序 getLoginCode

也就是这个地方必须是登录的。

如果没有登录,会提示 user not logged in

uniapp 百度小程序 getLoginCode

登录后就可以正常获取code了。

一、在 uniapp 中获取 code的那部分,做一个判断。

因为 uniapp 没有兼容百度登录code,所以就单独写,不能使用 uni.login()方法了。

uniapp 百度小程序 getLoginCode

上面蓝框的是头条小程序登录的,或者其他兼容 uni.login() 的小程序登录的。

红框中的判断是兼容百度小程序 登录code 的。

注意:要使用这个判断,先在 package.json 中配置 uni-app 的开发环境。

二、检查获取结果

将在 Xbuilder 中的代码发行到百度小程序。

在百度开发工具中测试结果,获取 code 正常。

uniapp 百度小程序 getLoginCode

如果此时获取失败,请检查开发工具的登录, uniapp中的代码。

三、获取code的异步封装。

如果按上面情况,code会在提交登录后才获取到,所以最好加一个异步。

如果有多处获取code的地方,建议做一个封装,后面直接调用就行。

uniapp中百度小程序getLoginCode获取code的方法

uniapp中百度小程序getLoginCode获取code的方法

评论 (1)

未连接
2023-03-28 16:16:35

:heo-这是啥::heo-被打::heo-泪奔::heo-尬笑: