Skip to content

Releases: zeeklog/react-native-wechat-v2

🐛 Fix openCustomerServiceChat Error.

16 Mar 10:43

Choose a tag to compare

Issues #1

Fix: 在原生层实现缺少的调用微信客服会话API

Wechat.mm

// 打开微信客服会话,需要 SDK 1.9.2+,需在微信客服官网完成 appid 与企业 id 绑定
RCT_EXPORT_METHOD(openCustomerServiceChat:(NSString *)corpId
                  url:(NSString *)url
                  :(RCTResponseSenderBlock)callback)
{
    if (!corpId || corpId.length == 0 || !url || url.length == 0) {
        callback(@[@"invalid argument."]);
        return;
    }
    WXOpenCustomerServiceReq *req = [[WXOpenCustomerServiceReq alloc] init];
    req.corpid = corpId;
    req.url = url;
    void ( ^ completion )( BOOL );
    completion = ^( BOOL success )
    {
        callback(@[success ? [NSNull null] : INVOKE_FAILED]);
        return;
    };
    [WXApi sendReq:req completion:completion];
}

WeChatModule.java

    /**
     * 打开微信客服会话
     * 需要微信 SDK 6.7.9+,需在微信客服官网完成 appid 与企业 id 绑定
     *
     * @param corpId 企业 ID
     * @param url    客服 URL,格式:https://work.weixin.qq.com/kfid/kfcxxxxx
     * @param callback 回调
     */
    @ReactMethod
    public void openCustomerServiceChat(String corpId, String url, Callback callback) {
        if (api == null) {
            callback.invoke(NOT_REGISTERED);
            return;
        }
        if (corpId == null || corpId.isEmpty() || url == null || url.isEmpty()) {
            callback.invoke(INVALID_ARGUMENT);
            return;
        }
        try {
            WXOpenCustomerServiceChat.Req req = new WXOpenCustomerServiceChat.Req();
            req.corpId = corpId;
            req.url = url;
            boolean success = api.sendReq(req);
            callback.invoke(success ? null : INVOKE_FAILED);
        } catch (Exception e) {
            callback.invoke(e.getMessage() != null ? e.getMessage() : INVOKE_FAILED);
        }
    }

2.0.2

26 Feb 09:08

Choose a tag to compare

升级更新内容

  • 调整链接
  • 解决Expo 在 development环境构建(真机)调试时的原生SDK连接问题
  • Expo优化