Cocos CreatorSDK

Cocos creator ios开发—微信授权(三)

2019-03-16  本文已影响6人  洒一地阳光_217d

这是官方文档:移动应用微信授权登录

代码示例:
js端代码:

  startRequestAuth: function () {
        // 本文的示例oc代码,是写在AppController.mm里的
        jsb.reflection.callStaticMethod("AppController", "SendAuthRequest:State:", "snsapi_userinfo", "isgood");
        //"isgood": State用于保持请求和回调的状态,授权请求后原样带回给第三方。
        //该参数可用于防止csrf攻击(跨站请求伪造攻击),建议第三方带上该参数,可设置为简单的随机数加session进行校验
        //此处State最好用deviceId
    },

oc端代码:
第一步:注册appID
请参考Cocos creator ios开发—微信支付(二)里的第二步
第二步:添加如下代码
先在AppController.h里添加接口

// 引入头文件
#import "WXApi.h"

+(void)SendAuthRequest:(NSString*)scope State:(NSString*)state;

在AppController.mm里实现

// 引入头文件
#import "WXApi.h"

+(void)SendAuthRequest:(NSString*)scope State:(NSString*)state
{
    SendAuthReq* req = [[[SendAuthReq alloc]init]autorelease];
    req.scope = scope;
    req.state = state;
    [WXApi sendReq:req];
    cocos2d::log("ios wechat SendAuthRequest ok");
}

// 微信消息回调
- (void)onResp:(BaseResp *)resp {
    if ([resp isKindOfClass:[SendAuthResp class]]) {
        NSLog(@"onRes SendAuthResp");
        // 收到授权结果
       // 通知js端 授权后的结果
    } else if ([resp isKindOfClass:[SendMessageToWXResp class]]) {
        NSLog(@"onRes SendMessageToWXResp");
        // 这是收到微信分享的结果。目前已经不能得到是否分享出去了的结果了
    } 
}
上一篇 下一篇

猜你喜欢

热点阅读