weex ios 跳转外部地图

2020-11-05 11:49:41 阅读:2 编辑

#import "siteinfoModule.h"
#import "BMConfigManager.h"
#import <WeexPluginLoader/WeexPluginLoader.h>
#import <AVFoundation/AVFoundation.h>
WX_PlUGIN_EXPORT_MODULE(siteinfo, siteinfoModule)
@implementation siteinfoModule
@synthesize weexInstance;
AVPlayer * player = nil;
WX_EXPORT_METHOD_SYNC(@selector(getConfig))
-(NSString*)getConfig
{
     NSString* data = @"https://wx.n7y.cn/app/index.php;1026";
    return data;
}
WX_EXPORT_METHOD_SYNC(@selector(getHomePage))
-(NSString*)getHomePage
{
    BMPlatformModel *platformInfo = [BMConfigManager shareInstance].platform;
    NSString* homePage = platformInfo.page.homePage;
    return homePage;
}
WX_EXPORT_METHOD_SYNC(@selector(play))
-(void*)play
{
    if(player != nil){
        [player play];
    }
}
WX_EXPORT_METHOD_SYNC(@selector(pause))
-(void*)pause
{
    if(player != nil){
        [player pause];
    }

}
WX_EXPORT_METHOD_SYNC(@selector(stop))
-(void*)stop
{
    if(player != nil){
        [player pause];
    }

}
WX_EXPORT_METHOD_SYNC(@selector(setUrl:))
-(void*)setUrl:(NSMutableDictionary*)param
{
     NSString* urlStr=param[@"url"];
    NSURL *url = [NSURL URLWithString:urlStr];
    player = [[AVPlayer alloc] initWithURL:url];
    BOOL autoplay= param[@"autoplay"];
    if(autoplay){
        [player play];
    }
}

WX_EXPORT_METHOD_SYNC(@selector(getMapList))
-(NSString*)getMapList
{
    NSString* result = @"";
    if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"iosamap://"]]) {
       result = @"daoge";
    }

    if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"qqmap://"]]) {
        if(result == @""){
            result = @"tencent";
        }else{
            result = @"daoge,tencent";
        }
       }

    return result;
}

WX_EXPORT_METHOD_SYNC(@selector(openMap:))
-(NSString*)openMap:(NSMutableDictionary*)param
{
     NSString* map_type =param[@"map_type"];
    NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
    NSString *appName = [infoDictionary objectForKey:(NSString *)kCFBundleExecutableKey];

    NSString* sname = param[@"start"];
          NSString* dlat = param[@"lat"];
          NSString* dlon = param[@"lng"];
          NSString* dname = param[@"end"];
    NSString *urlString = @"";
    if(map_type == @"daoge"){
        if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"iosamap://"]]) {
               urlString = [[NSString stringWithFormat:@"iosamap://path?sourceApplication=%s&sid=&sname=%s&did=&dlat=%s&dlon=%s&dname=%sB&dev=0&t=0",
                                             appName,sname,dlat,dlon,dname] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
             [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];
            return @"ok";
        }else{
            return @"NO_INSTALL_APP";
        }

    }else{
        if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"qqmap://"]]) {
         NSString* referer = param[@"tencent_key"];
                urlString = [[NSString stringWithFormat:@"qqmap://map/routeplan?type=drive&fromcoord=CurrentLocation&from=%s&tocoord=%s,%s&to=%s&referer=%s",
                                               sname,dlat,dlon,dname,referer] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
            [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];
            return @"ok";

        }else{
            return @"NO_INSTALL_APP";
        }

    }

}
@end