小程序
小游戏
企业微信
微信支付
扫描小程序码分享
鸿蒙开发 第三方微信登录,可以拉起微信,但无法接受来自微信的数据?
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
你好,详细说明问题出现的流程(但无法接受来自微信的数据?)
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
本回答由AI生成,可能已过期、失效或不适用于当前情形,请谨慎参考
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
你好,详细说明问题出现的流程(但无法接受来自微信的数据?)
Logger.error("admin", "微信登录返回bundleName=="+want.bundleName);
Logger.error("admin", "微信登录返回fds=="+JSON.stringify(want.fds));
Logger.error("admin", "微信登录返回entities=="+JSON.stringify(want.entities));
Logger.error("admin", "微信登录返回parameters=="+JSON.stringify(want.parameters));
Logger.error("admin", "微信登录返回==",JSON.stringify(want));
WXApi.handleWant(want, WXEventHandler)
}
执行后WXApi.handleWant(want, WXEventHandler),WXEventHandler也没有反应
import * as wxopensdk from '@tencent/wechat_open_sdk';
import { WxSuccessBean } from '../AskBean';
import { CommonConstant } from '../common/CommonConstant';
import Logger from '../common/Logger';
import { emitter } from '@kit.BasicServicesKit';
import JSONUtils from '../../ui/pages/web/JSONUtils';
export type OnWXReq = (req: wxopensdk.BaseReq) => void
export type OnWXResp = (resp: wxopensdk.BaseResp) => void
const kTag = "admin-WXApiEventHandlerImpl"
class WXApiEventHandlerImpl implements wxopensdk.WXApiEventHandler {
private onReqCallbacks: Map<OnWXReq, OnWXReq> = new Map
private onRespCallbacks: Map<OnWXResp, OnWXResp> = new Map
registerOnWXReqCallback(on: OnWXReq) {
Logger.error("admin", "registerOnWXReqCallback:%s", JSON.stringify(on))
this.onReqCallbacks.set(on, on)
}
unregisterOnWXReqCallback(on: OnWXReq) {
Logger.error("admin", "unregisterOnWXReqCallback:%s", JSON.stringify(on))
this.onReqCallbacks.delete(on)
}
registerOnWXRespCallback(on: OnWXResp) {
Logger.error("admin", "registerOnWXRespCallback:%s", JSON.stringify(on))
this.onRespCallbacks.set(on, on)
}
unregisterOnWXRespCallback(on: OnWXResp) {
Logger.error("admin", "unregisterOnWXRespCallback:%s", JSON.stringify(on))
this.onRespCallbacks.delete(on)
}
onReq(req: wxopensdk.BaseReq): void {
Logger.error("admin", "onReq:%s", JSON.stringify(req))
this.onReqCallbacks.forEach((on) => {
on(req)
})
Logger.error("admin", "BaseResp====" + req.name)
Logger.error("admin", "BaseResp====" + req.type)
Logger.error("admin", "json====" + JSON.stringify(req))
const wxSuccessBean = JSONUtils
.jsonStr2Bean(WxSuccessBean, JSON.stringify(req))
Logger.error("admin", "code====" + wxSuccessBean?.code)
Logger.error("admin", "status====" + wxSuccessBean?.state)
let eventData: emitter.EventData = {
data: {
'code': wxSuccessBean?.code,
'state': wxSuccessBean?.state,
}
};
emitter.emit(CommonConstant.LOGIN_SUCCESS_BY_WX,eventData)
}
onResp(resp: wxopensdk.BaseResp): void {
Logger.error("admin", "onResp:%s", JSON.stringify(resp))
this.onRespCallbacks.forEach((on) => {
on(resp)
})
}
}
export const WXApi = wxopensdk.WXAPIFactory.createWXAPI(CommonConstant.APP_WX_APPID)
export const WXEventHandler = new WXApiEventHandlerImpl