chore: Initial clean commit

- Removed YuMi/Library/ (138 MB, not tracked)
- Removed YuMi/Resources/ (23 MB, not tracked)
- Removed old version assets (566 files, not tracked)
- Excluded Pods/, xcuserdata/ and other build artifacts
- Clean repository optimized for company server deployment
This commit is contained in:
edwinQQQ
2025-10-09 16:19:14 +08:00
commit a35a711be6
5582 changed files with 408913 additions and 0 deletions

View File

@@ -0,0 +1,117 @@
//
// Api+Login.h
// YUMI
//
// Created by zu on 2021/9/6.
//
#import "Api.h"
NS_ASSUME_NONNULL_BEGIN
@interface Api (Login)
+ (void)phoneQuickLogin:(HttpRequestHelperCompletion)completion
accessToken:(NSString *)accessToken
token:(NSString *)token;
/// 手机验证码登录
/// @param completion 完成
/// @param phone 手机号
/// @param code 验证码
+ (void)loginWithCode:(HttpRequestHelperCompletion)completion
phone:(NSString *)phone
code:(NSString *)code
client_secret:(NSString *)client_secret
version:(NSString *)version
client_id:(NSString *)client_id
grant_type:(NSString *)grant_type
phoneAreaCode:(NSString *)phoneAreaCode;
/// 手机密码登录
/// @param completion 完成
/// @param phone 手机号
/// @param password 验证码
+ (void)loginWithPassword:(HttpRequestHelperCompletion)completion
phone:(NSString *)phone
password:(NSString *)password
client_secret:(NSString *)client_secret
version:(NSString *)version
client_id:(NSString *)client_id
grant_type:(NSString *)grant_type;
/// 充值密码 没有登录的时候
/// @param complction 完成
/// @param phone 手机号
/// @param newPwd 新的密码
/// @param smsCode 验证码
+ (void)resetPasswordWithPhone:(HttpRequestHelperCompletion)complction
phone:(NSString *)phone
newPwd:(NSString *)newPwd
smsCode:(NSString *)smsCode phoneAreaCode:(NSString *)phoneAreaCode;
/// 第三方登录
/// @param complction 完成
/// @param openid 唯一标识符
/// @param unionid unionid
/// @param access_token access_token
/// @param type 第三方登录的类型
+ (void)loginWithThirdPart:(HttpRequestHelperCompletion)complction
openid:(NSString *)openid
unionid:(NSString *)unionid
access_token:(NSString *)access_token
type:(NSString *)type;
/// 随机获取一个昵称
/// @param completion 完成
+ (void)randomNick:(HttpRequestHelperCompletion)completion;
/// 绑定手机号码
/// @param complection 完成
/// @param phone 手机号
/// @param code 验证码
/// @param ticket ticket
+ (void)bindMoblieCode:(HttpRequestHelperCompletion)complection
phone:(NSString *)phone
code:(NSString *)code
ticket:(NSString *)ticket phoneAreaCode:(NSString *)phoneAreaCode;
+(void)getPhoneAreaCodeList:(HttpRequestHelperCompletion)complection;
/// 绑定授权码
/// @param complection 完成
+(void)bindAuthorizationCode:(HttpRequestHelperCompletion)complection authCode:(NSString *)authCode;
///反馈
+ (void)loadFeedbackConfig:(HttpRequestHelperCompletion)completion;
+ (void)commitFeedback:(HttpRequestHelperCompletion)completion
type:(NSString *)type
desc:(NSString *)desc
screenUrl:(NSString *)screenUrl
contact:(NSString *)contact;
+ (void)emailGetCode:(HttpRequestHelperCompletion)completion emailAddress:(NSString *)emailAddress type:(NSNumber *)type;
+ (void)emailVerify:(HttpRequestHelperCompletion)completion emailAddress:(NSString *)emailAddress code:(NSString *)code;
+ (void)loginWithCode:(HttpRequestHelperCompletion)completion
email:(NSString *)email
code:(NSString *)code
client_secret:(NSString *)client_secret
version:(NSString *)version
client_id:(NSString *)client_id
grant_type:(NSString *)grant_type;
+ (void)userBoundEmail:(HttpRequestHelperCompletion)completion
email:(NSString *)email
code:(NSString *)code;
+ (void)userBoundPhone:(HttpRequestHelperCompletion)completion
phone:(NSString *)email
code:(NSString *)code
phoneAreaCode:(NSString *)phoneAreaCode;
+ (void)resetPasswordWithEmail:(HttpRequestHelperCompletion)completion email:(NSString *)email newPwd:(NSString *)newPwd code:(NSString *)code;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,149 @@
//
// Api+Login.m
// YUMI
//
// Created by zu on 2021/9/6.
//
#import "Api+Login.h"
#import <Base64/MF_Base64Additions.h>
@implementation Api (Login)
+ (void)phoneQuickLogin:(HttpRequestHelperCompletion)completion accessToken:(NSString *)accessToken token:(NSString *)token {
NSString * fang = [NSString stringFromBase64String:@"YWNjL29uZWNsaWNrL2xvZ2lu"];///acc/oneclick/login
[self makeRequest:fang method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, accessToken, token, nil];
}
///
/// @param completion
/// @param phone
/// @param code
+ (void)loginWithCode:(HttpRequestHelperCompletion)completion phone:(NSString *)phone code:(NSString *)code client_secret:(NSString *)client_secret version:(NSString *)version client_id:(NSString *)client_id grant_type:(NSString *)grant_type phoneAreaCode:(NSString *)phoneAreaCode{
NSString * fang = [NSString stringFromBase64String:@"b2F1dGgvdG9rZW4="];///oauth/token
[self makeRequest:fang method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__,phone,code,client_secret,version, client_id, grant_type,phoneAreaCode, nil];
}
///
/// @param completion
/// @param phone
/// @param password
+ (void)loginWithPassword:(HttpRequestHelperCompletion)completion phone:(NSString *)phone password:(NSString *)password client_secret:(NSString *)client_secret version:(NSString *)version client_id:(NSString *)client_id grant_type:(NSString *)grant_type {
NSString * fang = [NSString stringFromBase64String:@"b2F1dGgvdG9rZW4="];///oauth/token
[self makeRequest:fang method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__,phone,password,client_secret,version, client_id, grant_type, nil];
}
///
/// @param completion
/// @param phone
/// @param newPwd
/// @param smsCode
+ (void)resetPasswordWithPhone:(HttpRequestHelperCompletion)completion phone:(NSString *)phone newPwd:(NSString *)newPwd smsCode:(NSString *)smsCode phoneAreaCode:(NSString *)phoneAreaCode{
NSString * fang = [NSString stringFromBase64String:@"YWNjL3B3ZC9yZXNldA=="];/// acc/pwd/reset
[self makeRequest:fang method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, phone, newPwd, smsCode,phoneAreaCode, nil];
}
+ (void)resetPasswordWithEmail:(HttpRequestHelperCompletion)completion email:(NSString *)email newPwd:(NSString *)newPwd code:(NSString *)code{
[self makeRequest:@"acc/pwd/resetByEmail" method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, email, newPwd, code, nil];
}
///
/// @param completion
/// @param openid
/// @param unionid unionid
/// @param access_token access_token
/// @param type
+ (void)loginWithThirdPart:(HttpRequestHelperCompletion)completion openid:(NSString *)openid unionid:(NSString *)unionid access_token:(NSString *)access_token type:(NSString *)type {
NSString * fang = [NSString stringFromBase64String:@"YWNjL3RoaXJkL2xvZ2lu"];///acc/third/login
[self makeRequest:fang method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, openid, unionid, access_token, type, nil];
}
///
/// @param completion
+ (void)randomNick:(HttpRequestHelperCompletion)completion {
NSString * fang = [NSString stringFromBase64String:@"cmFuZG9tL25pY2svZ2V0"];///random/nick/get
[self makeRequest:fang method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, nil];
}
///
/// @param complection
/// @param phone
/// @param code
/// @param ticket ticket
+ (void)bindMoblieCode:(HttpRequestHelperCompletion)complection
phone:(NSString *)phone
code:(NSString *)code
ticket:(NSString *)ticket phoneAreaCode:(NSString *)phoneAreaCode{
NSString * fang = [NSString stringFromBase64String:@"d2l0aERyYXcvcGhvbmU="];///withDraw/phone
[self makeRequest:fang method:HttpRequestHelperMethodPOST completion:complection, __FUNCTION__, phone, code, ticket,phoneAreaCode, nil];
}
+(void)getPhoneAreaCodeList:(HttpRequestHelperCompletion)complection{
NSString * fang = [NSString stringFromBase64String:@"YXJlYUluZm8vbGlzdA=="];///areaInfo/list
[self makeRequest:fang method:HttpRequestHelperMethodGET completion:complection, __FUNCTION__,nil];
}
///
/// @param complection
+(void)bindAuthorizationCode:(HttpRequestHelperCompletion)complection authCode:(NSString *)authCode{
[self makeRequest:@"phone/auth/bound" method:HttpRequestHelperMethodPOST completion:complection, __FUNCTION__,authCode, nil];
}
///
+ (void)loadFeedbackConfig:(HttpRequestHelperCompletion)completion {
[self makeRequest:@"feedback/getConfig" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, nil];
}
+ (void)commitFeedback:(HttpRequestHelperCompletion)completion
type:(NSString *)type
desc:(NSString *)desc
screenUrl:(NSString *)screenUrl
contact:(NSString *)contact {
[self makeRequest:@"feedback/commit"
method:HttpRequestHelperMethodPOST
completion:completion, __FUNCTION__, type, desc, screenUrl, contact, nil];
}
+ (void)emailGetCode:(HttpRequestHelperCompletion)completion emailAddress:(NSString *)emailAddress type:(NSNumber *)type {
[self makeRequest:@"email/getCode"
method:HttpRequestHelperMethodPOST
completion:completion, __FUNCTION__, emailAddress, type, nil];
}
+ (void)emailVerify:(HttpRequestHelperCompletion)completion emailAddress:(NSString *)emailAddress code:(NSString *)code {
[self makeRequest:@"email/verify"
method:HttpRequestHelperMethodPOST
completion:completion, __FUNCTION__, emailAddress, code, nil];
}
+ (void)loginWithCode:(HttpRequestHelperCompletion)completion
email:(NSString *)email
code:(NSString *)code
client_secret:(NSString *)client_secret
version:(NSString *)version
client_id:(NSString *)client_id
grant_type:(NSString *)grant_type {
NSString * fang = [NSString stringFromBase64String:@"b2F1dGgvdG9rZW4="];///oauth/token
[self makeRequest:fang method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__,email,code,client_secret,version, client_id, grant_type, nil];
}
+ (void)userBoundEmail:(HttpRequestHelperCompletion)completion
email:(NSString *)email
code:(NSString *)code {
[self makeRequest:@"user/boundEmail"
method:HttpRequestHelperMethodPOST
completion:completion, __FUNCTION__, email, code, nil];
}
+ (void)userBoundPhone:(HttpRequestHelperCompletion)completion
phone:(NSString *)email
code:(NSString *)code
phoneAreaCode:(NSString *)phoneAreaCode {
[self makeRequest:@"user/boundPhone"
method:HttpRequestHelperMethodPOST
completion:completion, __FUNCTION__, email, code, nil];
}
@end

View File

@@ -0,0 +1,20 @@
//
// PILoginManager.h
// YuMi
//
// Created by duoban on 2023/10/7.
//
#import <Foundation/Foundation.h>
#import "MvpViewController.h"
NS_ASSUME_NONNULL_BEGIN
@interface PILoginManager : NSObject
///登录是否手机isLoginPhone
+(void)loginWithVC:(MvpViewController *)VC isLoginPhone:(BOOL)isLoginPhone;
///登录成功,回到首页
+(void)jumpToHomeVCWithInviteCode:(NSString *)inviteCode;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,105 @@
//
// PILoginManager.m
// YuMi
//
// Created by duoban on 2023/10/7.
//
#import "PILoginManager.h"
///api
#import "Api+Main.h"
///vc
#import "LoginFullInfoViewController.h"
#import "TabbarViewController.h"
#import "BaseNavigationController.h"
#import "LoginVerifCodeViewController.h"
///Model
#import "ThirdUserInfo.h"
#import "AccountModel.h"
#import "UserInfoModel.h"
#import "XPLoginAuthCodeVC.h"
///Manager
#import "TurboModeStateManager.h"
#import "FirstRechargeManager.h"
#import "PublicRoomManager.h"
///Tool
#import "XNDJTDDLoadingTool.h"
#import "AccountInfoStorage.h"
@implementation PILoginManager
+(void)loginWithVC:(MvpViewController *)VC isLoginPhone:(BOOL)isLoginPhone{
[XNDJTDDLoadingTool showLoading];
AccountModel *accountModel = [[AccountInfoStorage instance] getCurrentAccountInfo];
HomeUserModel *homeUserModel = [HomeUserModel new];
if (accountModel == nil || accountModel.uid == nil || accountModel.access_token == nil) {
[XNDJTDDLoadingTool hideOnlyView:VC.view];
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"LoginPresenter1")];
return;
}
__block UserInfoModel *userInfo;
dispatch_group_t group = dispatch_group_create();
dispatch_queue_t queue =dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0);
dispatch_group_enter(group);
dispatch_async(queue, ^{
[Api requestTicket:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if(code == 200){
NSArray *tickets = [data.data valueForKey:@"tickets"];
NSString *ticket = [tickets[0] valueForKey:@"ticket"];
homeUserModel.ticket = ticket;
[[AccountInfoStorage instance] saveTicket:ticket];
[Api getUserInfo:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if(code == 200){
userInfo = [UserInfoModel modelWithDictionary:data.data];
[AccountInfoStorage instance].name = userInfo.nick;
homeUserModel.nick = userInfo.nick;
homeUserModel.avatar = userInfo.avatar;
homeUserModel.isBindPhone = userInfo.isBindPhone;
}
dispatch_group_leave(group);
} uid:accountModel.uid];
return;
}
dispatch_group_leave(group);
} access_token:accountModel.access_token issue_type:@"multi"];
});
dispatch_group_notify(group, dispatch_get_main_queue(), ^{
[XNDJTDDLoadingTool hideOnlyView:VC.view];
if ([[AccountInfoStorage instance] getTicket].length <= 0 || userInfo == nil) {
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"LoginPresenter1")];
return;
}
[[AccountInfoStorage instance]saveHomeUserInfo:homeUserModel];
if (userInfo.nick == nil || userInfo.avatar == nil) {
LoginFullInfoViewController * FullVC = [[LoginFullInfoViewController alloc] init];
[VC.navigationController pushViewController:FullVC animated:YES];
return;
}
[XNDJTDDLoadingTool showSuccessWithMessage:YMLocalizedString(@"PKIDLoginViewController0")];
[PILoginManager jumpToHomeVCWithInviteCode:@""];
});
}
+(void)jumpToHomeVCWithInviteCode:(NSString *)inviteCode{
TabbarViewController *vc = [[TabbarViewController alloc] init];
vc.isFormLogin = YES;
vc.inviteCode = inviteCode;
BaseNavigationController *bnc = [[BaseNavigationController alloc] initWithRootViewController:vc];
kWindow.rootViewController = bnc;
//
[[FirstRechargeManager sharedManager] startMonitoring];
//
[[PublicRoomManager sharedManager] initialize];
// 🔧 TurboModeStateManager
NSString *userId = [[AccountInfoStorage instance] getUid];
if (userId) {
[[TurboModeStateManager sharedManager] startupWithCurrentUser:userId];
}
}
@end