From 7ac937ddbf3b1be7ab386a22c071355006cfbd2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=AF=E6=98=9F?= Date: Tue, 11 Nov 2025 17:19:21 +0800 Subject: [PATCH] =?UTF-8?q?=E7=88=B5=E4=BD=8D=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- QXLive.xcodeproj/project.pbxproj | 4 +- .../Controller/QXExpansionViewController.m | 4 +- QXLive/Dynamic(语圈)/View/QXExpansionCell.m | 10 + QXLive/Dynamic(语圈)/View/QXExpansionCell.xib | 26 +- QXLive/Dynamic(语圈)/View/QXSendGiftView.m | 4 + .../Controlller/QXHomeViewController.m | 2 +- .../Services/QXHomePageNetwork.h | 5 +- .../Services/QXHomePageNetwork.m | 7 +- QXLive/Login(登录)/Model/QXLoginModel.h | 8 + QXLive/Manager/QXRoomMessageManager.m | 12 + .../Controller/QXMineViewController.m | 22 +- .../爵位/QXBuyNobilitySuccessViewController.h | 16 + .../爵位/QXBuyNobilitySuccessViewController.m | 142 ++++++ .../爵位/QXNobilityBuyViewController.h | 17 + .../爵位/QXNobilityBuyViewController.m | 343 ++++++++++++++ .../爵位/QXNobilityDetailViewController.h | 16 + .../爵位/QXNobilityDetailViewController.m | 243 ++++++++++ .../Controller/爵位/QXNobilityViewController.h | 16 + .../Controller/爵位/QXNobilityViewController.m | 176 +++++++ .../礼物墙/QXGiftWallViewController.m | 1 + .../Controller/设置/QXSettingViewController.h | 1 + .../Controller/设置/QXSettingViewController.m | 53 ++- QXLive/Mine(音域)/Model/QXGiftModel.h | 2 + QXLive/Mine(音域)/Model/QXRoomModel.h | 16 + QXLive/Mine(音域)/Model/QXSongListModel.h | 7 + QXLive/Mine(音域)/Model/QXUserModel.h | 22 + .../Model/爵位/QXNobilityGetPriceModel.h | 27 ++ .../Model/爵位/QXNobilityGetPriceModel.m | 23 + .../Model/爵位/QXNobilityListModel.h | 37 ++ .../Model/爵位/QXNobilityListModel.m | 32 ++ .../Mine(音域)/Model/爵位/QXNobilityModel.h | 61 +++ .../Mine(音域)/Model/爵位/QXNobilityModel.m | 38 ++ QXLive/Mine(音域)/Services/QXMineNetwork.h | 31 ++ QXLive/Mine(音域)/Services/QXMineNetwork.m | 68 ++- QXLive/Mine(音域)/View/QXMainHeaderView.h | 1 + QXLive/Mine(音域)/View/QXMainHeaderView.m | 66 ++- QXLive/Mine(音域)/View/QXMineServiceCell.m | 2 +- .../View/个人主页/QXUserHomeHeaderView.m | 26 +- .../View/充值/QXRechargePayTypeTableCell.h | 17 + .../View/充值/QXRechargePayTypeTableCell.m | 56 +++ QXLive/Mine(音域)/View/充值/QXRechargeView.m | 2 +- .../View/爵位/QXNobilityBuyDesCell.h | 17 + .../View/爵位/QXNobilityBuyDesCell.m | 31 ++ .../View/爵位/QXNobilityBuyDesCell.xib | 55 +++ .../View/爵位/QXNobilityContentView.h | 26 ++ .../View/爵位/QXNobilityContentView.m | 437 ++++++++++++++++++ .../View/爵位/QXNobilityDetailCell.h | 19 + .../View/爵位/QXNobilityDetailCell.m | 22 + .../View/爵位/QXNobilityDetailCell.xib | 81 ++++ .../View/爵位/QXNobilityDetailTopCell.h | 20 + .../View/爵位/QXNobilityDetailTopCell.m | 66 +++ .../View/爵位/QXNobilityHeaderView.h | 25 + .../View/爵位/QXNobilityHeaderView.m | 145 ++++++ .../View/爵位/QXNobilityPriceView.h | 16 + .../View/爵位/QXNobilityPriceView.m | 101 ++++ QXLive/Mine(音域)/View/设置/QXSettingCell.m | 8 +- .../Contents.json | 22 + .../nobility_drif_join_room_bg@2x.png | Bin 0 -> 65003 bytes .../nobility_drif_join_room_bg@3x.png | Bin 0 -> 136122 bytes .../Assets.xcassets/mine/爵位/Contents.json | 6 + .../爵位/nobility_buy.imageset/Contents.json | 22 + .../nobility_buy.imageset/nobility_buy@2x.png | Bin 0 -> 11852 bytes .../nobility_buy.imageset/nobility_buy@3x.png | Bin 0 -> 26421 bytes .../nobility_buy_right.imageset/Contents.json | 22 + .../nobility_buy_right@2x.png | Bin 0 -> 798 bytes .../nobility_buy_right@3x.png | Bin 0 -> 1378 bytes .../nobility_compare_top.imageset/Contents.json | 22 + .../nobility_compare_top@2x.png | Bin 0 -> 50034 bytes .../nobility_compare_top@3x.png | Bin 0 -> 101573 bytes .../nobility_current_bg.imageset/Contents.json | 22 + .../nobility_current_bg@2x.png | Bin 0 -> 180430 bytes .../nobility_current_bg@3x.png | Bin 0 -> 425563 bytes .../nobility_desc_icon.imageset/Contents.json | 22 + .../nobility_desc_icon@2x.png | Bin 0 -> 1626 bytes .../nobility_desc_icon@3x.png | Bin 0 -> 3062 bytes .../nobility_detail_bg.imageset/Contents.json | 21 + .../nobility_detail_bg@2x.png | Bin 0 -> 1396823 bytes .../Contents.json | 22 + .../nobility_detail_bottom_bg@2x.png | Bin 0 -> 113825 bytes .../nobility_detail_bottom_bg@3x.png | Bin 0 -> 263270 bytes .../Contents.json | 22 + .../nobility_detail_open_btn@2x.png | Bin 0 -> 27936 bytes .../nobility_detail_open_btn@3x.png | Bin 0 -> 65134 bytes .../nobility_help_icon.imageset/Contents.json | 22 + .../nobility_help_icon@2x.png | Bin 0 -> 1759 bytes .../nobility_help_icon@3x.png | Bin 0 -> 3264 bytes .../nobility_my_info_bg.imageset/Contents.json | 22 + .../nobility_my_info_bg@2x.png | Bin 0 -> 94241 bytes .../nobility_my_info_bg@3x.png | Bin 0 -> 203057 bytes .../nobility_nav_icon.imageset/Contents.json | 22 + .../nobility_nav_icon@2x.png | Bin 0 -> 6472 bytes .../nobility_nav_icon@3x.png | Bin 0 -> 12860 bytes .../爵位/nobility_open.imageset/Contents.json | 22 + .../nobility_open.imageset/nobility_open@2x.png | Bin 0 -> 27180 bytes .../nobility_open.imageset/nobility_open@3x.png | Bin 0 -> 57843 bytes .../Contents.json | 22 + .../nobility_pay_result_successs@2x.png | Bin 0 -> 8256 bytes .../nobility_pay_result_successs@3x.png | Bin 0 -> 16082 bytes .../Contents.json | 22 + .../nobility_power_header_bg@2x.png | Bin 0 -> 45338 bytes .../nobility_power_header_bg@3x.png | Bin 0 -> 99073 bytes .../nobility_power_off.imageset/Contents.json | 22 + .../nobility_power_off@2x.png | Bin 0 -> 1372 bytes .../nobility_power_off@3x.png | Bin 0 -> 2479 bytes .../nobility_power_on.imageset/Contents.json | 22 + .../nobility_power_on@2x.png | Bin 0 -> 1637 bytes .../nobility_power_on@3x.png | Bin 0 -> 3022 bytes .../nobility_update_btn.imageset/Contents.json | 22 + .../nobility_update_btn@2x.png | Bin 0 -> 28584 bytes .../nobility_update_btn@3x.png | Bin 0 -> 60058 bytes .../nobility_gift_lock.imageset/Contents.json | 22 + .../nobility_gift_lock@2x.png | Bin 0 -> 4156 bytes .../nobility_gift_lock@3x.png | Bin 0 -> 8059 bytes QXLive/Other/NoitceAndKey.h | 2 + QXLive/Other/QXApi.h | 14 + .../Controller/QXRoomViewController.m | 1 + QXLive/Room(房间)/Model/QXEmojiTypeModel.h | 2 + QXLive/Room(房间)/View/QXRoomChatListView.h | 5 +- QXLive/Room(房间)/View/QXRoomChatListView.m | 42 +- .../View/用户信息/QXRoomUserInfoView.m | 22 +- .../Room(房间)/View/直播/QXSeatHeaderView.h | 2 + .../Room(房间)/View/直播/QXSeatHeaderView.m | 19 +- QXLive/Room(房间)/View/表情/QXEmojiCell.h | 1 + QXLive/Room(房间)/View/表情/QXEmojiCell.m | 5 + QXLive/Room(房间)/View/表情/QXEmojiCell.xib | 29 +- .../View/表情/QXRoomEmojiContentView.m | 4 + .../View/麦位视图/QXRoomSeatContentView.m | 8 +- .../View/麦位视图/QXRoomSeatTypeAuctionView.m | 24 + .../View/麦位视图/QXRoomSeatTypeFrientView.m | 12 + .../View/麦位视图/QXRoomSeatTypeNormalView.m | 9 + .../View/麦位视图/QXRoomSeatTypeSongView.m | 24 + QXLive/Tabbar/弹窗/QXGiftCell.h | 1 + QXLive/Tabbar/弹窗/QXGiftCell.m | 5 + QXLive/Tabbar/弹窗/QXGiftCell.xib | 25 +- .../Tabbar/飘屏/QXDrifNobilityJoinRoomView.h | 23 + .../Tabbar/飘屏/QXDrifNobilityJoinRoomView.m | 148 ++++++ 136 files changed, 3492 insertions(+), 89 deletions(-) create mode 100644 QXLive/Mine(音域)/Controller/爵位/QXBuyNobilitySuccessViewController.h create mode 100644 QXLive/Mine(音域)/Controller/爵位/QXBuyNobilitySuccessViewController.m create mode 100644 QXLive/Mine(音域)/Controller/爵位/QXNobilityBuyViewController.h create mode 100644 QXLive/Mine(音域)/Controller/爵位/QXNobilityBuyViewController.m create mode 100644 QXLive/Mine(音域)/Controller/爵位/QXNobilityDetailViewController.h create mode 100644 QXLive/Mine(音域)/Controller/爵位/QXNobilityDetailViewController.m create mode 100644 QXLive/Mine(音域)/Controller/爵位/QXNobilityViewController.h create mode 100644 QXLive/Mine(音域)/Controller/爵位/QXNobilityViewController.m create mode 100644 QXLive/Mine(音域)/Model/爵位/QXNobilityGetPriceModel.h create mode 100644 QXLive/Mine(音域)/Model/爵位/QXNobilityGetPriceModel.m create mode 100644 QXLive/Mine(音域)/Model/爵位/QXNobilityListModel.h create mode 100644 QXLive/Mine(音域)/Model/爵位/QXNobilityListModel.m create mode 100644 QXLive/Mine(音域)/Model/爵位/QXNobilityModel.h create mode 100644 QXLive/Mine(音域)/Model/爵位/QXNobilityModel.m create mode 100644 QXLive/Mine(音域)/View/充值/QXRechargePayTypeTableCell.h create mode 100644 QXLive/Mine(音域)/View/充值/QXRechargePayTypeTableCell.m create mode 100644 QXLive/Mine(音域)/View/爵位/QXNobilityBuyDesCell.h create mode 100644 QXLive/Mine(音域)/View/爵位/QXNobilityBuyDesCell.m create mode 100644 QXLive/Mine(音域)/View/爵位/QXNobilityBuyDesCell.xib create mode 100644 QXLive/Mine(音域)/View/爵位/QXNobilityContentView.h create mode 100644 QXLive/Mine(音域)/View/爵位/QXNobilityContentView.m create mode 100644 QXLive/Mine(音域)/View/爵位/QXNobilityDetailCell.h create mode 100644 QXLive/Mine(音域)/View/爵位/QXNobilityDetailCell.m create mode 100644 QXLive/Mine(音域)/View/爵位/QXNobilityDetailCell.xib create mode 100644 QXLive/Mine(音域)/View/爵位/QXNobilityDetailTopCell.h create mode 100644 QXLive/Mine(音域)/View/爵位/QXNobilityDetailTopCell.m create mode 100644 QXLive/Mine(音域)/View/爵位/QXNobilityHeaderView.h create mode 100644 QXLive/Mine(音域)/View/爵位/QXNobilityHeaderView.m create mode 100644 QXLive/Mine(音域)/View/爵位/QXNobilityPriceView.h create mode 100644 QXLive/Mine(音域)/View/爵位/QXNobilityPriceView.m create mode 100644 QXLive/Other/Assets.xcassets/drif/nobility_drif_join_room_bg.imageset/Contents.json create mode 100644 QXLive/Other/Assets.xcassets/drif/nobility_drif_join_room_bg.imageset/nobility_drif_join_room_bg@2x.png create mode 100644 QXLive/Other/Assets.xcassets/drif/nobility_drif_join_room_bg.imageset/nobility_drif_join_room_bg@3x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/Contents.json create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_buy.imageset/Contents.json create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_buy.imageset/nobility_buy@2x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_buy.imageset/nobility_buy@3x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_buy_right.imageset/Contents.json create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_buy_right.imageset/nobility_buy_right@2x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_buy_right.imageset/nobility_buy_right@3x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_compare_top.imageset/Contents.json create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_compare_top.imageset/nobility_compare_top@2x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_compare_top.imageset/nobility_compare_top@3x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_current_bg.imageset/Contents.json create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_current_bg.imageset/nobility_current_bg@2x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_current_bg.imageset/nobility_current_bg@3x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_desc_icon.imageset/Contents.json create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_desc_icon.imageset/nobility_desc_icon@2x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_desc_icon.imageset/nobility_desc_icon@3x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_detail_bg.imageset/Contents.json create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_detail_bg.imageset/nobility_detail_bg@2x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_detail_bottom_bg.imageset/Contents.json create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_detail_bottom_bg.imageset/nobility_detail_bottom_bg@2x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_detail_bottom_bg.imageset/nobility_detail_bottom_bg@3x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_detail_open_btn.imageset/Contents.json create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_detail_open_btn.imageset/nobility_detail_open_btn@2x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_detail_open_btn.imageset/nobility_detail_open_btn@3x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_help_icon.imageset/Contents.json create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_help_icon.imageset/nobility_help_icon@2x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_help_icon.imageset/nobility_help_icon@3x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_my_info_bg.imageset/Contents.json create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_my_info_bg.imageset/nobility_my_info_bg@2x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_my_info_bg.imageset/nobility_my_info_bg@3x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_nav_icon.imageset/Contents.json create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_nav_icon.imageset/nobility_nav_icon@2x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_nav_icon.imageset/nobility_nav_icon@3x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_open.imageset/Contents.json create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_open.imageset/nobility_open@2x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_open.imageset/nobility_open@3x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_pay_result_successs.imageset/Contents.json create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_pay_result_successs.imageset/nobility_pay_result_successs@2x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_pay_result_successs.imageset/nobility_pay_result_successs@3x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_power_header_bg.imageset/Contents.json create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_power_header_bg.imageset/nobility_power_header_bg@2x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_power_header_bg.imageset/nobility_power_header_bg@3x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_power_off.imageset/Contents.json create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_power_off.imageset/nobility_power_off@2x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_power_off.imageset/nobility_power_off@3x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_power_on.imageset/Contents.json create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_power_on.imageset/nobility_power_on@2x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_power_on.imageset/nobility_power_on@3x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_update_btn.imageset/Contents.json create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_update_btn.imageset/nobility_update_btn@2x.png create mode 100644 QXLive/Other/Assets.xcassets/mine/爵位/nobility_update_btn.imageset/nobility_update_btn@3x.png create mode 100644 QXLive/Other/Assets.xcassets/room/nobility_gift_lock.imageset/Contents.json create mode 100644 QXLive/Other/Assets.xcassets/room/nobility_gift_lock.imageset/nobility_gift_lock@2x.png create mode 100644 QXLive/Other/Assets.xcassets/room/nobility_gift_lock.imageset/nobility_gift_lock@3x.png create mode 100644 QXLive/Tabbar/飘屏/QXDrifNobilityJoinRoomView.h create mode 100644 QXLive/Tabbar/飘屏/QXDrifNobilityJoinRoomView.m diff --git a/QXLive.xcodeproj/project.pbxproj b/QXLive.xcodeproj/project.pbxproj index 924851e..5a87313 100644 --- a/QXLive.xcodeproj/project.pbxproj +++ b/QXLive.xcodeproj/project.pbxproj @@ -787,7 +787,7 @@ "$(inherited)", "$(SDKROOT)/usr/lib/swift", ); - MARKETING_VERSION = 1.1.2; + MARKETING_VERSION = 1.1.3; PRODUCT_BUNDLE_IDENTIFIER = com.qxcm.qxlive; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -853,7 +853,7 @@ "$(inherited)", "$(SDKROOT)/usr/lib/swift", ); - MARKETING_VERSION = 1.1.2; + MARKETING_VERSION = 1.1.3; PRODUCT_BUNDLE_IDENTIFIER = com.qxcm.qxlive; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; diff --git a/QXLive/Dynamic(语圈)/Controller/QXExpansionViewController.m b/QXLive/Dynamic(语圈)/Controller/QXExpansionViewController.m index 1d99ae1..255e6c5 100644 --- a/QXLive/Dynamic(语圈)/Controller/QXExpansionViewController.m +++ b/QXLive/Dynamic(语圈)/Controller/QXExpansionViewController.m @@ -157,9 +157,9 @@ itemH = (SCREEN_WIDTH-15-15-15)/2 + 94; }else if(imgArr.count > 1){ if (imgArr.count > 3) { - itemH = (SCREEN_WIDTH-16*2-12*2-10*2)/3*2+10+94; + itemH = (SCREEN_WIDTH-16*2-12*2-10*2)/3*2+10+94+ScaleWidth(10); }else{ - itemH = (SCREEN_WIDTH-16*2-12*2-10*2)/3+94; + itemH = (SCREEN_WIDTH-16*2-12*2-10*2)/3+94+ScaleWidth(10); } }else{ itemH = 94; diff --git a/QXLive/Dynamic(语圈)/View/QXExpansionCell.m b/QXLive/Dynamic(语圈)/View/QXExpansionCell.m index cec6518..f9f663f 100644 --- a/QXLive/Dynamic(语圈)/View/QXExpansionCell.m +++ b/QXLive/Dynamic(语圈)/View/QXExpansionCell.m @@ -49,6 +49,16 @@ -(void)setModel:(QXUserHomeModel *)model{ _model = model; [self.avatarImgV setHeadIcon:model.avatar dress:@""]; + if ([model.nobility_image isExist]) { + [self.avatarImgV.nobilityImageView sd_setImageWithURL:[NSURL URLWithString:model.nobility_image]]; + }else{ + self.avatarImgV.nobilityImageView.image = nil; + } + if ([model.nickname_color isExist]) { + self.nicknameLab.textColor = [UIColor colorWithHexString:model.nickname_color]; + }else{ + self.nicknameLab.textColor = RGB16(0x212121); + } self.nicknameLab.text = model.nickname; self.ageLabel.text = [NSString stringWithFormat:@"%ld岁 ip属地: %@",[model.birthday ageWithDateOfBirth],model.loginip]; CGFloat imgWidth = (SCREEN_WIDTH-16*2-12*2-10*2)/3; diff --git a/QXLive/Dynamic(语圈)/View/QXExpansionCell.xib b/QXLive/Dynamic(语圈)/View/QXExpansionCell.xib index f67471b..3f68b6a 100644 --- a/QXLive/Dynamic(语圈)/View/QXExpansionCell.xib +++ b/QXLive/Dynamic(语圈)/View/QXExpansionCell.xib @@ -20,9 +20,9 @@ - + - + @@ -33,10 +33,10 @@ - +