美文网首页Cocos CreatorSDK
Cocos creator ios开发—微信授权(三)

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

作者: 洒一地阳光_217d | 来源:发表于2019-03-16 22:40 被阅读6次

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

    代码示例:
    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");
            // 这是收到微信分享的结果。目前已经不能得到是否分享出去了的结果了
        } 
    }
    

    相关文章

      网友评论

        本文标题:Cocos creator ios开发—微信授权(三)

        本文链接:https://www.haomeiwen.com/subject/lfremqtx.html