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

七鱼客服分配字段支持

parent 7ca75cba
...@@ -11,34 +11,35 @@ import Foundation ...@@ -11,34 +11,35 @@ import Foundation
class YHButlerServiceViewModel { 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 params: [String : Any] = ["yh_id": id]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.QiYu.userInfomation let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.QiYu.userInfomation
let _ = YHNetRequest.getRequest(url: strUrl, params: params) { [weak self] json, code in let _ = YHNetRequest.getRequest(url: strUrl, params: params) { [weak self] json, code in
if json.code == 200 { 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 { 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 return
} }
let avatar = self?.getAvatarFromJsonObject(data) let avatar = self?.getValueFromJsonObject(data, key: "avatar") as? String
callBackBlock(dataString, avatar, nil) let groupTmpId = Int64(self?.getValueFromJsonObject(data, key: "group_tmp_id") as? String ?? "0")
callBackBlock(dataString, avatar, groupTmpId, nil)
} else { } else {
let err : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg) let err : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
callBackBlock(nil, nil,err) callBackBlock(nil, nil, nil, err)
} }
} failBlock: { err in } 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 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 return info["value"]
} else if let obj = obj as? [String: Any], obj["key"] as? String == "avatar" && obj["value"] != nil { } else if let obj = obj as? [String: Any], obj["key"] as? String == key && obj["value"] != nil {
return obj["value"] as? String return obj["value"]
} }
return nil return nil
} }
......
...@@ -74,7 +74,7 @@ class YHButlerServiceManager: NSObject { ...@@ -74,7 +74,7 @@ class YHButlerServiceManager: NSObject {
@MainActor func gotoButlerServiceSessionVC(sourceTitle: String? = nil, sourceUrl: String? = nil, sessionTitle: String = "银河管家", navigationController: UINavigationController?, completion: @escaping (Bool) -> Void) { @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() let source = QYSource()
source.title = sourceTitle source.title = sourceTitle
source.urlString = sourceUrl source.urlString = sourceUrl
...@@ -84,6 +84,9 @@ class YHButlerServiceManager: NSObject { ...@@ -84,6 +84,9 @@ class YHButlerServiceManager: NSObject {
return return
} }
completion(true) completion(true)
if let groupTmpId = groupTmpId {
sessionViewController.shuntTemplateId = groupTmpId
}
sessionViewController.sessionTitle = sessionTitle sessionViewController.sessionTitle = sessionTitle
sessionViewController.source = source sessionViewController.source = source
...@@ -108,13 +111,13 @@ class YHButlerServiceManager: NSObject { ...@@ -108,13 +111,13 @@ class YHButlerServiceManager: NSObject {
completion(false) completion(false)
return 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?.customerHeadImageUrl = avatar
self?.customUIConfig?.showServiceNickName = true self?.customUIConfig?.showServiceNickName = true
self?.updateUserInfo(userId: userId, userData: dataString ?? "", completion: { success in self?.updateUserInfo(userId: userId, userData: dataString ?? "", completion: { success in
DispatchQueue.main.async { DispatchQueue.main.async {
gotoSessionVC() gotoSessionVC(groupTmpId)
} }
}) })
} }
...@@ -293,7 +296,7 @@ extension YHButlerServiceManager { ...@@ -293,7 +296,7 @@ extension YHButlerServiceManager {
completion(false) completion(false)
return return
} }
getUserInfoViewModel.getUserInfomation(userId) { [weak self] dataString, avatar, error in getUserInfoViewModel.getUserInfomation(userId) { [weak self] dataString, avatar, _, _ in
// 改变头像 // 改变头像
self?.customUIConfig?.customerHeadImageUrl = avatar self?.customUIConfig?.customerHeadImageUrl = avatar
self?.customUIConfig?.showServiceNickName = true 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