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

// 我的VIP

parent 6d832289
......@@ -12,14 +12,41 @@ import xxtea
class YHLoginViewModel: YHBaseViewModel {
var userModel: YHUserModel?
var memberInfo = YHUserMemberInfoModel()
override 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 {
//发送验证码
func getLoginCode(_ phone: String, code: String, callBackBlock: @escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
let params: [String : Any] = ["type": "Phone",
......@@ -239,4 +266,34 @@ extension YHLoginViewModel {
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 {
return view
}()
lazy var vipInfoView: YHUserVipInfoView = {
let v = YHUserVipInfoView(frame: CGRectMake(0, 0, tableView.width, 113))
return v
}()
private lazy var settingBtn: UIButton = {
let btn = UIButton()
btn.setImage(UIImage(named: "mine_btn_setting"), for: .normal)
......@@ -182,6 +187,7 @@ class YHMyNewViewController: YHBaseViewController {
checkSettingRedPoint()
userInfoView.updateAvatar()
requstUserBasicInfo()
requestMemberInfo()
showAlert()
}
......@@ -330,8 +336,7 @@ extension YHMyNewViewController : UITableViewDelegate, UITableViewDataSource {
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let v = YHUserVipInfoView(frame: CGRectMake(0, 0, tableView.width, 113))
return v
return self.vipInfoView
}
}
......@@ -350,14 +355,17 @@ extension YHMyNewViewController {
func updateUserUI() {
if YHLoginManager.shared.isLogin() {
userInfoView.userNameLabel.text = YHLoginManager.shared.userModel?.nickname ?? "Hi, 银河用户".local
} else {
userInfoView.userNameLabel.text = "登录/注册"
userInfoView.vipLevel = .none
}
userInfoView.updateAvatar()
requestLikeCollectionCount()
getTotalUnreadMsgCount()
checkSettingRedPoint()
requstUserBasicInfo()
requestMemberInfo()
}
func requstUserBasicInfo() {
......@@ -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() {
if let uid = YHLoginManager.shared.userModel?.id, !uid.isEmpty {
self.userViewModel.getUserNameCardInfo(uid: uid) {
......
......@@ -749,4 +749,10 @@ class YHAllApiName {
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