目前公司在自主研发一个把OA和IM集成的一个项目,其中免不了和流程打交道。平常的功能都可以用原生的来实现,流程模块就费劲了,因为很多控件都是配置出来的,原生一个个的写控件不知道写到猴年马月,因此就要用H5来弥补了。
1.将网页文件集成进app bundle里面 :New File -> Settings Bundle
新建好之后就是酱紫:
这时候我们可以将相关的网页等文件拖进去了
这样子我们就将网页文件打包到app的bundle里面了
2.访问本地的网页信息
我这里使用的是UIWebView,WKWebview读取本地文件有些问题,这个有相应的解决办法http://www.jianshu.com/p/ccb421c85b2e 下面是UIWebView的读取办法:
'''
NSURL*fileURL = [[NSBundlemainBundle]URLForResource:@"html.bundle/index.html"withExtension:nil];
[self.webViewloadRequest:[NSURLRequestrequestWithURL:url]];
'''
如果需要添加什么参数,可以通过拼接字符串重新组成NSUrl:
NSDictionary*userInfo =@{
@"id":@(currentUser.ID),
@"name": currentUser.name,
@"loginName": currentUser.loginName,
@"groupId":@(currentUser.departId),
@"groupName": currentUser.departName,
@"roleId":@(currentUser.roleId),
@"roleName": currentUser.roleName,
@"userType": userType
};
NSString*queryString =@"?";
for(NSString*key in userInfo.allKeys){
queryString = [queryStringstringByAppendingFormat:@"%@=%@&",key,userInfo[key]];
}
NSString*url =[theAbsoluteURLString stringByAppendingString:[queryStringsubstringToIndex:queryString.length-1]];
NSURL *url = [NSURL URLWithString:url];
[self.webViewloadRequest:[NSURLRequestrequestWithURL:url]];
如果需要与js做交互,可以使用WebViewJavaScriptBridge框架,在此就不赘述了
网友评论