Commit 27372f7b authored by David黄金龙's avatar David黄金龙

Merge branch 'youhua-dev' of http://gitlab.galaxy-immi.com/mobile-group/galaxy-iOS into youhua-dev

* 'youhua-dev' of http://gitlab.galaxy-immi.com/mobile-group/galaxy-iOS:
  // 人脉匹配黑名单
  //  二维码联调接口
  背景替换
  //  文件清单
parents 0b152c38 8f5c0ba0
......@@ -70,8 +70,8 @@ class YHHomeLottieAnimateContentView: YHBasicContentView {
override func deselectAnimation(animated: Bool, completion: (() -> ())?) {
super.deselectAnimation(animated: animated, completion: nil)
lottieView.isHidden = true
imageView.isHidden = false
}
}
class YHServiceLottieAnimateContentView: YHBasicContentView {
......@@ -113,6 +113,7 @@ class YHServiceLottieAnimateContentView: YHBasicContentView {
override func deselectAnimation(animated: Bool, completion: (() -> ())?) {
super.deselectAnimation(animated: animated, completion: nil)
lottieView.isHidden = true
imageView.isHidden = false
}
}
......@@ -155,6 +156,7 @@ class YHCommunityLottieAnimateContentView: YHBasicContentView {
override func deselectAnimation(animated: Bool, completion: (() -> ())?) {
super.deselectAnimation(animated: animated, completion: nil)
lottieView.isHidden = true
imageView.isHidden = false
}
}
......@@ -198,5 +200,6 @@ class YHMyLottieAnimateContentView: YHBasicContentView {
override func deselectAnimation(animated: Bool, completion: (() -> ())?) {
super.deselectAnimation(animated: animated, completion: nil)
lottieView.isHidden = true
imageView.isHidden = false
}
}
......@@ -208,6 +208,31 @@ class YHMatchResultListViewController: YHBaseViewController {
self.view.addSubview(bgImgV)
self.view.addSubview(navBar)
self.view.addSubview(self.noDataView)
self.bgImgV.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
self.navBar.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalToSuperview().offset(k_Height_statusBar())
make.height.equalTo(k_Height_NavContentBar)
}
self.noDataView.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalTo(self.navBar.snp.bottom).offset(192)
make.height.equalTo(YHPeopleMatchNoDataView.height)
}
if self.matchUsersArr.count <= 0 {
self.noDataView.isHidden = false
self.noDataView.titleLabel.text = "目前尚未找到与您匹配的人脉资源"
self.noDataView.relookBtn.isHidden = true
return
}
self.view.addSubview(topLabel)
self.view.addSubview(changeBtn)
self.view.addSubview(myCardBtn)
......@@ -218,19 +243,9 @@ class YHMatchResultListViewController: YHBaseViewController {
self.view.addSubview(self.cardActionView)
self.cardActionView.addSubview(cardContainer)
self.view.addSubview(self.noDataView)
self.view.addSubview(self.rematchBtn)
self.view.addSubview(self.guideView)
self.bgImgV.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
self.navBar.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalToSuperview().offset(k_Height_statusBar())
make.height.equalTo(k_Height_NavContentBar)
}
self.topLabel.snp.makeConstraints { make in
make.centerX.equalToSuperview()
make.top.equalTo(50+k_Height_NavigationtBarAndStatuBar)
......@@ -280,12 +295,6 @@ class YHMatchResultListViewController: YHBaseViewController {
make.height.equalTo(466.0)
}
self.noDataView.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalTo(self.topLabel.snp.bottom).offset(120)
make.height.equalTo(YHPeopleMatchNoDataView.height)
}
self.rematchBtn.snp.makeConstraints { make in
make.left.equalTo(24)
make.right.equalTo(-24)
......@@ -449,6 +458,7 @@ extension YHMatchResultListViewController: DragCardDelegate {
print("didRemovedLast")
DispatchQueue.main.asyncAfter(deadline: .now()+0.5, execute: {
self.noDataView.isHidden = false
self.noDataView.titleLabel.text = "本轮智能匹配人脉已到底~"
self.rematchBtn.isHidden = false
self.changeBtn.isHidden = true
self.myCardBtn.isHidden = true
......
......@@ -319,7 +319,7 @@ extension YHMatchUserViewController {
func requestMatchUserList() {
self.viewModel.getMatchUserlist {
success, error in
if success, self.viewModel.matchUserArr.count > 0 {
if success {
let vc = YHMatchResultListViewController()
vc.delegate = self
vc.matchUsersArr = self.viewModel.matchUserArr
......@@ -332,6 +332,21 @@ extension YHMatchUserViewController {
}
} else {
if let err = error, err.errorCode == YHErrorCode.peopleMatchBlackList.rawValue {
// 人脉匹配黑名单
let vc = YHMatchResultListViewController()
vc.delegate = self
vc.matchUsersArr = self.viewModel.matchUserArr
self.resetAnimation()
if let curVc = UIViewController.current as? YHCommunityViewController,curVc.segmentedView.selectedIndex == 0 {
curVc.navigationController?.pushViewController(vc, completion: {
})
} else {
printLog("hhhhhhhhhhhhhhhhhhhhhhhh")
}
return
}
var msg = "匹配失败"
if let errorMsg = error?.errorMsg, !errorMsg.isEmpty {
msg = errorMsg
......
......@@ -32,15 +32,15 @@ class YHConfigManager: NSObject {
var h5Url : String {
var tH5url = reqVM.configModel?.article_h5_url ?? ""
if tH5url.isEmpty {
#if DEBUG
tH5url = YHConfigManager.baseH5UrlTest
#elseif TESTENV
tH5url = YHConfigManager.baseH5UrlTest
#elseif UATENV
//#if DEBUG
// tH5url = YHConfigManager.baseH5UrlTest
//#elseif TESTENV
// tH5url = YHConfigManager.baseH5UrlTest
//#elseif UATENV
tH5url = YHConfigManager.baseH5UrlRelease
#else
tH5url = YHConfigManager.baseH5UrlRelease
#endif
//#else
// tH5url = YHConfigManager.baseH5UrlRelease
//#endif
}
if !loadNewDataFlag {
......@@ -58,15 +58,15 @@ class YHConfigManager: NSObject {
var ossUrl : String {
var tOssUrl = reqVM.configModel?.oss_server ?? ""
if tOssUrl.isEmpty {
#if DEBUG
tOssUrl = YHConfigManager.baseOSSUrlTest
#elseif TESTENV
tOssUrl = YHConfigManager.baseOSSUrlTest
#elseif UATENV
tOssUrl = YHConfigManager.baseOSSUrlRelease
#else
//#if DEBUG
// tOssUrl = YHConfigManager.baseOSSUrlTest
//#elseif TESTENV
// tOssUrl = YHConfigManager.baseOSSUrlTest
//#elseif UATENV
tOssUrl = YHConfigManager.baseOSSUrlRelease
#endif
//#else
// tOssUrl = YHConfigManager.baseOSSUrlRelease
//#endif
}
if !loadNewDataFlag {
......
......@@ -75,6 +75,8 @@ class YHHKEventCenterViewController: YHBaseViewController {
func getData() {
gk_navTitle = "香港办事"
gk_navBackgroundColor = .white
gk_navBarAlpha = 1.0
homeViewModel.getHKEvent {[weak self] success, error in
guard let self = self else { return }
self.hkList = self.homeViewModel.hkList ?? []
......
......@@ -452,7 +452,8 @@ class YHHomeWebViewController: YHBaseViewController, WKUIDelegate, WKNavigationD
}
@objc func didConsultViewTapped() {
YHConsultantQRCodeView.codeView().show()
let codeUrl = self.viewModel.mainModel?.clue_classify_img_url ?? ""
YHConsultantQRCodeView.codeView(codeUrl).show()
}
@objc func loginSuccess() {
......
......@@ -88,6 +88,8 @@ class YHOtherServiceViewController: YHBaseViewController {
} else if classID == 5 {
gk_navTitle = "客户心声"
}
gk_navBackgroundColor = .white
gk_navBarAlpha = 1.0
homeViewModel.getHomeClassify{[weak self] success, error in
guard let self = self, let classify = self.homeViewModel.classify else { return }
for item in classify {
......
......@@ -18,4 +18,5 @@ class YHWebModel: YHBaseModel {
var media_url: String = ""
var title: String = ""
var img_url: String = ""
var clue_classify_img_url = ""
}
......@@ -7,9 +7,30 @@
//
import UIKit
import Photos
class YHConsultantQRCodeView: UIView {
var codeUrl:String = "" {
didSet {
if !codeUrl.isEmpty {
self.qrCodeImgView.kf.setImage(with: URL(string: codeUrl), placeholder: UIImage(named: "global_default_image")) { result in
switch result {
case .success(let value):
self.codeImage = value.image
self.saveBtn.alpha = 1.0
self.saveBtn.isUserInteractionEnabled = true
case .failure(let value):
self.saveBtn.alpha = 0.3
self.saveBtn.isUserInteractionEnabled = false
}
}
}
}
}
var codeImage:UIImage? = nil
// 底层蒙版
lazy var blackMaskView: UIView = {
let view = UIView()
......@@ -42,7 +63,7 @@ class YHConsultantQRCodeView: UIView {
}()
lazy var qrCodeImgView:UIImageView = {
let view = UIImageView(image: UIImage(named: ""))
let view = UIImageView(image: UIImage(named: "global_default_image"))
view.backgroundColor = .red
return view
}()
......@@ -55,6 +76,8 @@ class YHConsultantQRCodeView: UIView {
button.backgroundColor = UIColor.brandMainColor
button.addTarget(self, action: #selector(didSaveQRCodeBtnClicked), for: .touchUpInside)
button.layer.cornerRadius = 3
button.alpha = 0.3
button.isUserInteractionEnabled = false
return button
}()
......@@ -74,8 +97,9 @@ class YHConsultantQRCodeView: UIView {
createUI()
}
static func codeView() -> YHConsultantQRCodeView {
static func codeView(_ url:String) -> YHConsultantQRCodeView {
let alertView = YHConsultantQRCodeView(frame:UIScreen.main.bounds)
alertView.codeUrl = url
return alertView
}
......@@ -140,10 +164,34 @@ class YHConsultantQRCodeView: UIView {
}
@objc func didSaveQRCodeBtnClicked() {
if let img = self.codeImage {
self.saveImage(img)
}
}
@objc func didCloseBtnClicked() {
self.dismiss()
}
func saveImage(_ image: UIImage) {
// 确保应用有权访问相册
PHPhotoLibrary.requestAuthorization { status in
if status == .authorized {
// 保存图片到相册
DispatchQueue.main.sync {
UIImageWriteToSavedPhotosAlbum(image, self, #selector(self.image(image:didFinishSavingWithError:contextInfo:)), nil)
}
} else {
YHHUD.flash(message: "没有访问图库权限")
}
}
}
@objc func image(image: UIImage,didFinishSavingWithError: NSError?,contextInfo: AnyObject) {
if didFinishSavingWithError != nil {
YHHUD.flash(message: "保存失败")
return
}
YHHUD.flash(message: "保存成功")
}
}
......@@ -54,7 +54,6 @@ class YHMyFileListViewController: YHBaseViewController {
tableView.showsVerticalScrollIndicator = false
tableView.backgroundColor = UIColor.init(hex: 0xDCE4F1)
tableView.separatorStyle = .none
tableView.bounces = false
tableView.register(YHMyFileListCell.self, forCellReuseIdentifier: YHMyFileListCell.cellReuseIdentifier)
tableView.register(YHMyFileListNoneCell.self, forCellReuseIdentifier: YHMyFileListNoneCell.cellReuseIdentifier)
tableView.delegate = self
......@@ -241,12 +240,12 @@ class YHMyFileListViewController: YHBaseViewController {
}
let offsetY = self.tableView.contentOffset.y-k_Height_NavigationtBarAndStatuBar-self.topSegmentHeight+gap
let maxOffSetY = self.tableView.contentSize.height-self.tableView.frame.size.height
if abs(offsetY) <= maxOffSetY {
// if abs(offsetY) <= maxOffSetY {
// 此处+2是弥补section结合处偏差与tab显示
self.tableView.setContentOffset(CGPointMake(0, offsetY+4), animated: false)
} else {
self.tableView.setContentOffset(CGPointMake(0, maxOffSetY-1), animated: false)
}
// } else {
// self.tableView.setContentOffset(CGPointMake(0, maxOffSetY-1), animated: false)
// }
})
}
}
......@@ -385,29 +384,51 @@ extension YHMyFileListViewController : UITableViewDelegate, UITableViewDataSourc
self.topSegmentView.isHidden = scrollView.contentOffset.y < gap
// 滚动到哪个section 对应的segment要显示相应的index
// if items.count > 0 {
// var arr:[Double] = []
// for index in 0..<items.count {
// let rect = self.tableView.rectForHeader(inSection: index)
// let y = rect.origin.y-k_Height_NavigationtBarAndStatuBar-self.topSegmentHeight
// arr.append(y)
// }
//
// for (index, offY) in arr.reversed().enumerated() {
// if index == arr.count-1 {
// self.topSegmentView.updateSelectIndex(arr.count-index-1)
// self.segmentView.updateSelectIndex(arr.count-index-1)
// break
//
// } else {
// if scrollView.contentOffset.y >= offY+2 {
// self.topSegmentView.updateSelectIndex(arr.count-index-1)
// self.segmentView.updateSelectIndex(arr.count-index-1)
// break
// }
// }
// }
// }
var find:Bool = false
if items.count > 0 {
var arr:[Double] = []
for index in 0..<items.count {
let rect = self.tableView.rectForHeader(inSection: index)
let y = rect.origin.y-k_Height_NavigationtBarAndStatuBar-self.topSegmentHeight
arr.append(y)
for (index, offY) in arr.reversed().enumerated() {
if index == arr.count-1 {
self.topSegmentView.updateSelectIndex(arr.count-index-1)
self.segmentView.updateSelectIndex(arr.count-index-1)
break
} else {
if scrollView.contentOffset.y >= offY+2 {
self.topSegmentView.updateSelectIndex(arr.count-index-1)
self.segmentView.updateSelectIndex(arr.count-index-1)
break
}
}
// section 到顶部选择tab的距离
let y = rect.origin.y-k_Height_NavigationtBarAndStatuBar-self.topSegmentHeight+24.0-self.tableView.contentOffset.y
if 0.0 <= y, y < self.tableView.height-k_Height_NavigationtBarAndStatuBar-self.topSegmentHeight {
find = true
self.topSegmentView.updateSelectIndex(index)
self.segmentView.updateSelectIndex(index)
break
}
}
}
// section 没有在可见区域出现
if !find {
if let arr = self.tableView.indexPathsForVisibleRows, let lastIndexPath = arr.last {
self.topSegmentView.updateSelectIndex(lastIndexPath.section)
self.segmentView.updateSelectIndex(lastIndexPath.section)
}
}
}
}
......
......@@ -101,7 +101,6 @@ class YHSegmentView: UIView {
let selectIndex = view.tag-self.itemBaseTag
self.selectIndex = selectIndex
self.selectBlock?(selectIndex)
updateSelectIndex(selectIndex)
}
}
......
......@@ -85,6 +85,8 @@ class YHMyLikeActivityViewController: YHBaseViewController {
func getData() {
gk_navTitle = "我的足迹"
gk_navBackgroundColor = .white
gk_navBarAlpha = 1.0
}
func updateViews() {
......
......@@ -20,15 +20,15 @@ class YHBaseUrlManager {
func curURL() -> String {
#if DEBUG
return YHBaseUrlManager.baseUrlForTest + "/"
#elseif TESTENV
return YHBaseUrlManager.baseUrlForTest + "/"
#elseif UATENV
//#if DEBUG
// return YHBaseUrlManager.baseUrlForTest + "/"
//#elseif TESTENV
// return YHBaseUrlManager.baseUrlForTest + "/"
//#elseif UATENV
return YHBaseUrlManager.baseUrlForUat + "/"
#else
return YHBaseUrlManager.baseUrlForRelease + "/"
#endif
//#else
// return YHBaseUrlManager.baseUrlForRelease + "/"
//#endif
}
//ossUrl
......
......@@ -27,6 +27,7 @@ public enum YHErrorCode : Int32 {
case dictParseError = -10001
case tokenInvalidError = 20001 // 登录token失效
case forceUpdate = 10025 // 强制更新版本
case peopleMatchBlackList = 20005 // 人脉匹配黑名单
case unregisterError = 20007 //手机号已注销
public func description() -> String {
......
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