CNLiveMineViewModel.swift 2.52 KB
//
//  CNLiveMineViewModel.swift
//  metaCode
//
//  Created by open on 2023/6/14.
//

import Foundation
import CNLiveRequestBastKit

enum CNLiveMineRequestType {
    case nickName
    case gender
    case email
    case location
    case birthday
}
// 修改用户信息成功
typealias resultSuccessBlock = () -> Void

class CNLiveMineViewModel: NSObject {
    

    
    /// 提交更新用户单项数据
    /// - Parameters:
    ///   - type: nickName-昵称,gender-性别,email-邮箱, location-联系方式,birthday-生日yyyy-MM-dd
    ///   - value: 对应的信息,性别,m:男、f:女、n:未知
    static func requestUpdateUserInfoAction(type: CNLiveMineRequestType,value: String, resultBlock: @escaping resultSuccessBlock) {
        
        let param = NSMutableDictionary.init()
        if type == .nickName {
            param.setValue("nickName", forKey: "type")
            param.setValue(value, forKey: "value")
        }
        if type == .gender {
            param.setValue("gender", forKey: "type")
            
            param.setValue(value, forKey: "value")
        }
        if type == .email {
            param.setValue("email", forKey: "type")
            param.setValue(value, forKey: "value")
        }
        if type == .location {
            param.setValue("location", forKey: "type")
            param.setValue(value, forKey: "value")
        }
        if type == .birthday {
            param.setValue("birthday", forKey: "type")
            param.setValue(value, forKey: "value")
        }
        param.setValue(UserInfoManager.shared.userInfo.uid, forKey: "uid")
        param.setValue(UserInfoManager.shared.userInfo.token, forKey: "token")
        tip.showLoading(message: "")
        CNLiveNetworking.setAllowRequestDefaultArgument(true)
        CNLiveNetworking.setupShowDataResult(false)
        CNLiveNetworking.requestNetwork(with: .POST, urlString: "/open/api2/user/updateUserById", param: param as! [String : Any], cacheType: .networkOnly) { task, result, error in
            tip.hiddenLoading()
            if (error == nil) {
                let resp = result as! NSDictionary
                let errorCode = resp["errorCode"]
                if (errorCode as! String == "0") {
                    tip.showMessage(message: "更改成功")
                    resultBlock()
                } else {
                    tip.showMessage(message: resp["errorMessage"] as! String)
                }
            } else {
                tip.showMessage(message: "修改信息失败")
            }
        }
    }
}