Commit 270a9456 authored by Alex朱枝文's avatar Alex朱枝文

七鱼客服分配字段支持

parent 7ca75cba
......@@ -11,34 +11,35 @@ import Foundation
class YHButlerServiceViewModel {
/// 获取透传个人信息
func getUserInfomation(_ id: String, callBackBlock:@escaping (_ dataString: String?, _ avatar: String?, _ error:YHErrorModel?)->()) {
func getUserInfomation(_ id: String, callBackBlock:@escaping (_ dataString: String?, _ avatar: String?, _ groupTmpId: Int64?, _ error: YHErrorModel?)->()) {
let params: [String : Any] = ["yh_id": id]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.QiYu.userInfomation
let _ = YHNetRequest.getRequest(url: strUrl, params: params) { [weak self] json, code in
if json.code == 200 {
guard let data = json.data?.peel, JSONSerialization.isValidJSONObject(data), let jsonData = try? JSONSerialization.data(withJSONObject: data, options: []), let dataString = jsonData.string(encoding: .utf8) else {
callBackBlock(nil, nil, YHErrorModel())
callBackBlock(nil, nil, nil, YHErrorModel())
return
}
let avatar = self?.getAvatarFromJsonObject(data)
callBackBlock(dataString, avatar, nil)
let avatar = self?.getValueFromJsonObject(data, key: "avatar") as? String
let groupTmpId = Int64(self?.getValueFromJsonObject(data, key: "group_tmp_id") as? String ?? "0")
callBackBlock(dataString, avatar, groupTmpId, nil)
} else {
let err : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
callBackBlock(nil, nil,err)
callBackBlock(nil, nil, nil, err)
}
} failBlock: { err in
callBackBlock(nil, nil, err)
callBackBlock(nil, nil, nil, err)
}
}
func getAvatarFromJsonObject(_ obj: Any) -> String? {
private func getValueFromJsonObject(_ obj: Any, key: String) -> Any? {
if let obj = obj as? [[String: Any]], let info = obj.first(where: { element in
element["key"] as? String == "avatar" && element["value"] != nil
element["key"] as? String == key && element["value"] != nil
}) {
return info["value"] as? String
} else if let obj = obj as? [String: Any], obj["key"] as? String == "avatar" && obj["value"] != nil {
return obj["value"] as? String
return info["value"]
} else if let obj = obj as? [String: Any], obj["key"] as? String == key && obj["value"] != nil {
return obj["value"]
}
return nil
}
......
......@@ -74,7 +74,7 @@ class YHButlerServiceManager: NSObject {
@MainActor func gotoButlerServiceSessionVC(sourceTitle: String? = nil, sourceUrl: String? = nil, sessionTitle: String = "银河管家", navigationController: UINavigationController?, completion: @escaping (Bool) -> Void) {
func gotoSessionVC() {
func gotoSessionVC(_ groupTmpId: Int64? = nil) {
let source = QYSource()
source.title = sourceTitle
source.urlString = sourceUrl
......@@ -84,6 +84,9 @@ class YHButlerServiceManager: NSObject {
return
}
completion(true)
if let groupTmpId = groupTmpId {
sessionViewController.shuntTemplateId = groupTmpId
}
sessionViewController.sessionTitle = sessionTitle
sessionViewController.source = source
......@@ -108,13 +111,13 @@ class YHButlerServiceManager: NSObject {
completion(false)
return
}
getUserInfoViewModel.getUserInfomation(userId) { [weak self] dataString, avatar, error in
getUserInfoViewModel.getUserInfomation(userId) { [weak self] dataString, avatar, groupTmpId, error in
// 改变头像
self?.customUIConfig?.customerHeadImageUrl = avatar
self?.customUIConfig?.showServiceNickName = true
self?.updateUserInfo(userId: userId, userData: dataString ?? "", completion: { success in
DispatchQueue.main.async {
gotoSessionVC()
gotoSessionVC(groupTmpId)
}
})
}
......@@ -293,7 +296,7 @@ extension YHButlerServiceManager {
completion(false)
return
}
getUserInfoViewModel.getUserInfomation(userId) { [weak self] dataString, avatar, error in
getUserInfoViewModel.getUserInfomation(userId) { [weak self] dataString, avatar, _, _ in
// 改变头像
self?.customUIConfig?.customerHeadImageUrl = avatar
self?.customUIConfig?.showServiceNickName = true
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment