百度小程序获取 登录code 的方法其实很早就改了。
不再使用 swan.Login()。
而是使用 swan.getLoginCode 来获取登录code。
但 uniapp 一直没兼容过来。
github上有人提交了,貌似给拒了。
获取百度的登录 code 其实有一个条件,就是宿主APP必须是登录的。
也就是开发工具必须是用户登录状态(不是指开发者登录),或者百度APP必须是登录状态。

也就是这个地方必须是登录的。
如果没有登录,会提示 user not logged in

登录后就可以正常获取code了。
一、在 uniapp 中获取 code的那部分,做一个判断。
因为 uniapp 没有兼容百度登录code,所以就单独写,不能使用 uni.login()方法了。

上面蓝框的是头条小程序登录的,或者其他兼容 uni.login() 的小程序登录的。
红框中的判断是兼容百度小程序 登录code 的。
注意:要使用这个判断,先在 package.json 中配置 uni-app 的开发环境。
二、检查获取结果
将在 Xbuilder 中的代码发行到百度小程序。
在百度开发工具中测试结果,获取 code 正常。

如果此时获取失败,请检查开发工具的登录, uniapp中的代码。
三、获取code的异步封装。
如果按上面情况,code会在提交登录后才获取到,所以最好加一个异步。
如果有多处获取code的地方,建议做一个封装,后面直接调用就行。


评论 (1)
:heo-这是啥::heo-被打::heo-泪奔::heo-尬笑: