Commit 51c65e92 authored by David黄金龙's avatar David黄金龙

代码合并

parents d19e8dd7 8329c0a4
...@@ -70,7 +70,7 @@ target 'galaxy' do ...@@ -70,7 +70,7 @@ target 'galaxy' do
#导航栏、手势 #导航栏、手势
pod 'GKNavigationBarSwift','1.6.5' pod 'GKNavigationBarSwift','1.6.5'
#crash统计 #crash统计
pod 'Bugly','2.5.93' pod 'Bugly','2.6.1'
#神策数据分析 #神策数据分析
pod 'SensorsAnalyticsSDK','4.6.0' pod 'SensorsAnalyticsSDK','4.6.0'
#主流APP分类切换滚动视图 #主流APP分类切换滚动视图
......
...@@ -15,13 +15,18 @@ class YHButlerServiceViewModel { ...@@ -15,13 +15,18 @@ class YHButlerServiceViewModel {
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
guard let data = json.data?.peel as? [String : Any], let dataString = data.yh_toJSONString() else { 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, YHErrorModel())
return return
} }
let avatar = self?.getAvatarFromJsonObject(data) let avatar = self?.getAvatarFromJsonObject(data)
callBackBlock(dataString, avatar, nil) callBackBlock(dataString, avatar, nil)
} else {
let err : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
callBackBlock(nil, nil,err)
}
} failBlock: { err in } failBlock: { err in
callBackBlock(nil, nil, err) callBackBlock(nil, nil, err)
} }
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
import UIKit import UIKit
import IQKeyboardManagerSwift import IQKeyboardManagerSwift
import SafariServices
class YHButlerServiceManager: NSObject { class YHButlerServiceManager: NSObject {
...@@ -18,9 +19,15 @@ class YHButlerServiceManager: NSObject { ...@@ -18,9 +19,15 @@ class YHButlerServiceManager: NSObject {
// 调整UI // 调整UI
private weak var customUIConfig = QYSDK.shared().customUIConfig() private weak var customUIConfig = QYSDK.shared().customUIConfig()
// 点击事件处理
private weak var customActionConfig = QYSDK.shared().customActionConfig()
private lazy var getUserInfoViewModel: YHButlerServiceViewModel = YHButlerServiceViewModel() private lazy var getUserInfoViewModel: YHButlerServiceViewModel = YHButlerServiceViewModel()
var lastMessage: YHButlerServiceMessage? var lastMessage: YHButlerServiceMessage? {
getLastMessage()
}
var unreadCount: Int { var unreadCount: Int {
allUnreadCount() allUnreadCount()
} }
...@@ -42,6 +49,7 @@ class YHButlerServiceManager: NSObject { ...@@ -42,6 +49,7 @@ class YHButlerServiceManager: NSObject {
let qyOption = QYSDKOption(appKey: YhConstant.QiYuSDK.appKey) let qyOption = QYSDKOption(appKey: YhConstant.QiYuSDK.appKey)
qyOption.appName = YhConstant.QiYuSDK.appName qyOption.appName = YhConstant.QiYuSDK.appName
QYSDK.shared().register(with: qyOption) QYSDK.shared().register(with: qyOption)
updateActionConfig()
/* /*
QYSDK.shared().registerPushMessageNotification { pushMessage in QYSDK.shared().registerPushMessageNotification { pushMessage in
os_log("#####registerPushMessageNotification %@ %ld %f", (pushMessage?.text ?? ""), (pushMessage?.type.rawValue ?? 0), (pushMessage?.time ?? 0)) os_log("#####registerPushMessageNotification %@ %ld %f", (pushMessage?.text ?? ""), (pushMessage?.type.rawValue ?? 0), (pushMessage?.time ?? 0))
...@@ -83,6 +91,7 @@ class YHButlerServiceManager: NSObject { ...@@ -83,6 +91,7 @@ class YHButlerServiceManager: NSObject {
getUserInfoViewModel.getUserInfomation(userId) { [weak self] dataString, avatar, error in getUserInfoViewModel.getUserInfomation(userId) { [weak self] dataString, avatar, error in
// 改变头像 // 改变头像
self?.customUIConfig?.customerHeadImageUrl = avatar self?.customUIConfig?.customerHeadImageUrl = avatar
self?.customUIConfig?.showServiceNickName = true
self?.updateUserInfo(userId: userId, userData: dataString ?? "", completion: { success in self?.updateUserInfo(userId: userId, userData: dataString ?? "", completion: { success in
gotoSessionVC() gotoSessionVC()
}) })
...@@ -90,6 +99,28 @@ class YHButlerServiceManager: NSObject { ...@@ -90,6 +99,28 @@ class YHButlerServiceManager: NSObject {
} }
} }
extension YHButlerServiceManager {
// MARK: - customActionConfig
private func updateActionConfig() {
// 账号登录后是否拉取漫游消息
customActionConfig?.pullRoamMessage = true
// 拉取漫游消息条数,默认20条,最大100条
customActionConfig?.roamMessageLimit = 100
customActionConfig?.linkClickBlock = { linkAddress in
guard let linkAddress = linkAddress, (linkAddress.isValidHttpUrl || linkAddress.isValidHttpsUrl || linkAddress.isValidFileUrl), let url = URL(string: linkAddress) else {
return QYLinkClickActionPolicy.open
}
let safariViewController = SFSafariViewController(url: url)
safariViewController.dismissButtonStyle = .close
safariViewController.modalPresentationStyle = .fullScreen
UIViewController.current?.present(safariViewController, animated: true, completion: nil)
return QYLinkClickActionPolicy.cancel
}
}
}
extension YHButlerServiceManager { extension YHButlerServiceManager {
// MARK: - 常用公开方法 // MARK: - 常用公开方法
...@@ -97,14 +128,12 @@ extension YHButlerServiceManager { ...@@ -97,14 +128,12 @@ extension YHButlerServiceManager {
/// 灰度打开 /// 灰度打开
func isUatAllowed() -> Bool { func isUatAllowed() -> Bool {
let allowed = YHUatHelper.shared.getUatModuleStatusBy(module: .QiYu_Service) == 1 let allowed = YHUatHelper.shared.getUatModuleStatusBy(module: .QiYu_Service) == 1
//TODO: for test Alex return allowed
return allowed || true
} }
/// 初始化SDK用户信息 /// 初始化SDK用户信息
func initSDKAccountAndLastMessage() { func initSDKAccountAndLastMessage() {
updateSDKAccountInfo(completion: { [weak self] _ in updateSDKAccountInfo(completion: { _ in
self?.lastMessage = self?.getLastMessage()
}) })
} }
...@@ -164,6 +193,7 @@ extension YHButlerServiceManager { ...@@ -164,6 +193,7 @@ extension YHButlerServiceManager {
getUserInfoViewModel.getUserInfomation(userId) { [weak self] dataString, avatar, error in getUserInfoViewModel.getUserInfomation(userId) { [weak self] dataString, avatar, error in
// 改变头像 // 改变头像
self?.customUIConfig?.customerHeadImageUrl = avatar self?.customUIConfig?.customerHeadImageUrl = avatar
self?.customUIConfig?.showServiceNickName = true
self?.updateUserInfo(userId: userId, userData: dataString ?? "", completion: { success in self?.updateUserInfo(userId: userId, userData: dataString ?? "", completion: { success in
completion(success) completion(success)
}) })
...@@ -224,7 +254,6 @@ extension YHButlerServiceManager { ...@@ -224,7 +254,6 @@ extension YHButlerServiceManager {
func clearUnreadCount() { func clearUnreadCount() {
conversationManager?.clearUnreadCount() conversationManager?.clearUnreadCount()
// 清空已读消息后刷新最新消息状态 // 清空已读消息后刷新最新消息状态
lastMessage = getLastMessage()
printLog("$$$$clearUnreadCount") printLog("$$$$clearUnreadCount")
//unreadCount = 0 //unreadCount = 0
NotificationCenter.default.post(name: YhConstant.YhNotification.didQiYuUnReadMsgCountChangeNotification, object: nil) NotificationCenter.default.post(name: YhConstant.YhNotification.didQiYuUnReadMsgCountChangeNotification, object: nil)
...@@ -241,7 +270,6 @@ extension YHButlerServiceManager: QYConversationManagerDelegate { ...@@ -241,7 +270,6 @@ extension YHButlerServiceManager: QYConversationManagerDelegate {
guard let message = sessionList.first else { guard let message = sessionList.first else {
return return
} }
lastMessage = YHButlerServiceMessageHandler.handleSessionMessage(sessionMessage: message)
NotificationCenter.default.post(name: YhConstant.YhNotification.didQiYuReceiveNewMsgNotification, object: nil) NotificationCenter.default.post(name: YhConstant.YhNotification.didQiYuReceiveNewMsgNotification, object: nil)
} }
......
...@@ -34,6 +34,8 @@ extension YHButlerServiceMessageHandler { ...@@ -34,6 +34,8 @@ extension YHButlerServiceMessageHandler {
switch type { switch type {
case .audio: case .audio:
text = "[语音]" text = "[语音]"
/*
// 规则存在问题后续确认后打开
if let audioMessage = nimMessage?.messageObject as? NIMAudioObject { if let audioMessage = nimMessage?.messageObject as? NIMAudioObject {
let duration = audioMessage.duration let duration = audioMessage.duration
if duration > 0 { if duration > 0 {
...@@ -41,6 +43,7 @@ extension YHButlerServiceMessageHandler { ...@@ -41,6 +43,7 @@ extension YHButlerServiceMessageHandler {
text += "\(seconds)″" text += "\(seconds)″"
} }
} }
*/
case .text: case .text:
text = originalText ?? "" text = originalText ?? ""
case .image: case .image:
......
...@@ -204,6 +204,18 @@ class YHCommunityViewController: YHBaseViewController { ...@@ -204,6 +204,18 @@ class YHCommunityViewController: YHBaseViewController {
make.left.equalTo(self.friendsBtn.snp.right).offset(-8) make.left.equalTo(self.friendsBtn.snp.right).offset(-8)
make.top.equalTo(self.friendsBtn.snp.top).offset(-8) make.top.equalTo(self.friendsBtn.snp.top).offset(-8)
} }
segmentedView.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalTo(k_Height_safeAreaInsetsTop())
make.height.equalTo(48.0)
}
listContainerView.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalTo(k_Height_safeAreaInsetsTop() + 48.0)
make.bottom.equalTo(-k_Height_TabBar)
}
} }
override func viewWillAppear(_ animated: Bool) { override func viewWillAppear(_ animated: Bool) {
...@@ -220,13 +232,6 @@ class YHCommunityViewController: YHBaseViewController { ...@@ -220,13 +232,6 @@ class YHCommunityViewController: YHBaseViewController {
navigationController?.interactivePopGestureRecognizer?.isEnabled = true navigationController?.interactivePopGestureRecognizer?.isEnabled = true
} }
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
segmentedView.frame = CGRect(x: 0, y: k_Height_safeAreaInsetsTop(), width: view.bounds.size.width, height: 48)
listContainerView.frame = CGRect(x: 0, y: k_Height_safeAreaInsetsTop() + 48, width: view.bounds.size.width, height: view.bounds.size.height - 48 - k_Height_safeAreaInsetsTop())
}
func requestFriendRequest() { func requestFriendRequest() {
if YHLoginManager.shared.isLogin() { if YHLoginManager.shared.isLogin() {
self.friendViewModel.getMyFriendList { success, error in self.friendViewModel.getMyFriendList { success, error in
......
...@@ -166,7 +166,7 @@ class YHMatchUserViewController: YHBaseViewController { ...@@ -166,7 +166,7 @@ class YHMatchUserViewController: YHBaseViewController {
bgImgV.snp.makeConstraints { make in bgImgV.snp.makeConstraints { make in
make.left.right.equalToSuperview() make.left.right.equalToSuperview()
make.top.equalTo(-k_Height_statusBar()-48.0) make.top.equalTo(-k_Height_statusBar()-48.0)
make.bottom.equalToSuperview() make.bottom.equalToSuperview().offset(k_Height_TabBar)
} }
launchLottieView.snp.makeConstraints { make in launchLottieView.snp.makeConstraints { make in
...@@ -200,7 +200,7 @@ class YHMatchUserViewController: YHBaseViewController { ...@@ -200,7 +200,7 @@ class YHMatchUserViewController: YHBaseViewController {
make.left.equalTo(24) make.left.equalTo(24)
make.right.equalTo(-24) make.right.equalTo(-24)
make.height.equalTo(48.0) make.height.equalTo(48.0)
make.bottom.equalTo(-k_Height_safeAreaInsetsBottom()-48-60) make.bottom.equalTo(-60)
} }
self.bottomLabel.snp.makeConstraints { make in self.bottomLabel.snp.makeConstraints { make in
......
...@@ -27,6 +27,8 @@ class YHHomePageViewController: YHBaseViewController { ...@@ -27,6 +27,8 @@ class YHHomePageViewController: YHBaseViewController {
var homeHeaderViewHeight : CGFloat = 0.0 // = self.homeHeaderView.getHomeHeadViewH(showTips: false) var homeHeaderViewHeight : CGFloat = 0.0 // = self.homeHeaderView.getHomeHeadViewH(showTips: false)
private var isGoYHManagerFlag : Bool = false
lazy var homeCollectView = { lazy var homeCollectView = {
// 设置布局方向 // 设置布局方向
...@@ -83,9 +85,22 @@ class YHHomePageViewController: YHBaseViewController { ...@@ -83,9 +85,22 @@ class YHHomePageViewController: YHBaseViewController {
lazy var homeHeaderView: YHHomeHeadView = { lazy var homeHeaderView: YHHomeHeadView = {
let view = YHHomeHeadView() let view = YHHomeHeadView()
view.orderTipsViewClickEvent = {
goTabBarBy(tabType: .service)
}
view.galaxyManagerItemClickEvent = { [weak self] in view.galaxyManagerItemClickEvent = { [weak self] in
guard let self = self else {
return
}
if self.isGoYHManagerFlag {
return
}
self.isGoYHManagerFlag = true
YHHUD.show(.progress(message: "加载中...")) YHHUD.show(.progress(message: "加载中..."))
self?.gotoYinHeManager(completion: { [weak self] success in self.gotoYinHeManager(completion: { [weak self] success in
self?.isGoYHManagerFlag = false
guard let self = self else { guard let self = self else {
return return
} }
...@@ -107,13 +122,16 @@ private extension YHHomePageViewController { ...@@ -107,13 +122,16 @@ private extension YHHomePageViewController {
guard isViewLoaded, homeHeaderView.superview != nil else { guard isViewLoaded, homeHeaderView.superview != nil else {
return return
} }
guard YHButlerServiceManager.shared.isUatAllowed(), YHLoginManager.shared.isLogin() else { guard YHLoginManager.shared.isLogin() else {
return
}
guard YHButlerServiceManager.shared.isUatAllowed() else {
self.homeHeaderView.orderTipsView.customerServiceMessage = YHButlerServiceHomeInfoMessage(showButler: false, serviceMessage: nil)
return return
} }
needUpdateMgrItem = false needUpdateMgrItem = false
let showButler = true let showButler = true
// 不获取最新消息内容了 // 不获取最新消息内容了
// let serviceMessage = YHButlerServiceManager.shared.getLastMessage()
let serviceMessage = YHButlerServiceMessage() let serviceMessage = YHButlerServiceMessage()
serviceMessage.content = "一对一专属服务" serviceMessage.content = "一对一专属服务"
......
...@@ -20,6 +20,7 @@ class YHHomeHeadView: UIView { ...@@ -20,6 +20,7 @@ class YHHomeHeadView: UIView {
} }
var galaxyManagerItemClickEvent: (() -> Void)? var galaxyManagerItemClickEvent: (() -> Void)?
var orderTipsViewClickEvent: (() -> Void)?
//获取headView的具体高度 //获取headView的具体高度
func getHomeHeadViewH(showTips : Bool) -> CGFloat { func getHomeHeadViewH(showTips : Bool) -> CGFloat {
...@@ -64,6 +65,9 @@ class YHHomeHeadView: UIView { ...@@ -64,6 +65,9 @@ class YHHomeHeadView: UIView {
view.galaxyManagerItemClickEvent = { [weak self] in view.galaxyManagerItemClickEvent = { [weak self] in
self?.galaxyManagerItemClickEvent?() self?.galaxyManagerItemClickEvent?()
} }
view.buttonClickEvent = { [weak self] in
self?.orderTipsViewClickEvent?()
}
view.isHidden = true view.isHidden = true
return view return view
}() }()
......
...@@ -32,6 +32,7 @@ class YHOrderTipsView: UIView { ...@@ -32,6 +32,7 @@ class YHOrderTipsView: UIView {
fileprivate static let viewH : CGFloat = 84.0 fileprivate static let viewH : CGFloat = 84.0
fileprivate static let viewH2 : CGFloat = 154.0 fileprivate static let viewH2 : CGFloat = 154.0
fileprivate static let viewH3 : CGFloat = 218.0 fileprivate static let viewH3 : CGFloat = 218.0
var buttonClickEvent: (() -> Void)?
private var orderTipsViewStyle: YHOrderTipsViewStyleType = .none { private var orderTipsViewStyle: YHOrderTipsViewStyleType = .none {
didSet { didSet {
...@@ -51,6 +52,9 @@ class YHOrderTipsView: UIView { ...@@ -51,6 +52,9 @@ class YHOrderTipsView: UIView {
override init(frame: CGRect) { override init(frame: CGRect) {
super.init(frame: frame) super.init(frame: frame)
setupUI() setupUI()
let tap : UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(tapButton(gestureRecognizer:)))
addGestureRecognizer(tap)
} }
var dataModelForBasicInfo : YHSignerInfoModel? { var dataModelForBasicInfo : YHSignerInfoModel? {
...@@ -290,4 +294,9 @@ private extension YHOrderTipsView { ...@@ -290,4 +294,9 @@ private extension YHOrderTipsView {
layoutIfNeeded() layoutIfNeeded()
setNeedsLayout() setNeedsLayout()
} }
@objc func tapButton(gestureRecognizer:UITapGestureRecognizer) {
buttonClickEvent?()
}
} }
...@@ -29,7 +29,7 @@ class YHHKPlanItemView: UIView { ...@@ -29,7 +29,7 @@ class YHHKPlanItemView: UIView {
private lazy var numberLabel : UILabel = { private lazy var numberLabel : UILabel = {
let view = UILabel() let view = UILabel()
view.text = "--/300" view.text = "--/100"
view.font = UIFont.PFSC_R(ofSize: 12) view.font = UIFont.PFSC_R(ofSize: 12)
view.textColor = UIColor.placeHolderColor view.textColor = UIColor.placeHolderColor
view.textAlignment = .right view.textAlignment = .right
...@@ -77,8 +77,8 @@ class YHHKPlanItemView: UIView { ...@@ -77,8 +77,8 @@ class YHHKPlanItemView: UIView {
//提示文字 //提示文字
var tipsTxt : String = "请输入,300字内" var tipsTxt : String = "请输入,300字内"
// var maxNumbler : Int = 300 // var maxNumbler : Int = 100
var maxNumbler : Int = 300 { var maxNumbler : Int = 100 {
didSet { didSet {
tipsTxt = "请输入," + maxNumbler.string + "字内" tipsTxt = "请输入," + maxNumbler.string + "字内"
} }
...@@ -217,12 +217,12 @@ private extension YHHKPlanItemView { ...@@ -217,12 +217,12 @@ private extension YHHKPlanItemView {
} }
if model.type == .planOther { if model.type == .planOther {
maxNumbler = 300 maxNumbler = 100
tipsTxt = "在此补充其他信息,非必填" tipsTxt = "在此补充其他信息,非必填"
iconImageV.isHidden = true iconImageV.isHidden = true
} else { } else {
maxNumbler = 300 maxNumbler = 100
iconImageV.isHidden = false iconImageV.isHidden = false
} }
...@@ -408,8 +408,9 @@ extension YHHKPlanItemView : UITextViewDelegate { ...@@ -408,8 +408,9 @@ extension YHHKPlanItemView : UITextViewDelegate {
return true return true
} }
let newLength = calcTextLength(string: textView.text) let tempTxt = textView.text + text
return newLength <= maxNumbler - 1 let newLength = calcTextLength(string: tempTxt)
return newLength <= maxNumbler
} }
func textViewDidChange(_ textView: UITextView) { func textViewDidChange(_ textView: UITextView) {
......
...@@ -360,9 +360,6 @@ private extension YHMyDocumentsDetailViewModel { ...@@ -360,9 +360,6 @@ private extension YHMyDocumentsDetailViewModel {
let tModel = YHHKPlanDocModel() let tModel = YHHKPlanDocModel()
tModel.title = "1、主要事业成就" tModel.title = "1、主要事业成就"
tModel.content = model.career_achievement.defaultStringIfEmpty(detaultValue: "") tModel.content = model.career_achievement.defaultStringIfEmpty(detaultValue: "")
// if tModel.content.count > 100 {
// tModel.content = tModel.content.slicing(from: 0, length: 100) ?? ""
// }
tModel.type = .planDocQuestion1 tModel.type = .planDocQuestion1
tModel.isFirstData = true tModel.isFirstData = true
arrHKPlanData.append(tModel) arrHKPlanData.append(tModel)
...@@ -373,9 +370,6 @@ private extension YHMyDocumentsDetailViewModel { ...@@ -373,9 +370,6 @@ private extension YHMyDocumentsDetailViewModel {
let tModel = YHHKPlanDocModel() let tModel = YHHKPlanDocModel()
tModel.title = "2、专业技能成就" tModel.title = "2、专业技能成就"
tModel.content = model.professional_skills.defaultStringIfEmpty(detaultValue: "") tModel.content = model.professional_skills.defaultStringIfEmpty(detaultValue: "")
// if tModel.content.count > 100 {
// tModel.content = tModel.content.slicing(from: 0, length: 100) ?? ""
// }
tModel.type = .planDocQuestion2 tModel.type = .planDocQuestion2
arrHKPlanData.append(tModel) arrHKPlanData.append(tModel)
...@@ -386,11 +380,7 @@ private extension YHMyDocumentsDetailViewModel { ...@@ -386,11 +380,7 @@ private extension YHMyDocumentsDetailViewModel {
let tModel = YHHKPlanDocModel() let tModel = YHHKPlanDocModel()
tModel.title = "3、学业成就" tModel.title = "3、学业成就"
tModel.content = model.academic_achievement.defaultStringIfEmpty(detaultValue: "") tModel.content = model.academic_achievement.defaultStringIfEmpty(detaultValue: "")
// if tModel.content.count > 100 {
// tModel.content = tModel.content.slicing(from: 0, length: 100) ?? ""
// }
tModel.type = .planDocQuestion3 tModel.type = .planDocQuestion3
arrHKPlanData.append(tModel) arrHKPlanData.append(tModel)
} }
...@@ -399,9 +389,6 @@ private extension YHMyDocumentsDetailViewModel { ...@@ -399,9 +389,6 @@ private extension YHMyDocumentsDetailViewModel {
let tModel = YHHKPlanDocModel() let tModel = YHHKPlanDocModel()
tModel.title = "4、未来发展计划" tModel.title = "4、未来发展计划"
tModel.content = model.plan_detail.defaultStringIfEmpty(detaultValue: "") tModel.content = model.plan_detail.defaultStringIfEmpty(detaultValue: "")
// if tModel.content.count > 100 {
// tModel.content = tModel.content.slicing(from: 0, length: 100) ?? ""
// }
tModel.type = .planDocQuestion4 tModel.type = .planDocQuestion4
arrHKPlanData.append(tModel) arrHKPlanData.append(tModel)
...@@ -412,9 +399,6 @@ private extension YHMyDocumentsDetailViewModel { ...@@ -412,9 +399,6 @@ private extension YHMyDocumentsDetailViewModel {
let tModel = YHHKPlanDocModel() let tModel = YHHKPlanDocModel()
tModel.title = "5、专业资格及奖项" tModel.title = "5、专业资格及奖项"
tModel.content = model.qualifications_and_awards.defaultStringIfEmpty(detaultValue: "") tModel.content = model.qualifications_and_awards.defaultStringIfEmpty(detaultValue: "")
// if tModel.content.count > 100 {
// tModel.content = tModel.content.slicing(from: 0, length: 100) ?? ""
// }
tModel.type = .planDocQuestion5 tModel.type = .planDocQuestion5
arrHKPlanData.append(tModel) arrHKPlanData.append(tModel)
...@@ -425,9 +409,6 @@ private extension YHMyDocumentsDetailViewModel { ...@@ -425,9 +409,6 @@ private extension YHMyDocumentsDetailViewModel {
let tModel = YHHKPlanDocModel() let tModel = YHHKPlanDocModel()
tModel.title = "6、其他材料" tModel.title = "6、其他材料"
tModel.content = model.other.defaultStringIfEmpty(detaultValue: "") tModel.content = model.other.defaultStringIfEmpty(detaultValue: "")
// if tModel.content.count > 100 {
// tModel.content = tModel.content.slicing(from: 0, length: 100) ?? ""
// }
tModel.type = .planDocQuestion6 tModel.type = .planDocQuestion6
arrHKPlanData.append(tModel) arrHKPlanData.append(tModel)
...@@ -437,9 +418,6 @@ private extension YHMyDocumentsDetailViewModel { ...@@ -437,9 +418,6 @@ private extension YHMyDocumentsDetailViewModel {
let tModel = YHHKPlanDocModel() let tModel = YHHKPlanDocModel()
tModel.title = "7、备注" tModel.title = "7、备注"
tModel.content = model.remark.defaultStringIfEmpty(detaultValue: "") tModel.content = model.remark.defaultStringIfEmpty(detaultValue: "")
// if tModel.content.count > 500 {
// tModel.content = tModel.content.slicing(from: 0, length: 500) ?? ""
// }
tModel.type = .planOther tModel.type = .planOther
tModel.isLastData = true tModel.isLastData = true
......
...@@ -55,12 +55,15 @@ class YHImageResultViewController: YHBaseViewController { ...@@ -55,12 +55,15 @@ class YHImageResultViewController: YHBaseViewController {
YHHUD.hide() YHHUD.hide()
if let block = self.successHandlerBlock { if let block = self.successHandlerBlock {
block(model?.content ?? "") block(model?.content ?? "")
// let mineVC = YHWorkExperienceViewController()
var targetVC : UIViewController? var targetVC : UIViewController?
for controller in self.navigationController!.viewControllers { for controller in self.navigationController!.viewControllers {
if controller.isKind(of: YHWorkExperienceViewController.self) { if controller.isKind(of: YHWorkExperienceViewController.self) {
targetVC = controller targetVC = controller
} }
if controller.isKind(of: YHWorkIntroductionViewController.self) {
targetVC = controller
}
} }
if let targetVC = targetVC { if let targetVC = targetVC {
self.navigationController?.popToViewController(targetVC, animated: true) self.navigationController?.popToViewController(targetVC, animated: true)
......
...@@ -253,6 +253,7 @@ class YHWorkIntroductionViewController: YHBaseViewController { ...@@ -253,6 +253,7 @@ class YHWorkIntroductionViewController: YHBaseViewController {
guard let self = self else { return } guard let self = self else { return }
self.dataSource.project_highlights = result self.dataSource.project_highlights = result
self.messageTextField.text = result self.messageTextField.text = result
self.isShowPromptsLabel()
} }
self.navigationController?.pushViewController(clipperVC, animated: true) self.navigationController?.pushViewController(clipperVC, animated: true)
} }
......
...@@ -17,6 +17,8 @@ class YHMessageListVC: YHBaseViewController { ...@@ -17,6 +17,8 @@ class YHMessageListVC: YHBaseViewController {
return model return model
}() }()
private var isGoYHManagerFlag : Bool = false
private let serviceCenterViewModel : YHServiceCenterMainViewModel = YHServiceCenterMainViewModel() private let serviceCenterViewModel : YHServiceCenterMainViewModel = YHServiceCenterMainViewModel()
var isNotifyEnabled = false var isNotifyEnabled = false
...@@ -82,6 +84,17 @@ class YHMessageListVC: YHBaseViewController { ...@@ -82,6 +84,17 @@ class YHMessageListVC: YHBaseViewController {
return view return view
}() }()
lazy var managerSession: YHMessageInfoModel = {
let mgrMsg = YHMessageInfoModel()
mgrMsg.type = YHMessageType.yinheManager.rawValue
mgrMsg.unreadCount = YHButlerServiceManager.shared.unreadCount
if let lastMsg = YHButlerServiceManager.shared.getLastMessage() {
mgrMsg.lastMessage = lastMsg.content
mgrMsg.lastMessageTime = Int64(lastMsg.timeStamp)
}
return mgrMsg
}()
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
setupUI() setupUI()
...@@ -97,6 +110,7 @@ class YHMessageListVC: YHBaseViewController { ...@@ -97,6 +110,7 @@ class YHMessageListVC: YHBaseViewController {
} }
func setupUI() { func setupUI() {
addObservers() addObservers()
gk_navigationBar.isHidden = true gk_navigationBar.isHidden = true
view.backgroundColor = .white view.backgroundColor = .white
...@@ -105,14 +119,7 @@ class YHMessageListVC: YHBaseViewController { ...@@ -105,14 +119,7 @@ class YHMessageListVC: YHBaseViewController {
// 银河管家 始终放在第一位 // 银河管家 始终放在第一位
if YHButlerServiceManager.shared.isUatAllowed() { if YHButlerServiceManager.shared.isUatAllowed() {
let mgrMsg = YHMessageInfoModel() msgArr.append(self.managerSession)
mgrMsg.type = YHMessageType.yinheManager.rawValue
mgrMsg.unreadCount = YHButlerServiceManager.shared.unreadCount
if let lastMsg = YHButlerServiceManager.shared.getLastMessage() {
mgrMsg.lastMessage = lastMsg.content
mgrMsg.lastMessageTime = Int64(lastMsg.timeStamp)
}
msgArr.append(mgrMsg)
} }
self.tableView.reloadData() self.tableView.reloadData()
...@@ -125,8 +132,8 @@ class YHMessageListVC: YHBaseViewController { ...@@ -125,8 +132,8 @@ class YHMessageListVC: YHBaseViewController {
tableView.snp.makeConstraints { make in tableView.snp.makeConstraints { make in
make.left.right.equalToSuperview() make.left.right.equalToSuperview()
make.top.equalToSuperview().offset(4) make.top.equalToSuperview().offset(14)
make.bottom.equalToSuperview().offset(-k_Height_TabBar) make.bottom.equalToSuperview()
} }
} }
...@@ -184,11 +191,11 @@ class YHMessageListVC: YHBaseViewController { ...@@ -184,11 +191,11 @@ class YHMessageListVC: YHBaseViewController {
guard let self = self else { return } guard let self = self else { return }
// 保留第一个元素银河管家,删除其他元素 // 保留第一个元素银河管家,删除其他元素
if msgArr.count > 1 { msgArr.removeAll()
msgArr.removeSubrange(1..<msgArr.count) if YHButlerServiceManager.shared.isUatAllowed() {
msgArr.append(self.managerSession)
} }
if success { if success {
var hasUnreadMsg = false var hasUnreadMsg = false
...@@ -353,6 +360,7 @@ extension YHMessageListVC { ...@@ -353,6 +360,7 @@ extension YHMessageListVC {
private func gotoYinHeManager(completion: @escaping (Bool) -> Void) { private func gotoYinHeManager(completion: @escaping (Bool) -> Void) {
guard let userId = YHLoginManager.shared.userModel?.id, userId.count > 0 else { guard let userId = YHLoginManager.shared.userModel?.id, userId.count > 0 else {
completion(false)
return return
} }
YHButlerServiceManager.shared.gotoButlerServiceSessionVC(navigationController: navigationController, completion: { success in YHButlerServiceManager.shared.gotoButlerServiceSessionVC(navigationController: navigationController, completion: { success in
...@@ -365,16 +373,11 @@ extension YHMessageListVC { ...@@ -365,16 +373,11 @@ extension YHMessageListVC {
return return
} }
for msg in msgArr { self.managerSession.unreadCount = YHButlerServiceManager.shared.unreadCount
if msg.type == YHMessageType.yinheManager.rawValue { // 银河管家
msg.unreadCount = YHButlerServiceManager.shared.unreadCount
if let lastMsg = YHButlerServiceManager.shared.getLastMessage() { if let lastMsg = YHButlerServiceManager.shared.getLastMessage() {
msg.lastMessage = lastMsg.content self.managerSession.lastMessage = lastMsg.content
msg.lastMessageTime = Int64(lastMsg.timeStamp) self.managerSession.lastMessageTime = Int64(lastMsg.timeStamp)
self.tableView.reloadData() self.tableView.reloadData()
break
}
}
} }
} }
} }
...@@ -426,17 +429,20 @@ extension YHMessageListVC: UITableViewDelegate, UITableViewDataSource { ...@@ -426,17 +429,20 @@ extension YHMessageListVC: UITableViewDelegate, UITableViewDataSource {
let msgItem = msgArr[indexPath.row] let msgItem = msgArr[indexPath.row]
if msgItem.type == YHMessageType.yinheManager.rawValue { // 进银河管家 if msgItem.type == YHMessageType.yinheManager.rawValue { // 进银河管家
self.gotoYinHeManager { success in
if isGoYHManagerFlag {
return
}
isGoYHManagerFlag = true
self.gotoYinHeManager { success in
self.isGoYHManagerFlag = false
YHHUD.hide() YHHUD.hide()
if success { if success {
//YHButlerServiceManager.shared.clearUnreadCount() self.managerSession.unreadCount = 0
if let managerSession = self.msgArr.first, managerSession.type == YHMessageType.yinheManager.rawValue {
managerSession.unreadCount = 0
self.tableView.reloadData() self.tableView.reloadData()
} }
} }
}
return return
} }
let vc = YHMessageDetailListVC() let vc = YHMessageDetailListVC()
......
...@@ -149,10 +149,11 @@ extension YHUatHelper { ...@@ -149,10 +149,11 @@ extension YHUatHelper {
viewModel.getUatList { success, error in viewModel.getUatList { success, error in
if success { if success {
self.isDataOk = true self.isDataOk = true
NotificationCenter.default.post(name: YhConstant.YhNotification.didRevUatParam, object: nil)
} else { } else {
self.isDataOk = false self.isDataOk = false
} }
NotificationCenter.default.post(name: YhConstant.YhNotification.didRevUatParam, object: nil)
} }
} }
} }
......
...@@ -81,17 +81,17 @@ class YHWholeScreenTipsView: UIView { ...@@ -81,17 +81,17 @@ class YHWholeScreenTipsView: UIView {
case .nameCardWorkExperience: case .nameCardWorkExperience:
return "该栏目已对好友隐藏,若需重新开启,请前往信息授权处更新设置" return "该栏目已对好友隐藏,若需重新开启,请前往信息授权处更新设置"
case .hkPlanQ1: case .hkPlanQ1:
return "请以不超过300字简介你的主要事业成就,包括你在主要工作项目上曾担当的角色、你工作期间曾服务的知名机构/单位或你对有关工作项目及机构的重大贡献" return "请以不超过100字简介你的主要事业成就,包括你在主要工作项目上曾担当的角色、你工作期间曾服务的知名机构/单位或你对有关工作项目及机构的重大贡献"
case .hkPlanQ2: case .hkPlanQ2:
return "请以不超过300字简介你的专业技能或人才清单内相关专业的成就,以及有关技能/专业如何对香港经济或社会做出重大贡献" return "请以不超过100字简介你的专业技能或人才清单内相关专业的成就,以及有关技能/专业如何对香港经济或社会做出重大贡献"
case .hkPlanQ3: case .hkPlanQ3:
return "请以不超过300字简介你的学业成就,包括你的学业成绩或曾取得的奖项(如有)" return "请以不超过100字简介你的学业成就,包括你的学业成绩或曾取得的奖项(如有)"
case .hkPlanQ4: case .hkPlanQ4:
return "请以不超过300字简介你未来在香港发展事业的计划,包括你与本地商业或学业机构联系及合作的详情(如有)" return "请以不超过100字简介你未来在香港发展事业的计划,包括你与本地商业或学业机构联系及合作的详情(如有)"
case .hkPlanQ5: case .hkPlanQ5:
return "请以不超过300字简介你所属的专业界别内曾获取由国家或国际认可/著名团体颁奖的专业资格,及曾取得的奖项(如有)" return "请以不超过100字简介你所属的专业界别内曾获取由国家或国际认可/著名团体颁奖的专业资格,及曾取得的奖项(如有)"
case .hkPlanQ6: case .hkPlanQ6:
return "请以不超过300字简介你认为对评核你的申请非常重要的其他材料" return "请以不超过100字简介你认为对评核你的申请非常重要的其他材料"
case .hkPlanQ7: case .hkPlanQ7:
return "您可以在此输入因为字数限制无法输入的内容" return "您可以在此输入因为字数限制无法输入的内容"
default: default:
......
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