首页 > 其他分享 >swift网络框架配置(二)

swift网络框架配置(二)

时间:2023-12-04 11:56:55浏览次数:30  
标签:return String 框架 type 网络 login password swift id

1.WMPostApiManager(post请求)

import Moya

enum WMPostApiManager {
    //登录
    case login(login_type: String, id: String, password: String)
    
}

extension WMPostApiManager: TargetType {
    var baseURL: URL {
        return URL(string: "https://api.socialnb.work/")!
    }
    
    var path: String {
        switch self {
        case .login:
            return "api/user/isLoginNew"
        }
    }
    
    var method: Moya.Method {
        return .post
    }
    
    var task: Moya.Task {
        var params = [String: Any]()
        switch self {
        case let .login(login_type, id, password):
            params["login_type"] = login_type
            params["id"] = id
            params["password"] = password
        }
        return .requestParameters(parameters: params, encoding: URLEncoding.default)
    }
    
    var headers: [String : String]? {
        let header = [
            "Content-Type": "application/x-www-form-urlencoded"
        ]
        return header
    }
    
    public func CRJSONToString(_ obj: Any) -> String? {
        if let data = try? JSONSerialization.data(withJSONObject: obj, options: []) {
            if let json = String(data: data, encoding: .utf8) {
                return json
            }
        }
        return nil
    }
    
}

 2.调用

func netWorkRequestLogin(login_type: String = "123", id:"13412345678", password: String = "123456") {
        let api = WMPostApiManager.login(login_type: login_type, id: id, password: password)
        Network.request(api, dataType: JSON.self, showErrorMsg: true).do(onSuccess: { data in
            guard let datas = data.rawValue as? [String: Any] else { return }
            keyWindow().rootViewController = SSTabBarViewController()
        }, onDispose: {
            //响应
        }).subscribe().disposed(by: disposeBag)
    }

  

 

 

标签:return,String,框架,type,网络,login,password,swift,id
From: https://www.cnblogs.com/wm941142146/p/17815525.html

相关文章

  • 大型网络游戏任务系统的架构与设计
    在网路游戏中做任务已经成为游戏很重要的一个核心功能和玩法,如何做好一个灵活可扩展的任务系统的架构与设计,今天来给大家分享一些我们的设计经验。接下来我把整个的任务系统分成以下6个模块:(1)任务配置表设计与管理;(2)游戏任务的解锁与生成;(3)任务完成判定;(4)任务完成......
  • kore可扩展安全的Web 应用程序框架
    kore是基于c开发的web框架,可以让我们使用c以及python开发webapi,主要的特点是安全以及可扩展主要特性SNI支持http1.1支持websocket支持默认TLS支持可选后台任务内置参数校验基于acme的自动https权限分离设计可选异步pg访问模块热加载worker进程沙箱支持(基于pledge以及s......
  • 一些基于webassembly 的serverless 框架
    基于webassembly的一些serverless框架是比较多的,以下是以下参考,基本上基于rust开发的比较多,当然也有基于golang的参考资料https://wasmcloud.com/https://scale.sh/https://github.com/loopholelabs/scalehttps://github.com/wasmCloud/wasmCloudhttps://github.com/vmware-lab......
  • .NET 7(C#)配置使用log4net日志框架的方法
    .NET7(C#)中配置和使用log4net日志框架是一个涉及多步骤的过程。log4net是一个高度灵活且强大的日志记录库,可用于记录应用程序的运行时信息。它支持各种日志输出格式和目的地,如文件、数据库、控制台等。以下是在.NET7(C#)项目中配置和使用log4net的基本步骤:1.安装log4net......
  • 2023-2024-4 20232419《网络空间安全导论》第4章预习总结
    系统安全基础系统安全概述总结:整体论和还原论是研究系统安全的重要方法。系统安全原理总结:安全控制与数学关系最为密切。系统安全结构问题与解决问题:何为分时系统?解决:是使一台计算机采用时间片轮转的方式同时为几个、几十个甚至几百个用户服务的一种操作系统。基于AI......
  • 2023-2024-120232325《网络空间安全导论》第四周学习
    教材内容总结问题1.整体论与还原论2.sql的应用数据库管理:SQL被用于创建、修改和管理数据库中的表格、索引、视图和存储过程等数据库对象。数据查询:SQL用于从数据库中检索数据,可以通过SELECT语句来执行简单或复杂的查询操作,以满足特定的数据需求。数据更新:SQL可以用于更新......
  • 2023-2024-1 20232426刘嘉成 《网络空间安全导论》第4周学习总结
    2023-2024-120232426刘嘉成《网络空间安全导论》第4周学习总结教材学习内容总结简要总结本周学习内容:系统安全与系统各组件安全的关系(不依靠还原论)系统安全原理系统安全结构教材学习思维导图教材学习中的问题和解决过程问题1:不理解涌现性和综合特性问题1解决方案:询......
  • 湖南省网络攻防邀请赛 RE 题解
    ez_apkk解题过程:将apk拖入jadx,查看MainActivity,发现是简单RC4加密,密钥是“55667788”,最后再将加密结果+1publicStringEncrypt(StringplainText,Stringkey){int[]S=newint[256];byte[]K=newbyte[256];char[]cArr={'\n','+',18......
  • 2023-2024第一学期 20232315 《网络空间安全导论》学习第四周
    一、教材学习内容总结最近我学习了《网络空间安全导论》第四章--系统安全基础,了解了系统安全思维、系统安全原理以及系统安全的结构,下面是一张思维导图:二、教材学习中的问题及解决过程问题一:系统的涌现性和综合特性有什么区别?解决方法:百度答案:综合特性主要是指可以通过系统......
  • 2023-2024-1 20232403 《网络》第4周学习总结
    思维导图与ChatGPT对话自测(不过它貌似记不住我的问题,用了一种自认为比较巧妙的方式交流自测)学习问题1.不清楚保护系统安全的最佳方法。解决方法:在询问chatGPT后得到大致思路,而后结合课本理论知识想到了几个解决方案。2.对web应用知识不理解,对相关用语很陌生。解决方法:学......