keep delete

This commit is contained in:
edwinQQQ
2025-10-16 21:23:50 +08:00
parent 8a91b20add
commit f6831f98ec
126 changed files with 136 additions and 4500 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,16 +0,0 @@
//
// EmptyDataView.h
// YuMi
//
// Created by P on 2024/12/23.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface EmptyDataView : UIView
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,20 +0,0 @@
//
// EmptyDataView.m
// YuMi
//
// Created by P on 2024/12/23.
//
#import "EmptyDataView.h"
@implementation EmptyDataView
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
// Drawing code
}
*/
@end

View File

@@ -1,34 +0,0 @@
//
// MoliMoneyLabel.h
// YuMi
//
// Created by P on 2025/2/25.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface MoliMoneyLabel : UIView
/// 带金币 icon 的 label view
/// - Parameters:
/// - textColor: 文本颜色
/// - font: 文本字体
/// - position: icon 位置1: 左2:右
/// - size: icon 大小
+ (MoliMoneyLabel *)moneyLabelWithTextColot:(UIColor *)textColor font:(UIFont *)font moneyPostion:(NSInteger)position moneySize:(CGSize)size;
- (void)updateContent:(NSString *)content;
- (void)updateFont:(UIFont *)font size:(CGSize)size;
- (void)displayIcon:(BOOL)displayOrNot;
- (void)updateSpacing:(NSInteger)space;
- (void)updateLabelAlignment:(NSTextAlignment)alignment;
- (void)insertSpaceAtLeast;
- (void)hideAll;
- (void)removeSpace;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,90 +0,0 @@
//
// MoliMoneyLabel.m
// YuMi
//
// Created by P on 2025/2/25.
//
#import "MoliMoneyLabel.h"
@interface MoliMoneyLabel()
@property(nonatomic, strong) UILabel *label;
@property(nonatomic, strong) UIImageView *money;
@property(nonatomic, strong) UIView *spaceView;
@property(nonatomic, strong) UIStackView *stackView;
@end
@implementation MoliMoneyLabel
+ (MoliMoneyLabel *)moneyLabelWithTextColot:(UIColor *)textColor
font:(UIFont *)font
moneyPostion:(NSInteger)position
moneySize:(CGSize)size {
MoliMoneyLabel *containerView = [[MoliMoneyLabel alloc] init];
containerView.label = [UILabel labelInitWithText:@"" font:font textColor:textColor];
containerView.label.minimumScaleFactor = 0.7;
containerView.label.adjustsFontSizeToFitWidth = YES;
containerView.money = [[UIImageView alloc] initWithImage:kImage(@"moli_money_icon")];
containerView.money.contentMode = UIViewContentModeScaleAspectFill;
containerView.spaceView = [[UIView alloc] init];
NSArray *subviews = position == 1 ? @[containerView.spaceView, containerView.money, containerView.label] : @[containerView.spaceView, containerView.label, containerView.money];
containerView.stackView = [[UIStackView alloc] initWithArrangedSubviews:subviews];
containerView.stackView.spacing = 3;
containerView.stackView.distribution = UIStackViewDistributionFillProportionally;
containerView.stackView.alignment = UIStackViewAlignmentCenter;
[containerView addSubview:containerView.stackView];
[containerView.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(containerView);
}];
[containerView.money mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(size);
}];
return containerView;
}
- (void)hideAll {
self.spaceView.hidden = YES;
self.stackView.hidden = YES;
self.money.hidden = YES;
}
- (void)removeSpace {
[self.stackView removeArrangedSubview:self.spaceView];
}
- (void)updateSpacing:(NSInteger)space {
self.stackView.spacing = space;
}
- (void)displayIcon:(BOOL)displayOrNot {
self.money.hidden = !displayOrNot;
}
- (void)updateContent:(NSString *)content {
self.label.text = content;
}
- (void)updateFont:(UIFont *)font size:(CGSize)size {
self.label.font = font;
[self.money mas_updateConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(size);
}];
}
- (void)updateLabelAlignment:(NSTextAlignment)alignment {
self.label.textAlignment = alignment;
}
- (void)insertSpaceAtLeast {
UIView *space = [[UIView alloc] init];
[self.stackView addArrangedSubview:space];
}
@end

View File

@@ -1,18 +0,0 @@
//
// SexAgeLabel.h
// YuMi
//
// Created by P on 2024/12/11.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface SexAgeLabel : UIView
- (void)updateSex:(BOOL)isMale age:(NSInteger)age;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,65 +0,0 @@
//
// SexAgeLabel.m
// YuMi
//
// Created by P on 2024/12/11.
//
#import "SexAgeLabel.h"
@interface SexAgeLabel ()
@property(nonatomic, strong) UIView *pillBackground;
@property(nonatomic, strong) UIImageView *sexImageView;
@property(nonatomic, strong) UILabel *ageLabel;
@end
@implementation SexAgeLabel
- (instancetype)init {
if (self = [super init]) {
// self.frame = CGRectMake(0, 0, 35, 16);
[self setCornerRadius:8];
[self addGradientBackgroundWithColors:@[[UIColor redColor], [UIColor blueColor]] startPoint:CGPointMake(0.5, 0) endPoint:CGPointMake(0.5, 1) cornerRadius:8];
[self addSubview:self.sexImageView];
[self addSubview:self.ageLabel];
[self.sexImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.mas_equalTo(self);
make.leading.mas_equalTo(2);
make.width.height.mas_equalTo(8);
}];
[self.ageLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.mas_equalTo(self);
make.leading.mas_equalTo(self.sexImageView.mas_trailing).offset(2);
make.trailing.mas_equalTo(-2);
}];
}
return self;
}
- (void)updateSex:(BOOL)isMale age:(NSInteger)age {
self.sexImageView.image = isMale ? kImage(@"session_user_sex_male") : kImage(@"session_user_sex_female");
self.ageLabel.text = @(age).stringValue;
}
- (UIImageView *)sexImageView {
if (!_sexImageView) {
_sexImageView = [[UIImageView alloc] init];
_sexImageView.contentMode = UIViewContentModeScaleAspectFit;
}
return _sexImageView;
}
- (UILabel *)ageLabel {
if (!_ageLabel) {
_ageLabel = [UILabel labelInitWithText:@"" font:kFontSemibold(12) textColor:[UIColor whiteColor]];
}
return _ageLabel;
}
@end

View File

@@ -1,38 +0,0 @@
//
// YMSwitch.h
// YUMI
//
// Created by YUMI on 2023/2/9.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
typedef enum {
CHSwitchShapeOval,
CHSwitchShapeRectangle,
CHSwitchShapeRectangleNoCorner
} CHSwitchShape;
@interface XPSwitch : UIControl<UIGestureRecognizerDelegate>
/** 开关状态读取与设置 */
@property (nonatomic, getter = isOn) BOOL on;
/** 开关形状枚举值默认CHSwitchShapeOval */
@property (nonatomic, assign) CHSwitchShape shape;
/** 打开时的颜色 */
@property (nonatomic, strong) UIColor *onTintColor;
/** 关闭时的颜色 */
@property (nonatomic, strong) UIColor *tintColor;
/** 圆点颜色 */
@property (nonatomic, strong) UIColor *thumbTintColor;
/** 是否需要阴影效果 */
@property (nonatomic, assign) BOOL shadow;
/** 关闭时的阴影颜色 */
@property (nonatomic, strong) UIColor *tintBorderColor;
/** 打开时的阴影颜色 */
@property (nonatomic, strong) UIColor *onTintBorderColor;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,372 +0,0 @@
//
// YMSwitch.m
// YUMI
//
// Created by YUMI on 2023/2/9.
//
#import "XPSwitch.h"
#import <QuartzCore/QuartzCore.h>
static const CGFloat kAnimateDuration = 0.3f;
static const CGFloat kHorizontalAdjustment = 3.0f;
static const CGFloat kRectShapeCornerRadius = 4.0f;
static const CGFloat kThumbShadowOpacity = 0.3f;
static const CGFloat kThumbShadowRadius = 0.5f;
static const CGFloat kSwitchBorderWidth = 1.75f;
@interface XPSwitch ()
@property (nonatomic, strong) UIView *onBackgroundView;
@property (nonatomic, strong) UIView *offBackgroundView;
@property (nonatomic, strong) UIView *thumbView;
@end
@implementation XPSwitch
@synthesize onBackgroundView = _onBackgroundView;
@synthesize offBackgroundView = _offBackgroundView;
@synthesize thumbView = _thumbView;
@synthesize on = _on;
@synthesize shape = _shape;
@synthesize onTintColor = _onTintColor;
@synthesize tintColor = _tintColor;
@synthesize thumbTintColor = _thumbTintColor;
@synthesize shadow = _shadow;
@synthesize onTintBorderColor = _onTintBorderColor;
@synthesize tintBorderColor = _tintBorderColor;
#pragma mark - View
- (id)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self setupUI];
}
return self;
}
- (void) awakeFromNib {
[super awakeFromNib];
[self setupUI];
}
- (void)setupUI {
self.shape = CHSwitchShapeOval;
[self setBackgroundColor:[UIColor clearColor]];
// Background view for ON
self.onBackgroundView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
[self.onBackgroundView setBackgroundColor:[UIColor colorWithRed:(19.0f/255.0f) green:(121.0f/255.0f) blue:(208.0f/255.0f) alpha:1.0f]];
[self.onBackgroundView.layer setCornerRadius:self.frame.size.height/2];
[self.onBackgroundView.layer setShouldRasterize:YES];
[self.onBackgroundView.layer setRasterizationScale:[UIScreen mainScreen].scale];
[self addSubview:self.onBackgroundView];
// Background view for OFF
self.offBackgroundView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
[self.offBackgroundView setBackgroundColor:[UIColor whiteColor]];
[self.offBackgroundView.layer setCornerRadius:self.frame.size.height/2];
[self.offBackgroundView.layer setShouldRasterize:YES];
[self.offBackgroundView.layer setRasterizationScale:[UIScreen mainScreen].scale];
[self addSubview:self.offBackgroundView];
// Round switch view
self.thumbView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.frame.size.height-kHorizontalAdjustment, self.frame.size.height-kHorizontalAdjustment)];
[self.thumbView setBackgroundColor:[UIColor whiteColor]];
[self.thumbView setUserInteractionEnabled:YES];
[self.thumbView.layer setCornerRadius:(self.frame.size.height-kHorizontalAdjustment)/2];
[self.thumbView.layer setShadowOffset:CGSizeMake(0, 1)];
[self.thumbView.layer setShouldRasterize:YES];
[self.thumbView.layer setShadowOpacity:kThumbShadowOpacity];
[self.thumbView.layer setRasterizationScale:[UIScreen mainScreen].scale];
[self addSubview:self.thumbView];
self.shadow = YES;
// Default to OFF position
[self.thumbView setCenter:CGPointMake(self.thumbView.frame.size.width/2, self.frame.size.height/2)];
// Handle Thumb Tap Gesture
UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(handleSwitchTap:)];
[tapGestureRecognizer setDelegate:self];
[self.thumbView addGestureRecognizer:tapGestureRecognizer];
// Handle Background Tap Gesture
UITapGestureRecognizer *tapBgGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleBgTap:)];
[tapBgGestureRecognizer setDelegate:self];
[self addGestureRecognizer:tapBgGestureRecognizer];
// Handle Thumb Pan Gesture
UIPanGestureRecognizer *panGestureRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePan:)];
[panGestureRecognizer setDelegate:self];
[self.thumbView addGestureRecognizer:panGestureRecognizer];
[self setOn:NO];
}
#pragma mark - Accessor
- (BOOL)isOn {
return _on;
}
- (void)setOn:(BOOL)on {
if (_on != on)
_on = on;
if (_on) {
[self.onBackgroundView setAlpha:1.0];
self.offBackgroundView.transform = CGAffineTransformMakeScale(0.0, 0.0);
self.thumbView.center = CGPointMake(self.onBackgroundView.frame.size.width - (self.thumbView.frame.size.width + kHorizontalAdjustment)/2, self.thumbView.center.y);
}
else {
[self.onBackgroundView setAlpha:0.0];
self.offBackgroundView.transform = CGAffineTransformMakeScale(1.0, 1.0);
self.thumbView.center = CGPointMake((self.thumbView.frame.size.width+kHorizontalAdjustment)/2, self.thumbView.center.y);
}
}
- (void)setOnTintColor:(UIColor *)color
{
if (_onTintColor != color)
_onTintColor = color;
[self.onBackgroundView setBackgroundColor:color];
}
- (void)setOnTintBorderColor:(UIColor *)color
{
if (_onTintBorderColor != color)
_onTintBorderColor = color;
[self.onBackgroundView.layer setBorderColor:color.CGColor];
if (color)
[self.onBackgroundView.layer setBorderWidth:kSwitchBorderWidth];
else
[self.onBackgroundView.layer setBorderWidth:0.0];
}
- (void)setTintColor:(UIColor *)color
{
if (_tintColor != color)
_tintColor = color;
[self.offBackgroundView setBackgroundColor:color];
}
- (void)setTintBorderColor:(UIColor *)color
{
if (_tintBorderColor != color)
_tintBorderColor = color;
[self.offBackgroundView.layer setBorderColor:color.CGColor];
if (color)
[self.offBackgroundView.layer setBorderWidth:kSwitchBorderWidth];
else
[self.offBackgroundView.layer setBorderWidth:0.0];
}
- (void)setThumbTintColor:(UIColor *)color
{
if (_thumbTintColor != color)
_thumbTintColor = color;
[self.thumbView setBackgroundColor:color];
}
- (void)setShape:(CHSwitchShape)newShape
{
if (_shape != newShape)
_shape = newShape;
if (newShape == CHSwitchShapeOval)
{
[self.onBackgroundView.layer setCornerRadius:self.frame.size.height/2];
[self.offBackgroundView.layer setCornerRadius:self.frame.size.height/2];
[self.thumbView.layer setCornerRadius:(self.frame.size.height-kHorizontalAdjustment)/2];
}
else if (newShape == CHSwitchShapeRectangle)
{
[self.onBackgroundView.layer setCornerRadius:kRectShapeCornerRadius];
[self.offBackgroundView.layer setCornerRadius:kRectShapeCornerRadius];
[self.thumbView.layer setCornerRadius:kRectShapeCornerRadius];
}
else if (newShape == CHSwitchShapeRectangleNoCorner)
{
[self.onBackgroundView.layer setCornerRadius:0];
[self.offBackgroundView.layer setCornerRadius:0];
[self.thumbView.layer setCornerRadius:0];
}
}
- (void)setShadow:(BOOL)showShadow
{
if (_shadow != showShadow)
_shadow = showShadow;
if (showShadow)
{
[self.thumbView.layer setShadowOffset:CGSizeMake(0, 1)];
[self.thumbView.layer setShadowRadius:kThumbShadowRadius];
[self.thumbView.layer setShadowOpacity:kThumbShadowOpacity];
}
else
{
[self.thumbView.layer setShadowRadius:0.0];
[self.thumbView.layer setShadowOpacity:0.0];
}
}
#pragma mark - Animation
- (void)animateToDestination:(CGPoint)centerPoint withDuration:(CGFloat)duration switch:(BOOL)on
{
[UIView animateWithDuration:duration
delay:0.0f
options:UIViewAnimationOptionCurveEaseOut
animations:^{
self.thumbView.center = centerPoint;
if (on)
{
[self.onBackgroundView setAlpha:1.0];
}
else
{
[self.onBackgroundView setAlpha:0.0];
}
}
completion:^(BOOL finished) {
if (finished)
{
[self updateSwitch:on];
}
}];
[UIView animateWithDuration:duration
delay:0.075f
options:UIViewAnimationOptionCurveEaseOut
animations:^{
if (on)
{
self.offBackgroundView.transform = CGAffineTransformMakeScale(0.0, 0.0);
}
else
{
self.offBackgroundView.transform = CGAffineTransformMakeScale(1.0, 1.0);
}
}
completion:^(BOOL finished) {
}];
}
#pragma mark - Gesture Recognizers
- (void)handlePan:(UIPanGestureRecognizer *)recognizer
{
CGPoint translation = [recognizer translationInView:self.thumbView];
// Check the new center to see if within the boud
CGPoint newCenter = CGPointMake(recognizer.view.center.x + translation.x,
recognizer.view.center.y);
if (newCenter.x < (recognizer.view.frame.size.width+kHorizontalAdjustment)/2 || newCenter.x > self.onBackgroundView.frame.size.width-(recognizer.view.frame.size.width+kHorizontalAdjustment)/2)
{
// New center is Out of bound. Animate to left or right position
if(recognizer.state == UIGestureRecognizerStateBegan ||
recognizer.state == UIGestureRecognizerStateChanged)
{
CGPoint velocity = [recognizer velocityInView:self.thumbView];
if (velocity.x >= 0)
{
// Animate move to right
[self animateToDestination:CGPointMake(self.onBackgroundView.frame.size.width - (self.thumbView.frame.size.width+kHorizontalAdjustment)/2, recognizer.view.center.y) withDuration:kAnimateDuration switch:YES];
}
else
{
// Animate move to left
[self animateToDestination:CGPointMake((self.thumbView.frame.size.width+kHorizontalAdjustment)/2, recognizer.view.center.y) withDuration:kAnimateDuration switch:NO];
}
}
return;
}
// Only allow vertical pan
recognizer.view.center = CGPointMake(recognizer.view.center.x + translation.x,
recognizer.view.center.y);
[recognizer setTranslation:CGPointMake(0, 0) inView:self.thumbView];
CGPoint velocity = [recognizer velocityInView:self.thumbView];
if(recognizer.state == UIGestureRecognizerStateEnded)
{
if (velocity.x >= 0)
{
if (recognizer.view.center.x < self.onBackgroundView.frame.size.width - (self.thumbView.frame.size.width+kHorizontalAdjustment)/2)
{
// Animate move to right
[self animateToDestination:CGPointMake(self.onBackgroundView.frame.size.width - (self.thumbView.frame.size.width+kHorizontalAdjustment)/2, recognizer.view.center.y) withDuration:kAnimateDuration switch:YES];
}
}
else
{
// Animate move to left
[self animateToDestination:CGPointMake((self.thumbView.frame.size.width+kHorizontalAdjustment)/2, recognizer.view.center.y) withDuration:kAnimateDuration switch:NO];
}
}
}
- (void)handleSwitchTap:(UIPanGestureRecognizer *)recognizer
{
if (recognizer.state == UIGestureRecognizerStateEnded)
{
if (self.isOn)
{
// Animate move to left
[self animateToDestination:CGPointMake((self.thumbView.frame.size.width+kHorizontalAdjustment)/2, recognizer.view.center.y) withDuration:kAnimateDuration switch:NO];
}
else
{
// Animate move to right
[self animateToDestination:CGPointMake(self.onBackgroundView.frame.size.width - (self.thumbView.frame.size.width+kHorizontalAdjustment)/2, recognizer.view.center.y) withDuration:kAnimateDuration switch:YES];
}
}
}
- (void)handleBgTap:(UIPanGestureRecognizer *)recognizer
{
if (recognizer.state == UIGestureRecognizerStateEnded)
{
if (self.isOn)
{
// Animate move to left
[self animateToDestination:CGPointMake((self.thumbView.frame.size.width+kHorizontalAdjustment)/2, self.thumbView.center.y) withDuration:kAnimateDuration switch:NO];
}
else
{
// Animate move to right
[self animateToDestination:CGPointMake(self.onBackgroundView.frame.size.width - (self.thumbView.frame.size.width+kHorizontalAdjustment)/2, self.thumbView.center.y) withDuration:kAnimateDuration switch:YES];
}
}
}
#pragma mark -
- (void)updateSwitch:(BOOL)on
{
if (_on != on)
_on = on;
[self sendActionsForControlEvents:UIControlEventValueChanged];
}
@end

View File

@@ -358,7 +358,19 @@ NSString *const EPMomentPublishSuccessNotification = @"EPMomentPublishSuccessNot
#pragma mark - Lazy #pragma mark - Lazy
- (UIView *)navView { if (!_navView) { _navView = [UIView new]; _navView.backgroundColor = [UIColor clearColor]; } return _navView; } - (UIView *)navView { if (!_navView) { _navView = [UIView new]; _navView.backgroundColor = [UIColor clearColor]; } return _navView; }
- (UIButton *)backButton { if (!_backButton) { _backButton = [UIButton buttonWithType:UIButtonTypeCustom]; [_backButton setImage:[UIImage imageNamed:@"common_nav_back"] forState:UIControlStateNormal]; [_backButton addTarget:self action:@selector(onBack) forControlEvents:UIControlEventTouchUpInside]; } return _backButton; } - (UIButton *)backButton {
if (!_backButton) {
_backButton = [UIButton buttonWithType:UIButtonTypeCustom];
// 使
UIImage *backImage = [UIImage systemImageNamed:@"chevron.left"];
UIImageSymbolConfiguration *config = [UIImageSymbolConfiguration configurationWithPointSize:20 weight:UIImageSymbolWeightMedium];
backImage = [backImage imageByApplyingSymbolConfiguration:config];
[_backButton setImage:backImage forState:UIControlStateNormal];
[_backButton setTintColor:[UIColor whiteColor]]; //
[_backButton addTarget:self action:@selector(onBack) forControlEvents:UIControlEventTouchUpInside];
}
return _backButton;
}
- (UILabel *)titleLabel { - (UILabel *)titleLabel {
if (!_titleLabel) { if (!_titleLabel) {
_titleLabel = [UILabel new]; _titleLabel = [UILabel new];

View File

@@ -1,23 +0,0 @@
//
// FeedBackConfigModel.h
// YuMi
//
// Created by P on 2024/7/3.
//
#import "PIBaseModel.h"
NS_ASSUME_NONNULL_BEGIN
@interface FeedBackTypeModel : PIBaseModel
@property (nonatomic, copy) NSString *desc;
@property (nonatomic, copy) NSString *type;
@end
@interface FeedBackConfigModel : PIBaseModel
@property (nonatomic, copy) NSDictionary *customContactMap;
@property (nonatomic, copy) NSArray <FeedBackTypeModel *>*typeEnumList;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,20 +0,0 @@
//
// FeedBackConfigModel.m
// YuMi
//
// Created by P on 2024/7/3.
//
#import "FeedBackConfigModel.h"
@implementation FeedBackTypeModel
@end
@implementation FeedBackConfigModel
+ (NSDictionary *)objectClassInArray{
return @{
@"typeEnumList":FeedBackTypeModel.class
};
}
@end

View File

@@ -1,25 +0,0 @@
//
// LoginAreaModel.h
// YuMi
//
// Created by YuMi on 2023/6/25.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface LoginAreaModel : PIBaseModel
@property (nonatomic,copy) NSString *codeId;
@property (nonatomic,copy) NSString *name;
@property (nonatomic,copy) NSString *abbr;
@property (nonatomic,copy) NSString *code;
@property (nonatomic,copy) NSString *seq;
@property (nonatomic,copy) NSString *status;
@property (nonatomic,copy) NSString *region;
@property (nonatomic,copy) NSString *create_time;
@property (nonatomic,copy) NSString *update_time;
@property (nonatomic,copy) NSString * mcc;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// LoginAreaModel.m
// YuMi
//
// Created by YuMi on 2023/6/25.
//
#import "LoginAreaModel.h"
@implementation LoginAreaModel
@end

View File

@@ -1,26 +0,0 @@
//
// RegionListInfo.h
// YuMi
//
// Created by P on 2024/12/17.
//
#import "PIBaseModel.h"
NS_ASSUME_NONNULL_BEGIN
@interface RegionListInfo : PIBaseModel
@property(nonatomic, assign) BOOL checked;
@property(nonatomic, copy) NSString *code;
@property(nonatomic, copy) NSString *icon;
@property(nonatomic, copy) NSString *id;
@property(nonatomic, copy) NSString *name;
@property(nonatomic, copy) NSString *partitionDesc;
@property(nonatomic, assign) NSInteger partitionId;
@property(nonatomic, copy) NSString *regionDesc;
@property(nonatomic, assign) NSInteger seq;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// RegionListInfo.m
// YuMi
//
// Created by P on 2024/12/17.
//
#import "RegionListInfo.h"
@implementation RegionListInfo
@end

View File

@@ -1,24 +0,0 @@
//
// ThirdUserInfo.h
// YUMI
//
// Created by YUMI on 2021/9/13.
//
#import "NSObject+MJExtension.h"
NS_ASSUME_NONNULL_BEGIN
@interface ThirdUserInfo : PIBaseModel
///用户名
@property (nonatomic,copy) NSString *userName;
///头像的地址
@property (nonatomic,copy) NSString *avatarUrl;
@property (nonatomic,copy) NSString * openid;
@property (nonatomic,copy) NSString * access_token;
@property (nonatomic,copy) NSString * unionid;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// ThirdUserInfo.m
// YUMI
//
// Created by YUMI on 2021/9/13.
//
#import "ThirdUserInfo.h"
@implementation ThirdUserInfo
@end

View File

@@ -1,16 +0,0 @@
//
// LoginBindPhonePresent.h
// YUMI
//
// Created by YUMI on 2021/9/15.
//
#import "BaseMvpPresenter.h"
NS_ASSUME_NONNULL_BEGIN
@interface LoginBindPhonePresent : BaseMvpPresenter
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,17 +0,0 @@
//
// LoginBindPhonePresent.m
// YUMI
//
// Created by YUMI on 2021/9/15.
//
#import "LoginBindPhonePresent.h"
#import "BaseMvpProtocol.h"
@implementation LoginBindPhonePresent
- (id<BaseMvpProtocol>)getView {
return ((id<BaseMvpProtocol>) [super getView]);
}
@end

View File

@@ -1,25 +0,0 @@
//
// LoginForgetPasswordPresent.h
// YUMI
//
// Created by YUMI on 2021/9/10.
//
#import "BaseMvpPresenter.h"
#import "YUMINNNN.h"
NS_ASSUME_NONNULL_BEGIN
@interface LoginForgetPasswordPresent : BaseMvpPresenter
/// 获取手机的验证码
/// @param phone 手机号
/// @param type 类型
- (void)phoneSmsCode:(NSString *)phone type:(GetSmsType)type phoneAreaCode:(NSString *)phoneAreaCode;
/// 没有登录的时候 重置密码
/// @param phone 手机号
/// @param newPwd 新的密码
/// @param smsCode 验证码
- (void)resetPassword:(NSString *)phone newPwd:(NSString *)newPwd smsCode:(NSString *)smsCode phoneAreaCode:(NSString *)phoneAreaCode;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,49 +0,0 @@
//
// LoginForgetPasswordPresent.m
// YUMI
//
// Created by YUMI on 2021/9/10.
//
#import "LoginForgetPasswordPresent.h"
///Tool
#import "AccountInfoStorage.h"
#import "DESEncrypt.h"
#import "YUMIConstant.h"
///Api
#import "Api+Login.h"
///Presenter
#import "LoginForgetPasswordPresent.h"
///Protocol
#import "LoginForgetPasswordProtocol.h"
@implementation LoginForgetPasswordPresent
- (id<LoginForgetPasswordProtocol>)getView {
return ((id<LoginForgetPasswordProtocol>) [super getView]);
}
///
/// @param phone
/// @param type
- (void)phoneSmsCode:(NSString *)phone type:(GetSmsType)type phoneAreaCode:(NSString *)phoneAreaCode{
NSString * desPhone = [DESEncrypt encryptUseDES:phone key:KeyWithType(KeyType_PasswordEncode)];
[Api phoneSmsCode:[self createHttpCompletion:^(id _Nonnull data) {
[[self getView] phoneSmsCodeSuccess];
}] mobile:desPhone type:[NSString stringWithFormat:@"%lu", (unsigned long)type] phoneAreaCode:phoneAreaCode];
}
///
/// @param phone
/// @param newPwd
/// @param smsCode
- (void)resetPassword:(NSString *)phone newPwd:(NSString *)newPwd smsCode:(NSString *)smsCode phoneAreaCode:(NSString *)phoneAreaCode{
NSString * desPassword = [DESEncrypt encryptUseDES:newPwd key:KeyWithType(KeyType_PasswordEncode)];
NSString * desPhone = [DESEncrypt encryptUseDES:phone key:KeyWithType(KeyType_PasswordEncode)];
[Api resetPasswordWithPhone:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
[[self getView] resetPasswrodSuccess];
} showLoading:YES] phone:desPhone newPwd:desPassword smsCode:smsCode phoneAreaCode:phoneAreaCode];
}
@end

View File

@@ -1,41 +0,0 @@
//
// LoginFullInfoPresenter.h
// YUMI
//
// Created by YUMI on 2021/9/14.
//
#import "BaseMvpPresenter.h"
NS_ASSUME_NONNULL_BEGIN
@class ThirdUserInfo, RegionListInfo;
@interface LoginFullInfoPresenter : BaseMvpPresenter
/// 获取保存的第三方的数据模型
- (ThirdUserInfo *)getThirdUserInfo;
/// 随机获取昵称
- (void)randomRequestNick;
/// 补全资料
/// @param avatar 头像
/// @param gender 性别
/// @param nick 昵称
/// @param inviteCode 邀请码
/// @param roomUid 邀请的那个房间的uid
/// @param shareUid 邀请人的uid
/// @param shareChannel 邀请的渠道
- (void)complectionInfoWithAvatar:(NSString *)avatar
gender:(NSString *)gender
nick:(NSString *)nick
inviteCode:(NSString * __nullable)inviteCode
roomUid:(NSString * __nullable)roomUid
shareUid:(NSString * __nullable)shareUid
shareChannel:(NSString * __nullable)shareChannel
regionId:(NSString *)regionId;
- (void)loadAllRegionInfo:(void(^)(NSArray <RegionListInfo *>*array))success failure:(void(^)(NSError *error))failure;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,106 +0,0 @@
//
// LoginFullInfoPresenter.m
// YUMI
//
// Created by YUMI on 2021/9/14.
//
#import "LoginFullInfoPresenter.h"
///Api
#import "Api+Login.h"
#import "LoginFullInfoProtocol.h"
#import "NSMutableDictionary+Saft.h"
///Tool
#import "AccountInfoStorage.h"
///Model
#import "ThirdUserInfo.h"
#import "RegionListInfo.h"
@implementation LoginFullInfoPresenter
- (id<LoginFullInfoProtocol>)getView {
return ((id<LoginFullInfoProtocol>) [super getView]);
}
///
- (ThirdUserInfo *)getThirdUserInfo {
if ([AccountInfoStorage instance].thirdUserInfo) {
return [AccountInfoStorage instance].thirdUserInfo;
}
return nil;
}
///
- (void)randomRequestNick {
[Api randomNick:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
[[self getView] requestRandomNickSuccess:data.data];
}]];
}
///
/// @param avatar
/// @param gender
/// @param nick
/// @param inviteCode
/// @param roomUid uid
/// @param shareUid uid
/// @param shareChannel
- (void)complectionInfoWithAvatar:(NSString *)avatar
gender:(NSString *)gender
nick:(NSString *)nick
inviteCode:(NSString * __nullable)inviteCode
roomUid:(NSString * __nullable)roomUid
shareUid:(NSString * __nullable)shareUid
shareChannel:(NSString * __nullable)shareChannel
regionId:(NSString *)regionId{
NSString * uid = [[AccountInfoStorage instance] getUid];
NSString * ticket = [[AccountInfoStorage instance] getTicket];
NSMutableDictionary * params = [NSMutableDictionary dictionary];
[params safeSetObject:avatar forKey:@"avatar"];
[params safeSetObject:gender forKey:@"gender"];
[params safeSetObject:nick forKey:@"nick"];
[params safeSetObject:uid forKey:@"uid"];
[params safeSetObject:ticket forKey:@"ticket"];
if (regionId.length > 0) {
[params safeSetObject:regionId forKey:@"regionId"];
}
if (inviteCode.length > 0) {
[params safeSetObject:inviteCode forKey:@"inviteCode"];
}
if (roomUid.length > 0) {
[params safeSetObject:roomUid forKey:@"roomUid"];
}
if (shareUid.length > 0) {
[params safeSetObject:shareUid forKey:@"shareUid"];
}
if (shareChannel.length > 0) {
[params safeSetObject:shareChannel forKey:@"shareChannel"];
}
[Api completeUserInfo:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
[[self getView] complementInfoSuccess];
}fail:^(NSInteger code, NSString * _Nullable msg) {
[[self getView] complementInfoFail];
} errorToast:YES] userInfo:params];
}
- (void)loadAllRegionInfo:(void(^)(NSArray <RegionListInfo *>*array))success failure:(void(^)(NSError *error))failure {
[Api requestAllRegionInfoCompletion:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
if (data.code == 200) {
NSArray *array = [RegionListInfo modelsWithArray:data.data];
if (success) {
success(array);
}
}
} fail:^(NSInteger code, NSString * _Nullable msg) {
if (failure) {
failure([NSError errorWithDomain:[NSString isEmpty:msg] ? @"" : msg code:code userInfo:nil]);
}
} showLoading:YES errorToast:YES]];
}
@end

View File

@@ -1,19 +0,0 @@
//
// LoginPasswordPresent.h
// YUMI
//
// Created by YUMI on 2021/9/9.
//
#import "BaseMvpPresenter.h"
NS_ASSUME_NONNULL_BEGIN
@interface LoginPasswordPresent : BaseMvpPresenter
/// 使用手机号和密码登录
/// @param phone 手机号
/// @param password 验证码
- (void)loginWithPhone:(NSString *)phone password:(NSString *)password;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,42 +0,0 @@
//
// LoginPasswordPresent.m
// YUMI
//
// Created by YUMI on 2021/9/9.
//
#import "LoginPasswordPresent.h"
///Http
#import "Api+Login.h"
///Tool
#import "AccountInfoStorage.h"
#import "DESEncrypt.h"
#import "YUMIConstant.h"
///Model
#import "AccountModel.h"
///Protocol
#import "LoginPasswordProtocol.h"
@implementation LoginPasswordPresent
- (id<LoginPasswordProtocol>)getView {
return ((id<LoginPasswordProtocol>) [super getView]);
}
/// 使
/// @param phone
/// @param password
- (void)loginWithPhone:(NSString *)phone password:(NSString *)password {
NSString * desPassword = [DESEncrypt encryptUseDES:password key:KeyWithType(KeyType_PasswordEncode)];
NSString * desPhone = [DESEncrypt encryptUseDES:phone key:KeyWithType(KeyType_PasswordEncode)];
[Api loginWithPassword:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
AccountModel * accountModel = [AccountModel modelWithDictionary:data.data];
if (accountModel && accountModel.access_token.length > 0) {
[[AccountInfoStorage instance] saveAccountInfo:accountModel];
}
[[self getView] phoneAndPasswordLoginSuccess];
} showLoading:YES errorToast:YES] phone:desPhone password:desPassword client_secret:@"uyzjdhds" version:@"1" client_id:@"erban-client" grant_type:@"password"];
}
@end

View File

@@ -1,35 +0,0 @@
//
// LoginVerifCodePresent.h
// YUMI
//
// Created by YUMI on 2021/9/9.
//
#import "BaseMvpPresenter.h"
#import "YUMINNNN.h"
NS_ASSUME_NONNULL_BEGIN
@interface LoginVerifCodePresent : BaseMvpPresenter
/// 获取手机的验证码
/// @param phone 手机号
/// @param type 类型
- (void)phoneSmsCode:(NSString *)phone type:(GetSmsType)type phoneAreaCode:(NSString *)phoneAreaCode;
/// 使用手机号和验证码登录
/// @param phone 手机号
/// @param code 验证码
- (void)loginWithPhone:(NSString *)phone code:(NSString *)code phoneAreaCode:(NSString *)phoneAreaCode;
/// 使用手机号和密码登录
/// @param phone 手机号
/// @param password 验证码
- (void)loginWithPhone:(NSString *)phone password:(NSString *)password;
/// 绑定手机号
/// @param phone 手机号
/// @param code 验证码
- (void)bindWithPhone:(NSString *)phone code:(NSString *)code phoneAreaCode:(NSString *)phoneAreaCode;
///绑定授权码
-(void)bindAuthorizationCodeWithAuthCode:(NSString *)authCode;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,89 +0,0 @@
//
// LoginVerifCodePresent.m
// YUMI
//
// Created by YUMI on 2021/9/9.
//
#import "LoginVerifCodePresent.h"
///
#import <ReactiveObjC/ReactiveObjC.h>
///Tool
#import "AccountInfoStorage.h"
#import "DESEncrypt.h"
#import "YUMIConstant.h"
///Api
#import "Api+Login.h"
///Presenter
#import "LoginVerifCodePresent.h"
///Protocol
#import "LoginVerifCodeProtocol.h"
///Model
#import "AccountModel.h"
@implementation LoginVerifCodePresent
- (id<LoginVerifCodeProtocol>)getView {
return ((id<LoginVerifCodeProtocol>) [super getView]);
}
///
/// @param phone
/// @param type
- (void)phoneSmsCode:(NSString *)phone type:(GetSmsType)type phoneAreaCode:(NSString *)phoneAreaCode {
NSString * desPhone = [DESEncrypt encryptUseDES:phone key:KeyWithType(KeyType_PasswordEncode)];
[Api phoneSmsCode:[self createHttpCompletion:^(id _Nonnull data) {
[[self getView] phoneSmsCodeSuccess];
}] mobile:desPhone type:[NSString stringWithFormat:@"%lu", (unsigned long)type] phoneAreaCode:phoneAreaCode];
}
/// 使
/// @param phone
/// @param code
- (void)loginWithPhone:(NSString *)phone code:(NSString *)code phoneAreaCode:(NSString *)phoneAreaCode{
NSString * desPhone = [DESEncrypt encryptUseDES:phone key:KeyWithType(KeyType_PasswordEncode)];
[Api loginWithCode:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
AccountModel * accountModel = [AccountModel modelWithDictionary:data.data];
if (accountModel && accountModel.access_token.length > 0) {
[[AccountInfoStorage instance] saveAccountInfo:accountModel];
}
[[self getView] loginWithPhoenSuccess];
} fail:^(NSInteger code, NSString * _Nullable msg) {
[[self getView] loginFailWithMsg:msg];
} errorToast:YES] phone:desPhone code:code client_secret:@"uyzjdhds" version:@"1" client_id:@"erban-client" grant_type:@"password" phoneAreaCode:phoneAreaCode];
}
/// 使
/// @param phone
/// @param password
- (void)loginWithPhone:(NSString *)phone password:(NSString *)password {
NSString * desPassword = [DESEncrypt encryptUseDES:password key:KeyWithType(KeyType_PasswordEncode)];
NSString * desPhone = [DESEncrypt encryptUseDES:phone key:KeyWithType(KeyType_PasswordEncode)];
[Api loginWithPassword:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
AccountModel * accountModel = [AccountModel modelWithDictionary:data.data];
if (accountModel && accountModel.access_token.length > 0) {
[[AccountInfoStorage instance] saveAccountInfo:accountModel];
}
[[self getView] loginSuccess];
} fail:^(NSInteger code, NSString * _Nullable msg) {
[[self getView] loginFailWithMsg:msg];
} errorToast:YES] phone:desPhone password:desPassword client_secret:@"uyzjdhds" version:@"1" client_id:@"erban-client" grant_type:@"password"];
}
///
/// @param phone
/// @param code
- (void)bindWithPhone:(NSString *)phone code:(NSString *)code phoneAreaCode:(NSString *)phoneAreaCode{
NSString * ticket = [[AccountInfoStorage instance] getTicket];
NSString * desPhone = [DESEncrypt encryptUseDES:phone key:KeyWithType(KeyType_PasswordEncode)];
[Api bindMoblieCode:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
[[self getView] bindPhoneSuccess];
} showLoading:YES] phone:desPhone code:code ticket:ticket phoneAreaCode:phoneAreaCode];
}
-(void)bindAuthorizationCodeWithAuthCode:(NSString *)authCode{
[Api bindAuthorizationCode:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
[[self getView] bindAuthorizationCodeSuccess];
}fail:^(NSInteger code, NSString * _Nullable msg) {
[[self getView]bindAuthorizationCodeFail];
} showLoading:YES errorToast:YES] authCode:authCode];
}
@end

View File

@@ -1,19 +0,0 @@
//
// LoginForgetPasswordProtocol.h
// YUMI
//
// Created by YUMI on 2021/9/10.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@protocol LoginForgetPasswordProtocol <NSObject>
///请求手机号的验证码成功
- (void)phoneSmsCodeSuccess;
///重置密码成功
- (void)resetPasswrodSuccess;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,21 +0,0 @@
//
// LoginFullInfoProtocol.h
// YUMI
//
// Created by YUMI on 2021/9/14.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@protocol LoginFullInfoProtocol <NSObject>
///随机请求一个昵称
- (void)requestRandomNickSuccess:(NSString *)nick;
///补全资料成功
- (void)complementInfoSuccess;
///补全资料失败
- (void)complementInfoFail;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,17 +0,0 @@
//
// LoginPasswordProtocol.h
// YUMI
//
// Created by YUMI on 2021/9/9.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@protocol LoginPasswordProtocol <NSObject>
///手机号密码登录成功
- (void)phoneAndPasswordLoginSuccess;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,42 +0,0 @@
//
// LoginProtocol.h
// YUMI
//
// Created by zu on 2021/9/1.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@protocol LoginProtocol <NSObject>
@optional
- (void)loginThirdPartSuccess;
- (void)loginSuccess;
- (void)emailCodeSucess:(NSString *)message type:(GetSmsType)type;
- (void)emailCodeFailure;
///请求手机号的验证码成功
- (void)phoneSmsCodeSuccess:(NSString *)message type:(GetSmsType)type;
- (void)phoneSmsCodeFailure;
///手机号登录成功
- (void)loginWithPhoenSuccess;
- (void)loginWithEmailSuccess;
///登录失败
- (void)loginFailWithMsg:(NSString *)msg;
- (void)bindingNewEmailSuccess:(NSString *)message;
- (void)bindingNewEmailFailure:(NSString *)message;
- (void)bindingNewPhoneSuccess:(NSString *)message;
- (void)bindingNewPhoneFailure:(NSString *)message;
- (void)resetEmailPasswordSuccess;
- (void)resetPhonePasswordSuccess;
- (void)checkEmailSuccess;
- (void)checkPhoneSuccess;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,29 +0,0 @@
//
// LoginVerifCodeProtocol.h
// YUMI
//
// Created by YUMI on 2021/9/9.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@protocol LoginVerifCodeProtocol <NSObject>
///请求手机号的验证码成功
- (void)phoneSmsCodeSuccess;
///手机号登录成功
- (void)loginWithPhoenSuccess;
///登录成功
- (void)loginSuccess;
///登录失败
- (void)loginFailWithMsg:(NSString *)msg;
///绑定手机号成功
- (void)bindPhoneSuccess;
///绑定授权码成功
-(void)bindAuthorizationCodeSuccess;
///绑定授权码失败
-(void)bindAuthorizationCodeFail;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,21 +0,0 @@
//
// YMLoginVerifBindPhoneProtocol.h
// YUMI
//
// Created by YUMI on 2021/9/18.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@protocol XPLoginVerifBindPhoneProtocol <NSObject>
///请求手机号的验证码成功
- (void)phoneSmsCodeSuccess;
///绑定手机号成功
- (void)bindMoblieCodeWithMoblieSuccess;
///验证绑定手机成功
- (void)checkMoblieCodeWithMoblieSuccess;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,27 +0,0 @@
//
// YMMineAnchorFansTeamModel.h
// YUMI
//
// Created by YUMI on 2022/4/8.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface XPMineAnchorFansTeamModel : PIBaseModel
///头像
@property (nonatomic, copy) NSString *anchorAvatar;
///粉丝团id
@property (nonatomic, assign) NSInteger teamId;
///粉丝团uid
@property (nonatomic, assign) NSInteger teamUid;
///粉丝团名称
@property (nonatomic, copy) NSString *anchorNick;
///粉丝团铭牌
@property (nonatomic, copy) NSString *icon;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// YMMineAnchorFansTeamModel.m
// YUMI
//
// Created by YUMI on 2022/4/8.
//
#import "XPMineAnchorFansTeamModel.h"
@implementation XPMineAnchorFansTeamModel
@end

View File

@@ -1,19 +0,0 @@
//
// BaseModelVo.h
// YuMi
//
// Created by P on 2025/6/11.
//
#import "PIBaseModel.h"
NS_ASSUME_NONNULL_BEGIN
@interface BaseModelVo : PIBaseModel
@property (nonatomic, copy) NSString *picUrl;
@property (nonatomic, copy) NSString *mp4Url;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// BaseModelVo.m
// YuMi
//
// Created by P on 2025/6/11.
//
#import "BaseModelVo.h"
@implementation BaseModelVo
@end

View File

@@ -1,36 +0,0 @@
//
// XPMineExchangeAuthorityModel.h
// YuMi
//
// Created by YuMi on 2023/2/13.
//
#import <Foundation/Foundation.h>
#import "UserLevelVo.h"
#import "YUMINNNN.h"
NS_ASSUME_NONNULL_BEGIN
@interface XPMineExchangeAuthorityModel : PIBaseModel
///用户id
@property (nonatomic,copy) NSString *uid;
///头像
@property (nonatomic,copy) NSString *avatar;
///成员平台号
@property (nonatomic,assign) NSInteger erbanNo;
///兑换权限 0=关闭1=开启
@property (nonatomic,assign) BOOL exchangeAuthStatus;
///性别
@property (nonatomic,assign) GenderType gender;
///生日
@property(nonatomic,assign) long birth;
///金币数量
@property (nonatomic,assign) double golds;
///所属公会名称
@property (nonatomic,copy) NSString *hallName;
///昵称
@property (nonatomic,copy) NSString *nick;
///用户等级
@property (nonatomic , strong) UserLevelVo * userLevelVo;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// XPMineExchangeAuthorityModel.m
// YuMi
//
// Created by YuMi on 2023/2/13.
//
#import "XPMineExchangeAuthorityModel.h"
@implementation XPMineExchangeAuthorityModel
@end

View File

@@ -1,24 +0,0 @@
//
// YMMineFootPrintModel.h
// YUMI
//
// Created by YUMI on 2022/7/26.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface XPMineFootPrintModel : PIBaseModel
@property (nonatomic, copy) NSString *roomUid;//房间uid
@property (nonatomic, copy) NSString *roomId;//房间id
@property (nonatomic, copy) NSString *title;//房间名称
@property (nonatomic, copy) NSString *avatar;//房间头像
@property (nonatomic, assign) BOOL valid;//开房状态
@property (nonatomic, assign) long long erbanNo;
@property (nonatomic, assign) long long updateTime;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// YMMineFootPrintModel.m
// YUMI
//
// Created by YUMI on 2022/7/26.
//
#import "XPMineFootPrintModel.h"
@implementation XPMineFootPrintModel
@end

View File

@@ -1,44 +0,0 @@
//
// FansInfoModel.h
// YUMI
//
// Created by YUMI on 2021/12/21.
//
#import <Foundation/Foundation.h>
#import "YUMINNNN.h"
#import "UserVipInfoVo.h"
NS_ASSUME_NONNULL_BEGIN
@interface FansInfoModel : PIBaseModel
///生日
@property(nonatomic,assign) long birth;
///头像
@property (nonatomic,copy) NSString *avatar;
///姓名
@property (nonatomic,copy) NSString *nick;
///uid
@property (nonatomic,copy) NSString *uid;
///性别
@property (nonatomic,assign) GenderType gender;
///类型
@property (nonatomic,assign) NSInteger defUser;
///魅力等级
@property (nonatomic,copy) NSString *charmUrl;
///等级
@property (nonatomic,copy) NSString *experUrl;
///签名
@property (nonatomic,copy) NSString *userDesc;
///是否有效
@property (nonatomic,assign) BOOL valid;
///当前用户所在的房间 映射的字段
@property (nonatomic,copy) NSString *userInRoomUid;
///VIP信息
@property (nonatomic, strong) UserVipInfoVo *userVipInfoVO;
///是否在房间中 本地字段
@property (nonatomic,assign) ContactUseingType useingType;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,20 +0,0 @@
//
// FansInfoModel.m
// YUMI
//
// Created by YUMI on 2021/12/21.
//
#import "FansInfoModel.h"
@implementation FansInfoModel
/// id -> ID name -> other.name
+ (NSDictionary *)replacedKeyFromPropertyName {
return @{@"experUrl":@"userLevelVo.experUrl",
@"charmUrl":@"userLevelVo.charmUrl",
@"userInRoomUid": @"userInRoom.uid"
};
}
@end

View File

@@ -1,23 +0,0 @@
//
// LocationModel.h
// YuMi
//
// Created by P on 2024/10/24.
//
#import "PIBaseModel.h"
NS_ASSUME_NONNULL_BEGIN
@interface LocationModel : PIBaseModel
@property (nonatomic, copy) NSString *code;
@property (nonatomic, assign) NSInteger id;
@property (nonatomic, copy) NSString *icon;
@property (nonatomic, assign) NSInteger partitionId;
@property (nonatomic, copy) NSString *name;
@property (nonatomic, assign) NSInteger seq;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// LocationModel.m
// YuMi
//
// Created by P on 2024/10/24.
//
#import "LocationModel.h"
@implementation LocationModel
@end

View File

@@ -1,95 +0,0 @@
//
// MedalsModel.h
// YuMi
//
// Created by P on 2025/6/17.
//
#import "PIBaseModel.h"
NS_ASSUME_NONNULL_BEGIN
@interface MedalVo : PIBaseModel
@property (nonatomic, assign) NSInteger expireSeconds;
@property (nonatomic, assign) BOOL hasGain;
@property (nonatomic, copy) NSString *id;
@property (nonatomic, assign) NSInteger level;
@property (nonatomic, copy) NSString *medalDesc;
@property (nonatomic, copy) NSString *medalId;
@property (nonatomic, copy) NSString *mp4Url;
@property (nonatomic, copy) NSString *name;
@property (nonatomic, copy) NSString *picUrl;
@property (nonatomic, assign) BOOL useStatus;
/// 将 expireSeconds 转换为 "yyyy/MM/dd" 格式的字符串
- (NSString *)expireDateString;
@end
@interface MedalSeriesItemVo : PIBaseModel
@property (nonatomic, assign) NSInteger medalLevel;
@property (nonatomic, copy) NSString *seriesName;
@property (nonatomic, copy) NSString *mp4Url;
@property (nonatomic, copy) NSString *picUrl;
@property (nonatomic, copy) NSArray <MedalVo *> *medalVos;
@end
@interface MedalSeriesVo : PIBaseModel
@property (nonatomic, assign) NSInteger type;
@property (nonatomic, copy) NSArray <MedalSeriesItemVo *> *medalSeries;
@end
@interface UserMedalsModel : PIBaseModel
@property (nonatomic, copy) NSString *avatar;
@property (nonatomic, assign) NSInteger erbanNo;
@property (nonatomic, assign) NSInteger medalNum;
@property (nonatomic, copy) NSString *nick;
@property (nonatomic, assign) NSInteger uid;
@property (nonatomic, copy) NSArray <MedalSeriesVo *> *medalSeries;
@property (nonatomic, copy) NSArray <MedalVo *>*useMedals;
@end
@interface VipMedalSeatVo : PIBaseModel
@property (nonatomic, assign) NSInteger medalSeatNum;
@property (nonatomic, assign) NSInteger vipLevel;
@end
@interface MineAllMedalModel : PIBaseModel
@property (nonatomic, copy) NSArray <MedalVo *> *allMedals;
@property (nonatomic, copy) NSDictionary <NSString *,NSArray *> *vipMedalSeatVos;
@property (nonatomic, copy) NSArray <MedalVo *> *useMedals;
@property (nonatomic, assign) NSInteger vipLevel;
@property (nonatomic, assign) NSInteger medalNum;
@end
@interface MedalsRankUserModel : PIBaseModel
@property (nonatomic, assign) NSInteger gender;
@property (nonatomic, assign) NSInteger uid;
@property (nonatomic, assign) NSInteger erbanNo;
@property (nonatomic, copy) NSString *nick;
@property (nonatomic, copy) NSString *avatar;
@property (nonatomic, assign) NSInteger birth;
@property (nonatomic, assign) NSInteger medalCount;
@property (nonatomic, assign) NSInteger rank;
@end
@interface MedalsRankModel : PIBaseModel
@property (nonatomic, strong) MedalsRankUserModel*mine;
@property (nonatomic, copy) NSArray <MedalsRankUserModel *>*rankList;
@end
@interface MedalsModel : PIBaseModel
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,89 +0,0 @@
//
// MedalsModel.m
// YuMi
//
// Created by P on 2025/6/17.
//
#import "MedalsModel.h"
@implementation MedalVo
/// expireSeconds "yyyy/MM/dd"
- (NSString *)expireDateString {
if (self.expireSeconds <= 0) {
return YMLocalizedString(@"20.20.61_text_9");
}
// + expireSeconds
NSDate *expireDate = [NSDate dateWithTimeIntervalSinceNow:self.expireSeconds];
//
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyy/MM/dd";
//
return [NSString stringWithFormat:YMLocalizedString(@"20.20.61_text_8"), [formatter stringFromDate:expireDate]];
}
@end
@implementation MedalSeriesItemVo
+ (NSDictionary *)mj_objectClassInArray {
return @{
@"medalVos" : [MedalVo class]
};
}
@end
@implementation MedalSeriesVo
+ (NSDictionary *)mj_objectClassInArray {
return @{
@"medalSeries" : [MedalSeriesItemVo class]
};
}
@end
@implementation UserMedalsModel
+ (NSDictionary *)mj_objectClassInArray {
return @{
@"medalSeries" : [MedalSeriesVo class],
@"useMedals" : [MedalVo class]
};
}
@end
@implementation VipMedalSeatVo
@end
@implementation MineAllMedalModel
+ (NSDictionary *)mj_objectClassInArray {
return @{
@"allMedals" : [MedalVo class],
@"useMedals" : [MedalVo class],
// @"vipMedalSeatVos" : [VipMedalSeatVo class],
// @"allMedals" : [MedalVo class],
};
}
@end
@implementation MedalsRankUserModel
@end
@implementation MedalsRankModel
+ (NSDictionary *)mj_objectClassInArray {
return @{
@"rankList" : [MedalsRankUserModel class],
};
}
@end
@implementation MedalsModel
@end

View File

@@ -1,31 +0,0 @@
//
// RechargeListModel.h
// YUMI
//
// Created by YUMI on 2021/9/24.
//
#import "NSObject+MJExtension.h"
NS_ASSUME_NONNULL_BEGIN
@interface RechargeListModel : PIBaseModel
///充值的id
@property(nonatomic, strong) NSString *chargeProdId;
@property(nonatomic, strong) NSString *prodName;
@property (copy, nonatomic) NSString *prodDesc;
@property(nonatomic, strong) NSNumber *money;
@property(nonatomic, strong) NSNumber *giftGoldNum;
@property(nonatomic, strong) NSString *channel;
//充值banner位数据
@property(nonatomic,copy) NSString *bannerUrl;
@property(nonatomic,copy) NSString *linkUrl;
@property (nonatomic, assign) NSInteger chargeGoldNum;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// RechargeListModel.m
// YUMI
//
// Created by YUMI on 2021/9/24.
//
#import "RechargeListModel.h"
@implementation RechargeListModel
@end

View File

@@ -1,34 +0,0 @@
//
// WalletBalanceInfoModel.h
// YUMI
//
// Created by YUMI on 2021/9/26.
//
#import "NSObject+MJExtension.h"
NS_ASSUME_NONNULL_BEGIN
@interface WalletInfoModel : PIBaseModel
/// 用户 uid
@property(nonatomic, assign) NSInteger uid;
/// 钻石数量
@property(nonatomic, copy)NSString *goldNum;
//钻石数量
@property(nonatomic, copy)NSString *diamonds;
//金币数量
@property(nonatomic, assign) double golds;
@property(nonatomic, copy) NSString *chargeGoldNum;
@property(nonatomic, assign)NSInteger amount;
/// 钻石数量
@property(nonatomic, assign) double diamondNum;
@property(nonatomic, copy)NSString *depositNum;
/// 是否有钻石转增功能
@property (nonatomic, assign) BOOL sendGold;
//是否可以在送礼时合并使用金币
@property(nonatomic,assign) BOOL canGoldSendGift;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// WalletBalanceInfoModel.m
// YUMI
//
// Created by YUMI on 2021/9/26.
//
#import "WalletInfoModel.h"
@implementation WalletInfoModel
@end

View File

@@ -1,74 +0,0 @@
//
// RechargeUserModel.h
// YuMi
//
// Created by P on 2024/12/30.
//
#import "PIBaseModel.h"
NS_ASSUME_NONNULL_BEGIN
@interface DiamondGiveHistoryVo : PIBaseModel
@property(nonatomic, copy) NSString *id;
@property(nonatomic, assign) NSInteger fromUid;
@property(nonatomic, assign) NSInteger targetUid;
@property(nonatomic, assign) NSInteger targetErbanNo;
@property(nonatomic, assign) NSInteger readDiamondNum;
@property(nonatomic, copy) NSString *createTimeStr;
@property(nonatomic, copy) NSString *targetNick;
@property(nonatomic, copy) NSString *targetAvatar;
@property(nonatomic, assign) NSInteger diamondNum;
@property(nonatomic, assign) NSTimeInterval createTime;
@property(nonatomic, assign) NSInteger guildUsdNum;
@end
@interface DiamondHistoryModel : PIBaseModel
@property(nonatomic, assign) NSInteger totalGiveGold;
@property(nonatomic, assign) NSInteger totalGiveGoldUsd;
@property(nonatomic, copy) NSString *cycleDateStr;
@property(nonatomic, copy) NSArray <DiamondGiveHistoryVo *>* diamondGiveHistoryVoList;
@end
@interface SubRechargeUserModel : PIBaseModel
@property(nonatomic, copy) NSString *id;
@property(nonatomic, assign) NSInteger uid;
@property(nonatomic, assign) NSInteger manageUid; // 有非 0 值,则表示用户为自代理,要在对应的 UI 隐藏自代理入口
@property(nonatomic, assign) NSInteger starLevel;
@property(nonatomic, assign) BOOL hasCharge;
@property(nonatomic, copy) NSString *erbanNo;
@property(nonatomic, copy) NSString *nick;
@property(nonatomic, copy) NSString *avatar;
@property(nonatomic, assign) BOOL isOnline;
@property(nonatomic, assign) NSInteger seq;
@property(nonatomic, assign) NSInteger starLevelSeq;
@property(nonatomic, assign) CGFloat totalGiveGoldUsd; //薪资
@property(nonatomic, assign) CGFloat totalGiveGold; //转赠金币
@end
@interface RechargeUserModel : PIBaseModel
@property(nonatomic, copy) NSString *avatar;
@property(nonatomic, copy) NSString *erbanNo;
@property(nonatomic, assign) NSInteger giveGold;
@property(nonatomic, copy) NSString *id;
@property(nonatomic, assign) BOOL isOnline;
@property(nonatomic, copy) NSString *nick;
@property(nonatomic, assign) NSInteger roomId;
@property(nonatomic, assign) NSInteger starLevel;
@property(nonatomic, assign) NSInteger type;
@property(nonatomic, assign) NSInteger uid;
@property(nonatomic, assign) CGFloat totalGiveGoldUsd; //薪资
@property(nonatomic, assign) CGFloat totalGiveGold; //转赠金币
@property(nonatomic, assign) NSInteger subNum;
@property(nonatomic, assign) NSInteger manageUid;
+ (RechargeUserModel *)testModel;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,38 +0,0 @@
//
// RechargeUserModel.m
// YuMi
//
// Created by P on 2024/12/30.
//
#import "RechargeUserModel.h"
@implementation DiamondGiveHistoryVo
@end
@implementation DiamondHistoryModel
+ (NSDictionary *)objectClassInArray{
return @{
@"diamondGiveHistoryVoList":DiamondGiveHistoryVo.class
};
}
@end
@implementation SubRechargeUserModel
@end
@implementation RechargeUserModel
+ (RechargeUserModel *)testModel {
RechargeUserModel *model = [[RechargeUserModel alloc] init];
model.starLevel = 3;
return model;
}
@end

View File

@@ -1,20 +0,0 @@
//
// XPExchangeDiamondsModel.h
// YuMi
//
// Created by YuMi on 2022/11/17.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface XPExchangeDiamondsModel : PIBaseModel
@property (nonatomic,assign) double diamonds;//当前钱包
@property (nonatomic,assign) double golds;//当前钱包
@property (nonatomic,assign) double rate;//比率
@property (nonatomic,assign) NSInteger maxDiamonds;
@property (nonatomic,assign) NSInteger minDiamonds;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// XPExchangeDiamondsModel.m
// YuMi
//
// Created by YuMi on 2022/11/17.
//
#import "XPExchangeDiamondsModel.h"
@implementation XPExchangeDiamondsModel
@end

View File

@@ -1,43 +0,0 @@
//
// XPIncomeRecordGoldDetailsModel.h
// YuMi
//
// Created by YuMi on 2022/11/24.
//
#import <Foundation/Foundation.h>
@class XPIncomeRecordGoldDetailItemModel;
NS_ASSUME_NONNULL_BEGIN
@interface XPIncomeRecordGoldDetailsModel : PIBaseModel
@property (nonatomic,copy) NSString *total;
@property (nonatomic,copy) NSString *totalRemainGolds;
@property (nonatomic,copy) NSString *totalEarnGolds;
@property (nonatomic,copy) NSString *totalGiftGolds;
@property (nonatomic,copy) NSString *totalExchangeGolds;
@property (nonatomic,copy) NSDictionary *hallMemberMap;
@property (nonatomic,copy) NSArray<XPIncomeRecordGoldDetailItemModel *> *hallVoList;
@property (nonatomic,copy) NSArray<XPIncomeRecordGoldDetailItemModel *> *hallMember;
@end
@interface XPIncomeRecordGoldDetailItemModel : PIBaseModel
@property (nonatomic,copy) NSString *uid;
@property (nonatomic,copy) NSString *nick;//昵称
@property (nonatomic,copy) NSString *avatar;//头像
@property (nonatomic,copy) NSString *giftDiamonds;//钻石
@property (nonatomic,copy) NSString *exchangeGolds;//已兑换金币
@property (nonatomic,copy) NSString *giftGolds;//兑换金币数
@property (nonatomic,copy) NSString *remainGolds;//结算金币数
@property (nonatomic,copy) NSString *hallId;
@property (nonatomic,copy) NSString *hallOwnerUid;
@property (nonatomic,copy) NSString *hallAvatar;//房间头像
@property (nonatomic,copy) NSString *hallName;//房间名
@property (nonatomic,copy) NSString *ownerAvatar;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,23 +0,0 @@
//
// XPIncomeRecordGoldDetailsModel.m
// YuMi
//
// Created by YuMi on 2022/11/24.
//
#import "XPIncomeRecordGoldDetailsModel.h"
@implementation XPIncomeRecordGoldDetailsModel
+ (NSDictionary *)objectClassInArray {
return @{
@"hallVoList":XPIncomeRecordGoldDetailItemModel.class,
@"hallMember":XPIncomeRecordGoldDetailItemModel.class
};
}
@end
@implementation XPIncomeRecordGoldDetailItemModel
@end

View File

@@ -1,24 +0,0 @@
//
// XPIncomeRecordModel.h
// YuMi
//
// Created by YuMi on 2022/11/17.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface XPIncomeRecordModel : PIBaseModel
@property (nonatomic,copy) NSString *uid;
@property (nonatomic,assign) double diamonds;
@property (nonatomic,assign) double crystals;
@property (nonatomic,assign) double golds;
@property (nonatomic,assign) BOOL isClan;
///
@property (nonatomic,assign) NSInteger roomType;
///
@property (nonatomic,assign) BOOL hasGoldExchangeAuth;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// XPIncomeRecordModel.m
// YuMi
//
// Created by YuMi on 2022/11/17.
//
#import "XPIncomeRecordModel.h"
@implementation XPIncomeRecordModel
@end

View File

@@ -1,27 +0,0 @@
//
// UserGiftWallInfoModel.h
// YUMI
//
// Created by YUMI on 2022/4/14.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface UserGiftWallInfoModel : PIBaseModel
///目标用户的uid
@property (nonatomic,copy) NSString *uid;
///价格
@property (nonatomic,assign) NSInteger giftPrice;
///id
@property (nonatomic,assign) NSInteger giftId;
///名称
@property (nonatomic,copy) NSString *giftName;
///礼物
@property (nonatomic,copy) NSString *picUrl;
///个数
@property (nonatomic,assign) NSInteger reciveCount;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// UserGiftWallInfoModel.m
// YUMI
//
// Created by YUMI on 2022/4/14.
//
#import "UserGiftWallInfoModel.h"
@implementation UserGiftWallInfoModel
@end

View File

@@ -1,40 +0,0 @@
//
// XPMineUserInfoTagModel.h
// xplan-ios
//
// Created by duoban on 2023/2/15.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface XPMineUserInfoTagModel : PIBaseModel
///
@property (nonatomic,copy) NSArray *groups;
///
@property (nonatomic,copy) NSArray *labels;
///
@property (nonatomic,copy) NSArray *meLabels;
@end
@interface XPMineUserInfoTagItemModel : PIBaseModel
///
@property (nonatomic,copy) NSString *group;
///
@property (nonatomic,copy) NSString *label;
///
@property (nonatomic,assign) BOOL picked;
///
@property (nonatomic,assign) CGFloat width;
///
@property (nonatomic,assign) BOOL isNoChooseTag;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,21 +0,0 @@
//
// XPMineUserInfoTagModel.m
// xplan-ios
//
// Created by duoban on 2023/2/15.
//
#import "XPMineUserInfoTagModel.h"
@implementation XPMineUserInfoTagModel
+ (NSDictionary *)objectClassInArray{
return @{
@"labels":XPMineUserInfoTagItemModel.class
};
}
@end
@implementation XPMineUserInfoTagItemModel
@end

View File

@@ -1,22 +0,0 @@
//
// XPSoundCardModel.h
// xplan-ios
//
// Created by duoban on 2023/1/4.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface XPSoundCardModel : PIBaseModel
@property (nonatomic,copy) NSString *uid;
//音频七牛云url
@property (nonatomic,copy) NSString *audioUrl;
///录音时间
@property (nonatomic,assign) NSInteger second;
//0,没录制1已上传2审核通过3审核不通过4下架
@property (nonatomic,assign) int status;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// XPSoundCardModel.m
// xplan-ios
//
// Created by duoban on 2023/1/4.
//
#import "XPSoundCardModel.h"
@implementation XPSoundCardModel
@end

View File

@@ -1,24 +0,0 @@
//
// YMMineVisitorItemModel.h
// YUMI
//
// Created by YUMI on 2022/1/26.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface XPMineVisitorItemModel : PIBaseModel
///生日
@property(nonatomic,assign) long birth;
@property (nonatomic, copy) NSString *avatar;
@property (nonatomic, assign) NSInteger erbanNo;
@property (nonatomic, assign) NSInteger gender;
@property (nonatomic, copy) NSString *nick;
@property (nonatomic, assign) long long uid;
@property (nonatomic, copy) NSString *visitTimeDesc;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// YMMineVisitorItemModel.m
// YUMI
//
// Created by YUMI on 2022/1/26.
//
#import "XPMineVisitorItemModel.h"
@implementation XPMineVisitorItemModel
@end

View File

@@ -1,18 +0,0 @@
//
// YMMineVisitorUnReadModel.h
// YUMI
//
// Created by YUMI on 2022/1/26.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface XPMineVisitorUnReadModel : PIBaseModel
@property (nonatomic, assign) NSInteger visitNum;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// YMMineVisitorUnReadModel.m
// YUMI
//
// Created by YUMI on 2022/1/26.
//
#import "XPMineVisitorUnReadModel.h"
@implementation XPMineVisitorUnReadModel
@end

View File

@@ -1,27 +0,0 @@
//
// XPMaskManagerModel.h
// xplan-ios
//
// Created by duoban on 2022/12/28.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface XPMaskManagerModel : PIBaseModel
@property (nonatomic,copy) NSString *uid;
@property (nonatomic,copy) NSString *roomId;
@property (nonatomic,copy) NSString *erbanNo;
@property (nonatomic,copy) NSString *title;
@property (nonatomic,copy) NSString *avatar;
@property (nonatomic,copy) NSString *roomTag;
@property (nonatomic,copy) NSString *tagPict;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,13 +0,0 @@
//
// XPMaskManagerModel.m
// xplan-ios
//
// Created by duoban on 2022/12/28.
//
#import "XPMaskManagerModel.h"
@implementation XPMaskManagerModel
@end

View File

@@ -1,25 +0,0 @@
//
// YMMineFuntionItemModel.h
// YUMI
//
// Created by YUMI on 2022/7/22.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface XPMineFunctionItemModel : PIBaseModel
@property (nonatomic, assign) NSInteger centerStatus;
@property (nonatomic, copy) NSString *centerPic;
@property (nonatomic, assign) NSInteger centerId;
@property (nonatomic, copy) NSString *centerBadge;
@property (nonatomic, assign) NSInteger skipType;
@property (nonatomic, assign) NSInteger centerSeq;
@property (nonatomic, copy) NSString *centerName;
@property (nonatomic, copy) NSString *centerUrl;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// YMMineFuntionItemModel.m
// YUMI
//
// Created by YUMI on 2022/7/22.
//
#import "XPMineFunctionItemModel.h"
@implementation XPMineFunctionItemModel
@end

View File

@@ -1,61 +0,0 @@
//
// XPMineGamePartnerInfoModel.h
// YuMi
//
// Created by P on 2024/7/10.
//
#import "PIBaseModel.h"
NS_ASSUME_NONNULL_BEGIN
@interface XPMineGamePartnerInfoTagModel : PIBaseModel
@property (nonatomic, assign) NSInteger seq;
@property (nonatomic, copy) NSString *tagName;
@property (nonatomic, copy) NSString *tagVal;
@end
@interface XPMineGameOrderRecoredModel : PIBaseModel
@property (nonatomic, copy) NSString *orderTime;
@property (nonatomic, assign) NSInteger amount;
@property (nonatomic, copy) NSString *toNick;
@property (nonatomic, assign) NSInteger toUid;
@property (nonatomic, copy) NSString *toAvatar;
@property (nonatomic, copy) NSString *fromAvatar;
@property (nonatomic, copy) NSString *fromNick;
@property (nonatomic, assign) NSInteger fromUid;
@property (nonatomic, copy) NSString *gameName;
@property (nonatomic, assign) NSInteger gameId;
@property (nonatomic, copy) NSString *gameLogo;
@property (nonatomic, copy) NSString *gamePic;
@property (nonatomic, copy) NSString *orderNo;
@property (nonatomic, assign) NSInteger inning;
@property (nonatomic, assign) NSInteger income;
@property (nonatomic, assign) NSInteger price;
@property (nonatomic, assign) NSInteger toErBanNo;
@property (nonatomic, assign) NSInteger fromErBanNo;
@end
@interface XPMineGamePartnerInfoModel : PIBaseModel
@property (nonatomic, copy) NSString *background;
@property (nonatomic, assign) NSInteger finishNum;
@property (nonatomic, assign) NSInteger gameId;
@property (nonatomic, copy) NSString *gameName;
@property (nonatomic, copy) NSString *logo;
@property (nonatomic, copy) NSString *pic;
@property (nonatomic, assign) NSInteger price;
@property (nonatomic, assign) NSInteger uid;
@property (nonatomic, copy) NSString *proficiency;
@property (nonatomic, assign) NSInteger inning;
//@property (nonatomic, copy) NSArray <XPMineGamePartnerInfoTagModel*>* tags;
+ (XPMineGamePartnerInfoModel *)modelFromRecord:(XPMineGameOrderRecoredModel *)record;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,43 +0,0 @@
//
// XPMineGamePartnerInfoModel.m
// YuMi
//
// Created by P on 2024/7/10.
//
#import "XPMineGamePartnerInfoModel.h"
@implementation XPMineGamePartnerInfoTagModel
@end
@implementation XPMineGameOrderRecoredModel
@end
@implementation XPMineGamePartnerInfoModel
+ (NSDictionary *)objectClassInArray{
return @{
@"tags":XPMineGamePartnerInfoTagModel.class
};
}
+ (XPMineGamePartnerInfoModel *)modelFromRecord:(XPMineGameOrderRecoredModel *)record {
XPMineGamePartnerInfoModel *model = [[XPMineGamePartnerInfoModel alloc] init];
model.background = record.gamePic;
model.gameId = record.gameId;
model.gameName = record.gameName;
model.logo = record.gameLogo;
model.pic = record.gamePic;
model.price = record.price;
model.uid = record.toUid;
model.inning = record.inning;
return model;
}
@end

View File

@@ -1,58 +0,0 @@
//
// YMMineItemModel.h
// YUMI
//
// Created by YUMI on 2021/9/16.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
typedef NS_ENUM(NSInteger, XPMineItemType) {
XPMineItemType_Match_Relevance_Account = 2, ///跳转url (关联账号,实名认证, 邀请好友)
XPMineItemType_Match_Apply_Record, ///报名记录
XPMineItemType_Match_Bonus,///奖金
XPMineItemType_Match_Standings, ///战绩
XPMineItemType_Match_Card_Bag, ///卡包
XPMineItemType_Match_Shopping, ///商城
XPMineItemType_Account,///我的账户
XPMineItemType_PersonInfo,///个人中心
XPMineItemType_Attention_List,///关注列表
XPMineItemType_Foot_Print, ///足迹、进房记录
XPMineItemType_Fans_List,///粉丝列表
XPMineItemType_Noble_Center,///VIP中心
XPMineItemType_Skill_Card, ///技能卡
XPMineItemType_My_Room = 64, ///我的房间
XPMineItemType_Collect_Room = 65, ///收藏房间
XPMineItemType_My_Guild = 67,///我的公会
XPMineItemType_Teenager_Mode = 68, ///青少年模式
XPMineItemType_Match_Manage = 69, ///赛程管理
XPMineItemType_Visitor = 70,///访客记录
XPMineItemType_CP = 71,///cp关系
XPMineItemType_FansTeam = 72,///粉丝团
XPMineItemType_DressUp_Market = 73, ///装扮商场
XPMineItemType_My_DressUp = 74,///我的装扮
XPMineItemType_My_Setting = 75,///设置
XPMineItemType_My_Gift = 77,///我的转赠
XPMineItemType_My_Game_Order = 78,///我的陪玩點單
XPMineItemType_My_Item = 79,///我的已购装扮
XPMineItemType_My_Agent = 80,///我的工会
XPMineItemType_My_Medal = 81,///我的勋章
};
@interface XPMineItemModel : PIBaseModel
///图片的名字
@property (nonatomic,copy) NSString *itemImageName;
///名字
@property (nonatomic,copy) NSString *itemName;
///跳转类型
@property (nonatomic,assign) XPMineItemType type;
///圆角
@property (nonatomic, assign) UIRectCorner cornerType;
///未读消息
@property (nonatomic, assign) NSInteger unReadCount;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// YMMineItemModel.m
// YUMI
//
// Created by YUMI on 2021/9/16.
//
#import "XPMineItemModel.h"
@implementation XPMineItemModel
@end

View File

@@ -1,21 +0,0 @@
//
// YMMineNotificationItemModel.h
// YUMI
//
// Created by YUMI on 2021/9/17.
//
#import "NSObject+MJExtension.h"
NS_ASSUME_NONNULL_BEGIN
@interface XPMineNotificationItemModel : PIBaseModel
/// 标题
@property (nonatomic, copy) NSString *title;
/// 描述
@property (nonatomic, copy) NSString *desc;
/// 是否开启
@property (nonatomic, assign) BOOL notification;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// YMMineNotificationItemModel.m
// YUMI
//
// Created by YUMI on 2021/9/17.
//
#import "XPMineNotificationItemModel.h"
@implementation XPMineNotificationItemModel
@end

View File

@@ -1,20 +0,0 @@
//
// YMMineNotifyStatus.h
// YUMI
//
// Created by YUMI on 2021/9/17.
//
#import "NSObject+MJExtension.h"
NS_ASSUME_NONNULL_BEGIN
@interface XPMineNotifyStatus : NSObject
///系统消息通知
@property (nonatomic, assign) BOOL sysMsgNotify;
///个播开播通知
@property (nonatomic, assign) BOOL singleBroadcastMsgNotify;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// YMMineNotifyStatus.m
// YUMI
//
// Created by YUMI on 2021/9/17.
//
#import "XPMineNotifyStatus.h"
@implementation XPMineNotifyStatus
@end

View File

@@ -1,43 +0,0 @@
//
// YMMineSettingItemModel.h
// YUMI
//
// Created by YUMI on 2021/9/17.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
typedef NS_ENUM(NSInteger, XPMineSettingItemType){
XPMineSettingItemType_Email, ///邮箱
XPMineSettingItemType_Phone, ///手机号
XPMineSettingItemType_Pay_Password,///支付密码
///登录密码
XPMineSettingItemType_Login_Password,
///黑名单管理
XPMineSettingItemType_Black_Manager,
XPMineSettingItemType_Notification_Remind, ///通知提醒
XPMineSettingItemType_Permission,///关于我们
XPMineSettingItemType_Helper,///帮助
XPMineSettingItemType_Feedback,//我要反馈
XPMineSettingItemType_Clear_Memory,///清除缓存
XPMineSettingItemType_About_Us,///关于我们
XPMineSettingItemType_CheckUpdate,///检查更新
XPMineSettingItemType_Delete_Account,///注销账号
XPMineSettingItemType_Shield_management,///屏蔽管理
XPMineSettingItemType_Language,///切换语言
XPMineSettingItemType_VIP
};
@interface XPMineSettingItemModel : PIBaseModel
///标题
@property (nonatomic,copy) NSString *title;
///副标题
@property (nonatomic,copy,) NSString * __nullable subTitle;
///类型
@property (nonatomic,assign) XPMineSettingItemType type;
@property(nonatomic,assign) BOOL isChoose;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// YMMineSettingItemModel.m
// YUMI
//
// Created by YUMI on 2021/9/17.
//
#import "XPMineSettingItemModel.h"
@implementation XPMineSettingItemModel
@end

View File

@@ -1,44 +0,0 @@
//
// XPMineUserInfoEditModel.h
// xplan-ios
//
// Created by 冯硕 on 2021/9/23.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
typedef NS_ENUM(NSInteger, XPMineUserInfoEditType) {
XPMineUserInfoEditType_Avatar,///头像
XPMineUserInfoEditType_Nick,///名字
XPMineUserInfoEditType_Birth,///生日
XPMineUserInfoEditType_Photo,///相册
XPMineUserInfoEditType_UseDes,///用户描述
XPMineUserInfoEditType_Sound,///声音
XPMineUserInfoEditType_Tag,///标签
XPMineUserInfoEditType_Area,///地区
XPMineUserInfoEditType_CP_Animation,///cp 个人主页动画
XPMineUserInfoEditType_CP_Avatar,///cp 个人主页头像
};
@interface XPMineUserInfoEditModel : PIBaseModel
///类型
@property (nonatomic,assign) XPMineUserInfoEditType type;
///标题
@property (nonatomic,copy) NSString *title;
///副标题
@property (nonatomic,copy) NSString *subTitle;
///头像
@property (nonatomic,assign) BOOL isReview;
///头像
@property (nonatomic,copy) NSString *avatarUrl;
///相册
@property (nonatomic,copy) NSArray *photoArray;
@property (nonatomic, assign) BOOL isCPAnimation;
@property (nonatomic, assign) BOOL isCPAvatar;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// YMMineUserInfoEditModel.m
// YUMI
//
// Created by YUMI on 2021/9/23.
//
#import "XPMineUserInfoEditModel.h"
@implementation XPMineUserInfoEditModel
@end

View File

@@ -1,22 +0,0 @@
//
// YMMineAnchorFansTeamProtocol.h
// YUMI
//
// Created by YUMI on 2022/4/8.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@protocol XPMineAnchorFansTeamProtocol <NSObject>
///获取访客列表成功
- (void)getAnchorFansTeamListSuccess:(NSArray *)array state:(int)state;
///获取访客列表失败
- (void)getAnchorFansTeamListFail:(int)state;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,19 +0,0 @@
//
// YMMineAttentionProtocol.h
// YUMI
//
// Created by YUMI on 2021/12/21.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@protocol XPMineAttentionProtocol <NSObject>
///获取用户关注列表
- (void)getUserAttentionListSuccess:(NSArray *)array state:(int)state;
///获取关注列表失败
- (void)getUserAttentionListFail:(int)state;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,18 +0,0 @@
//
// YMMineBlackListProtocol.h
// YUMI
//
// Created by YUMI on 2022/5/13.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@protocol XPMineBlackListProtocol <NSObject>
- (void)getUserListInfoSuccess:(NSArray *)array;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,21 +0,0 @@
//
// YMMineCollectRoomListProtocol.h
// YUMI
//
// Created by YUMI on 2022/7/27.
//
#import <Foundation/Foundation.h>
@protocol XPMineCollectRoomListProtocol <NSObject>
///获取收藏房间列表成功
- (void)onGetCollectRoomListSuccess:(NSArray *)array state:(int)state;
///获取收藏房间列表失败
- (void)getCollectRoomListFail:(int)state;
///批量删除收藏的房间成功
- (void)deleteCollectRoomSuccess;
@end

View File

@@ -1,22 +0,0 @@
//
// YMMineFansProtocol.h
// YUMI
//
// Created by YUMI on 2021/12/21.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@protocol XPMineFansProtocol <NSObject>
///获取用户粉丝列表
- (void)getUserFansListSuccess:(NSArray *)array state:(int)state;
///获取粉丝列表失败
- (void)getUserFansListFail:(int)state;
///关注粉丝成功
- (void)attentionFansSuccess;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,19 +0,0 @@
//
// YMMineFeedbackProtocol.h
// YUMI
//
// Created by YUMI on 2021/9/17.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@protocol XPMineFeedbackProtocol <NSObject>
///保存反馈成功
- (void)saveFeedbackSuccess;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,28 +0,0 @@
//
// YMMineFootPrintProtocol.h
// YUMI
//
// Created by YUMI on 2022/7/26.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@protocol XPMineFootPrintProtocol <NSObject>
///获取进房记录列表成功
- (void)getFootPrintListSuccess:(NSArray *)array state:(int)state;
///获取进房记录列表失败
- (void)getFootPrintListFail:(int)state;
///清除进房记录成功
- (void)cleanFootPrintSuccess;
///收藏房间成功
- (void)collectRoomSuccess;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,19 +0,0 @@
//
// YMMineFriendProtocol.h
// YUMI
//
// Created by YUMI on 2022/5/29.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@protocol XPMineFriendProtocol <NSObject>
@optional
- (void)getUserListInfoSuccess:(NSArray *)list;
- (void)getFriendsList:(NSArray *)list;
- (void)getFriendsFailure;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,19 +0,0 @@
//
// YMMineLoginPasswordProtocol.h
// YUMI
//
// Created by YUMI on 2022/4/25.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@protocol XPMineLoginPasswordProtocol <NSObject>
- (void)modifyLoginPasswordSuccess;
- (void)setLoginPasswordSuccess;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,19 +0,0 @@
//
// YMMineModifPayProtocol.h
// YUMI
//
// Created by YUMI on 2021/9/18.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@protocol XPMineModifPayProtocol <NSObject>
///修改支付密码成功
- (void)modifPayPasswordSuccess;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,17 +0,0 @@
//
// YMMineNotificaProtocol.h
// YUMI
//
// Created by YUMI on 2021/9/17.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@class XPMineNotifyStatus, XPMineNotificationItemModel;
@protocol XPMineNotificaProtocol <NSObject>
///获取当前开关的状态成功
- (void)requestUserInfoNotifyStatusSuccess:(NSArray<XPMineNotificationItemModel *> *)array;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,19 +0,0 @@
//
// YMMInePayPwdProtocol.h
// YUMI
//
// Created by YUMI on 2021/9/18.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@protocol XPMinePayPwdProtocol <NSObject>
///请求手机号的验证码成功
- (void)phoneSmsCodeSuccess;
///设置支付密码成功
- (void)setPayPasswordSuccess;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,44 +0,0 @@
//
// YMMineProtocol.h
// YUMI
//
// Created by YUMI on 2021/9/16.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@class XPMineItemModel, UserInfoModel, NobleCenterModel, ClanDetailInfoModel, XPMineFunctionItemModel, HomeBannerInfoModel, WalletInfoModel,LittleGameInfoModel,HomeLittleGameRoomModel;
@protocol XPMineProtocol <NSObject>
///获取用户信息成功
- (void)onGetUserInfoSuccess:(UserInfoModel *)userInfo;
///获取账户余额
- (void)getUserWalletInfo:(WalletInfoModel *)balanceInfo;
///获取账户余额失败
- (void)getUserWalletInfoFail;
///获取VIP信息成功
- (void)getNobleCenterInfoSuccess:(NobleCenterModel *)model;
///获取VIP信息失败
- (void)getNobleCenterInfoFail;
///获取家族信息成功
- (void)onGetClanDetailInfoSuccess:(ClanDetailMainInfoModel *)clanInfo ;
///获取家族信息失败
//- (void)onGetClanDetailInfoFail;
///获取个人中心功能
- (void)onGetMineFuntionItemSuccess:(NSArray<XPMineFunctionItemModel *> *)items ;
///获取个人中心功能失败
- (void)onGetMineFunctionsItemFail;
///获取个人中心banner
- (void)onGetPersonalBannerListSuccess:(NSArray<HomeBannerInfoModel *> *)items ;
///获取个人中心banner失败
- (void)onGetPersonalBannerListFail;
///获取小游戏列表
- (void)onGetLittleGameListSuccess:(NSArray<LittleGameInfoModel *> *)items;
///获取小游戏列表失败
- (void)onGetLittleGameListFail;
///匹配游戏房成功
- (void)quickMatchLittleGameRoomSuccess:(HomeLittleGameRoomModel *)roomInfo mgId:(NSString *)mgId;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,34 +0,0 @@
//
// YMMineRechargeProtocol.h
// YUMI
//
// Created by YUMI on 2021/9/24.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@class WalletInfoModel;
@protocol XPMineRechargeProtocol <NSObject>
@optional
///请求钱包余额信息
- (void)getUserWalletInfo:(WalletInfoModel *)balanceInfo;
///请求充值列表成功
- (void)requestRechargeListSucccess:(NSArray *)list;
///请求充值id的状态成功
- (void)requestIAPRechargeOrderSuccess:(NSString *)orderId chargeProdId:(NSString *)chargeProdId uuid:(NSString *)uuid;
///请求充值账单失败
- (void)requestIAPRechargeOrderFailWithCode:(NSInteger)code;
///二次校验成功
- (void)checkReceiptSuccess:(NSString *)transcationId;
///二次校验失败
- (void)checkReceiptFailWithCode:(NSInteger)code transcationId:(NSString *)transcationId;
///批量验证凭据成功
- (void)checkTranscationIdsSuccess;
//充值banner位
-(void)getBannerListSuccessWithList:(NSArray *)list;
//联系客服成功
-(void)getContactCustomerServiceSuccessWithUid:(NSString *)uid;
@end
NS_ASSUME_NONNULL_END

Some files were not shown because too many files have changed in this diff Show More