jkpang / ppnetworkhelper Goto Github PK
View Code? Open in Web Editor NEWAFNetworking 3.x 与YYCache封装
License: MIT License
AFNetworking 3.x 与YYCache封装
License: MIT License
你好,请问缓存的数据,后台修改了某条数据的值,比如点赞数,那么二次刷新的时候怎么判断是否变化的呢?
新增加的一次性判断网络方法无效果。。。。。。
建议加一个取消所有请求的功能和取消某个功能的请求
为了体验好点,希望缓存可以设置时间和大小限制。
get如果带缓存了,下次再调用get就不应该访问网络,直接走缓存数据啊,
不知道是我没看懂代码,还是理解错了,求指教
*** Assertion failure in -[AFStreamingMultipartFormData appendPartWithFormData:name:],
2017-09-20 17:45:40.401058+0800 WeiHouBao[957:192541] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: name'
*** First throw call stack:
上传多张图片时若需要自定义图片文件名如“zhangsan”、“lisi”就很不方便了,还是之前使用数组的方式好些,现在使用fileName1,fileName2。。。之前一直用的数组,刚更新了才发现的,现在我只好修改一下你的代码了😄
请问前辈有人出现过这个问题吗
可以针对某一个请求的请求头添加参数吗?
图片服务器返回
responseObject:{
status = 0;
data = ;
msg = ;
url = ;
}
后台同事帮忙看了下, 后台报错"The current request is not a multipart request"
仔细看了您的代码。其中上传图片的方法uploadWithURL仅能用来上传图片无法上传其他文件,您说也可以上传其他文件,不知如何使用?
下载下来去沙盒看了的确下载成功了。但是在success:^(NSString *filePath)里执行[NSFileManager defaultManager]fileExistsAtPath始终是否。
一次性提交多组图片上传怎么使用,目前我看到API上只有一组图片上传的。
// 图片经过等比压缩后得到的二进制文件
NSData *imageData = UIImageJPEGRepresentation(images[i], imageScale ?: 1.f);
// 默认图片的文件名, 若fileNames为nil就使用
自动缓存(GET与POST请求用法相同)
[PPNetworkHelper GET:url parameters:nil responseCache:^(id responseCache) {
对此有疑问:
responseCache!=nil ? responseCache([PPNetworkCache httpCacheForURL:URL parameters:parameters]) : nil;
NSURLSessionTask *sessionTask = [_sessionManager GET:URL parameters:parameters progress:^(NSProgress * _Nonnull uploadProgress) {
responseCache!=nil ? responseCache([PPNetworkCache httpCacheForURL:URL parameters:parameters]) : nil;
NSURLSessionTask *sessionTask = [_sessionManager GET:URL parameters:parameters progress:^(NSProgress * _Nonnull uploadProgress)
虽然第一步缓存方式是一样的, responseCache!=nil ? responseCache([PPNetworkCache httpCacheForURL:URL parameters:parameters]) : nil;
但是后边调用AFHTTPSessionManager里的get和post是不一致的 ,对此post请求和get请求调用此方法不会出错吗?
iOS 11.1.2 系统下缓存不起作用了。之前的系统版本好好的,有这种情况的吗?
PPNetworkCache.h中,api注释的cancle应改为cancel.取消的意思哈
如何获取返回的header?
downloadWithURL方法调用时,[PPNetworkHelper setValue:@"123" forHTTPHeaderField:@"staffid"];设置的http头无效,上传的时候有效
YTKNetwork 对缓存的处理还挺不错的, 可以参考参考.
关于你在 README 中提到的网络请求封装问题, 你可以借鉴下 YTKNetwork 的 command 设计模式, 这样即使用户需要再封装一层, 也会方便许多.
因为一个App需要对应几个后台服务器 要有不同的header 不同超时时间等等参数,假设有A B C三个网络请求,A C 请求不需要设置请求头 B需要设置请求头,A B C 顺序请求,在请求B之前需要设置请求头,当C请求时 如果不对请求头进行清空或者重设requestSerializer的话 那么C请求就会带上B请求的请求头 我提的这个只是个例子 这个问题如果在某个人对网络请求做了设置 就可能影响到所有的网络请求 会不会有这个问题呢?
PUT DELETE 方法比较常用,不亚于GET POST方法!或者大神告知如何实现,我自行处理
一次性判断网络的方法不好用,不能实时监听
[PPNetworkHelper setValue: forHTTPHeaderField:]不起作用
如果在af里 这样设置是可用的
AFHTTPRequestSerializer *requestSerializer = [AFJSONRequestSerializer serializer];
[requestSerializer setValue: forHTTPHeaderField:];
manager.requestSerializer = requestSerializer;
借鉴了作者的代码更改了自己项目中的网络请求,满足大部分了需求(多图上传的图片类型改为了数组, 因为有时选择多图中有静图有gif),缓存这块有几个问题,现在作者的写法是不管请求的数据和缓存的数据是否相同,都会更新吗,如果是这样的话,对于用于用户流量节省帮助不大啊,这边一般需要怎么判断数据是否已经更新或者过期啊
当post/get请求中parameters参数过多,并转为string与URL拼接作为cacheKey,无法正常存取。demo中parameters为nil,存取正常。
第一次进入一个界面,先使用缓存,然后网络请求完成,再刷新界面。可当我对这个界面下拉刷新的时候,这时候不应该读取缓存吧,而是直接去网络请求,请求完成后再缓存数据,刷新界面。第二个需求,要调用无缓存接口,然后自己实现缓存功能?
项目中通过CocoPods集成了YYKit,由于YYKit中已经包含了YYCache,而pod ‘PPnetworkHelper’会再次集成YYCache,导致冲突,怎么办
[url stringByAddingPercentEncodingWithAllowedCharacters:
[NSCharacterSet URLQueryAllowedCharacterSet]];
已处理!
好像使用GET与POST有区别。
1有些对于token 失效 或者其他 业务需求需要对所有请求的code返回码进行处理
现在很多应用会直接加载H5页面,如果能把页面缓存了,那这个库的便利性更好了
/// 删除所有网络缓存
使用这个方法设置请求头
[PPNetworkHelper setValue:authorizationStr forHTTPHeaderField:@"Authorization"]
但是后台收到请求头是空。什么原因
大神,DELETE PUT 等请求方式也是比较常用的,麻烦有时间添加上
请问如果列表是分页的,可以上拉/下拉刷新, 如何处理这种缓存比较好
例如我用来缓存cell数据,使用有缓存的方法进行数据请求,框架会先走缓存方法,然后再去走正常网络请求,但是这样造成了会2次刷新tableview,请教一下这个有啥好的处理办法吗?
[self getData:YES url:@"http://www.qinto.com/wap/index.php?ctl=article_cate&act=api_app_getarticle_cate&num=1&p=1"];
你这个url是什么意思,无网络还要传url吗
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.