Commit e896a7f3 authored by Steven杜宇's avatar Steven杜宇

// 我的VIP

parent 6d832289
...@@ -12,14 +12,41 @@ import xxtea ...@@ -12,14 +12,41 @@ import xxtea
class YHLoginViewModel: YHBaseViewModel { class YHLoginViewModel: YHBaseViewModel {
var userModel: YHUserModel? var userModel: YHUserModel?
var memberInfo = YHUserMemberInfoModel()
override init() { override init() {
super.init() super.init()
} }
} }
class YHUserMemberInfoModel: SmartCodable {
var current_level: Int = 0
var growth_value: Int = 0
var max_growth: Int = 0
required init() {
}
func getVipMemberLevel() -> YHUserVipLevel {
if current_level == 20 {
return .gold
}
if current_level == 30 {
return .platinum
}
if current_level == 40 {
return .diamond
}
return .none
}
}
//接口 //接口
extension YHLoginViewModel { extension YHLoginViewModel {
//发送验证码 //发送验证码
func getLoginCode(_ phone: String, code: String, callBackBlock: @escaping (_ success: Bool,_ error:YHErrorModel?)->()) { func getLoginCode(_ phone: String, code: String, callBackBlock: @escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
let params: [String : Any] = ["type": "Phone", let params: [String : Any] = ["type": "Phone",
...@@ -239,4 +266,34 @@ extension YHLoginViewModel { ...@@ -239,4 +266,34 @@ extension YHLoginViewModel {
callBackBlock(false, error) callBackBlock(false, error)
} }
} }
func getMemberInfo(_ callBack: @escaping (_ success: Bool,_ error: YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Member.memberInfoApi
let _ = YHNetRequest.getRequest(url: strUrl) {
[weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
if json.code == 200 {
guard let dic = json.data?.peel as? [String : Any], let resultModel = YHUserMemberInfoModel.deserialize(from:dic) else {
let err = YHErrorModel(errorCode: YHErrorCode.dictParseError.rawValue, errorMsg: YHErrorCode.dictParseError.description())
self.memberInfo = YHUserMemberInfoModel()
callBack(false, err)
return
}
self.memberInfo = resultModel
callBack(true, nil)
} else {
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
self.memberInfo = YHUserMemberInfoModel()
callBack(false, error)
}
} failBlock: { err in
self.memberInfo = YHUserMemberInfoModel()
callBack(false, err)
}
}
} }
...@@ -107,6 +107,11 @@ class YHMyNewViewController: YHBaseViewController { ...@@ -107,6 +107,11 @@ class YHMyNewViewController: YHBaseViewController {
return view return view
}() }()
lazy var vipInfoView: YHUserVipInfoView = {
let v = YHUserVipInfoView(frame: CGRectMake(0, 0, tableView.width, 113))
return v
}()
private lazy var settingBtn: UIButton = { private lazy var settingBtn: UIButton = {
let btn = UIButton() let btn = UIButton()
btn.setImage(UIImage(named: "mine_btn_setting"), for: .normal) btn.setImage(UIImage(named: "mine_btn_setting"), for: .normal)
...@@ -182,6 +187,7 @@ class YHMyNewViewController: YHBaseViewController { ...@@ -182,6 +187,7 @@ class YHMyNewViewController: YHBaseViewController {
checkSettingRedPoint() checkSettingRedPoint()
userInfoView.updateAvatar() userInfoView.updateAvatar()
requstUserBasicInfo() requstUserBasicInfo()
requestMemberInfo()
showAlert() showAlert()
} }
...@@ -330,8 +336,7 @@ extension YHMyNewViewController : UITableViewDelegate, UITableViewDataSource { ...@@ -330,8 +336,7 @@ extension YHMyNewViewController : UITableViewDelegate, UITableViewDataSource {
} }
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let v = YHUserVipInfoView(frame: CGRectMake(0, 0, tableView.width, 113)) return self.vipInfoView
return v
} }
} }
...@@ -350,14 +355,17 @@ extension YHMyNewViewController { ...@@ -350,14 +355,17 @@ extension YHMyNewViewController {
func updateUserUI() { func updateUserUI() {
if YHLoginManager.shared.isLogin() { if YHLoginManager.shared.isLogin() {
userInfoView.userNameLabel.text = YHLoginManager.shared.userModel?.nickname ?? "Hi, 银河用户".local userInfoView.userNameLabel.text = YHLoginManager.shared.userModel?.nickname ?? "Hi, 银河用户".local
} else { } else {
userInfoView.userNameLabel.text = "登录/注册" userInfoView.userNameLabel.text = "登录/注册"
userInfoView.vipLevel = .none
} }
userInfoView.updateAvatar() userInfoView.updateAvatar()
requestLikeCollectionCount() requestLikeCollectionCount()
getTotalUnreadMsgCount() getTotalUnreadMsgCount()
checkSettingRedPoint() checkSettingRedPoint()
requstUserBasicInfo() requstUserBasicInfo()
requestMemberInfo()
} }
func requstUserBasicInfo() { func requstUserBasicInfo() {
...@@ -377,6 +385,16 @@ extension YHMyNewViewController { ...@@ -377,6 +385,16 @@ extension YHMyNewViewController {
} }
} }
func requestMemberInfo() {
self.loginViewModel.getMemberInfo {
[weak self] success, error in
guard let self = self else { return }
let memberInfo = self.loginViewModel.memberInfo
self.userInfoView.vipLevel = memberInfo.getVipMemberLevel()
self.vipInfoView.update(growValue: memberInfo.growth_value, vipLevel: memberInfo.getVipMemberLevel())
}
}
func requestUserAvatar() { func requestUserAvatar() {
if let uid = YHLoginManager.shared.userModel?.id, !uid.isEmpty { if let uid = YHLoginManager.shared.userModel?.id, !uid.isEmpty {
self.userViewModel.getUserNameCardInfo(uid: uid) { self.userViewModel.getUserNameCardInfo(uid: uid) {
......
...@@ -749,4 +749,10 @@ class YHAllApiName { ...@@ -749,4 +749,10 @@ class YHAllApiName {
static let shareApi = "infoflow/article/share" static let shareApi = "infoflow/article/share"
} }
// 会员
struct Member {
static let memberInfoApi = "super-app/h5-points/member-info"
}
} }
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