## 简要介绍
该库为外链功能模块,主要包含web调用部分原生组件、微信支付、支付宝支付等,具体可实现功能可查看前端文档,可在
~~~
http://192.168.0.116/monkey/iOS-URLink.git
~~~
下载示例代码,然后运行查看效果。
## 导入方式
#### 使用Cocoapods导入
要使用该库,需要依赖基础模块,在Podfile文件中加入:
~~~
platform :ios, '7.0'
target 'Test' do
pod 'SDWebImage', '~> 3.8.2'
pod 'iOS-URAlert', :git => 'http://192.168.0.116/monkey/iOS-URAlert.git'
pod 'iOS-URLoadIndicator', :git => 'http://192.168.0.116/monkey/iOS-URLoadIndicator.git'
pod 'iOS-URBaseMacros', :git => 'http://192.168.0.116/monkey/iOS-URBaseMacros.git'
pod 'iOS-URNetworking', :git => 'http://192.168.0.116/monkey/iOS-URNetworking.git'
pod 'iOS-URLink', :git => 'http://192.168.0.116/monkey/iOS-URLink.git'
end
~~~
然后在终端执行命令:
~~~
$ pod install
~~~
或者
~~~
$ pod update
~~~
#### 手动导入
手动导入还需要手动添加第三方库:
~~~
AFNetworking (3.1.0)
ReactiveCocoa (2.5)
Masonry (1.0.2)
MJRefresh (3.1.12)
SDWebImage (3.8.2)
iOS-URAlert
iOS-URLoadIndicator
iOS-URBaseMacros
iOS-URNetworking
~~~
## 使用说明
使用该库需要重置用户代理,在AppDelegate中设置:
~~~
#pragma mark 重置 webview 的 user agent(用户代理)
- (void)reviseUseragent
{
UIWebView *webView = [[UIWebView alloc] init];
NSString *secretAgent = [webView stringByEvaluatingJavaScriptFromString:@"navigator.userAgent"];
NSString *newUseragent = [NSString stringWithFormat:@"%@ termtype/%@",secretAgent,@"rubikui"];
NSDictionary *dictionary = @{@"UserAgent":newUseragent};
[[NSUserDefaults standardUserDefaults] registerDefaults:dictionary];
}
~~~
同时需要使用支付的还需在AppDelegate中做如下设置:
~~~
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
id viewController = [G_RootViewController.navigationController.viewControllers lastObject];
if (viewController && [viewController isKindOfClass:[UIViewController class]]) {
} else {
viewController = nil;
}
return [WXApi handleOpenURL:url delegate:viewController];
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
if ([url.host isEqualToString:@"safepay"]) {
//跳转支付宝钱包进行支付,处理支付结果
[[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
NSLog(@"result = %@",resultDic);
[self handleAlipayAction:resultDic];
}];
return YES;
} else {
id viewController = [G_RootViewController.navigationController.viewControllers lastObject];
if (viewController && [viewController isKindOfClass:[UIViewController class]]) {
} else {
viewController = nil;
}
return [WXApi handleOpenURL:url delegate:viewController];
}
}
// NOTE: 9.0以后使用新API接口
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options
{
if ([url.host isEqualToString:@"safepay"]) {
//跳转支付宝钱包进行支付,处理支付结果
[[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
NSLog(@"result = %@",resultDic);
[self handleAlipayAction:resultDic];
}];
return YES;
} else {
id viewController = [G_RootViewController.navigationController.viewControllers lastObject];
if (viewController && [viewController isKindOfClass:[UIViewController class]]) {
} else {
viewController = nil;
}
return [WXApi handleOpenURL:url delegate:viewController];
}
}
- (void)handleAlipayAction:(NSDictionary *)resultDic
{
id viewController = [G_RootViewController.navigationController.viewControllers lastObject];
if (viewController && [viewController isKindOfClass:[URLinksViewController class]]) {
[((URLinksViewController *)viewController) handleAlipayResult:resultDic];
}
}
~~~
为了支付完成之后能够跳转回app,需要设置在工程的 TARGETS->Info中设置相应的URL Types。
#### 外链功能接口
该库主要包含如下接口:
~~~
@property (nonatomic,copy) NSString *linkUrl; //链接地址
@property (nonatomic,assign) URLinksBackType backType; //外链首页返回按钮类型
@property (nonatomic, copy) NSString *defaultTitle; //默认标题,如果网页没有给出,显示该标题
@property (nonatomic, strong) NSDictionary *userInfo; //推送返回的信息
//userinfo为推送的相关信息
- (void)evaluatingJavaScriptWithUserinfo:(NSDictionary *)userinfo;
~~~
在需要接入外链的地址直接调用即可,如下所示:
~~~
URLinksViewController *viewController = [[URLinksViewController alloc] init];
viewController.linkUrl = "你的链接地址";
viewController.backType = URLinksBackTypeArrow;
[self.navigationController pushViewController:viewController animated:YES];
~~~
- 发布aar到maven仓库
- svn或gitlab代码上传规范
- maven仓库管理
- 自动构建
- Android自动构建
- Android-jenkins发布
- 规范
- Android
- Android组件模块文档
- 基础业务模块
- 智能导诊
- 科室医生
- 医院导航
- 健康资讯
- 健康百科
- 个人中心
- 外链模块
- 微信资讯
- 动态首页
- 互联网医院
- 外链模块基础版本
- 底层功能模块
- UI样式
- Http请求
- 动态功能
- 版本更新
- 支付(微信、支付宝)
- 二维码扫描
- 安全键盘
- 开发工具类模块
- icepick
- dart
- butterknife
- superRecycler
- jsonBuilder
- android-state
- iOS文档
- iOS组件模块文档
- iOS底层功能模块
- iOS弹出窗
- iOS加载框
- iOS-标准样式库
- iOS网络请求
- iOS二维码扫描
- iOS功能模块组件
- iOS健康资讯
- iOS健康百科
- iOS智能导诊
- iOS科室医生
- iOS医院导航
- iOS外链
- iOS模板(健康资讯类)
- iOS其它
- Cocoapods安装
- iOS-Cocoapods相关
- iOS-创建私有Cocoapods仓库
- 平台相关文档
- 全栈中心概述
- WEEX跨平台解决方法
- 玩转开发者平台
- android打包指南
- iOS自动化打包指南
- rubik-u web组件文档
- 开始
- 全局方法
- 列表组件
- 标题组件
- 按钮组件
- 切换组件
- 下拉框组件
- 开关/单/复选组件
- 功能列表组件
- 评星组件
- 搜索组件
- 图片上传组件
- 表单
- 表单例一
- 表单例二
- 表单例三
- 聊天组件
- 滑动刷新组件
- View窗口操作
- 面板组件
- 简单面板组件
- 信息展示面板
- 提示文字
- 底部悬浮组件
- 长文字展示组件
- 隐藏/显示面板
- 客户端组件
- 判断客户端环境
- 登录
- 等待框
- 提示框
- 时间选择器
- 扫码组件
- 拍照组件
- 访问相册组件
- 用户信息获取组件
- 返回上一页
- 返回首页
- 关闭webview
- 获取客户端类型
- 支付
- rubik-u web模板文档
- 基础组件模板
- 复选框使用案例
