这是官方文档:移动应用微信授权登录
代码示例:
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");
// 这是收到微信分享的结果。目前已经不能得到是否分享出去了的结果了
}
}
网友评论