添加职场端tabbar;

聊天增加职场端功能;
Banner增加职场端功能;
This commit is contained in:
pengguangjian 2024-11-28 18:13:07 +08:00
parent b2b7f54959
commit 1d047d164d
41 changed files with 1164 additions and 327 deletions

View File

@ -398,6 +398,8 @@
CAD092CB2CD48A2500853A26 /* MyDocument.m in Sources */ = {isa = PBXBuildFile; fileRef = CAD092CA2CD48A2500853A26 /* MyDocument.m */; };
CAD092CE2CD4A43300853A26 /* ZZDocument.m in Sources */ = {isa = PBXBuildFile; fileRef = CAD092CD2CD4A43300853A26 /* ZZDocument.m */; };
CAD092D12CD4AFE300853A26 /* PptOutlineModel.m in Sources */ = {isa = PBXBuildFile; fileRef = CAD092D02CD4AFE300853A26 /* PptOutlineModel.m */; };
CAD4AAE02CF81B88000E0B66 /* AIChatDrawLableView.m in Sources */ = {isa = PBXBuildFile; fileRef = CAD4AADF2CF81B88000E0B66 /* AIChatDrawLableView.m */; };
CAD4AAE32CF81BEF000E0B66 /* MarkDownLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = CAD4AAE22CF81BEF000E0B66 /* MarkDownLabel.m */; };
CAE010B52CD9CF5B003E327F /* 逐字动效.pag in Resources */ = {isa = PBXBuildFile; fileRef = CAE010B42CD9CF5B003E327F /* 逐字动效.pag */; };
CAE010B72CD9D0E9003E327F /* 分数.pag in Resources */ = {isa = PBXBuildFile; fileRef = CAE010B62CD9D0E9003E327F /* 分数.pag */; };
CAF2BC7D2CCF7F7800028275 /* TextbookModel.m in Sources */ = {isa = PBXBuildFile; fileRef = CAF2BC7C2CCF7F7800028275 /* TextbookModel.m */; };
@ -1313,6 +1315,10 @@
CAD092CD2CD4A43300853A26 /* ZZDocument.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ZZDocument.m; sourceTree = "<group>"; };
CAD092CF2CD4AFE300853A26 /* PptOutlineModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PptOutlineModel.h; sourceTree = "<group>"; };
CAD092D02CD4AFE300853A26 /* PptOutlineModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PptOutlineModel.m; sourceTree = "<group>"; };
CAD4AADE2CF81B88000E0B66 /* AIChatDrawLableView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AIChatDrawLableView.h; sourceTree = "<group>"; };
CAD4AADF2CF81B88000E0B66 /* AIChatDrawLableView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AIChatDrawLableView.m; sourceTree = "<group>"; };
CAD4AAE12CF81BEF000E0B66 /* MarkDownLabel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MarkDownLabel.h; sourceTree = "<group>"; };
CAD4AAE22CF81BEF000E0B66 /* MarkDownLabel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MarkDownLabel.m; sourceTree = "<group>"; };
CAE010B42CD9CF5B003E327F /* 逐字动效.pag */ = {isa = PBXFileReference; lastKnownFileType = file; path = "逐字动效.pag"; sourceTree = "<group>"; };
CAE010B62CD9D0E9003E327F /* 分数.pag */ = {isa = PBXFileReference; lastKnownFileType = file; path = "分数.pag"; sourceTree = "<group>"; };
CAF2BC7B2CCF7F7800028275 /* TextbookModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TextbookModel.h; sourceTree = "<group>"; };
@ -2904,6 +2910,10 @@
CAF76E622CBDFF8500825E5E /* AIChatYuYinView.m */,
CAF76E642CBE01F100825E5E /* AIChatYuYinBackView.h */,
CAF76E652CBE01F100825E5E /* AIChatYuYinBackView.m */,
CAD4AADE2CF81B88000E0B66 /* AIChatDrawLableView.h */,
CAD4AADF2CF81B88000E0B66 /* AIChatDrawLableView.m */,
CAD4AAE12CF81BEF000E0B66 /* MarkDownLabel.h */,
CAD4AAE22CF81BEF000E0B66 /* MarkDownLabel.m */,
);
path = view;
sourceTree = "<group>";
@ -5249,6 +5259,7 @@
CABA14712C9D0D4E002CB3B1 /* StartViewController.m in Sources */,
CA2A38D32CEB0C4600156CD2 /* MosaiPath.m in Sources */,
CABC08432CEF356B003FE507 /* BatchStatusByidModel.m in Sources */,
CAD4AAE02CF81B88000E0B66 /* AIChatDrawLableView.m in Sources */,
CABA14892C9D2AE2002CB3B1 /* StartGNTiShiView.m in Sources */,
CAF76E7A2CBE569500825E5E /* SearchInputHestoryView.m in Sources */,
CA5D02E12CC0DD6B007B3BA5 /* M3u8Model.m in Sources */,
@ -5419,6 +5430,7 @@
CA0D08832CA5682D0086855E /* CamreViewController.m in Sources */,
CAB9AAA22CEC808500B75BD6 /* PLPGDetailViewController.m in Sources */,
CA0FD6932CA8EEF3009A4417 /* XieZuoFenXiangAlterNOTableViewCell.m in Sources */,
CAD4AAE32CF81BEF000E0B66 /* MarkDownLabel.m in Sources */,
CA487D9B2CA40D3A00AE773B /* StartPayGoodsPayView.m in Sources */,
CABD8C792CBF6AC4009A5E5E /* GongJuCreateResultViewController.m in Sources */,
CA22D1CA2CD07D9100CA7E93 /* CorrectSaveModel.m in Sources */,

View File

@ -3,54 +3,4 @@
uuid = "41EC793F-022E-49E6-A76A-A910FEF0483C"
type = "0"
version = "2.0">
<Breakpoints>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "26D5C33E-BBFC-4B24-8518-3E0B0F5B3170"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "ProductApp/ProductMain/&#x5de5;&#x5177;/&#x6587;&#x672c;&#x6bd4;&#x8f83;/view/NSString+KMP.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "23"
endingLineNumber = "23"
landmarkName = "-kmpIndexesOfString:options:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "E3E88296-61FA-49EF-B2DF-8785E421E3A1"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "ProductApp/ProductMain/&#x6211;&#x7684;/&#x4f18;&#x60e0;&#x5238;/cell/YouHuiQuanListTableViewCell.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "234"
endingLineNumber = "234"
landmarkName = "-useAction"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "C1B02E23-FCFA-41B2-9F01-B43A3CE74F34"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "ProductApp/ProductMain/&#x5f15;&#x5bfc;/view/StartGNView.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "343"
endingLineNumber = "343"
landmarkName = "-tiyanAction"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
</Breakpoints>
</Bucket>

View File

@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "容器 18@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "容器 18@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "容器 18@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "容器 18@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -13,6 +13,7 @@
#import "AIChatViewController.h"
#import "GongJuViewController.h"
#import "WoDeViewController.h"
#import "ShouYeLiShiJiLuViewController.h"
@interface TabBarController ()<UIApplicationDelegate,UITabBarDelegate>
@ -38,44 +39,81 @@
normalImage:@"shouye_N"
normalTitleColor:RGBCOLOR(216, 216, 216)];
[self.rootVcAry addObject:honeVC];
FanWenViewController *fanwenVC =[[FanWenViewController alloc] init];
[self setTabBarItem:fanwenVC.tabBarItem
title:@"范文"
titleSize:12.0
titleFontName:@"HeiTi SC"
selectedImage:@"fanwen_Y"
selectedTitleColor:RGBCOLOR(51, 51, 51)
normalImage:@"fanwen_N"
normalTitleColor:RGBCOLOR(216, 216, 216)];
[self.rootVcAry addObject:fanwenVC];
AIChatViewController *aiVC =[[AIChatViewController alloc] init];
[self setTabBarItem:aiVC.tabBarItem
title:@""
titleSize:12.0
titleFontName:@"HeiTi SC"
selectedImage:@"zhinenAI"
selectedTitleColor:RGBCOLOR(51, 51, 51)
normalImage:@"zhinenAI"
normalTitleColor:RGBCOLOR(216, 216, 216)];
[self.rootVcAry addObject:aiVC];
GongJuViewController *gongjuVC =[[GongJuViewController alloc] init];
[self setTabBarItem:gongjuVC.tabBarItem
title:@"工具"
titleSize:12.0
titleFontName:@"HeiTi SC"
selectedImage:@"gongju_Y"
selectedTitleColor:RGBCOLOR(51, 51, 51)
normalImage:@"gongju_N"
normalTitleColor:RGBCOLOR(216, 216, 216)];
[self.rootVcAry addObject:gongjuVC];
if([UserInfoModel shareModel].identityType.intValue == 3)
{
GongJuViewController *gongjuVC =[[GongJuViewController alloc] init];
[self setTabBarItem:gongjuVC.tabBarItem
title:@"工具"
titleSize:12.0
titleFontName:@"HeiTi SC"
selectedImage:@"gongju_Y"
selectedTitleColor:RGBCOLOR(51, 51, 51)
normalImage:@"gongju_N"
normalTitleColor:RGBCOLOR(216, 216, 216)];
[self.rootVcAry addObject:gongjuVC];
AIChatViewController *aiVC =[[AIChatViewController alloc] init];
[self setTabBarItem:aiVC.tabBarItem
title:@""
titleSize:12.0
titleFontName:@"HeiTi SC"
selectedImage:@"zhinenAI"
selectedTitleColor:RGBCOLOR(51, 51, 51)
normalImage:@"zhinenAI"
normalTitleColor:RGBCOLOR(216, 216, 216)];
[self.rootVcAry addObject:aiVC];
ShouYeLiShiJiLuViewController *gjiluVC =[[ShouYeLiShiJiLuViewController alloc] init];
[self setTabBarItem:gjiluVC.tabBarItem
title:@"记录"
titleSize:12.0
titleFontName:@"HeiTi SC"
selectedImage:@"jilu_Y"
selectedTitleColor:RGBCOLOR(51, 51, 51)
normalImage:@"jilu_N"
normalTitleColor:RGBCOLOR(216, 216, 216)];
[self.rootVcAry addObject:gjiluVC];
}
else
{
FanWenViewController *fanwenVC =[[FanWenViewController alloc] init];
[self setTabBarItem:fanwenVC.tabBarItem
title:@"范文"
titleSize:12.0
titleFontName:@"HeiTi SC"
selectedImage:@"fanwen_Y"
selectedTitleColor:RGBCOLOR(51, 51, 51)
normalImage:@"fanwen_N"
normalTitleColor:RGBCOLOR(216, 216, 216)];
[self.rootVcAry addObject:fanwenVC];
AIChatViewController *aiVC =[[AIChatViewController alloc] init];
[self setTabBarItem:aiVC.tabBarItem
title:@""
titleSize:12.0
titleFontName:@"HeiTi SC"
selectedImage:@"zhinenAI"
selectedTitleColor:RGBCOLOR(51, 51, 51)
normalImage:@"zhinenAI"
normalTitleColor:RGBCOLOR(216, 216, 216)];
[self.rootVcAry addObject:aiVC];
GongJuViewController *gongjuVC =[[GongJuViewController alloc] init];
[self setTabBarItem:gongjuVC.tabBarItem
title:@"工具"
titleSize:12.0
titleFontName:@"HeiTi SC"
selectedImage:@"gongju_Y"
selectedTitleColor:RGBCOLOR(51, 51, 51)
normalImage:@"gongju_N"
normalTitleColor:RGBCOLOR(216, 216, 216)];
[self.rootVcAry addObject:gongjuVC];
}
WoDeViewController *wodeVC =[[WoDeViewController alloc] init];
[self setTabBarItem:wodeVC.tabBarItem
title:@"工具"
title:@"我的"
titleSize:12.0
titleFontName:@"HeiTi SC"
selectedImage:@"wode_Y"
@ -107,7 +145,22 @@
-(void)numberChangeNotifi:(NSNotification *)notifi
{
NSString *strobje = notifi.object;
[self setSelectedIndex:strobje.intValue];
if([UserInfoModel shareModel].identityType.intValue == 3)
{
if(strobje.intValue==3)
{
[self setSelectedIndex:1];
}
else
{
[self setSelectedIndex:strobje.intValue];
}
}
else
{
[self setSelectedIndex:strobje.intValue];
}
}
#pragma mark - tabBar

View File

@ -311,9 +311,9 @@ static UserInfoModel *userinfo;
///
+(void)quanXianJiaoYan:(UIViewController *)vc scence:(NSString *)scence ispush:(BOOL)ispush back:(UserInfoModelQuanXianBack)backValue
{
[LoadAlterView show];
// [LoadAlterView show];
[PublicNetWorkManager requestUserAuthData:nil scene:scence Callback:^(BOOL state, UserAuthModel *responseObject, NSString * _Nullable describle) {
[LoadAlterView dismiss];
if(state)
{
if(responseObject.data.auth.intValue == 1)
@ -323,6 +323,7 @@ static UserInfoModel *userinfo;
}
else
{///
[LoadAlterView dismiss];
if(ispush)
{
StartPayViewController *vcpush = [StartPayViewController new];
@ -335,6 +336,7 @@ static UserInfoModel *userinfo;
}
else
{
[LoadAlterView dismiss];
[HXHud showMessage:responseObject.message afterDelayType:1];
backValue(NO);
}

View File

@ -157,7 +157,7 @@ NS_ASSUME_NONNULL_BEGIN
*/
+ (CGFloat)getLabelHeightWithText:(NSString *)text width:(CGFloat)width font: (CGFloat)font linHeight:(float)linHeight;
+ (CGFloat)getMacDonaldsLabelHeightWithText:(NSString *)text width:(CGFloat)width font: (CGFloat)font linHeight:(float)linHeight;
+(float)getAttStringHeight:(NSMutableAttributedString *)attrString width:(float)width;
/*
* text height font字体大小
* text
@ -357,6 +357,10 @@ NS_ASSUME_NONNULL_BEGIN
+(UIImage *)CreateStrcode:(NSString *)strcode size:(CGFloat)f_width;
///将小写数字转换为大写
+ (NSString *)convertNumberToUppercase:(NSInteger)number ;
///职业是否切换 教育和职场
+(BOOL)zhiyeChange:(NSString *)value;
@end
NS_ASSUME_NONNULL_END

View File

@ -664,11 +664,54 @@ static dispatch_source_t _timer;
MarkdownParser *parser = [[MarkdownParser alloc] init];
NSMutableAttributedString *attrString = [parser attributedStringFromMarkdown:text font:[UIFont systemFontOfSize:font] fontsize:font color:RGBCOLOR(51, 51, 51)];
[attrString addAttribute:NSParagraphStyleAttributeName value:style range:NSMakeRange(0, attrString.string.length)];
[attrString addAttribute:NSUnderlineStyleAttributeName value:@(kCTUnderlineStyleNone) range:NSMakeRange(0, attrString.string.length)];
CFAttributedStringRef attributedStringRef = (__bridge CFAttributedStringRef)attrString;
CTFramesetterRef framesetter = CTFramesetterCreateWithAttributedString(attributedStringRef);
CFRange range = CFRangeMake(0, 0);
CFRange fitCFRange = CFRangeMake(0, 0);
CGSize newSize = CTFramesetterSuggestFrameSizeWithConstraints(framesetter, range, NULL, CGSizeMake(width, CGFLOAT_MAX), &fitCFRange);
if (framesetter) {
CFRelease(framesetter);
}
CGSize msize = [attrString boundingRectWithSize:CGSizeMake(width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading context:nil].size;
// CGSize msize = [attrString boundingRectWithSize:CGSizeMake(width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading context:nil].size;
return msize.height+1;
return newSize.height+1;
}
+(float)getAttStringHeight:(NSMutableAttributedString *)attrString width:(float)width
{
NSAttributedString *drawString = attrString;
if (drawString == nil) {
return 0;
}
CFAttributedStringRef attributedStringRef = (__bridge CFAttributedStringRef)drawString;
CTFramesetterRef framesetter = CTFramesetterCreateWithAttributedString(attributedStringRef);
CFRange range = CFRangeMake(0, 0);
// if (_numberOfLines > 0 && framesetter) {
// CGMutablePathRef path = CGPathCreateMutable();
// CGPathAddRect(path, NULL, CGRectMake(0, 0, size.width, size.height));
// CTFrameRef frame = CTFramesetterCreateFrame(framesetter, CFRangeMake(0, 0), path, NULL);
// CFArrayRef lines = CTFrameGetLines(frame);
//
// if (nil != lines && CFArrayGetCount(lines) > 0) {
// NSInteger lastVisibleLineIndex = MIN(_numberOfLines, CFArrayGetCount(lines)) - 1;
// CTLineRef lastVisibleLine = CFArrayGetValueAtIndex(lines, lastVisibleLineIndex);
//
// CFRange rangeToLayout = CTLineGetStringRange(lastVisibleLine);
// range = CFRangeMake(0, rangeToLayout.location + rangeToLayout.length);
// }
// CFRelease(frame);
// CFRelease(path);
// }
CFRange fitCFRange = CFRangeMake(0, 0);
CGSize newSize = CTFramesetterSuggestFrameSizeWithConstraints(framesetter, range, NULL, CGSizeMake(width, CGFLOAT_MAX), &fitCFRange);
if (framesetter) {
CFRelease(framesetter);
}
return newSize.height;
}
+ (CGFloat)getWidthWithText:(NSString *)text height:(CGFloat)height font:(CGFloat)font{
@ -2165,4 +2208,18 @@ static dispatch_source_t _timer;
return uppercaseString;
}
///
+(BOOL)zhiyeChange:(NSString *)value
{
if(([UserInfoModel shareModel].identityType.intValue<3 && value.intValue<3) || [UserInfoModel shareModel].identityType.intValue == value.intValue)
{
return NO;
}
else
{
return YES;
}
}
@end

View File

@ -65,7 +65,7 @@
[self.layoutManager addTextContainer:self.textContainer];
PGJUILabel *lbname = [[PGJUILabel alloc] init];
PGJUILabel *lbname = [[PGJUILabel alloc] initWithFrame:CGRectMake(0, 0, 0, 0)];
[lbname setTextColor:RGBCOLOR(26, 26, 26)];
[lbname setTextAlignment:NSTextAlignmentLeft];
[lbname setFont:[UIFont systemFontOfSize:16]];

View File

@ -133,7 +133,14 @@
{
iscrollrow = arrtemp.count;
}
[self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:iscrollrow inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:NO];
@try {
[self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:iscrollrow inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:NO];
} @catch (NSException *exception) {
} @finally {
}
}
}
@ -287,6 +294,9 @@
[cell setBackAudioValue:^(AIChatModel * _Nonnull model) {
[self audioAction:model];
}];
[cell setBackDrawValue:^(BOOL isDrawFinish) {
[self.tableView reloadData];
}];
return cell;
}
@ -308,10 +318,10 @@
return 200;
}
// if(model.height>0)
// {
// return model.height;
// }
if(model.height>0)
{
return model.height;
}
float fheight = 55;
NSString *strtext = model.text;
@ -378,25 +388,42 @@
if(self.arrdata.count==0)
{
AIChatModel *model = [AIChatModel new];
model.messageType = 0;
model.text = @"你好我是你的AI助手有什么写作方面的问题都可以问我你看需要我在哪些方面帮助你呢";
model.isAnimation = NO;
[self.arrdata addObject:model];
AIChatModel *model2 = [AIChatModel new];
model2.messageType = 2;
model2.text = @"";
model2.arrfunction = responseObject.data.items;
model2.isAnimation = NO;
[self.arrdata addObject:model2];
///
if(self.strtablename.length>0)
if([UserInfoModel shareModel].identityType.intValue==3)
{
[FMDMySql insertChar:model andtablename:self.strtablename];
[FMDMySql insertChar:model2 andtablename:self.strtablename];
AIChatModel *model = [AIChatModel new];
model.messageType = 0;
model.text = @"有什么能帮助您的,我可以联网查询!";
model.isAnimation = NO;
[self.arrdata addObject:model];
///
if(self.strtablename.length>0)
{
[FMDMySql insertChar:model andtablename:self.strtablename];
}
}
else
{
AIChatModel *model = [AIChatModel new];
model.messageType = 0;
model.text = @"你好我是你的AI助手有什么写作方面的问题都可以问我你看需要我在哪些方面帮助你呢";
model.isAnimation = NO;
[self.arrdata addObject:model];
AIChatModel *model2 = [AIChatModel new];
model2.messageType = 2;
model2.text = @"";
model2.arrfunction = responseObject.data.items;
model2.isAnimation = NO;
[self.arrdata addObject:model2];
///
if(self.strtablename.length>0)
{
[FMDMySql insertChar:model andtablename:self.strtablename];
[FMDMySql insertChar:model2 andtablename:self.strtablename];
}
}
[self.tableView reloadData];
}
}
@ -425,68 +452,69 @@
[UserInfoModel setAiChatIsDrawing:1];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.4 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[self getInfoValue:value];
});
}
-(AIChatTextTableViewCell *)getDrawCell
{
NSIndexPath *index = [NSIndexPath indexPathForRow:self.arrdata.count-1 inSection:0];
AIChatTextTableViewCell *cellDraw = [self.tableView cellForRowAtIndexPath:index];
if(cellDraw.hidden==YES||cellDraw==nil)
{
NSIndexPath *index = [NSIndexPath indexPathForRow:self.arrdata.count-1 inSection:0];
[self.tableView scrollToRowAtIndexPath:index atScrollPosition:UITableViewScrollPositionBottom animated:NO];
cellDraw = [self getDrawCell];
}
return cellDraw;
}
-(void)getInfoValue:(NSString *)value
{
dispatch_async(dispatch_get_main_queue(), ^{
[LoadAlterView show];
});
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
__block float ftemp = ftemp = self.tableView.contentSize.height;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.6 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
__block float ftemp = self.tableView.contentSize.height;
__block float ftheight = self.tableView.height;
dispatch_async(dispatch_get_main_queue(), ^{
[LoadAlterView dismiss];
});
__block NSIndexPath *index = [NSIndexPath indexPathForRow:self.arrdata.count-1 inSection:0];
AIChatTextTableViewCell *cellDraw = [self.tableView cellForRowAtIndexPath:index];
if(cellDraw.hidden==YES||cellDraw==nil)
{
[self scrollToBottom];
sleep(1);
cellDraw = [self.tableView cellForRowAtIndexPath:index];
}
// if(DEBUG)
// {
// [UserInfoModel setAiChatIsDrawing:0];
// return;
// }
AIChatTextTableViewCell *cellDraw = [self getDrawCell];
[self.tableView beginUpdates];
self.cellDraw = cellDraw;
[self.tableView setScrollEnabled:NO];
[self.tableView setUserInteractionEnabled:NO];
[cellDraw setBackDrawValue:^(BOOL isDrawFinish) {
if(isDrawFinish)
{
[self.tableView setScrollEnabled:YES];
[self.tableView setUserInteractionEnabled:YES];
AIChatModel *modeltemp = self.arrdata[self.arrdata.count-1];
float fheight = 55;
if([Tools getWidthWithText:modeltemp.text height:20 font:14]>UISCREEN_WIDTH-80)
{
fheight = [Tools getLabelHeightWithText:modeltemp.text width:UISCREEN_WIDTH-80 font:14 linHeight:5]+38;
fheight = [Tools getMacDonaldsLabelHeightWithText:modeltemp.text width:UISCREEN_WIDTH-80 font:14 linHeight:5]+38;
}
modeltemp.height = fheight;
modeltemp.isAnimation = NO;
dispatch_async(dispatch_get_main_queue(), ^{
[self.tableView endUpdates];
// [self.tableView reloadData];
if(self.isDragging==NO)
{
// [self.tableView reloadRowsAtIndexPaths:@[index] withRowAnimation:UITableViewRowAnimationNone];
// [self scrollToBottom];
NSIndexPath *index = [NSIndexPath indexPathForRow:self.arrdata.count-1 inSection:0];
[self.tableView scrollToRowAtIndexPath:index atScrollPosition:UITableViewScrollPositionBottom animated:NO];
// [self.tableView reloadRowsAtIndexPaths:@[index] withRowAnimation:UITableViewRowAnimationNone];
float fheightmac = 55;
if([Tools getMacDonaldsWidthWithText:modeltemp.text height:20 font:14]>UISCREEN_WIDTH-80)
{
fheightmac = [Tools getMacDonaldsLabelHeightWithText:modeltemp.text width:UISCREEN_WIDTH-80 font:14 linHeight:5]+38;
}
modeltemp.height = fheightmac;
self.cellDraw.model = modeltemp;
if(modeltemp.isAnimation)
{
modeltemp.isAnimation = NO;
self.cellDraw.model = modeltemp;
}
// [self scrollToBottom];
}
});
[UserInfoModel setAiChatIsDrawing:0];
@ -497,7 +525,8 @@
float fheight = modeltemp.height;
self.cellDraw.height = fheight;
if(ftemp-ftheight>0 && self.isDragging==NO)
if(ftemp-ftheight+fheight-60>0&& self.isDragging==NO)
{
[self.tableView setContentOffset:CGPointMake(0, ftemp-ftheight+fheight-60)];
}
@ -505,8 +534,6 @@
}];
[self.tableView beginUpdates];
NSInteger nowtime = [[NSDate date] timeIntervalSince1970];
if(self.chat_start_time.length==0)
{

View File

@ -13,12 +13,13 @@
#import <AVFoundation/AVFoundation.h>
#import "AudioRecored.h"
#import "AIChatDrawLableView.h"
@interface AIChatTextTableViewCell ()
///
@property (nonatomic , strong) AIChatArcView *viewinfoLeft;
///
@property (nonatomic , strong) ViewLable *lbvalueLeft ;
@property (nonatomic , strong) AIChatDrawLableView *lbvalueLeft ;
///
@property (nonatomic , strong) AIChatFunctionView *functionView;
@ -84,7 +85,7 @@
[answerView setHidden:YES];
_answerView = answerView;
ViewLable *lbvalueLeft = [[ViewLable alloc] init];
AIChatDrawLableView *lbvalueLeft = [[AIChatDrawLableView alloc] init];
[lbvalueLeft setTextColor:RGBCOLOR(51, 51, 51)];
[lbvalueLeft setTextFont:[UIFont systemFontOfSize:14]];
[viewinfoLeft addSubview:lbvalueLeft];
@ -141,6 +142,9 @@
}];
_lbvalueright = lbvalueright;
[lbvalueright setUserInteractionEnabled:YES];
UILongPressGestureRecognizer *tapright = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(rightTapAction:)];
[lbvalueright addGestureRecognizer:tapright];
UIButton *btyuyin = [[UIButton alloc] init];
[btyuyin setImage:[UIImage imageNamed:@"ai_yuyincell"] forState:UIControlStateNormal];
@ -185,7 +189,7 @@
[self.btyuyin setSelected:self.model.isaudioStart];
}
float f_width = [Tools getWidthWithText:strtext height:20 font:14]+41;
float f_width = [Tools getMacDonaldsWidthWithText:strtext height:20 font:14]+41;
if(f_width>UISCREEN_WIDTH-40)
{
f_width = UISCREEN_WIDTH-40;
@ -317,7 +321,7 @@
}];
ViewLable *lbwz = self.lbvalueLeft;
__block AIChatDrawLableView *lbwz = self.lbvalueLeft;
if(self.model.isAnimation==YES && self.model.isDrwaEnd==NO)
{
[lbwz setBackHeight:^(float fheight, BOOL isend) {
@ -349,17 +353,41 @@
}
else
{
float fheight = 40;
if(f_width>UISCREEN_WIDTH-80)
if(self.model.height>0)
{
fheight = [Tools getMacDonaldsLabelHeightWithText:model.text width:UISCREEN_WIDTH-80 font:14 linHeight:5]+20;
if(fheight<40)
{
fheight = 40;
}
[self.viewinfoLeft mas_updateConstraints:^(MASConstraintMaker *make) {
make.height.offset(self.model.height-18);
}];
}
[self.viewinfoLeft mas_updateConstraints:^(MASConstraintMaker *make) {
make.height.offset(fheight);
else
{
float fheight = 40;
if(f_width>UISCREEN_WIDTH-80)
{
fheight = [Tools getMacDonaldsLabelHeightWithText:model.text width:UISCREEN_WIDTH-80 font:14 linHeight:5]+20;
if(fheight<40)
{
fheight = 40;
}
}
[self.viewinfoLeft mas_updateConstraints:^(MASConstraintMaker *make) {
make.height.offset(fheight);
}];
}
__strong AIChatModel *modelself = self.model;
__weak typeof(self) weakSelf = self;
[self.lbvalueLeft setBackHeight:^(float fheighttemp, BOOL isend) {
if(isend)
{
if(fheighttemp+38>modelself.height)
{
modelself.height = fheighttemp+38;
if(weakSelf.backDrawValue)
{
weakSelf.backDrawValue(YES);
}
}
}
}];
}
@ -400,6 +428,31 @@
// });
//}
-(void)rightTapAction:(UIGestureRecognizer *)gesture
{
if(gesture.state==UIGestureRecognizerStateBegan)
{
if(self.model.isAnimation)
{
if(self.model.isDrwaEnd)
{
[self copyRightValue];
}
}
else
{
[self copyRightValue];
}
}
}
-(void)copyRightValue
{
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
pasteboard.string = self.lbvalueright.strValue;
[HXHud showMessage:@"复制成功" afterDelayType:0];
}
-(void)leftTapAction:(UIGestureRecognizer *)gesture
{
if(gesture.state==UIGestureRecognizerStateBegan)

View File

@ -286,6 +286,13 @@
{
_arrdata = arrdata;
[self.collect reloadData];
if([UserInfoModel shareModel].identityType.intValue == 3)
{
[self.collect setHidden:YES];
[self.collect mas_updateConstraints:^(MASConstraintMaker *make) {
make.height.offset(0);
}];
}
}
#pragma mark - UICollectionView
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section

View File

@ -0,0 +1,36 @@
//
// AIChatDrawLableView.h
// ProductApp
//
// Created by 工作 on 2024/11/28.
//
#import <UIKit/UIKit.h>
#import "SSEDrawModel.h"
NS_ASSUME_NONNULL_BEGIN
typedef void(^AIChatDrawLableViewBackHeight)(float fheight,BOOL isend);
@interface AIChatDrawLableView : UIView
///
@property (nonatomic , strong) NSString *strValue;
///
@property (nonatomic , strong) UIColor *textColor;
///
@property (nonatomic , strong) UIFont *textFont;
///1个字需要多少s
@property (nonatomic , assign) float fspeed;
///是否关闭动画写入
@property (nonatomic , assign) BOOL isCloseAnimation;
///是否写入完成
@property (nonatomic , assign) BOOL isWriteEnd;
///在尾部添加数据
@property (nonatomic , strong) NSString *appendString;
///
@property (nonatomic , strong) ViewLableBackHeight backHeight;
///
@property (nonatomic , strong) NSMutableAttributedString *attString;
-(void)endAction;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,267 @@
//
// AIChatDrawLableView.m
// ProductApp
//
// Created by on 2024/11/28.
//
#import "AIChatDrawLableView.h"
#import "MarkdownParser.h"
#import "MarkDownLabel.h"
#import <CoreText/CoreText.h>
@interface AIChatDrawLableView ()
///
@property (nonatomic , strong) MarkDownLabel *lbname;
///
@property (nonatomic , strong) UIImageView *imgvb;
///
@property (nonatomic , strong) NSTimer *timer;
@property (nonatomic , assign) int inow;
@property (strong, nonatomic) NSLayoutManager *layoutManager;
@property (strong, nonatomic) NSTextStorage *textStorage;
@property (strong, nonatomic) NSTextContainer *textContainer;
///
@property (nonatomic , strong) MarkdownParser *parser;
///
@property (nonatomic , strong) NSMutableParagraphStyle *style;
@end
@implementation AIChatDrawLableView
-(NSMutableParagraphStyle *)style
{
if(!_style)
{
NSMutableParagraphStyle *style = [NSMutableParagraphStyle new];
style.lineSpacing = 5;
style.lineBreakMode = NSLineBreakByCharWrapping;
style.alignment = NSTextAlignmentLeft;
_style = style;
}
return _style;
}
-(MarkdownParser *)parser
{
if(!_parser)
{
_parser = [[MarkdownParser alloc] init];
}
return _parser;
}
-(id)initWithFrame:(CGRect)frame
{
if(self = [super initWithFrame:frame])
{
self.textStorage = [NSTextStorage new];
self.layoutManager = [NSLayoutManager new];
self.textContainer = [NSTextContainer new];
[self.textStorage addLayoutManager:self.layoutManager];
[self.layoutManager addTextContainer:self.textContainer];
MarkDownLabel *lbname = [[MarkDownLabel alloc] initWithFrame:CGRectMake(0, 0, 0, 0)];
[lbname setTextColor:RGBCOLOR(26, 26, 26)];
[lbname setTextAlignment:NSTextAlignmentLeft];
[lbname setFont:[UIFont systemFontOfSize:16]];
[lbname setNumberOfLines:0];
[self addSubview:lbname];
[lbname mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.top.equalTo(self);
}];
_lbname = lbname;
// [self mas_makeConstraints:^(MASConstraintMaker *make) {
// make.height.offset(18);
// }];
[self mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.equalTo(lbname);
}];
UIImageView *imgvb = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 18, 18)];
[imgvb setImage:[UIImage imageNamed:@"yd_drawTextB"]];
[self addSubview:imgvb];
[imgvb setHidden:YES];
_imgvb = imgvb;
}
return self;
}
-(void)setTextColor:(UIColor *)textColor
{
_textColor = textColor;
self.lbname.textColor = textColor;
}
-(void)setTextFont:(UIFont *)textFont
{
_textFont = textFont;
self.lbname.font = textFont;
}
-(void)setFspeed:(float)fspeed
{
_fspeed = fspeed;
}
-(void)setStrValue:(NSString *)strValue
{
_strValue = strValue;
if(self.isCloseAnimation)
{
[self.imgvb setHidden:YES];
NSString *str = self.strValue;
NSMutableAttributedString *attrString = [self.parser attributedStringFromMarkdown:str font:self.lbname.font fontsize:self.lbname.font.pointSize color:self.textColor];
[attrString addAttribute:NSParagraphStyleAttributeName value:self.style range:NSMakeRange(0, attrString.string.length)];
[self.lbname setDisplayedAttributedString:attrString];
self.attString = (NSMutableAttributedString *)self.lbname.attributedText;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.01 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
float fheight = [Tools getAttStringHeight:self.attString width:UISCREEN_WIDTH-80]+1;
[self mas_updateConstraints:^(MASConstraintMaker *make) {
make.height.offset(fheight);
}];
if(self.backHeight)
{
self.backHeight(fheight,YES);
}
});
}
else
{
[self showText];
}
}
-(void)setAppendString:(NSString *)appendString
{
NSString *strtemp =@"";
if(self.strValue==nil)
{
strtemp = [[NSString alloc] initWithString:appendString];
}
else
{
strtemp = [NSString stringWithFormat:@"%@%@",self.strValue,appendString];
}
[self setStrValue:strtemp];
}
-(void)showText
{
if(self.timer==nil)
{
[self endAction];
// [self.imgvb setHidden:NO];
self.inow = 0;
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:self.fspeed>0?self.fspeed:0.02 target:self selector:@selector(textSpeedAppend) userInfo:nil repeats:YES];
_timer = timer;
[[NSRunLoop mainRunLoop] addTimer:self.timer forMode:NSRunLoopCommonModes];
[[NSRunLoop mainRunLoop] addTimer:self.timer forMode:NSDefaultRunLoopMode];
}
}
-(void)textSpeedAppend
{
if(self.inow>self.strValue.length && self.isWriteEnd==YES)
{
[self.timer invalidate];
self.timer = nil;
[self.imgvb setHidden:YES];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.01 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
if(self.backHeight)
{
self.backHeight(self.height,YES);
}
});
return;
}
if(self.inow>self.strValue.length || self.strValue.length==0)
{
if(self.backHeight)
{
self.backHeight(-1,NO);
}
return;
}
NSString *str = [self.strValue substringToIndex:self.inow];
NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:str];
[attrString addAttribute:NSParagraphStyleAttributeName value:self.style range:NSMakeRange(0, str.length)];
[attrString addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:14] range:NSMakeRange(0, str.length)];
self.lbname.attributedText = attrString;
self.inow++;
float fheight = [Tools getLabelHeightWithText:self.lbname.text width:self.width font:self.lbname.font.pointSize linHeight:5]+1;
[self mas_updateConstraints:^(MASConstraintMaker *make) {
make.height.offset(fheight);
}];
if(self.backHeight)
{
self.backHeight(fheight,NO);
}
if(self.imgvb.hidden==NO)
{
CGPoint point = [self boundingRectForLastCharacterInLabel:self.lbname];
if(point.x>0&&point.y>0)
{
self.imgvb.center = point;
}
}
}
- (CGPoint)boundingRectForLastCharacterInLabel:(UILabel *)label {
NSString *text = label.text;
[self configWithLabel:label];
CGRect rect = [self characterRectAtIndex:text.length-1];
CGPoint lastPoint = CGPointMake(rect.origin.x+rect.size.width, rect.origin.y+rect.size.height/2.0);
return lastPoint;
}
-(void)configWithLabel:(UILabel *)label
{
self.textContainer.size = label.bounds.size;
self.textContainer.lineFragmentPadding = 0;
self.textContainer.maximumNumberOfLines = label.numberOfLines;
self.textContainer.lineBreakMode = label.lineBreakMode;
NSMutableAttributedString *attributedText = [[NSMutableAttributedString alloc] initWithString:label.text];
NSRange textRange = NSMakeRange(0, attributedText.length);
[attributedText addAttribute:NSFontAttributeName value:label.font range:textRange];
[attributedText addAttribute:NSParagraphStyleAttributeName value:self.style range:textRange];
[self.textStorage setAttributedString:attributedText];
}
-(CGRect)characterRectAtIndex:(NSUInteger)charIndex
{
if (charIndex >= self.textStorage.length) {
return CGRectZero;
}
NSRange characterRange = NSMakeRange(charIndex, 1);
NSRange glyphRange = [self.layoutManager glyphRangeForCharacterRange:characterRange actualCharacterRange:nil];
return [self.layoutManager boundingRectForGlyphRange:glyphRange inTextContainer:self.textContainer];
}
-(void)endAction
{
if(self.timer)
{
[self.timer invalidate];
self.timer = nil;
}
}
@end

View File

@ -0,0 +1,16 @@
//
// MarkDownLabel.h
// ProductApp
//
// Created by 工作 on 2024/11/28.
//
#import "TTTAttributedLabel.h"
NS_ASSUME_NONNULL_BEGIN
@interface MarkDownLabel : TTTAttributedLabel<TTTAttributedLabelDelegate>
- (void)setDisplayedAttributedString:(id)text;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,67 @@
//
// MarkDownLabel.m
// ProductApp
//
// Created by on 2024/11/28.
//
#import "MarkDownLabel.h"
#import "WkWebviewViewController.h"
@implementation MarkDownLabel
- (instancetype)initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
if (self) {
[self commonConfig];
}
return self;
}
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self commonConfig];
}
return self;
}
- (void)commonConfig {
self.delegate = self;
NSDictionary *linkAttributes = @{
(id)kCTForegroundColorAttributeName:[UIColor blueColor],
NSUnderlineStyleAttributeName:@(kCTUnderlineStyleNone)
};
self.linkAttributes = linkAttributes;
self.enabledTextCheckingTypes = 0;
}
- (void)setDisplayedAttributedString:(id)text {
NSMutableArray *linksAndRange = [@[] mutableCopy];
[self setText:[text string] afterInheritingLabelAttributesAndConfiguringWithBlock:^NSMutableAttributedString *(NSMutableAttributedString *mutableAttributedString) {
[text enumerateAttributesInRange:NSMakeRange(0, [text length])
options:0
usingBlock:^(NSDictionary *attrs, NSRange range, BOOL *stop) {
if (attrs[NSLinkAttributeName]) {
[linksAndRange addObject:@[attrs[NSLinkAttributeName], [NSValue valueWithRange:range]]];
} else {
[mutableAttributedString addAttributes:attrs range:range];
}
}];
return mutableAttributedString;
}];
for (NSArray *pair in linksAndRange) {
[self addLinkToURL:pair[0] withRange:[pair[1] rangeValue]];
}
}
- (void)attributedLabel:(TTTAttributedLabel *)label
didSelectLinkWithURL:(NSURL *)url
{
WkWebviewViewController *vc = [[WkWebviewViewController alloc] init];
vc.strurl = url.absoluteString;
[self.viewController.navigationController pushViewController:vc animated:YES];
}
@end

View File

@ -186,6 +186,7 @@ NS_ASSUME_NONNULL_BEGIN
*/
+ (void)requestToolsListData:(UIView *)view
page:(int)page
size:(NSString *)size
type_id:(NSString *)type_id
tool_name:(NSString *)tool_name
is_recommend:(NSString *)is_recommend

View File

@ -463,6 +463,7 @@
*/
+ (void)requestToolsListData:(UIView *)view
page:(int)page
size:(NSString *)size
type_id:(NSString *)type_id
tool_name:(NSString *)tool_name
is_recommend:(NSString *)is_recommend
@ -470,7 +471,7 @@
{
NSMutableDictionary *dicQuery = [NSMutableDictionary new];
[dicQuery setObject:[NSString stringWithFormat:@"%d",page] forKey:@"page"];
[dicQuery setObject:@"10" forKey:@"size"];
[dicQuery setObject:size forKey:@"size"];
[dicQuery setObject:[Tools isStringnil:type_id] forKey:@"type_id"];
// [dicQuery setObject:[Tools stringEncode:[Tools isStringnil:tool_name]] forKey:@"tool_name"];
[dicQuery setObject:[Tools isStringnil:is_recommend] forKey:@"is_recommend"];

View File

@ -8,7 +8,7 @@
#import "BaseModel.h"
NS_ASSUME_NONNULL_BEGIN
@class UserConfigModelData;
@class UserConfigModelData,UserConfigModelDataExtra;
@interface UserConfigModel : BaseModel
///
@property (nonatomic , strong) UserConfigModelData *data;
@ -26,9 +26,16 @@ NS_ASSUME_NONNULL_BEGIN
///用户名
@property (nonatomic , strong) NSString *name;
///配置信息
@property (nonatomic , strong) NSDictionary *config;
///
@property (nonatomic , strong) UserConfigModelDataExtra *extra;
@end
@interface UserConfigModelDataExtra : NSObject
///
@property (nonatomic , strong) NSString *identityType;
@end
NS_ASSUME_NONNULL_END

View File

@ -13,6 +13,11 @@
}
@end
@implementation UserConfigModelData
+ (NSDictionary *)modelContainerPropertyGenericClass {
return @{@"extra" : [UserConfigModelDataExtra class]};
}
@end
@implementation UserConfigModelDataExtra
@end

View File

@ -205,50 +205,19 @@
{
[HXLoadingHUD showWithStatus:@"" maskType:0];
[PublicNetWorkManager requestUserLoginData:self.view login_type:@"onekey" phone:dic weixin:@{} apple:@{} device:@{} onekey:dic bind:[NSNumber numberWithBool:self.isbind] unbind:[NSNumber numberWithBool:NO] Callback:^(BOOL state, UserLoginModel *responseObject, NSString * _Nullable describle) {
[HXLoadingHUD dismiss];
if(state)
{
[UserInfoModel setLoingState:@"1"];
[UserInfoModel setToken:responseObject.data.token];
[UserInfoModel shijianShangBao:0 key:@"client.login.success" value:@"onekey" extra:[dic objectForKey:@"gyuid"]];
[UserInfoModel shijianShangBao:0 key:@"client.login.success" value:@"onekey" extra:[Tools isStringnil:[dic objectForKey:@"gyuid"]]];
[UserInfoModel getUserData];
[self pushVC];
[GeYanSdk closeAuthVC:NO completion:^{
AppDelegate *appde = (AppDelegate *)[UIApplication sharedApplication].delegate;
if([appde.window.rootViewController isKindOfClass:[TabBarController class]])
{
NSArray *arr = self.navigationController.viewControllers;
for(UIViewController *vc in arr)
{
if([vc isKindOfClass:[ZhangHaoBangDingViewController class]])
{
[self.navigationController popToViewController:vc animated:YES];
return;
}
}
[self.navigationController popToRootViewControllerAnimated:YES];
[UserInfoModel shijianShangBao:0 key:@"client.login.success" value:@"onekey" extra:[Tools isStringnil:[dic objectForKey:@"gyuid"]]];
[[NSNotificationCenter defaultCenter] postNotificationName:@"updataUserState" object:nil];
}
else
{
NSArray *arr = self.navigationController.viewControllers;
for(UIViewController *vc in arr)
{
if([vc isKindOfClass:[StartPayViewController class]])
{
[self.navigationController popViewControllerAnimated:YES];
return;
}
}
[appde.window setRootViewController:[TabBarController new]];
}
}];
}
else
{
[HXLoadingHUD dismiss];
[HXHud showMessage:responseObject.message afterDelayType:1];
[UserInfoModel shijianShangBao:0 key:@"client.login.err" value:@"onekey" extra:responseObject.message];
}
@ -259,6 +228,7 @@
{
NSString *stridfa = [[NSUserDefaults standardUserDefaults] objectForKey:UserIDFA];
[PublicNetWorkManager requestUserConfigData:self.view idfa:stridfa Callback:^(BOOL state, UserConfigModel *responseObject, NSString * _Nullable describle) {
[HXLoadingHUD dismiss];
if(state)
{
[UserInfoModel setToken:responseObject.data.token];
@ -268,6 +238,10 @@
[UserInfoModel setConfig:responseObject.data.config];
[UserInfoModel shareModel].isloadconfig=YES;
BOOL ischange = [Tools zhiyeChange:responseObject.data.extra.identityType];
[UserInfoModel setIdentityType:responseObject.data.extra.identityType];
///tabbar
[self yemiantiaozhuan:ischange];
}
else
{
@ -275,8 +249,62 @@
}
}];
}
///
-(BOOL)zhiyeChange:(NSString *)value
{
if(([UserInfoModel shareModel].identityType.intValue<3 && value.intValue<3) || [UserInfoModel shareModel].identityType.intValue == value.intValue)
{
return NO;
}
else
{
return YES;
}
}
-(void)yemiantiaozhuan:(BOOL)ischange
{
[GeYanSdk closeAuthVC:NO completion:^{
AppDelegate *appde = (AppDelegate *)[UIApplication sharedApplication].delegate;
if([appde.window.rootViewController isKindOfClass:[TabBarController class]])
{
NSArray *arr = self.navigationController.viewControllers;
for(UIViewController *vc in arr)
{
if([vc isKindOfClass:[ZhangHaoBangDingViewController class]])
{
[self.navigationController popToViewController:vc animated:YES];
return;
}
}
if(ischange)
{
[appde.window setRootViewController:[TabBarController new]];
}
else
{
[self.navigationController popToRootViewControllerAnimated:YES];
}
[[NSNotificationCenter defaultCenter] postNotificationName:@"updataUserState" object:nil];
}
else
{
NSArray *arr = self.navigationController.viewControllers;
for(UIViewController *vc in arr)
{
if([vc isKindOfClass:[StartPayViewController class]])
{
[self.navigationController popViewControllerAnimated:YES];
return;
}
}
[appde.window setRootViewController:[TabBarController new]];
}
}];
}
//MARK: - Model
- (GyAuthViewModel *)customModel {

View File

@ -333,7 +333,7 @@
-(void)loginPushApple:(NSDictionary *)dic login_type:(NSString *)login_type
{
[PublicNetWorkManager requestUserLoginData:self login_type:login_type phone:@{} weixin:@{} apple:dic device:@{} onekey:@{} bind:[NSNumber numberWithBool:self.isbind] unbind:[NSNumber numberWithBool:NO] Callback:^(BOOL state, UserLoginModel *responseObject, NSString * _Nullable describle) {
[HXLoadingHUD dismiss];
if(state)
{
[UserInfoModel setLoingState:@"1"];
@ -341,40 +341,10 @@
[UserInfoModel shijianShangBao:0 key:@"client.login.success" value:@"apple" extra:@""];
[UserInfoModel getUserData];
[self pushVC];
AppDelegate *appde = (AppDelegate *)[UIApplication sharedApplication].delegate;
if([appde.window.rootViewController isKindOfClass:[TabBarController class]])
{
NSArray *arr = self.viewController.navigationController.viewControllers;
for(UIViewController *vc in arr)
{
if([vc isKindOfClass:[ZhangHaoBangDingViewController class]])
{
[self.viewController.navigationController popToViewController:vc animated:YES];
return;
}
}
[self.viewController.navigationController popToRootViewControllerAnimated:YES];
}
else
{
NSArray *arr = self.viewController.navigationController.viewControllers;
for(UIViewController *vc in arr)
{
if([vc isKindOfClass:[StartPayViewController class]])
{
[self.viewController.navigationController popViewControllerAnimated:YES];
return;
}
}
[appde.window setRootViewController:[TabBarController new]];
}
[UserInfoModel shijianShangBao:0 key:@"client.login.success" value:@"apple" extra:@""];
[[NSNotificationCenter defaultCenter] postNotificationName:@"updataUserState" object:nil];
}
else
{
[HXLoadingHUD dismiss];
[HXHud showMessage:responseObject.message afterDelayType:1];
[UserInfoModel shijianShangBao:0 key:@"client.login.err" value:@"apple" extra:responseObject.message];
}
@ -384,6 +354,7 @@
{
NSString *stridfa = [[NSUserDefaults standardUserDefaults] objectForKey:UserIDFA];
[PublicNetWorkManager requestUserConfigData:self idfa:stridfa Callback:^(BOOL state, UserConfigModel *responseObject, NSString * _Nullable describle) {
[HXLoadingHUD dismiss];
if(state)
{
[UserInfoModel setToken:responseObject.data.token];
@ -393,6 +364,10 @@
[UserInfoModel setConfig:responseObject.data.config];
[UserInfoModel shareModel].isloadconfig=YES;
BOOL ischange = [Tools zhiyeChange:responseObject.data.extra.identityType];
[UserInfoModel setIdentityType:responseObject.data.extra.identityType];
///tabbar
[self yemiantiaozhuan:ischange];
}
else
{
@ -400,7 +375,45 @@
}
}];
}
-(void)yemiantiaozhuan:(BOOL)ischange
{
AppDelegate *appde = (AppDelegate *)[UIApplication sharedApplication].delegate;
if([appde.window.rootViewController isKindOfClass:[TabBarController class]])
{
NSArray *arr = self.viewController.navigationController.viewControllers;
for(UIViewController *vc in arr)
{
if([vc isKindOfClass:[ZhangHaoBangDingViewController class]])
{
[self.viewController.navigationController popToViewController:vc animated:YES];
return;
}
}
if(ischange)
{
[appde.window setRootViewController:[TabBarController new]];
}
else
{
[self.viewController.navigationController popToRootViewControllerAnimated:YES];
}
}
else
{
NSArray *arr = self.viewController.navigationController.viewControllers;
for(UIViewController *vc in arr)
{
if([vc isKindOfClass:[StartPayViewController class]])
{
[self.viewController.navigationController popViewControllerAnimated:YES];
return;
}
}
[appde.window setRootViewController:[TabBarController new]];
}
[[NSNotificationCenter defaultCenter] postNotificationName:@"updataUserState" object:nil];
}
#pragma mark - ASAuthorizationController
- (void)authorizationController:(ASAuthorizationController *)controller didCompleteWithAuthorization:(ASAuthorization *)authorization {
if ([authorization.credential isKindOfClass:[ASAuthorizationAppleIDCredential class]]) {

View File

@ -550,7 +550,6 @@
[HXLoadingHUD showWithStatus:@"" maskType:0];
[PublicNetWorkManager requestUserLoginData:self login_type:@"phone" phone:dic weixin:@{} apple:@{} device:@{} onekey:@{} bind:[NSNumber numberWithBool:self.isbind] unbind:[NSNumber numberWithBool:NO] Callback:^(BOOL state, UserLoginModel *responseObject, NSString * _Nullable describle) {
[HXLoadingHUD dismiss];
if(state)
{
@ -570,39 +569,11 @@
[UserInfoModel getUserData];
[self pushVC];
AppDelegate *appde = (AppDelegate *)[UIApplication sharedApplication].delegate;
if([appde.window.rootViewController isKindOfClass:[TabBarController class]])
{
NSArray *arr = self.viewController.navigationController.viewControllers;
for(UIViewController *vc in arr)
{
if([vc isKindOfClass:[ZhangHaoBangDingViewController class]])
{
[self.viewController.navigationController popToViewController:vc animated:YES];
return;
}
}
[self.viewController.navigationController popToRootViewControllerAnimated:YES];
}
else
{
NSArray *arr = self.viewController.navigationController.viewControllers;
for(UIViewController *vc in arr)
{
if([vc isKindOfClass:[StartPayViewController class]])
{
[self.viewController.navigationController popViewControllerAnimated:YES];
return;
}
}
[appde.window setRootViewController:[TabBarController new]];
}
[UserInfoModel shijianShangBao:0 key:@"client.login.success" value:@"code" extra:self.fieldPhone.text];
[[NSNotificationCenter defaultCenter] postNotificationName:@"updataUserState" object:nil];
}
else
{
[HXLoadingHUD dismiss];
[UserInfoModel shijianShangBao:0 key:@"client.login.err" value:@"phone" extra:responseObject.message];
[HXHud showMessage:responseObject.message afterDelayType:1];
}
@ -612,6 +583,7 @@
{
NSString *stridfa = [[NSUserDefaults standardUserDefaults] objectForKey:UserIDFA];
[PublicNetWorkManager requestUserConfigData:self idfa:stridfa Callback:^(BOOL state, UserConfigModel *responseObject, NSString * _Nullable describle) {
[HXLoadingHUD dismiss];
if(state)
{
[UserInfoModel setToken:responseObject.data.token];
@ -621,6 +593,11 @@
[UserInfoModel setConfig:responseObject.data.config];
[UserInfoModel shareModel].isloadconfig=YES;
BOOL ischange = [Tools zhiyeChange:responseObject.data.extra.identityType];
[UserInfoModel setIdentityType:responseObject.data.extra.identityType];
///tabbar
[self yemiantiaozhuan:ischange];
}
else
{
@ -628,7 +605,45 @@
}
}];
}
-(void)yemiantiaozhuan:(BOOL)ischange
{
AppDelegate *appde = (AppDelegate *)[UIApplication sharedApplication].delegate;
if([appde.window.rootViewController isKindOfClass:[TabBarController class]])
{
NSArray *arr = self.viewController.navigationController.viewControllers;
for(UIViewController *vc in arr)
{
if([vc isKindOfClass:[ZhangHaoBangDingViewController class]])
{
[self.viewController.navigationController popToViewController:vc animated:YES];
return;
}
}
if(ischange)
{
[appde.window setRootViewController:[TabBarController new]];
}
else
{
[self.viewController.navigationController popToRootViewControllerAnimated:YES];
}
}
else
{
NSArray *arr = self.viewController.navigationController.viewControllers;
for(UIViewController *vc in arr)
{
if([vc isKindOfClass:[StartPayViewController class]])
{
[self.viewController.navigationController popViewControllerAnimated:YES];
return;
}
}
[appde.window setRootViewController:[TabBarController new]];
}
[[NSNotificationCenter defaultCenter] postNotificationName:@"updataUserState" object:nil];
}
-(void)otherAction:(UIButton *)sender
{
[self otherSelectAction:sender.tag];

View File

@ -340,7 +340,7 @@
[HXLoadingHUD showWithStatus:@"" maskType:0];
[PublicNetWorkManager requestUserLoginData:self login_type:@"weixin" phone:@{} weixin:dic apple:@{} device:@{} onekey:@{} bind:[NSNumber numberWithBool:self.isbind] unbind:[NSNumber numberWithBool:NO] Callback:^(BOOL state, UserLoginModel *responseObject, NSString * _Nullable describle) {
[HXLoadingHUD dismiss];
if(state)
{
@ -349,41 +349,10 @@
[UserInfoModel shijianShangBao:0 key:@"client.login.success" value:@"weixin" extra:@""];
[UserInfoModel getUserData];
[self pushVC];
AppDelegate *appde = (AppDelegate *)[UIApplication sharedApplication].delegate;
if([appde.window.rootViewController isKindOfClass:[TabBarController class]])
{
NSArray *arr = self.viewController.navigationController.viewControllers;
for(UIViewController *vc in arr)
{
if([vc isKindOfClass:[ZhangHaoBangDingViewController class]])
{
[self.viewController.navigationController popToViewController:vc animated:YES];
return;
}
}
[self.viewController.navigationController popToRootViewControllerAnimated:YES];
}
else
{
NSArray *arr = self.viewController.navigationController.viewControllers;
for(UIViewController *vc in arr)
{
if([vc isKindOfClass:[StartPayViewController class]])
{
[self.viewController.navigationController popViewControllerAnimated:YES];
return;
}
}
[appde.window setRootViewController:[TabBarController new]];
}
[UserInfoModel shijianShangBao:0 key:@"client.login.success" value:@"weixin" extra:[Tools isStringnil:resp.code]];
[[NSNotificationCenter defaultCenter] postNotificationName:@"updataUserState" object:nil];
}
else
{
[HXLoadingHUD dismiss];
[HXHud showMessage:responseObject.message afterDelayType:1];
[UserInfoModel shijianShangBao:0 key:@"client.login.err" value:@"weixin" extra:responseObject.message];
}
@ -401,6 +370,7 @@
{
NSString *stridfa = [[NSUserDefaults standardUserDefaults] objectForKey:UserIDFA];
[PublicNetWorkManager requestUserConfigData:self idfa:stridfa Callback:^(BOOL state, UserConfigModel *responseObject, NSString * _Nullable describle) {
[HXLoadingHUD dismiss];
if(state)
{
[UserInfoModel setToken:responseObject.data.token];
@ -409,6 +379,10 @@
[UserInfoModel setName:responseObject.data.name];
[UserInfoModel setConfig:responseObject.data.config];
[UserInfoModel shareModel].isloadconfig=YES;
BOOL ischange = [Tools zhiyeChange:responseObject.data.extra.identityType];
[UserInfoModel setIdentityType:responseObject.data.extra.identityType];
///tabbar
[self yemiantiaozhuan:ischange];
}
else
@ -417,5 +391,46 @@
}
}];
}
-(void)yemiantiaozhuan:(BOOL)ischange
{
AppDelegate *appde = (AppDelegate *)[UIApplication sharedApplication].delegate;
if([appde.window.rootViewController isKindOfClass:[TabBarController class]])
{
NSArray *arr = self.viewController.navigationController.viewControllers;
for(UIViewController *vc in arr)
{
if([vc isKindOfClass:[ZhangHaoBangDingViewController class]])
{
[self.viewController.navigationController popToViewController:vc animated:YES];
return;
}
}
if(ischange)
{
[appde.window setRootViewController:[TabBarController new]];
}
else
{
[self.viewController.navigationController popToRootViewControllerAnimated:YES];
}
}
else
{
NSArray *arr = self.viewController.navigationController.viewControllers;
for(UIViewController *vc in arr)
{
if([vc isKindOfClass:[StartPayViewController class]])
{
[self.viewController.navigationController popViewControllerAnimated:YES];
return;
}
}
[appde.window setRootViewController:[TabBarController new]];
}
[[NSNotificationCenter defaultCenter] postNotificationName:@"updataUserState" object:nil];
}
@end

View File

@ -59,7 +59,7 @@
-(void)getdata
{
[LoadAlterView show];
[NetWorkManager requestToolsListData:self.view page:self.ipage type_id:self.model.ID tool_name:self.model.type_name is_recommend:[Tools isStringnil:self.model.ID].length==0?@"0":@"" Callback:^(BOOL state, ToolsListModel *responseObject, NSString * _Nullable describle) {
[NetWorkManager requestToolsListData:self.view page:self.ipage size:@"10" type_id:self.model.ID tool_name:self.model.type_name is_recommend:[Tools isStringnil:self.model.ID].length==0?@"0":@"" Callback:^(BOOL state, ToolsListModel *responseObject, NSString * _Nullable describle) {
[LoadAlterView dismiss];
[self.tableView.mj_header endRefreshing];
[self.tableView.mj_footer endRefreshing];

View File

@ -84,8 +84,20 @@
NSMutableArray *arrurls = [NSMutableArray new];
for(NSDictionary *dic in arrbanner)
{
[arrurls addObject:[Tools isStringnil:[dic objectForKey:@"image"]]];
if([UserInfoModel shareModel].identityType.intValue == 3)
{
if(![[dic objectForKey:@"page"] isEqualToString:@"composition"] && ![[dic objectForKey:@"page"] isEqualToString:@"classroom_write"])
{
[arrurls addObject:[Tools isStringnil:[dic objectForKey:@"image"]]];
}
}
else
{
[arrurls addObject:[Tools isStringnil:[dic objectForKey:@"image"]]];
}
}
cleScrollView.imageURLStringsGroup = arrurls;
[self drawUI];
@ -264,7 +276,23 @@
{
NSArray *arrbanner = [[UserInfoModel shareModel].config objectForKey:@"client.home.banner.urls"];
NSDictionary *dic = arrbanner[index];
NSMutableArray *arrurls = [NSMutableArray new];
for(NSDictionary *dic in arrbanner)
{
if([UserInfoModel shareModel].identityType.intValue == 3)
{
if(![[dic objectForKey:@"page"] isEqualToString:@"composition"] && ![[dic objectForKey:@"page"] isEqualToString:@"classroom_write"])
{
[arrurls addObject:dic];
}
}
else
{
[arrurls addObject:dic];
}
}
NSDictionary *dic = arrurls[index];
NSString *strpage = [Tools isStringnil:[dic objectForKey:@"page"]];
if([strpage isEqualToString:@"recharge"])
{

View File

@ -228,6 +228,13 @@
[dicpush setObject:[NSNumber numberWithInt:(int)self.type] forKey:@"identityType"];
[PublicNetWorkManager requestUserPutData:self.view body:dicpush Callback:^(BOOL state, id _Nullable responseObject, NSString * _Nullable describle) {
///
// [self pushCollectInit];
}];
}
-(void)pushCollectInit
{
[NetWorkManager requestToolsFavInitData:self.view Callback:^(BOOL state, id _Nullable responseObject, NSString * _Nullable describle) {
}];
}

View File

@ -216,7 +216,7 @@
[self.view setUserInteractionEnabled:YES];
[[NSUserDefaults standardUserDefaults] setObject:@"1" forKey:YingDaoYe];
///
[self pushCollectInit];
// [self pushCollectInit];
[UserInfoModel shijianShangBao:0 key:@"client.guide.domain.check" value:@"职业选择" extra:[NSString stringWithFormat:@"%@%@",[self getTingLiuShiJian],lb.text]];
@ -262,7 +262,8 @@
[dicpush setObject:[NSNumber numberWithInt:3] forKey:@"identityType"];
[PublicNetWorkManager requestUserPutData:self.view body:dicpush Callback:^(BOOL state, id _Nullable responseObject, NSString * _Nullable describle) {
///
// [self pushCollectInit];
}];
}
}
@ -377,7 +378,7 @@
[UserInfoModel setConfig:responseObject.data.config];
[UserInfoModel shareModel].isloadconfig = YES;
[UserInfoModel setIdentityType:responseObject.data.extra.identityType];
[self pushVC];
}
else

View File

@ -213,7 +213,19 @@
[UserInfoModel shareModel].isloadconfig = YES;
[self.navigationController popToRootViewControllerAnimated:YES];
BOOL ischange = [Tools zhiyeChange:responseObject.data.extra.identityType];
[UserInfoModel setIdentityType:responseObject.data.extra.identityType];
///tabbar
if(ischange)
{
AppDelegate *appde = (AppDelegate *)[UIApplication sharedApplication].delegate;
[appde.window setRootViewController:[TabBarController new]];
}
else
{
[self.navigationController popToRootViewControllerAnimated:YES];
}
}
else
{

View File

@ -48,10 +48,10 @@
[self.tableView reloadData];
}
[self updateBtShow];
if(self.arrTools.count==0 || [[[NSUserDefaults standardUserDefaults] objectForKey:HomeToosRef] intValue] == 1)
{
[self getTools];
}
// if(self.arrTools.count==0 || [[[NSUserDefaults standardUserDefaults] objectForKey:HomeToosRef] intValue] == 1)
// {
// [self getTools];
// }
if([UserInfoModel shareModel].isupdataJiaoyu)
{
[UserInfoModel shareModel].isupdataJiaoyu = NO;
@ -88,7 +88,7 @@
}];
[self getUserData];
[self getTools];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
NSDictionary *dic = [[UserInfoModel shareModel].config objectForKey:@"client.version.upgrade"];
[self showUpDataAltre:dic];
@ -471,17 +471,12 @@
///
-(void)getTools
{
[[NSUserDefaults standardUserDefaults] setObject:@"0" forKey:HomeToosRef];
[NetWorkManager requestToolsFavData:self.view page:1 size:@"100" Callback:^(BOOL state, ToolsListModel *responseObject, NSString * _Nullable describle) {
[NetWorkManager requestToolsListData:self.view page:1 size:@"8" type_id:@"" tool_name:@"" is_recommend:@"0" Callback:^(BOOL state, ToolsListModel *responseObject, NSString * _Nullable describle) {
[self.tableView.mj_header endRefreshing];
if(state)
{
self.arrTools = responseObject.data.items;
[self.tableView reloadData];
if(responseObject.data.items.count==0)
{
[self pushCollectInit];
}
}
}];
}

View File

@ -52,7 +52,17 @@
NSMutableArray *arrurls = [NSMutableArray new];
for(NSDictionary *dic in arrbanner)
{
[arrurls addObject:[Tools isStringnil:[dic objectForKey:@"image"]]];
if([UserInfoModel shareModel].identityType.intValue == 3)
{
if(![[dic objectForKey:@"page"] isEqualToString:@"composition"] && ![[dic objectForKey:@"page"] isEqualToString:@"classroom_write"])
{
[arrurls addObject:[Tools isStringnil:[dic objectForKey:@"image"]]];
}
}
else
{
[arrurls addObject:[Tools isStringnil:[dic objectForKey:@"image"]]];
}
}
cleScrollView.imageURLStringsGroup = arrurls;
@ -75,7 +85,24 @@
{
NSArray *arrbanner = [[UserInfoModel shareModel].config objectForKey:@"client.home.banner.urls"];
NSDictionary *dic = arrbanner[index];
NSMutableArray *arrurls = [NSMutableArray new];
for(NSDictionary *dic in arrbanner)
{
if([UserInfoModel shareModel].identityType.intValue == 3)
{
if(![[dic objectForKey:@"page"] isEqualToString:@"composition"] && ![[dic objectForKey:@"page"] isEqualToString:@"classroom_write"])
{
[arrurls addObject:dic];
}
}
else
{
[arrurls addObject:dic];
}
}
NSDictionary *dic = arrurls[index];
NSString *strpage = [Tools isStringnil:[dic objectForKey:@"page"]];
if([strpage isEqualToString:@"recharge"])
{

View File

@ -9,6 +9,8 @@
#import "ShouYeShenFenViewController.h"
#import "NetWorkManager.h"
#import "PublicNetWorkManager.h"
#import "AppDelegate.h"
#import "GongJuViewController.h"
@interface ShouYeLingYuViewController ()
///
@ -196,10 +198,44 @@
{
[UserInfoModel shareModel].user_stage = modelson;
[UserInfoModel shareModel].isAllLevel = [NSString stringWithFormat:@"%@",[NSNumber numberWithBool:NO]];
BOOL ischange = [Tools zhiyeChange:@"3"];
[UserInfoModel setIdentityType:@"3"];
[UserInfoModel shareModel].isupdataJiaoyu = YES;
[self.navigationController popToRootViewControllerAnimated:YES];
///tabbar
if(ischange)
{
NSArray *arrtemp = self.navigationController.viewControllers;
BOOL isgongju = NO;
for(UIViewController *vc in arrtemp)
{
if([vc isKindOfClass:[GongJuViewController class]])
{
isgongju = YES;
break;
}
}
AppDelegate *appde = (AppDelegate *)[UIApplication sharedApplication].delegate;
TabBarController *tabbar = [TabBarController new];
[appde.window setRootViewController:tabbar];
if(isgongju)
{
if([UserInfoModel shareModel].identityType.intValue == 3)
{
[tabbar setSelectedIndex:1];
}
else
{
[tabbar setSelectedIndex:3];
}
}
}
else
{
[self.navigationController popToRootViewControllerAnimated:YES];
}
}
else
{

View File

@ -12,7 +12,7 @@ NS_ASSUME_NONNULL_BEGIN
@interface ShouYeShenFenNianJiView : UIView
///0学生 1家长 2老师
@property (nonatomic , assign) NSInteger type;
@property (nonatomic , assign) BOOL isslect;
///
@property (nonatomic , strong) NSArray *arrdata;

View File

@ -221,6 +221,11 @@
}
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
if(self.isslect==NO)
{
[HXHud showMessage:@"请选择身份" afterDelayType:0];
return;
}
RoleTreeModelData *modelsuper = self.arrdata[indexPath.section];
RoleTreeModelData *model = modelsuper.node[indexPath.row];

View File

@ -12,6 +12,8 @@
#import "PublicNetWorkManager.h"
#import "RoleTreeModel.h"
#import "AppDelegate.h"
#import "GongJuViewController.h"
@interface ShouYeShenFenView ()<UICollectionViewDelegate,UICollectionViewDataSource>
///
@ -213,8 +215,44 @@
[UserInfoModel shareModel].isupdataJiaoyu=YES;
[UserInfoModel shareModel].user_stage = modelson;
[UserInfoModel shareModel].isAllLevel = [NSString stringWithFormat:@"%@",[NSNumber numberWithBool:isall]];
BOOL ischange = [Tools zhiyeChange:[NSString stringWithFormat:@"%d",type]];
[UserInfoModel setIdentityType:[NSString stringWithFormat:@"%d",type]];
[self.viewController.navigationController popToRootViewControllerAnimated:YES];
///tabbar
if(ischange)
{
NSArray *arrtemp = self.viewController.navigationController.viewControllers;
BOOL isgongju = NO;
for(UIViewController *vc in arrtemp)
{
if([vc isKindOfClass:[GongJuViewController class]])
{
isgongju = YES;
break;
}
}
AppDelegate *appde = (AppDelegate *)[UIApplication sharedApplication].delegate;
TabBarController *tabbar = [TabBarController new];
[appde.window setRootViewController:tabbar];
if(isgongju)
{
if([UserInfoModel shareModel].identityType.intValue == 3)
{
[tabbar setSelectedIndex:1];
}
else
{
[tabbar setSelectedIndex:3];
}
}
}
else
{
[self.viewController.navigationController popToRootViewControllerAnimated:YES];
}
}
else
{
@ -262,6 +300,9 @@
model.select = YES;
self.viewnj.type = indexPath.row;
[self.collect reloadData];
self.viewnj.isslect = YES;
}
@end

View File

@ -22,14 +22,14 @@
}
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[self.navigationController setNavigationBarHidden:YES animated:animated];
}
- (void)viewDidLoad {
[super viewDidLoad];
[self.navigationController setNavigationBarHidden:YES animated:NO];
[self showNaviGationView:YES];
[self.navigationView setTitle:@"历史记录" titleColor:RGBCOLOR(60, 60, 60)];
[self.navigationView setBackgroundColor:[UIColor whiteColor]];
}
- (void)viewDidLoad {
[super viewDidLoad];
[self.view setBackgroundColor:RGBCOLOR(242, 242, 242)];
ZJSegmentStyle *style = [[ZJSegmentStyle alloc] init];
@ -43,7 +43,12 @@
style.scrollLineWidth = 20;
style.scrollLineColor = [UIColor whiteColor];
style.autoAdjustTitlesWidth = YES;
ZJScrollPageView *scrollPageView = [[ZJScrollPageView alloc] initWithFrame:CGRectMake(0, NavHeight, UISCREEN_WIDTH, UISCREEN_HEIGHT - NavHeight) segmentStyle:style titles:@[@"写作",@"批改",@"拍题",@"PPT"] parentViewController:self delegate:self];
float ftemp = 0;
if([UserInfoModel shareModel].identityType.intValue==3)
{
ftemp = TabHeight;
}
ZJScrollPageView *scrollPageView = [[ZJScrollPageView alloc] initWithFrame:CGRectMake(0, NavHeight, UISCREEN_WIDTH, UISCREEN_HEIGHT - NavHeight-ftemp) segmentStyle:style titles:@[@"写作",@"批改",@"拍题",@"PPT"] parentViewController:self delegate:self];
[self.view addSubview:scrollPageView];
scrollPageView.segmentView.backgroundColor = [UIColor whiteColor];
[scrollPageView reloadWithNewTitles:@[@"写作",@"批改",@"拍题",@"PPT"]];