From 26d586290c65a7d9fcd90979117c8b5b69a57420 Mon Sep 17 00:00:00 2001 From: fengshuo <963787902@qq.com> Date: Thu, 29 Feb 2024 23:49:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E7=99=BB=E5=BD=95im?= =?UTF-8?q?=E7=9A=84=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yinmeng-ios.xcodeproj/project.pbxproj | 60 +++ .../UserInterfaceState.xcuserstate | Bin 270107 -> 433888 bytes yinmeng-ios/AppDelegate.swift | 26 ++ .../Base/Request/YMNetworkHelper.swift | 50 +-- yinmeng-ios/Base/Utils/AppKeys.swift | 17 + yinmeng-ios/Base/Utils/H5Utils.swift | 1 + yinmeng-ios/Base/Utils/Utils.swift | 2 - yinmeng-ios/Extension/UIView/UIView+.swift | 161 ++++++++ .../Modules/Auth/VC/AuthFillDataVC.swift | 37 +- .../Modules/Auth/VC/AuthLaunchVC.swift | 2 +- yinmeng-ios/Modules/Auth/VM/AuthManager.swift | 1 + .../Modules/Auth/VM/AuthViewModel.swift | 22 +- yinmeng-ios/Modules/Chat/ChatListVC.swift | 129 +++++- yinmeng-ios/Modules/Chat/ChatVC.swift | 87 +++- .../Chat/Keyboard/ChatGrowingTextView.swift | 153 ++++++++ .../Modules/Chat/Keyboard/ChatKeyboard+.swift | 29 ++ .../Chat/Keyboard/ChatKeyboardView.swift | 371 ++++++++++++++++++ .../Chat/Keyboard/ChatMoreMenuCell.swift | 67 ++++ .../Chat/Keyboard/ChatMoreMenuView.swift | 262 +++++++++++++ .../Chat/Keyboard/ChatMoreMnueConfig.swift | 25 ++ .../Modules/Chat/View/ChatBaseCell.swift | 2 +- .../Chat/View/ChatList/ChatListCell.swift | 71 ++++ yinmeng-ios/Modules/Star/PlanetStarVC.swift | 2 - yinmeng-ios/Modules/User/VC/AboutUsVC.swift | 1 - yinmeng-ios/Modules/User/VC/UserInfoVC.swift | 4 +- .../Modules/User/VM/UserViewModel.swift | 9 +- 26 files changed, 1536 insertions(+), 55 deletions(-) create mode 100644 yinmeng-ios/Base/Utils/AppKeys.swift create mode 100644 yinmeng-ios/Extension/UIView/UIView+.swift create mode 100644 yinmeng-ios/Modules/Chat/Keyboard/ChatGrowingTextView.swift create mode 100644 yinmeng-ios/Modules/Chat/Keyboard/ChatKeyboard+.swift create mode 100644 yinmeng-ios/Modules/Chat/Keyboard/ChatKeyboardView.swift create mode 100644 yinmeng-ios/Modules/Chat/Keyboard/ChatMoreMenuCell.swift create mode 100644 yinmeng-ios/Modules/Chat/Keyboard/ChatMoreMenuView.swift create mode 100644 yinmeng-ios/Modules/Chat/Keyboard/ChatMoreMnueConfig.swift create mode 100644 yinmeng-ios/Modules/Chat/View/ChatList/ChatListCell.swift diff --git a/yinmeng-ios.xcodeproj/project.pbxproj b/yinmeng-ios.xcodeproj/project.pbxproj index 474011d..cd86a3b 100644 --- a/yinmeng-ios.xcodeproj/project.pbxproj +++ b/yinmeng-ios.xcodeproj/project.pbxproj @@ -64,6 +64,15 @@ E8D15AEA2B8CD77800369467 /* H5Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8D15AE92B8CD77800369467 /* H5Utils.swift */; }; E8E4AAB52B8F8E3A0096D77C /* AuthItmeButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8E4AAB42B8F8E3A0096D77C /* AuthItmeButton.swift */; }; E8E4AAB72B8F95CA0096D77C /* AuthAppleManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8E4AAB62B8F95CA0096D77C /* AuthAppleManager.swift */; }; + E8E4AB182B9019E50096D77C /* ChatKeyboardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8E4AB172B9019E50096D77C /* ChatKeyboardView.swift */; }; + E8E4AB1B2B901AF50096D77C /* UIView+.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8E4AB1A2B901AF50096D77C /* UIView+.swift */; }; + E8E4AB1D2B901B9D0096D77C /* ChatKeyboard+.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8E4AB1C2B901B9D0096D77C /* ChatKeyboard+.swift */; }; + E8E4AB1F2B901BFC0096D77C /* ChatGrowingTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8E4AB1E2B901BFC0096D77C /* ChatGrowingTextView.swift */; }; + E8E4AB212B901CD50096D77C /* ChatMoreMenuView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8E4AB202B901CD50096D77C /* ChatMoreMenuView.swift */; }; + E8E4AB232B901E0C0096D77C /* ChatMoreMnueConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8E4AB222B901E0C0096D77C /* ChatMoreMnueConfig.swift */; }; + E8E4AB252B901E400096D77C /* ChatMoreMenuCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8E4AB242B901E400096D77C /* ChatMoreMenuCell.swift */; }; + E8E4AB282B902A9C0096D77C /* ChatListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8E4AB272B902A9C0096D77C /* ChatListCell.swift */; }; + E8FF28B42B90ADBE005D2BE7 /* AppKeys.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8FF28B32B90ADBE005D2BE7 /* AppKeys.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -132,6 +141,15 @@ E8E4AAB42B8F8E3A0096D77C /* AuthItmeButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthItmeButton.swift; sourceTree = ""; }; E8E4AAB62B8F95CA0096D77C /* AuthAppleManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthAppleManager.swift; sourceTree = ""; }; E8E4AAB82B8F99B90096D77C /* yinmeng-ios.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "yinmeng-ios.entitlements"; sourceTree = ""; }; + E8E4AB172B9019E50096D77C /* ChatKeyboardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatKeyboardView.swift; sourceTree = ""; }; + E8E4AB1A2B901AF50096D77C /* UIView+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+.swift"; sourceTree = ""; }; + E8E4AB1C2B901B9D0096D77C /* ChatKeyboard+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ChatKeyboard+.swift"; sourceTree = ""; }; + E8E4AB1E2B901BFC0096D77C /* ChatGrowingTextView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatGrowingTextView.swift; sourceTree = ""; }; + E8E4AB202B901CD50096D77C /* ChatMoreMenuView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatMoreMenuView.swift; sourceTree = ""; }; + E8E4AB222B901E0C0096D77C /* ChatMoreMnueConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatMoreMnueConfig.swift; sourceTree = ""; }; + E8E4AB242B901E400096D77C /* ChatMoreMenuCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatMoreMenuCell.swift; sourceTree = ""; }; + E8E4AB272B902A9C0096D77C /* ChatListCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatListCell.swift; sourceTree = ""; }; + E8FF28B32B90ADBE005D2BE7 /* AppKeys.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppKeys.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -182,6 +200,7 @@ E8479E3E2B8DC624009AF878 /* View */ = { isa = PBXGroup; children = ( + E8E4AB262B902A750096D77C /* ChatList */, E8479E3C2B8DC61F009AF878 /* ChatBaseCell.swift */, E8479E472B8DD6E1009AF878 /* ChatTextCell.swift */, ); @@ -240,6 +259,7 @@ E86A43AB2B85DFC20084C04D /* Extension */ = { isa = PBXGroup; children = ( + E8E4AB192B901AEA0096D77C /* UIView */, E8479E442B8DD5B5009AF878 /* Date */, E8D15AA42B89B0BA00369467 /* List */, E86A43E62B884C520084C04D /* String */, @@ -308,6 +328,7 @@ E86A43BE2B8620C40084C04D /* Utils.swift */, E86A43D22B8773C90084C04D /* APPUtils.swift */, E8D15AE92B8CD77800369467 /* H5Utils.swift */, + E8FF28B32B90ADBE005D2BE7 /* AppKeys.swift */, ); path = Utils; sourceTree = ""; @@ -423,6 +444,7 @@ E8D15AB42B8B001900369467 /* Chat */ = { isa = PBXGroup; children = ( + E8E4AB162B9019CE0096D77C /* Keyboard */, E8479E492B8DDA3F009AF878 /* Tool */, E8479E3F2B8DC6A6009AF878 /* Model */, E8479E3E2B8DC624009AF878 /* View */, @@ -477,6 +499,35 @@ path = Web; sourceTree = ""; }; + E8E4AB162B9019CE0096D77C /* Keyboard */ = { + isa = PBXGroup; + children = ( + E8E4AB172B9019E50096D77C /* ChatKeyboardView.swift */, + E8E4AB1E2B901BFC0096D77C /* ChatGrowingTextView.swift */, + E8E4AB1C2B901B9D0096D77C /* ChatKeyboard+.swift */, + E8E4AB202B901CD50096D77C /* ChatMoreMenuView.swift */, + E8E4AB222B901E0C0096D77C /* ChatMoreMnueConfig.swift */, + E8E4AB242B901E400096D77C /* ChatMoreMenuCell.swift */, + ); + path = Keyboard; + sourceTree = ""; + }; + E8E4AB192B901AEA0096D77C /* UIView */ = { + isa = PBXGroup; + children = ( + E8E4AB1A2B901AF50096D77C /* UIView+.swift */, + ); + path = UIView; + sourceTree = ""; + }; + E8E4AB262B902A750096D77C /* ChatList */ = { + isa = PBXGroup; + children = ( + E8E4AB272B902A9C0096D77C /* ChatListCell.swift */, + ); + path = ChatList; + sourceTree = ""; + }; E8EE60802B8858A500D02F6E /* Security */ = { isa = PBXGroup; children = ( @@ -628,19 +679,25 @@ E8479E3B2B8DC5FA009AF878 /* ChatViewModel.swift in Sources */, E8479E412B8DC6BC009AF878 /* ChatBaseObject.swift in Sources */, E86A43AA2B85DFA90084C04D /* BaseViewController.swift in Sources */, + E8E4AB1F2B901BFC0096D77C /* ChatGrowingTextView.swift in Sources */, E884E85F2B6900C500ADE6EE /* AppDelegate.swift in Sources */, E8D15AEA2B8CD77800369467 /* H5Utils.swift in Sources */, E8D15AAA2B8ACC6B00369467 /* YMNetworkFun.swift in Sources */, E8D15AB82B8B003C00369467 /* UserInfoVC.swift in Sources */, E86A43B82B85F0B80084C04D /* AuthLaunchVC.swift in Sources */, + E8E4AB252B901E400096D77C /* ChatMoreMenuCell.swift in Sources */, E86A43C82B8743EA0084C04D /* AuthFillDataVC.swift in Sources */, E86A43CD2B874C8E0084C04D /* BaseView.swift in Sources */, E8D15AE82B8CD47100369467 /* WebViewController.swift in Sources */, E8D15AA12B89AF4F00369467 /* UserTokenObject.swift in Sources */, 233E515B2B8C849600582F9C /* PlanetStarClickItemView.swift in Sources */, + E8FF28B42B90ADBE005D2BE7 /* AppKeys.swift in Sources */, 2311D6A92B8F405F001C70AB /* HomeVoiceChooseTypeView.swift in Sources */, E8D15AB62B8B002700369467 /* ChatVC.swift in Sources */, + E8E4AB182B9019E50096D77C /* ChatKeyboardView.swift in Sources */, + E8E4AB232B901E0C0096D77C /* ChatMoreMnueConfig.swift in Sources */, E86A43C62B862CC70084C04D /* UIImage+.swift in Sources */, + E8E4AB212B901CD50096D77C /* ChatMoreMenuView.swift in Sources */, E86A43D32B8773C90084C04D /* APPUtils.swift in Sources */, E86A43CB2B874C6F0084C04D /* AuthPrivacyView.swift in Sources */, E8D15AC52B8C90D400369467 /* AboutUsVC.swift in Sources */, @@ -652,11 +709,14 @@ E8479E4D2B8DDBC5009AF878 /* ChatAttributeTool.swift in Sources */, E81A7BAF2B885B20009E736E /* MAIDESEncryptTool.m in Sources */, E8D15AA82B89B74700369467 /* YMRequestX.swift in Sources */, + E8E4AB1D2B901B9D0096D77C /* ChatKeyboard+.swift in Sources */, 2311D6A72B8F2CFA001C70AB /* HomeVoiceChooseItemVeiw.swift in Sources */, E8D15AB02B8AFFCE00369467 /* HomeVoiceVC.swift in Sources */, + E8E4AB282B902A9C0096D77C /* ChatListCell.swift in Sources */, E86A43D52B8774B70084C04D /* AuthViewModel.swift in Sources */, E8D15AB32B8B000400369467 /* PlanetStarVC.swift in Sources */, E8D15A9D2B899E1500369467 /* YMNetworkHelper.swift in Sources */, + E8E4AB1B2B901AF50096D77C /* UIView+.swift in Sources */, 2311D69D2B8DC311001C70AB /* PlanetStarModel.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/yinmeng-ios.xcworkspace/xcuserdata/fengshuo.xcuserdatad/UserInterfaceState.xcuserstate b/yinmeng-ios.xcworkspace/xcuserdata/fengshuo.xcuserdatad/UserInterfaceState.xcuserstate index bd3b69f2bd7de3b801fe6713eccc7f1ae4e58ca2..99922752186d8ebcbcd4fc051a0494b2299fbcbf 100644 GIT binary patch literal 433888 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²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

-8wf*In?8*kqDyD>++y~N8M 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�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, succeed:SessionCallSucceed?,fail:SessionCallFail?) -> Void { getHttpRequestHeaders() - requestSend(type: type,host: "https://api.ymlive.fun/", path: path, params: params, encoding: URLEncoding.queryString, header: headersSet, succeed: succeed, fail: fail) + requestSend(type: type,host: AppKeys.api, path: path, params: params, encoding: URLEncoding.queryString, header: headersSet, succeed: succeed, fail: fail) } func requestSend(type:HTTPMethod, @@ -74,50 +74,50 @@ class YMNetworkHelper: NSObject { func analyzeThe(response1:AFDataResponse, succeed2:SessionCallSucceed?, fail3: SessionCallFail?,uuid4:String) -> Void { - let maiUrlSss = response1.request?.url?.absoluteString ?? "unkown" + let UrlSss = response1.request?.url?.absoluteString ?? "unkown" switch response1.result { case .success: - let maiResponNk :Dictionary = response1.value as? Dictionary ?? Dictionary.init() - let maiResultMo = maiResponNk - if maiResultMo.keys.contains("code") { - let maicodeNum :Int = maiResultMo["code"] as? Int ?? 0 - if maicodeNum == 200 { - if maiResultMo.keys.contains("data") { - let maiDDD = maiResultMo["data"] as Any - succeed2?(maiDDD) + let ResponNk :Dictionary = response1.value as? Dictionary ?? Dictionary.init() + let ResultMo = ResponNk + if ResultMo.keys.contains("code") { + let codeNum :Int = ResultMo["code"] as? Int ?? 0 + if codeNum == 200 { + if ResultMo.keys.contains("data") { + let DDD = ResultMo["data"] as Any + succeed2?(DDD) }else{ succeed2?(Dictionary.init()) } }else{ - if maicodeNum == 401 && maiUrlSss.contains("auth-center/sso/logout") == false { - NotificationCenter.default.post(name: NSNotification.Name(rawValue: "MAISessionTickValid"), object: nil) + if codeNum == 401 && UrlSss.contains("auth-center/sso/logout") == false { + NotificationCenter.default.post(name: NSNotification.Name(rawValue: "SessionTickValid"), object: nil) sessionNetMana.cancelAllRequests() } var messageIn = response1.error.debugDescription - if maiResultMo.keys.contains("message") { messageIn = maiResultMo["message"] as? String ?? "" } - fail3?(maicodeNum,messageIn) + if ResultMo.keys.contains("message") { messageIn = ResultMo["message"] as? String ?? "" } + fail3?(codeNum,messageIn) } - } else if maiResultMo.keys.contains("errno") { - let maiCodeNum :Int = maiResultMo["errno"] as? Int ?? 0 - if maiCodeNum == 0 { - if maiResultMo.keys.contains("data") { - let dataSc = maiResultMo["data"] as Any + } else if ResultMo.keys.contains("errno") { + let CodeNum :Int = ResultMo["errno"] as? Int ?? 0 + if CodeNum == 0 { + if ResultMo.keys.contains("data") { + let dataSc = ResultMo["data"] as Any succeed2?(dataSc) }else{ succeed2?(Dictionary.init()) } }else{ var majmessageStr = response1.error.debugDescription - if maiResultMo.keys.contains("errmsg") { majmessageStr = maiResultMo["errmsg"] as? String ?? ""} - fail3?(maiCodeNum,majmessageStr) + if ResultMo.keys.contains("errmsg") { majmessageStr = ResultMo["errmsg"] as? String ?? ""} + fail3?(CodeNum,majmessageStr) } } else { fail3?(10000,"请求失败") } case let .failure(error): - var maiErrorMssg = response1.error?.errorDescription ?? "" - var maicodeNum = response1.error?.responseCode ?? 0 - fail3?(maicodeNum,maiErrorMssg) + var ErrorMssg = response1.error?.errorDescription ?? "" + var codeNum = response1.error?.responseCode ?? 0 + fail3?(codeNum,ErrorMssg) } } diff --git a/yinmeng-ios/Base/Utils/AppKeys.swift b/yinmeng-ios/Base/Utils/AppKeys.swift new file mode 100644 index 0000000..0a9ba97 --- /dev/null +++ b/yinmeng-ios/Base/Utils/AppKeys.swift @@ -0,0 +1,17 @@ +// +// AppKeys.swift +// yinmeng-ios +// +// Created by MaiMang on 2024/2/29. +// + +import Foundation +enum AppKeys { +#if DEBUG + static let nimAppid = "5d5a833a2d0ff1304a5d8bed53d2af5b" + static let api = "http://beta.api.ymlive.fun/" +#else + static let nimAppid = "5e76ec47632d86c30ce18eabfa332b6a" + static let api = "https://api.ymlive.fun/" +#endif +} diff --git a/yinmeng-ios/Base/Utils/H5Utils.swift b/yinmeng-ios/Base/Utils/H5Utils.swift index 2796b3b..13324b4 100644 --- a/yinmeng-ios/Base/Utils/H5Utils.swift +++ b/yinmeng-ios/Base/Utils/H5Utils.swift @@ -9,5 +9,6 @@ import Foundation enum H5Utils:String { case privacy = "modules/rule/privacy-wap.html" + case user = "modules/rule/protocol.html" case logoff = "modules/logout/index.html" } diff --git a/yinmeng-ios/Base/Utils/Utils.swift b/yinmeng-ios/Base/Utils/Utils.swift index 9856d44..d3cb729 100644 --- a/yinmeng-ios/Base/Utils/Utils.swift +++ b/yinmeng-ios/Base/Utils/Utils.swift @@ -31,6 +31,4 @@ let TabHeight = (49) let DesKey = "1ea53d260ecf11e7b56e00163e046a26" -let API_URL = "http://beta.api.ymlive.fun" - let H5_URL = "http://beta.h5.ymlive.fun" diff --git a/yinmeng-ios/Extension/UIView/UIView+.swift b/yinmeng-ios/Extension/UIView/UIView+.swift new file mode 100644 index 0000000..44e3265 --- /dev/null +++ b/yinmeng-ios/Extension/UIView/UIView+.swift @@ -0,0 +1,161 @@ +// +// UIView+.swift +// yinmeng-ios +// +// Created by MaiMang on 2024/2/29. +// + +import UIKit + +extension UIView { + /// x + public var x : CGFloat { + + get { + return self.frame.origin.x + } + set (x) { + var frame = self.frame + frame.origin.x = x + self.frame = frame + } + } + + + /// y + public var y : CGFloat { + + get { + return self.frame.origin.y + } + set (y) { + var frame = self.frame + frame.origin.y = y + self.frame = frame + } + } + + + /// maxX + public var maxX : CGFloat { + + get { + return self.frame.maxX + } + set(maxX) { + self.frame.origin.x = maxX - self.frame.size.width + } + } + + /// maxY + public var maxY : CGFloat { + + get { + return self.frame.maxY + } + set(maxY) { + self.frame.origin.y = maxY - self.frame.size.height + } + } + + + /// width + public var width : CGFloat { + + get { + return self.frame.size.width + } + set (width) { + var frame = self.frame + frame.size.width = width + self.frame = frame + } + } + + + /// height + public var height : CGFloat { + + get { + return self.frame.size.height + } + set (height) { + var frame = self.frame + frame.size.height = height + self.frame = frame + } + } + + + /// centerX + public var centerX : CGFloat { + + get { + return self.center.x + } + set (centerX) { + var center = self.center + center.x = centerX + self.center = center + } + } + + + /// centerY + public var centerY : CGFloat { + + get { + return self.center.y + } + set (centerY) { + var center = self.center + center.y = centerY + self.center = center + } + } + + + /// size + public var size : CGSize { + + get { + return self.frame.size + } + set (size) { + var newSize = self.frame.size + newSize = CGSize(width: size.width, height: size.height) + self.frame.size = newSize + } + } + + + /// origin + public var origin : CGPoint { + + get { + return self.frame.origin + } + set (origin) { + var newOrigin = self.frame.origin + newOrigin = CGPoint(x: origin.x, y: origin.y) + self.frame.origin = newOrigin + } + } + + /// borderWidth + public var borderWidth: CGFloat { + + get { + return self.layer.borderWidth + } + set (borderWidth){ + self.layer.borderWidth = borderWidth + + guard self.layer.masksToBounds else { + return + } + self.layer.masksToBounds = true + } + } +} + diff --git a/yinmeng-ios/Modules/Auth/VC/AuthFillDataVC.swift b/yinmeng-ios/Modules/Auth/VC/AuthFillDataVC.swift index 8119da0..e2bd8be 100644 --- a/yinmeng-ios/Modules/Auth/VC/AuthFillDataVC.swift +++ b/yinmeng-ios/Modules/Auth/VC/AuthFillDataVC.swift @@ -16,6 +16,7 @@ class AuthFillDataVC: BaseViewController, HiddenNavigationBarProtocol { } private func loadSubViews() { + randomNick() view.addSubview(backImgView) view.addSubview(backBtn) view.addSubview(titleLb) @@ -144,6 +145,16 @@ class AuthFillDataVC: BaseViewController, HiddenNavigationBarProtocol { return button }() + fileprivate func randomNick() { + RequestGet(path: "random/nick/get", parma: [:]) { text in + if let text = text as? String { + self.nickTextFiled.text = text + } + } fail: { code, msg in + + } + } + @objc func femaleBtnAction() { self.femaleBtn.isSelected = true self.maleBtn.isSelected = false @@ -157,14 +168,36 @@ class AuthFillDataVC: BaseViewController, HiddenNavigationBarProtocol { @objc func backBtnAction() { - self.navigationController?.popViewController(animated: true) + self.dismiss(animated: true, completion: nil) + AuthViewModel.authVM.logout() } @objc func nickTextFiledDidChange(_ textField: UITextField) { - + if let text = textField.text { + if text.count > 15 { + textField.text = text.substring(start: 0, 15) + } + } } + @objc func confirmBtnAction() { + if maleBtn.isSelected == true || femaleBtn.isSelected == true { + if let nick = nickTextFiled.text, nick.count > 0 { + let gender = self.maleBtn.isSelected ? "1" : "2" + let params:[String: Any] = ["avatar":"https://image.ymlive.fun/default_avatar.png", "nick": nick, "gender":gender, "uid": AuthManager.userUid, "ticket":AuthManager.ticket] + RequestPost(path: "user/v2/update", parma: params) { data in + HUDTool.show(with: "更新成功") + self.dismiss(animated: true, completion: nil) + } fail: { code, message in + HUDTool.show(with: message) + } + } else { + HUDTool.show(with: "请输入昵称") + } + } else { + HUDTool.show(with: "请选择性别") + } } } diff --git a/yinmeng-ios/Modules/Auth/VC/AuthLaunchVC.swift b/yinmeng-ios/Modules/Auth/VC/AuthLaunchVC.swift index aea8662..27a2318 100644 --- a/yinmeng-ios/Modules/Auth/VC/AuthLaunchVC.swift +++ b/yinmeng-ios/Modules/Auth/VC/AuthLaunchVC.swift @@ -281,7 +281,7 @@ class AuthLaunchVC: BaseViewController, HiddenNavigationBarProtocol { } @objc func userProtocolBtnAction() { - let web = WebViewController(url: "yinmeng/\(H5Utils.privacy.rawValue)") + let web = WebViewController(url: "yinmeng/\(H5Utils.user.rawValue)") self.navigationController?.pushViewController(web, animated: true) } diff --git a/yinmeng-ios/Modules/Auth/VM/AuthManager.swift b/yinmeng-ios/Modules/Auth/VM/AuthManager.swift index ff1c132..116b984 100644 --- a/yinmeng-ios/Modules/Auth/VM/AuthManager.swift +++ b/yinmeng-ios/Modules/Auth/VM/AuthManager.swift @@ -22,6 +22,7 @@ class AuthManager: NSObject { } } + class LoginTokenConfig: NSObject { public static let config = LoginTokenConfig.init() var tokenInfo: UserTokenObject? diff --git a/yinmeng-ios/Modules/Auth/VM/AuthViewModel.swift b/yinmeng-ios/Modules/Auth/VM/AuthViewModel.swift index e355345..4044217 100644 --- a/yinmeng-ios/Modules/Auth/VM/AuthViewModel.swift +++ b/yinmeng-ios/Modules/Auth/VM/AuthViewModel.swift @@ -7,6 +7,7 @@ import Foundation import RxSwift +import NIMSDK class AuthViewModel: NSObject { static let authVM = AuthViewModel.init() let data = PublishSubject() @@ -22,6 +23,24 @@ class AuthViewModel: NSObject { } } + func logout() { + if NIMSDK.shared().loginManager.isLogined() { + NIMSDK.shared().loginManager.logout() + } + let token = LoginTokenConfig.config.getAccountInfo()?.access_token + LoginTokenConfig.config.removeTicketFromLoaction() + LoginTokenConfig.config.removeTicketFromLoaction() + if let token = token { + let params = ["auaccess_token": token] + RequestPost(path: "acc/logout", parma: params) { data in + print("你好") + } fail: { code, msg in + print("de") + } + } + self.loginSuccess.onNext(false) + } + ///获取验证码 func getSmsCode(phone:String, type:Int) { if let phoneDes = phone.encrypt() { @@ -106,14 +125,11 @@ class AuthViewModel: NSObject { if let dic = data as? [String: Any], let tickets = dic["tickets"] as? [[String: Any]], let ticket1 = tickets[safe: 0], let ticket = ticket1["ticket"] as? String{ LoginTokenConfig.config.saveTicketToLoaction(ticket: ticket) self.loginSuccess.onNext(true) - self.loginSuccess.onCompleted() } else { self.loginSuccess.onNext(false) - self.loginSuccess.onCompleted() } } fail: { code, message in self.loginSuccess.onNext(false) - self.loginSuccess.onCompleted() } } diff --git a/yinmeng-ios/Modules/Chat/ChatListVC.swift b/yinmeng-ios/Modules/Chat/ChatListVC.swift index 52465e9..fa74a4d 100644 --- a/yinmeng-ios/Modules/Chat/ChatListVC.swift +++ b/yinmeng-ios/Modules/Chat/ChatListVC.swift @@ -6,13 +6,136 @@ // 回话列表 import UIKit - +import NIMSDK class ChatListVC: BaseViewController { + var list:NSMutableArray? + + deinit { + NIMSDK.shared().loginManager.remove(self) + NIMSDK.shared().conversationManager.remove(self) + } + override func viewDidLoad() { super.viewDidLoad() - - // Do any additional setup after loading the view. + NIMSDK.shared().conversationManager.add(self) + NIMSDK.shared().loginManager.add(self) + getList() } + private lazy var tableView: UITableView = { + let tableView = UITableView(frame: .zero, style: .plain) + tableView.delegate = self + tableView.dataSource = self + tableView.tableFooterView = UIView() + tableView.separatorStyle = .none + tableView.backgroundColor = .clear + if #available(iOS 11.0, *) { + tableView.contentInsetAdjustmentBehavior = .never + } + tableView.register(cellType: ChatListCell.self) + return tableView + }() + +} + +extension ChatListVC: UITableViewDelegate, UITableViewDataSource { + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + let cell = tableView.dequeueReusableCell(for: indexPath, cellType: ChatListCell.self) + return cell + } + + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + return list?.count ?? 0 + } + + func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { + return 64 + } +} + +extension ChatListVC: NIMConversationManagerDelegate, NIMLoginManagerDelegate { + func onLogin(_ step: NIMLoginStep) { + if (step == .syncOK) { + getList() + } + } + + func didLoadAllRecentSessionCompletion() { + getList() + } + + func didAdd(_ recentSession: NIMRecentSession, totalUnreadCount: Int) { + var isInList = false + for index in 0..<(list?.count ?? 0) { + let recent = list?[index] as? NIMRecentSession + if recent?.session?.sessionId == recentSession.session?.sessionId{ + isInList = true + list?.replaceObject(at: index, with: recentSession) + break + } + } + if isInList == false { + list?.add(recentSession) + } + mai_sortMessages() + updateItemBadge() + } + + func didUpdate(_ recentSession: NIMRecentSession, totalUnreadCount: Int) { + var isInList = false + for index in 0..<(list?.count ?? 0) { + let session = list?[index] as? NIMRecentSession + if session?.session?.sessionId == recentSession.session?.sessionId{ + isInList = true + list?.replaceObject(at: index, with: recentSession) + break + } + } + if isInList == false { + list?.add(recentSession) + } + mai_sortMessages() + updateItemBadge() + } + + func didRemove(_ recentSession: NIMRecentSession, totalUnreadCount: Int) { + let arr = NSArray.init(object: recentSession.session as Any) + NIMSDK.shared().conversationManager.deleteRemoteSessions(arr as! [NIMSession], completion: nil) + tableView.reloadData() + } +} + +extension ChatListVC { + + fileprivate func getList() { + if let array = NIMSDK.shared().conversationManager.allRecentSessions() { + list = NSMutableArray.init(array: array) + mai_sortMessages() + } + } + + fileprivate func mai_sortMessages() -> Void { + var arr = list?.sortedArray(options: NSSortOptions.stable, usingComparator: { obj1, obj2 in + let item1 = obj1 as? NIMRecentSession + let item2 = obj2 as? NIMRecentSession + let time1 = (item1?.lastMessage?.timestamp ?? 0) as Double + let time2 = (item2?.lastMessage?.timestamp ?? 0) as Double + if time1 < time2{ + return .orderedDescending + } + return .orderedAscending + }) + + if let array = arr { + list = NSMutableArray(array: array) + } + tableView.reloadData() + } + + + private func updateItemBadge() { + let unreadCount = NIMSDK.shared().conversationManager.allUnreadCount() + self.tabBarItem.badgeValue = "\(unreadCount)" + } } diff --git a/yinmeng-ios/Modules/Chat/ChatVC.swift b/yinmeng-ios/Modules/Chat/ChatVC.swift index d555814..0014be9 100644 --- a/yinmeng-ios/Modules/Chat/ChatVC.swift +++ b/yinmeng-ios/Modules/Chat/ChatVC.swift @@ -9,25 +9,39 @@ import UIKit import NIMSDK class ChatVC: BaseViewController { + // 键盘收起/弹出 滚动的时候收起输入栏 + private var isBecome: Bool = false + /// 是否发送完成 + private var isSended: Bool = true + /// 输入栏默认的高度 + private let ToolBarLastH: CGFloat = 52 + public init(session: NIMSession) { vm = ChatViewModel(session: session) super.init(nibName: nil, bundle: nil) // vm.delegate = self // NIMSDK.shared().mediaManager.add(self) } - + required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } - + var vm:ChatViewModel - override func viewDidLoad() { - super.viewDidLoad() - - view.backgroundColor = .orange - } + override func viewDidLoad() { + super.viewDidLoad() + view.backgroundColor = ThemeColor(hexStr: "#F6F6F6") + let height = ScreenHeight - (ToolBarLastH + SafeAraeBottomHeight + NavHeight) + chatTableView.frame = CGRect(x: 0, y: 0, width: ScreenWidth, height: height) + view.addSubview(chatTableView) + view.addSubview(keyboardView) + } + ///注册cell + private func registerChatCell() { + chatTableView.register(cellType: ChatTextCell.self) + } private lazy var chatTableView: UITableView = { let tableView = UITableView(frame: .zero, style: .plain) @@ -42,20 +56,57 @@ class ChatVC: BaseViewController { return tableView }() + private lazy var keyboardView: ChatKeyboardView = { + let toolBarY = ScreenHeight - NavHeight - ToolBarLastH - SafeAraeBottomHeight + let view = ChatKeyboardView(frame: CGRect(x: 0, y: toolBarY, width: ScreenWidth, height: ToolBarLastH)) + view.delegate = self + return view + }() + } -extension ChatVC: UITableViewDelegate, UITableViewDataSource { +// MARK: - ChatKeyboardViewDelegate +extension ChatVC: ChatKeyboardViewDelegate { + + func keyboard(_ keyboard: ChatKeyboardView, DidFinish content: String) { + ///发送消息 + vm.sendTextMessage(text: content) { error in + + } + } + + func keyboard(_ keyboard: ChatKeyboardView, DidBecome isBecome: Bool) { + self.isSended = true + self.isBecome = isBecome + } + + func keyboard(_ keyboard: ChatKeyboardView, DidMoreMenu type: ChatMoreMenuType) { + + //TODO: 点击更多 + } + + func keyboard(_ keyboard: ChatKeyboardView, DidObserver offsetY: CGFloat) { + + } +} + +extension ChatVC: UITableViewDelegate, UITableViewDataSource, UIScrollViewDelegate { public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return vm.messageObjects.count } public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + let model = vm.messageObjects[safe: indexPath.row] + if model?.type == .text { + let cell = tableView.dequeueReusableCell(for: indexPath, cellType: ChatTextCell.self) + cell.model = model + } return UITableViewCell() } public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { - + tableView.deselectRow(at: indexPath, animated: true) } public func tableView(_ tableView: UITableView, @@ -63,4 +114,22 @@ extension ChatVC: UITableViewDelegate, UITableViewDataSource { let m = vm.messageObjects[safe:indexPath.row] return CGFloat(m?.height ?? 0) } + + func scrollViewWillBeginDragging(_ scrollView: UIScrollView) { + if isSended { + isSended = false + } + } + + func scrollViewDidScroll(_ scrollView: UIScrollView) { + if isSended { + return + } + + if chatTableView.y <= 0 && isBecome { + DispatchQueue.main.async { + NotificationCenter.default.post(name: .kChatTextKeyboardNeedHide, object: nil) + } + } + } } diff --git a/yinmeng-ios/Modules/Chat/Keyboard/ChatGrowingTextView.swift b/yinmeng-ios/Modules/Chat/Keyboard/ChatGrowingTextView.swift new file mode 100644 index 0000000..6992cd5 --- /dev/null +++ b/yinmeng-ios/Modules/Chat/Keyboard/ChatGrowingTextView.swift @@ -0,0 +1,153 @@ +// +// ChatGrowingTextView.swift +// yinmeng-ios +// +// Created by MaiMang on 2024/2/29. +// + +import UIKit + +class ChatGrowingTextView: UITextView { + /// 行数部分间距调整 + fileprivate let kEdgeInset: CGFloat = 12 + /// 内容字体默认大小 + fileprivate let kDefultSize: CGFloat = 15.0 + + // MARK: - var lazy + + /// 默认3行的高度 + fileprivate var maxTextViewHeight: CGFloat = 80 + + var placeholder: String? = "" { + didSet { + self.placeholderLabel.text = placeholder + } + } + + var placeholderColor: UIColor? = .black { + didSet { + self.placeholderLabel.textColor = placeholderColor + } + } + + var maxNumberOfLines: Int = 3 { + didSet { + let numberOfLines = CGFloat(maxNumberOfLines) + maxTextViewHeight = CGFloat(ceilf(Float(self.font!.lineHeight * numberOfLines + self.textContainerInset.top + self.textContainerInset.bottom))) - kEdgeInset + } + } + + + + /// 输入框高度监听回调 + var didTextChangedHeightClosure : ((CGFloat)->Void)? + + /// 占位标签 + fileprivate lazy var placeholderLabel: UILabel = { + let frame = CGRect(x: 5, y: 7, width: ScreenWidth - 10, height: 21) + let label = UILabel(frame: frame) + label.numberOfLines = 1 + label.text = "请输入你要发送的消息" + label.textColor = ThemeColor(hexStr: "#F6F6F6") + label.font = UIFont.systemFont(ofSize: self.kDefultSize) + return label + }() + + // MARK: - life cycle + + override init(frame: CGRect, textContainer: NSTextContainer?) { + super.init(frame: frame, textContainer: textContainer) + + setup() + } + + required public init?(coder aDecoder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + fileprivate func setup() { + backgroundColor = .white + + self.isScrollEnabled = false + self.scrollsToTop = false + //self.contentInset = UIEdgeInsets(top: 1, left: 0, bottom: 1, right: 0) + self.showsHorizontalScrollIndicator = false + self.enablesReturnKeyAutomatically = true + self.font = UIFont.systemFont(ofSize: kDefultSize) + self.returnKeyType = .send + + self.layer.cornerRadius = 4 + self.layer.borderWidth = 1 + self.layer.borderColor = ThemeColor(hexStr: "#2C363E").cgColor + self.layer.masksToBounds = true + // 添加占位控件 + addSubview(self.placeholderLabel) + + // register + registerChangeNotification() + } + + fileprivate func registerChangeNotification() { + // 实时监听输入值的改变 + NotificationCenter.default.addObserver(self, + selector: #selector(textDidChanged), + name: UITextView.textDidChangeNotification, + object: self) + + self.addObserver(self, forKeyPath: "attributedText", options: .new, context: nil) + } + + // MARK: - KVO监听 + + override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) { + if keyPath == "attributedText" { + textDidChanged() + }else { + + super.observeValue(forKeyPath: keyPath, of: object, change: change, context: context) + } + } + + + deinit { + NotificationCenter.default.removeObserver(self) + self.removeObserver(self, forKeyPath: "attributedText") + } + +} + +// MARK: - Action + +extension ChatGrowingTextView { + + @objc func textDidChanged() { + placeholderLabel.isHidden = self.hasText + + // 计算高度 + let constrainSize = CGSize(width: self.frame.size.width, height: CGFloat(MAXFLOAT)) + var size = self.sizeThatFits(constrainSize) + + if size.height >= maxTextViewHeight { + self.isScrollEnabled = true + size.height = maxTextViewHeight + }else { + self.isScrollEnabled = false + if (didTextChangedHeightClosure != nil && !self.isScrollEnabled) { + didTextChangedHeightClosure?(size.height) + } + } + + let nowFrame = self.frame + frame.size.height = size.height + self.frame = nowFrame + + self.layoutIfNeeded() + + sendChangedNoti() + } + + func sendChangedNoti() { + + NotificationCenter.default.post(name: .kChatTextKeyboardChanged, object: self.text, userInfo: nil) + } +} diff --git a/yinmeng-ios/Modules/Chat/Keyboard/ChatKeyboard+.swift b/yinmeng-ios/Modules/Chat/Keyboard/ChatKeyboard+.swift new file mode 100644 index 0000000..c79639d --- /dev/null +++ b/yinmeng-ios/Modules/Chat/Keyboard/ChatKeyboard+.swift @@ -0,0 +1,29 @@ +// +// ChatKeyboard+.swift +// yinmeng-ios +// +// Created by MaiMang on 2024/2/29. +// + +import Foundation +// MARK: - NSNotificationName + +public extension NSNotification.Name { + /// 获取点击空白处回收键盘的处理通知 + static let kChatTextKeyboardNeedHide = Notification.Name("kChatTextKeyboardNeedHide") + /// 获取文本输入框值变化 + static let kChatTextKeyboardChanged = Notification.Name("kChatTextKeyboardChanged") +} + +protocol OptionalType { + associatedtype Wrapped + + var value: Wrapped? { get } +} + + +extension Optional: OptionalType { + var value: Wrapped? { + return self + } +} diff --git a/yinmeng-ios/Modules/Chat/Keyboard/ChatKeyboardView.swift b/yinmeng-ios/Modules/Chat/Keyboard/ChatKeyboardView.swift new file mode 100644 index 0000000..4893f78 --- /dev/null +++ b/yinmeng-ios/Modules/Chat/Keyboard/ChatKeyboardView.swift @@ -0,0 +1,371 @@ +// +// ChatKeyboardView.swift +// yinmeng-ios +// +// Created by MaiMang on 2024/2/29. +// + +import UIKit + +protocol ChatKeyboardViewDelegate: NSObjectProtocol { + /// 输入完消息 + func keyboard(_ keyboard: ChatKeyboardView, DidFinish content: String) + /// 键盘收起/弹出 + func keyboard(_ keyboard: ChatKeyboardView, DidBecome isBecome: Bool) + /// 键盘的y值 + func keyboard(_ keyboard: ChatKeyboardView, DidObserver offsetY: CGFloat) + /// 菜单栏点击 + func keyboard(_ keyboard: ChatKeyboardView, DidMoreMenu type: ChatMoreMenuType) +} + +extension ChatKeyboardViewDelegate { + func keyboard(_ keyboard: ChatKeyboardView, DidFinish content: String) {} + func keyboard(_ keyboard: ChatKeyboardView, DidBecome isBecome: Bool) {} + func keyboard(_ keyboard: ChatKeyboardView, DidObserver offsetY: CGFloat) {} + func keyboard(_ keyboard: ChatKeyboardView, DidMoreMenu type: ChatMoreMenuType) {} +} + + +class ChatKeyboardView: UIView { + + private let kSpace: CGFloat = 8.0 + private let kViewWH: CGFloat = 36.0 + private let kLineHeight: CGFloat = 0.75 + + // MARK: - var lazy + + weak var delegate: ChatKeyboardViewDelegate? + + fileprivate var toolBarHeight: CGFloat = 52.0 + fileprivate var lastTextHeight: CGFloat = 34.0 + fileprivate var keyboardHeight: CGFloat = 0.0 + + /// 底部菜单容器高度 + fileprivate var contentHeight: CGFloat = 0.0 + fileprivate var isShowMore = false + + /// 是否弹出了系统键盘 + fileprivate var isShowKeyboard = false + + /// 更多按钮 + fileprivate lazy var moreButton : UIButton = { + let button = UIButton(type: .custom) + let x: CGFloat = ScreenWidth - self.kViewWH - self.kSpace + button.frame = CGRect(x: x, y: self.kSpace, width: self.kViewWH, height: self.kViewWH) + button.setImage(UIImage(named: "chat_more"), for: .normal) + button.setImage(UIImage(named: "chat_more"), for: .highlighted) + button.addTarget(self, action: #selector(moreDidAction(_:)), for: .touchUpInside) + return button + }() + + /// 文本输入框 + fileprivate lazy var chatTextView: ChatGrowingTextView = { + let w: CGFloat = ScreenWidth - self.kViewWH * 2 - self.kSpace * 3 - self.kSpace + let textView = ChatGrowingTextView(frame: CGRect(x: self.kSpace, y: self.kSpace, width: w, height: self.kViewWH)) + textView.placeholder = "请输入..." + textView.textColor = ThemeColor(hexStr: "#000000") + textView.maxNumberOfLines = 5 + textView.delegate = self + textView.didTextChangedHeightClosure = { [weak self] height in + self?.changeKeyboardHeight(height: height) + } + return textView + }() + + fileprivate lazy var topLineView: UIView = { + let lineView1 = UIView(frame: CGRect(x: 0, y: 0, width: ScreenWidth, height: kLineHeight)) + lineView1.backgroundColor = ThemeColor(hexStr: "#E5E5E5") + return lineView1 + }() + + fileprivate lazy var bottomLineView: UIView = { + let lineView2 = UIView(frame: CGRect(x: 0, y: self.toolBarHeight - kLineHeight, width: ScreenWidth, height: kLineHeight)) + lineView2.backgroundColor = ThemeColor(hexStr: "#E5E5E5") + return lineView2 + }() + + fileprivate lazy var toolBarView: UIView = { + let view = UIView(frame: CGRect(x: 0, y: 0, width: ScreenWidth, height: self.toolBarHeight)) + view.backgroundColor = ThemeColor(hexStr: "#F7F7F7") + return view + }() + + /// 底部背景容器 + fileprivate lazy var contentView: UIView = { + let y = self.toolBarView.maxY + let view = UIView(frame: CGRect(x: 0, y: y, width: ScreenWidth, height: self.contentHeight)) + view.backgroundColor = ThemeColor(hexStr: "#F8F8F8") + return view + }() + + /// 更多菜单 + fileprivate lazy var moreMenuView: ChatMoreMenuView = { + let view = ChatMoreMenuView(frame: self.contentView.bounds) + view.isHidden = true + view.delegate = self + return view + }() + + // MARK: - life cycle + + override init(frame: CGRect) { + super.init(frame: frame) + + setupKeyboardView() + registerNotification() + } + + required init?(coder aDecoder: NSCoder) { + super.init(coder: aDecoder) + + setupKeyboardView() + registerNotification() + } + + func setupKeyboardView() { + self.backgroundColor = ThemeColor(hexStr: "#F7F7F7") + self.isUserInteractionEnabled = true + + addSubview(toolBarView) + toolBarView.addSubview(moreButton) + toolBarView.addSubview(chatTextView) + toolBarView.addSubview(topLineView) + toolBarView.addSubview(bottomLineView) + + addSubview(contentView) + contentView.addSubview(moreMenuView) + } + + // MARK: - 监听键盘通知 + private func registerNotification() { + // 监听键盘弹出通知 + NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow(_:)), + name:UIResponder.keyboardWillShowNotification,object: nil) + // 监听键盘隐藏通知 + NotificationCenter.default.addObserver(self,selector: #selector(keyboardWillHide(_:)), + name: UIResponder.keyboardWillHideNotification, object: nil) + + // 主要是为了获取点击空白处回收键盘的处理 + NotificationCenter.default.addObserver(self,selector: #selector(keyboardNeedHide), + name: .kChatTextKeyboardNeedHide, object: nil) + // 添加KVO监听输入键盘y值 + addObserver(self, forKeyPath: "frame", options: [.new, .old], context: nil) + } + + // MARK: - KVO监听 + + override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) { + if keyPath == "frame" && ((object as? UIView) != nil) { + if let changeObject = change.value { + if let newFrame = changeObject[.newKey] as? CGRect { + delegate?.keyboard(self, DidObserver: newFrame.origin.y) + print("y值发生改变\(newFrame.origin.y)") + } + } + }else { + + super.observeValue(forKeyPath: keyPath, of: object, change: change, context: context) + } + } + + deinit { + + self.removeObserver(self, forKeyPath: "frame") + } +} + + +// MARK: - ChatMoreMenuViewDelegate + +extension ChatKeyboardView: ChatMoreMenuViewDelegate { + + func menu(_ view: ChatMoreMenuView, DidSelected type: ChatMoreMenuType) { + + delegate?.keyboard(self, DidMoreMenu: type) + } +} + +// MARK: - UITextViewDelegate + +extension ChatKeyboardView: UITextViewDelegate { + + func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool { + // 发送键&回车键处理 + if (text == "\n") { + if (isShowKeyboard) { + isShowKeyboard = true + } + + sendChatMessage() + return false + } + + return true + } + + + /// 发送消息内容 + private func sendChatMessage() { + delegate?.keyboard(self, DidFinish: self.chatTextView.text ?? "") + + changeKeyboardHeight(height: lastTextHeight) + chatTextView.text = "" + chatTextView.attributedText = NSAttributedString(string: "") + } +} + + +// MARK: - KeyBoard Manager + +extension ChatKeyboardView { + + /// 键盘将要显示 + @objc func keyboardWillShow(_ noti: NSNotification) { + guard let userInfo = noti.userInfo else { + return + } + + contentHeight = 0 + delegate?.keyboard(self, DidBecome: true) + + let duration = userInfo["UIKeyboardAnimationDurationUserInfoKey"] as! Double + let endFrame = (userInfo["UIKeyboardFrameEndUserInfoKey"] as! NSValue).cgRectValue + let y = endFrame.origin.y + // 获取键盘的高度 + keyboardHeight = endFrame.height + // 键盘弹出状态 + isShowKeyboard = true + + let option = userInfo["UIKeyboardAnimationCurveUserInfoKey"] as! Int + + var changedY = y - self.toolBarHeight - NavHeight - contentHeight + if (isShowMore) { //显示系统键盘 + isShowMore = false + self.moreMenuView.isHidden = true + self.moreMenuView.hidePageController = true + changedY = y - self.toolBarHeight - NavHeight + } + + UIView.animate(withDuration: duration, delay: 0, options: UIView.AnimationOptions(rawValue: UIView.AnimationOptions.RawValue(option)), animations: { + self.frame = CGRect(x: 0, y: changedY, width: ScreenWidth, height: self.toolBarHeight + self.contentHeight) + }, completion: nil) + } + + /// 键盘将要消失 + @objc func keyboardWillHide(_ noti: NSNotification) { + guard let userInfo = noti.userInfo else { + return + } + + delegate?.keyboard(self, DidBecome: false) + + let duration = userInfo["UIKeyboardAnimationDurationUserInfoKey"] as! Double + let endFrame = (userInfo["UIKeyboardFrameEndUserInfoKey"] as! NSValue).cgRectValue + //let y = endFrame.origin.y + // 获取键盘的高度 + keyboardHeight = endFrame.height + // 键盘弹出状态 + isShowKeyboard = false + + let option = userInfo["UIKeyboardAnimationCurveUserInfoKey"] as! Int + let changedY = ScreenHeight - NavHeight - self.toolBarHeight - SafeAraeBottomHeight - self.contentHeight + UIView.animate(withDuration: duration, delay: 0, options: UIView.AnimationOptions(rawValue: UIView.AnimationOptions.RawValue(option)), animations: { + self.frame = CGRect(x: 0, y: changedY, width: ScreenWidth, height: self.toolBarHeight + self.contentHeight) + }, completion: nil) + } + + @objc func keyboardNeedHide(_ noti: NSNotification) { + + chatTextView.resignFirstResponder() + moreMenuView.hidePageController = true + + contentHeight = 0.0 + restToolbarContentHeight(true) + + delegate?.keyboard(self, DidBecome: false) + } +} + + + +// MARK: - Action + +extension ChatKeyboardView { + /// 更多按钮点击处理 + @objc func moreDidAction(_ button: UIButton) { + // 如有弹出菜单 + if isShowMore { + return + } + + isShowMore = true + contentHeight = 250 + contentView.isHidden = false + moreMenuView.isHidden = false + chatTextView.resignFirstResponder() + + restToolbarContentHeight() + moreMenuView.reloadData() + + delegate?.keyboard(self, DidBecome: true) + } + + /// 更改容器高度 + func restToolbarContentHeight(_ isRest: Bool = false) { + var changedY = ScreenHeight - self.toolBarHeight - NavHeight - contentHeight + if (isRest) { + if (isShowMore) { + isShowMore = false + } + + changedY = ScreenHeight - self.toolBarHeight - NavHeight - contentHeight - SafeAraeBottomHeight + } + + UIView.animate(withDuration: 0.25, delay: 0, options: .curveEaseOut, animations: { + self.contentView.frame = CGRect(x: 0, y: self.toolBarView.maxY, width: ScreenWidth, height: self.contentHeight) + self.moreMenuView.frame = self.contentView.bounds + self.frame = CGRect(x: 0, y: changedY, width: ScreenWidth, height: self.toolBarHeight + self.contentHeight) + }, completion: nil) + + self.layoutIfNeeded() + } + +} + +// MARK: - 改变输入框高度位置 + +extension ChatKeyboardView { + + func changeKeyboardHeight(_ isClear: Bool = false, height: CGFloat) { + let textHeight = height + + toolBarHeight = textHeight + kSpace * 2 + toolBarView.frame = CGRect(x: toolBarView.x, y: 0, width: toolBarView.width, height: toolBarHeight) + + let spaceY = toolBarView.height - kSpace - kViewWH + chatTextView.frame = CGRect(x: chatTextView.x, y: chatTextView.x, width: chatTextView.width, height: textHeight) + moreButton.frame = CGRect(x: moreButton.x, y: spaceY, width: moreButton.width, height: moreButton.height) + contentView.frame = CGRect(x: contentView.x, y: toolBarView.maxY, width: contentView.width, height: contentHeight) + + topLineView.frame = CGRect(x: 0, y: 0, width: ScreenWidth, height: kLineHeight) + bottomLineView.frame = CGRect(x: 0, y: toolBarView.height - kLineHeight, width: ScreenWidth, height: kLineHeight) + + + if (isShowKeyboard) { + if (isShowMore) { + isShowMore = false + } + + let changedY = ScreenHeight - keyboardHeight - toolBarHeight - NavHeight + self.frame = CGRect(x: 0, y: changedY, width: ScreenWidth, height: toolBarView.height + contentView.height) + }else { + let changedY = ScreenHeight - NavHeight - (toolBarView.height + contentView.height) + self.frame = CGRect(x: 0, y: changedY, width: ScreenWidth, height: toolBarView.height + contentView.height) + } + + self.setNeedsLayout() + print("self y === \(self.frame.origin.y)") + } +} + + diff --git a/yinmeng-ios/Modules/Chat/Keyboard/ChatMoreMenuCell.swift b/yinmeng-ios/Modules/Chat/Keyboard/ChatMoreMenuCell.swift new file mode 100644 index 0000000..74a317a --- /dev/null +++ b/yinmeng-ios/Modules/Chat/Keyboard/ChatMoreMenuCell.swift @@ -0,0 +1,67 @@ +// +// ChatMoreMenuCell.swift +// yinmeng-ios +// +// Created by MaiMang on 2024/2/29. +// + +import UIKit +import Reusable +class ChatMoreMenuCell: UICollectionViewCell, Reusable { + + // MARK: - lazy var + + var model: ChatMoreMnueConfig? { + didSet { + guard model != nil else { + return + } + + self.imageView.image = UIImage(named: model!.image!) + self.titleLabel.text = model?.title ?? "" + } + } + + private lazy var titleLabel: UILabel = { + let label = UILabel() + label.textAlignment = .center + label.textColor = .white + label.font = UIFont.systemFont(ofSize: 14) + return label + }() + + private lazy var imageView: UIImageView = { + let imageView = UIImageView() + return imageView + }() + + // MARK: - life cycle + + override init(frame: CGRect) { + super.init(frame: frame) + + contentView.addSubview(imageView) + contentView.addSubview(titleLabel) + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + + override func layoutSubviews() { + super.layoutSubviews() + + imageView.snp.makeConstraints { (make) in + make.centerX.equalToSuperview() + make.centerY.equalToSuperview().offset(-10) + make.width.height.equalTo(36) + } + + titleLabel.snp.makeConstraints { (make) in + make.left.right.equalToSuperview() + make.top.equalTo(imageView.snp.bottom) + make.height.equalTo(21) + } + } +} diff --git a/yinmeng-ios/Modules/Chat/Keyboard/ChatMoreMenuView.swift b/yinmeng-ios/Modules/Chat/Keyboard/ChatMoreMenuView.swift new file mode 100644 index 0000000..7738c3c --- /dev/null +++ b/yinmeng-ios/Modules/Chat/Keyboard/ChatMoreMenuView.swift @@ -0,0 +1,262 @@ +// +// ChatMoreMenuView.swift +// yinmeng-ios +// +// Created by MaiMang on 2024/2/29. +// + +import UIKit + +enum ChatMoreMenuType: Int { + case album = 1001 + case camera = 1002 +} + +/// 行数 +fileprivate let kRowNumber = 2 +/// 列数 +fileprivate let kColumnNumber = 4 + +fileprivate let kMoreMenuCellNumberOfOnePage = kRowNumber * kColumnNumber + +protocol ChatMoreMenuViewDelegate { + /// 获取选择的菜单 + func menu(_ view: ChatMoreMenuView, DidSelected type: ChatMoreMenuType) +} + +extension ChatMoreMenuViewDelegate { + + func menu(_ view: ChatMoreMenuView, DidSelected type: ChatMoreMenuType) {} +} + +class ChatMoreMenuView: UIView { + + // MARK: - lazy var + + var delegate: ChatMoreMenuViewDelegate? + + /// 隐藏分页指示器 + var hidePageController: Bool = false { + didSet { + self.pageControl.alpha = self.hidePageController ? 0.0 : 1.0 + UIView.animate(withDuration: 0.15, delay: 0, options: .curveEaseOut, animations: { + self.pageControl.isHidden = self.hidePageController + }, completion: nil) + + self.collectionView.scrollToItem(at: IndexPath(row: 0, section: 0), at: .centeredHorizontally, animated: false) + } + } + + var pageIndicatorTintColor: UIColor? { + didSet { + guard pageIndicatorTintColor != nil else { + return + } + pageControl.pageIndicatorTintColor = pageIndicatorTintColor + } + } + + var currentPageIndicatorTintColor: UIColor? { + didSet { + guard currentPageIndicatorTintColor != nil else { + return + } + pageControl.currentPageIndicatorTintColor = currentPageIndicatorTintColor + } + } + + lazy var dataSource: [ChatMoreMnueConfig] = { + let configs = [ + ChatMoreMnueConfig(title: "图片", image: "ic_more_album", type: .album), + ChatMoreMnueConfig(title: "拍照", image: "ic_more_camera", type: .camera) + ] + return configs + }() + + lazy var collectionView: UICollectionView = { + let layout = ChatKeyboardFlowLayout(column: kColumnNumber, row: kRowNumber) + // collectionView + let collection = UICollectionView(frame: self.bounds, collectionViewLayout: layout) + collection.backgroundColor = ThemeColor(hexStr: "#F8F8F8") + collection.register(cellType: ChatMoreMenuCell.self) + collection.showsHorizontalScrollIndicator = true + collection.showsVerticalScrollIndicator = true + collection.dataSource = self + collection.delegate = self + collection.isPagingEnabled = true + return collection + }() + + lazy var pageControl: UIPageControl = { + let pager = UIPageControl() + pager.backgroundColor = .clear + pager.pageIndicatorTintColor = .white + pager.currentPageIndicatorTintColor = ThemeColor(hexStr: "#000000") + pager.currentPage = 0 + pager.isHidden = true + pager.numberOfPages = self.dataSource.count / kMoreMenuCellNumberOfOnePage + (self.dataSource.count % kMoreMenuCellNumberOfOnePage == 0 ? 0 : 1) + return pager + }() + + // MARK: - life cycle + + override init(frame: CGRect) { + super.init(frame: frame) + + makeUI() + reloadData() + } + + required init?(coder aDecoder: NSCoder) { + super.init(coder: aDecoder) + + makeUI() + reloadData() + } + + func makeUI() { + self.backgroundColor = ThemeColor(hexStr: "#F8F8F8") + + addSubview(pageControl) + addSubview(collectionView) + + pageControl.snp.makeConstraints { make in + make.bottom.equalToSuperview().offset(-SafeAraeBottomHeight) + make.centerX.equalToSuperview() + make.height.equalTo(30) + } + + collectionView.snp.makeConstraints { make in + make.top.left.right.equalToSuperview() + make.bottom.equalTo(pageControl.snp.top) + } + } + + open func reloadData() { + self.needsUpdateConstraints() + self.layoutIfNeeded() + + UIView.animate(withDuration: 0.15, delay: 0, options: .curveEaseOut, animations: { + self.pageControl.alpha = 1.0 + self.pageControl.isHidden = false + }, completion: nil) + + DispatchQueue.main.async { + self.collectionView.reloadData() + } + } +} + + +// MARK: - UICollectionViewDataSource + +extension ChatMoreMenuView: UICollectionViewDataSource { + + func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { + return dataSource.count + } + + func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { + let cell = collectionView.dequeueReusableCell(for: indexPath, cellType: ChatMoreMenuCell.self) + if let model = dataSource[safe: indexPath.row] { + cell.model = model + } + return cell + } + +} + +// MARK: - UICollectionViewDelegate + +extension ChatMoreMenuView: UICollectionViewDelegate { + + func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { + if let model = dataSource[safe: indexPath.row] { + delegate?.menu(self, DidSelected: model.type!) + } + } +} + +extension ChatMoreMenuView { + + func scrollViewDidScroll(_ scrollView: UIScrollView) { + if scrollView == collectionView { + let offsetX = scrollView.contentOffset.x + let index = offsetX / ScreenWidth + pageControl.currentPage = Int(index) + } + } +} + + class ChatKeyboardFlowLayout: UICollectionViewFlowLayout { + // 保存所有item + fileprivate var attributesArr: [UICollectionViewLayoutAttributes] = [] + fileprivate var col: Int = 0 + fileprivate var row: Int = 0 + + init(column: Int, row: Int) { + super.init() + self.col = column + self.row = row + } + + required init?(coder aDecoder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + // MARK: - 重新布局 + override func prepare() { + super.prepare() + + let itemWH: CGFloat = ScreenWidth / CGFloat(col) + + // 设置itemSize + itemSize = CGSize(width: itemWH, height: itemWH) + minimumLineSpacing = 0 + minimumInteritemSpacing = 0 + scrollDirection = .horizontal + + // 设置collectionView属性 + collectionView?.isPagingEnabled = true + collectionView?.showsHorizontalScrollIndicator = false + collectionView?.showsVerticalScrollIndicator = true + let insertMargin = (collectionView!.bounds.height - CGFloat(row) * itemWH) * 0.5 + collectionView?.contentInset = UIEdgeInsets(top: insertMargin, left: 0, bottom: insertMargin, right: 0) + + var page = 0 + let itemsCount = collectionView?.numberOfItems(inSection: 0) ?? 0 + for itemIndex in 0.. [UICollectionViewLayoutAttributes]? { + var rectAttributes: [UICollectionViewLayoutAttributes] = [] + _ = attributesArr.map({ + if rect.contains($0.frame) { + rectAttributes.append($0) + } + }) + return rectAttributes + } + + override var collectionViewContentSize: CGSize { + let size: CGSize = super.collectionViewContentSize + let collectionViewWidth: CGFloat = self.collectionView!.frame.size.width + let nbOfScreen: Int = Int(ceil(size.width / collectionViewWidth)) + let newSize: CGSize = CGSize(width: collectionViewWidth * CGFloat(nbOfScreen), height: size.height) + return newSize + } + } + diff --git a/yinmeng-ios/Modules/Chat/Keyboard/ChatMoreMnueConfig.swift b/yinmeng-ios/Modules/Chat/Keyboard/ChatMoreMnueConfig.swift new file mode 100644 index 0000000..8930c7a --- /dev/null +++ b/yinmeng-ios/Modules/Chat/Keyboard/ChatMoreMnueConfig.swift @@ -0,0 +1,25 @@ +// +// ChatMoreMnueConfig.swift +// yinmeng-ios +// +// Created by MaiMang on 2024/2/29. +// + +import Foundation + +class ChatMoreMnueConfig: NSObject { + var title: String? + var image: String? + + var type: ChatMoreMenuType? + + init(title: String, image: String, type: ChatMoreMenuType) { + super.init() + + self.title = title + self.image = image + self.type = type + } + + required override init() { } +} diff --git a/yinmeng-ios/Modules/Chat/View/ChatBaseCell.swift b/yinmeng-ios/Modules/Chat/View/ChatBaseCell.swift index 5f6866d..e1d72c6 100644 --- a/yinmeng-ios/Modules/Chat/View/ChatBaseCell.swift +++ b/yinmeng-ios/Modules/Chat/View/ChatBaseCell.swift @@ -13,7 +13,7 @@ protocol ChatBaseCellProtocol: NSObjectProtocol { class ChatBaseCell: UITableViewCell, Reusable{ weak var delegate: ChatBaseCellProtocol? - var model:ChatBaseObject? { + var model:ChatSessionProtocol? { didSet { guard let _ = model else {return} layoutMessageCell() diff --git a/yinmeng-ios/Modules/Chat/View/ChatList/ChatListCell.swift b/yinmeng-ios/Modules/Chat/View/ChatList/ChatListCell.swift new file mode 100644 index 0000000..27baa50 --- /dev/null +++ b/yinmeng-ios/Modules/Chat/View/ChatList/ChatListCell.swift @@ -0,0 +1,71 @@ +// +// ChatListCell.swift +// yinmeng-ios +// +// Created by MaiMang on 2024/2/29. +// + +import UIKit +import Reusable +class ChatListCell: UITableViewCell, Reusable { + + override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { + super.init(style: style, reuseIdentifier: reuseIdentifier) + contentView.addSubview(backView) + backView.addSubview(avatarImgView) + backView.addSubview(textLb) + backView.addSubview(nameLb) + backView.addSubview(dateLb) + } + + private lazy var backView: UIView = { + let view = UIView() + view.backgroundColor = ThemeColor(hexStr: "#525566") + view.layer.masksToBounds = true + return view + }() + + private lazy var avatarImgView: UIImageView = { + let imageView = UIImageView() + imageView.isUserInteractionEnabled = true + imageView.layer.masksToBounds = true + imageView.contentMode = .scaleAspectFill + imageView.layer.cornerRadius = 30 + return imageView + }() + + private lazy var textLb: UILabel = { + let label = UILabel() + label.textColor = UIColor(white: 1, alpha: 0.8) + label.font = UIFont.systemFont(ofSize: 14) + return label + }() + + private lazy var nameLb: UILabel = { + let label = UILabel() + label.textColor = .white + label.font = UIFont.systemFont(ofSize: 15, weight: .medium) + return label + }() + + private lazy var dateLb: UILabel = { + let label = UILabel() + label.textColor = .red + label.font = UIFont.systemFont(ofSize: 12, weight: .light) + return label + }() + + private lazy var badgeLb: UILabel = { + let label = UILabel() + label.textColor = .white + label.backgroundColor = .red + label.textAlignment = .center + label.font = UIFont.systemFont(ofSize: 11) + return label + }() + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + +} diff --git a/yinmeng-ios/Modules/Star/PlanetStarVC.swift b/yinmeng-ios/Modules/Star/PlanetStarVC.swift index 7f4567c..44d7437 100644 --- a/yinmeng-ios/Modules/Star/PlanetStarVC.swift +++ b/yinmeng-ios/Modules/Star/PlanetStarVC.swift @@ -85,8 +85,6 @@ class PlanetStarVC: BaseViewController,HiddenNavigationBarProtocol { self?.navigationController?.pushViewController(chatVC, animated: true) } - - } var giftModel:PlanetStarModel? diff --git a/yinmeng-ios/Modules/User/VC/AboutUsVC.swift b/yinmeng-ios/Modules/User/VC/AboutUsVC.swift index bd3e17c..397feff 100644 --- a/yinmeng-ios/Modules/User/VC/AboutUsVC.swift +++ b/yinmeng-ios/Modules/User/VC/AboutUsVC.swift @@ -62,7 +62,6 @@ make.size.equalTo(CGSize(width: 14, height: 14)) } @objc func privacyRecognizer() { - //TODO: 跳转隐私政策的 let web = WebViewController(url: "yinmeng/\(H5Utils.privacy.rawValue)") self.navigationController?.pushViewController(web, animated: true) } diff --git a/yinmeng-ios/Modules/User/VC/UserInfoVC.swift b/yinmeng-ios/Modules/User/VC/UserInfoVC.swift index ef6afad..b9102a1 100644 --- a/yinmeng-ios/Modules/User/VC/UserInfoVC.swift +++ b/yinmeng-ios/Modules/User/VC/UserInfoVC.swift @@ -71,7 +71,7 @@ class UserInfoVC: BaseViewController, HiddenNavigationBarProtocol { } @objc func logoutBtnAction() { - //TODO: 退出登录 + AuthViewModel.authVM.logout() } private lazy var backImgView: UIImageView = { @@ -135,7 +135,7 @@ class UserInfoVC: BaseViewController, HiddenNavigationBarProtocol { private lazy var logoutBtn: UIButton = { let button = UIButton(type: .custom) - button.setBackgroundImage(UIImage.gradient([ThemeColor(hexStr: "#FFC926"), ThemeColor(hexStr: "#FFE784")], radius: 0), for: .normal) + button.setBackgroundImage(UIImage.gradient([ThemeColor(hexStr: "#FF60FD"), ThemeColor(hexStr: "#8974FF"), ThemeColor(hexStr: "#69EBFF")], radius: 0), for: .normal) button.setTitle("退出登录", for: .normal) button.setTitleColor(UIColor.white, for: .normal) button.titleLabel?.font = UIFont.systemFont(ofSize: 16, weight: .medium) diff --git a/yinmeng-ios/Modules/User/VM/UserViewModel.swift b/yinmeng-ios/Modules/User/VM/UserViewModel.swift index 0f9eef4..a7a4acc 100644 --- a/yinmeng-ios/Modules/User/VM/UserViewModel.swift +++ b/yinmeng-ios/Modules/User/VM/UserViewModel.swift @@ -6,18 +6,19 @@ // import Foundation - +import RxSwift class UserViewModel: NSObject { static let userVM = UserViewModel.init() + let userInfo = PublishSubject() func getUserInfo(uid:Int) { let params = ["uid":uid] RequestGet(path: "user/get", parma: params) { data in - if let info = Deserialized.toModel(with: data) { - print("用户信息是") + if var info = Deserialized.toModel(with: data) { + self.userInfo.onNext(info) } } fail: { code, message in - + } } }