Egret白鹭引擎发布iOS原生项目(四)接入微信分享图片

注册消息

    [EgretWebViewLib setExternalInterface:@"callNativeForShareImage" Callback:^(NSString* msg) {

        NSLog(@"message: %@", msg);

        [self wxShareImage:msg];

    }];

分享图片是从js端传过来的base64图片数据

#pragma mark - 分享图片

- (void)wxShareImage:(NSString*) jsonString{

    NSLog(@"分享%@",jsonString);

    if([WXApi isWXAppInstalled]){//判断当前设备是否安装微信客户端

        // 将json字符串转换成字典

        NSError * error = nil;

        NSData * getJsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];

        NSDictionary * getDict = [NSJSONSerialization JSONObjectWithData:getJsonData options:NSJSONReadingMutableContainers error:&error];

        NSString* base64Data = [getDict objectForKey:@"base64Data"];

        base64Data=[base64Data stringByReplacingOccurrencesOfString:@"data:image/png;base64,"withString:@""];

        // 将base64字符串转为NSData

        NSData *decodeData = [[NSData alloc]initWithBase64EncodedString:base64Data options🙁NSDataBase64DecodingIgnoreUnknownCharacters)];

        //1.创建多媒体消息结构体

        WXMediaMessage *mediaMsg = [WXMediaMessage message];

        //2.创建多媒体消息中包含的图片数据对象

        WXImageObject *imgObj = [WXImageObject object];

        //图片真实数据

        imgObj.imageData = decodeData;

        //多媒体数据对象

        mediaMsg.mediaObject = imgObj;

        

        //3.创建发送消息至微信终端程序的消息结构体

        SendMessageToWXReq *req = [[SendMessageToWXReq alloc] init];

        //多媒体消息的内容

        req.message = mediaMsg;

        //指定为发送多媒体消息(不能同时发送文本和多媒体消息,两者只能选其一)

        req.bText = NO;

        //指定发送到会话(聊天界面)

        req.scene = WXSceneSession;

        //发送请求到微信,等待微信返回onResp

        [WXApi sendReq:req];

    }else{

        //未安装微信应用或版本过低

        [self setupAlertController];

    }

}

js端发送base64图片数据的部分代码

var render = new egret.RenderTexture();

render.drawToTexture(box);

var base64 = render.toDataURL('image/png');

var shareData = { base64Data: "" + base64 };

egret.ExternalInterface.call('callNativeForShareImage', JSON.stringify(shareData));


发表评论

(必填)

(必填)

(以便回访)

博客已稳定运行: 访问量:167,446 views 网站备案号:闽ICP备17026396号-1