App启动直接唤起微信登录时onResp回调不会调用,二次唤起或者唤起微信登录前先退一次后台onResp才会正常执行
新建了一个空项目,使用了主项目的bundleid与证书,运行后是一样的,必须二次才会执行回调,排除主项目其他干扰
微信SDK版本:"@tencent/wechat_open_sdk": "1.0.11",
回调:
class WXApiEventHandlerImpl implements wxopensdk.WXApiEventHandler {
onResp(resp: wxopensdk.BaseResp): void {
console.info("onResp:%s", JSON.stringify(resp))
this.onRespCallbacks.forEach((on) => {
on(resp)
})
}
}
export const WXEventHandler = new WXApiEventHandlerImpl
首次唤起登录:
再次唤起登录
而且有个疑问,onResp在onNewWant之前执行,那么onNewWant里的
WXApi.handleWant(want, WXEventHandler)
有没有意义呢
微信登录代码
唤起登录页面
aboutToAppear(): void {
if (WXApi.isWXAppInstalled()) {
this.wxResp = (resp) => {
let t = resp.type
if (t === 1) {
// 登录
let r = resp as wxopensdk.SendAuthResp
console.log('SendAuthResp ' + r.code)
}
}
WXEventHandler.registerOnWXRespCallback(this.wxResp)
}
}
// 微信登录
private async wxLoginAction() {
let req = new wxopensdk.SendAuthReq
req.nonAutomatic = true
req.scope = 'snsapi_userinfo' // 固定写死,不允许修改
req.state = 'open_wxlogin'
let finished = await WXApi.sendReq(getContext(this) as common.UIAbilityContext, req)
}

你好,若还有问题麻烦在手机微信那里上传下日志: 我->设置->帮助与反馈右上角有个上报日志的入口,麻烦提供一下微信号,时间点,bundleid、identifier、appid和opensdk的调用时间点(可以社区私信提供)
我也遇到了,最开始只在EntryAbility的onNewWant里面处理,后面发现在onCreate里面也得加上,项目初始化绑定上WXEventHandler就有了😂
将初始化放在onCreate 之前才有用,但是能过审吗?
我也遇到这个问题 首次拉起微信验证onResp未响应 必须后续拉起微信登录才能正常响应 目前版本是1.0.14,请问如何解决呢
这个有解决方案吗,目前我看1.0.14版本还是有这个问题