Giter VIP home page Giter VIP logo

daisynet's People

Contributors

alucardulad avatar mqzhot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

daisynet's Issues

能麻烦适配一下Swift5吗?

刚刚用pod 'Alamofire', '~> 5.0.0-rc.2',和cache的5.2.0配合使用,一堆报错,还有就是cache包报了一个Command CompileSwift failed with a nonzero exit code,不知道怎么解决了

关于Alamofire本身的问题

今天在网络请求当中 我发现用框架的responseCacheAndString返回了乱码{"msg":"ç�»å½�æ��å��"} 估计是Alamofire本身的问题,我发现你在用相应string返回的时候 直接返回了reslut 没有做任何处理 不知道是不是这个原因 因为缓存显示 就是正确的。希望能改进下

DaisyNet.request请求报错

DaisyNet.request请求总报DaisyValue(isCacheData: false, result: SUCCESS: { error = "Invalid API key!"; }用插件测的接口是通着的,没找到原因

params里面参数的顺序会变化,导致缓存的key不一致

比如demo里面的params
let params = ["keyword" : "", "npc" : "0", "opc" : "20", "type" : "热门视频", "uid" : "2321"]
第一次启动的时候打印 params = ["uid": "2321", "opc": "20", "type": "热门视频", "keyword": "", "npc": "0"]
杀死程序重新启动打印 params = ["uid": "2321", "npc": "0", "keyword": "", "opc": "20", "type": "热门视频"]
所以每次缓存的key都不一样

fileName扩展名问题

下载参数fileName必须指定文件后缀名,这里如何支持多种类型的,而不是写死的呢

单独设置每个request的缓存过期时间

目前是通过cacheExpiryConfig全局设置缓存过期时间,这样有个问题,如果两个request的缓存过期时间不同,第一个request请求完成前设置了第二个request的缓存过期时间,那第一个request的缓存过期时间就和第二个的一样了

参数过滤bug

func cacheKey(_ url: String, _ params: Dictionary<String, Any>?, _ dynamicParams: Dictionary<String, Any>?) -> String {
/// c参数重复, params中过滤掉dynamicParams中的参数
if let filterParams = params?.filter({ (key, _) -> Bool in
return dynamicParams?.contains(where: { (key1, _) -> Bool in
return key != key1
}) ?? false
}) {
let str = "(url)" + "(sort(filterParams))"
return MD5(str)
} else {
return MD5(url)
}
}

contains方法命中就会停止本次循环,不能使用!=

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.