powerfun-unity/Assets/Plugins/iOS/IOSWechatController.m

69 lines
2.0 KiB
Objective-C

//
// IOSWechatController.m
// Unity-iPhone
//
// Created by Jooki Tsui on 2020/11/13.
//
#import "WXApi.h"
#import "UnityAppController.h"
#import <Foundation/Foundation.h>
extern void UnitySendMessage(const char *,const char *,const char *);
@interface IOSWechatController : UnityAppController<WXApiDelegate>
@end
IMPL_APP_CONTROLLER_SUBCLASS (IOSWechatController)
@implementation IOSWechatController
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity
#if defined(__IPHONE_12_0) || defined(__TVOS_12_0)
restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring> > * _Nullable restorableObjects))restorationHandler
#else
restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler
#endif
{
return [WXApi handleOpenUniversalLink:userActivity delegate:self];
}
- (BOOL)application:(UIApplication*)application openURL:(NSURL*)url
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
return [WXApi handleOpenURL:url delegate:self];
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
return [WXApi handleOpenURL:url delegate:self];
}
- (void)onResp:(BaseResp *)resp
{
NSLog(@"47");
if([resp isKindOfClass:[SendAuthResp class]])
{
SendAuthResp *temp = (SendAuthResp*)resp;
int errorCode = temp.errCode;
switch (errorCode) {
case 0:
UnitySendMessage("LoginPanel", "OnMobileWxLoginResp",[NSString stringWithFormat:@"true;%@",temp.code ].UTF8String);
break;
case -2:
UnitySendMessage("LoginPanel", "OnMobileWxLoginResp", "false;User deauthorisation");
break;
case -4:
UnitySendMessage("LoginPanel", "OnMobileWxLoginResp", "false;User refusal of authorisation");
break;
default:
UnitySendMessage("LoginPanel", "OnMobileWxLoginResp", "false;Login failed");
break;
}
}
}
- (void)onReq:(BaseReq *)req
{
// do something
}
@end