AppDelegate.m 2.9 KB
//
//  AppDelegate.m
//  DreamSleep
//
//  Created by peter on 2022/3/29.
//

#import "AppDelegate.h"
#import "PrivacyView.h"
#import "PrivacyViewController.h"
#import "DSTabBarController.h"
#import "WXApi.h"
#import "BaseNaviController.h"

@interface AppDelegate () <WXApiDelegate>
@end

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    self.window = [UIWindow.alloc initWithFrame:UIScreen.mainScreen.bounds];
    self.window.backgroundColor = DSWhite;
    [self.window makeKeyAndVisible];
    UIStoryboard * mainStoryBoard =[UIStoryboard storyboardWithName:@"Main" bundle:nil];
    self.window.rootViewController = [mainStoryBoard instantiateViewControllerWithIdentifier:@"mainSB"];
    
    //    BaseNaviController *navi = [[BaseNaviController alloc] initWithRootViewController:[[PrivacyViewController alloc] init]];
    //    self.window.rootViewController = navi;
    
    [self initWeChat];
    
    return YES;
}

- (void)initWeChat {
    // 在register之前打开log, 后续可以根据log排查问题
    //    [WXApi startLogByLevel:WXLogLevelDetail logBlock:^(NSString *log) {
    //        DSLog(@"WeChatSDK: %@", log);
    //    }];
    
    // 务必在调用自检函数前注册
    [WXApi registerApp:WeChatAppID universalLink:UNIVERSAL_LINK];
    
    // 调用自检函数
    //    [WXApi checkUniversalLinkReady:^(WXULCheckStep step, WXCheckULStepResult* result) {
    //        DSLog(@"%@, %u, %@, %@", @(step), result.success, result.errorInfo, result.suggestion);
    //    }];
}

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options {
    return [WXApi handleOpenURL:url delegate:self];
}

#pragma mark - WXApiDelegate
- (void)onReq:(BaseReq *)req {
    DSLog(@"req:%@", req);
}

/*! 微信回调,不管是登录还是分享成功与否,都是走这个方法 @brief 发送一个sendReq后,收到微信的回应
 *
 * 收到一个来自微信的处理结果。调用一次sendReq后会收到onResp。
 * 可能收到的处理结果有SendMessageToWXResp、SendAuthResp等。
 * @param resp 具体的回应内容,是自动释放的
 */
- (void)onResp:(BaseResp*)resp {
    DSLog(@"resp %d",resp.errCode);
    
    /*
     enum  WXErrCode {
     WXSuccess           = 0,    成功
     WXErrCodeCommon     = -1,  普通错误类型
     WXErrCodeUserCancel = -2,    用户点击取消并返回
     WXErrCodeSentFail   = -3,   发送失败
     WXErrCodeAuthDeny   = -4,    授权失败
     WXErrCodeUnsupport  = -5,   微信不支持
     };
     */
    // 授权登录的类
    if ([resp isKindOfClass:[SendAuthResp class]]) {
        if (resp.errCode == 0) {
            SendAuthResp *resp2 = (SendAuthResp *)resp;
            DSLog(@"resp2.code:%@", resp2.code);
        } else {
            DSLog(@"error:%@", resp.errStr);
        }
    }
}

@end