Jelajahi Sumber

增加了 图片 修改了 音频的高度 去掉了jxlogintopview 的警告。增加了 psregisterbasevc 昵称只能输入中文 增加了发红包密码错误的提示。去掉了《发消息 的菊花》

曾 伟 5 tahun lalu
induk
melakukan
cfe6eec211
26 mengubah file dengan 186 tambahan dan 86 penghapusan
  1. 22 0
      image.xcassets/分享我的邀请码/图元素.imageset/Contents.json
  2. TEMPAT SAMPAH
      image.xcassets/分享我的邀请码/图元素.imageset/图元素@2x.png
  3. TEMPAT SAMPAH
      image.xcassets/分享我的邀请码/图元素.imageset/图元素@3x.png
  4. 1 1
      shiku_im/3rd/AvoidCrash/NSObject+AvoidCrash.m
  5. 2 2
      shiku_im/ClassesNew/classes/homeVc/JXAddrBookFriendVc.m
  6. 8 14
      shiku_im/ClassesNew/classes/loginmVc/JXLoginTopView.xib
  7. 7 6
      shiku_im/ClassesNew/classes/messageVc/JXMsgViewController.m
  8. 1 1
      shiku_im/ClassesNew/classes/messageVc/JXNewFriendViewController.m
  9. 5 2
      shiku_im/ClassesNew/classes/messageVc/SaveOrReadArr.m
  10. 6 1
      shiku_im/ClassesNew/classes/myVc/Vc/JXMyBaseInFovc.m
  11. 5 1
      shiku_im/ClassesNew/classes/myVc/Vc/JXMyFeedVc.m
  12. 17 16
      shiku_im/ClassesNew/classes/myVc/Vc/JXMybossVc.m
  13. 6 0
      shiku_im/ClassesNew/classes/myVc/Vc/JXShareMVc.xib
  14. 2 2
      shiku_im/cell/ChatCell/JXAudioCell.m
  15. 2 2
      shiku_im/cell/ChatCell/JXBaseChatCell.m
  16. 3 3
      shiku_im/cell/JXCell.m
  17. 17 13
      shiku_im/controller/JXChatViewController.mm
  18. 2 0
      shiku_im/controller/JXFriendViewController.m
  19. 2 2
      shiku_im/controller/JXRoomMemberVC.m
  20. 12 4
      shiku_im/model/JXFriendObject.m
  21. 2 6
      shiku_im/model/JXXMPP.m
  22. 3 3
      shiku_im/network/versionManage.m
  23. 50 5
      shiku_im/person/PSRegisterBaseVC.m
  24. 4 0
      shiku_im/redPacket/JXSendRedPacketViewController.m
  25. 1 1
      shiku_im/shiku_im-Info.plist
  26. 6 1
      shiku_im/shiku_im-Prefix.pch

+ 22 - 0
image.xcassets/分享我的邀请码/图元素.imageset/Contents.json

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

TEMPAT SAMPAH
image.xcassets/分享我的邀请码/图元素.imageset/图元素@2x.png


TEMPAT SAMPAH
image.xcassets/分享我的邀请码/图元素.imageset/图元素@3x.png


+ 1 - 1
shiku_im/3rd/AvoidCrash/NSObject+AvoidCrash.m

@@ -127,7 +127,7 @@ static NSMutableArray *noneSelClassStringPrefixs;
 - (void)avoidCrashForwardInvocation:(NSInvocation *)anInvocation {
     
     @try {
-        [self avoidCrashForwardInvocation:anInvocation];
+         [self avoidCrashForwardInvocation:anInvocation];
         
     } @catch (NSException *exception) {
         NSString *defaultToDo = AvoidCrashDefaultIgnore;

+ 2 - 2
shiku_im/ClassesNew/classes/homeVc/JXAddrBookFriendVc.m

@@ -116,7 +116,7 @@
         
         [self getArrayData];
         
-        [self getFriend];
+//        [self getFriend];
 
         [self refresh];
     }
@@ -782,7 +782,7 @@
     }
     [self scrollToPageUp];
 }
-
+//获取最近的好友
 - (void)getFriend{
     [g_server listAttention:10000 userId:MY_USER_ID toView:self];
 }

+ 8 - 14
shiku_im/ClassesNew/classes/loginmVc/JXLoginTopView.xib

@@ -1,18 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="16097" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="16097" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
     <device id="retina6_1" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment version="2304" identifier="iOS"/>
         <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="16087"/>
-        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
-        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="JXLoginTopView">
-            <connections>
-                <outlet property="view" destination="iN0-l3-epB" id="5LW-ZV-mau"/>
-            </connections>
-        </placeholder>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
         <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
         <view contentMode="scaleToFill" id="iN0-l3-epB" customClass="JXLoginTopView">
             <rect key="frame" x="0.0" y="0.0" width="320" height="200"/>
@@ -122,26 +117,25 @@
             <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
             <constraints>
                 <constraint firstItem="kkB-xC-ynp" firstAttribute="top" secondItem="pba-XA-BAZ" secondAttribute="bottom" id="3kU-xa-h2K"/>
-                <constraint firstItem="Eg6-Rh-YRS" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" id="BE2-hC-HBt"/>
+                <constraint firstItem="Eg6-Rh-YRS" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" id="BE2-hC-HBt"/>
                 <constraint firstItem="JpG-R9-SHQ" firstAttribute="width" secondItem="iN0-l3-epB" secondAttribute="width" multiplier="0.5" id="DhZ-Xi-jIS"/>
-                <constraint firstItem="JpG-R9-SHQ" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" id="HEL-zp-Cy4"/>
-                <constraint firstItem="vUN-kp-3ea" firstAttribute="bottom" secondItem="kkB-xC-ynp" secondAttribute="bottom" id="HJF-xP-hcK"/>
+                <constraint firstItem="JpG-R9-SHQ" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" id="HEL-zp-Cy4"/>
+                <constraint firstAttribute="bottom" secondItem="kkB-xC-ynp" secondAttribute="bottom" id="HJF-xP-hcK"/>
                 <constraint firstItem="pba-XA-BAZ" firstAttribute="leading" secondItem="Eg6-Rh-YRS" secondAttribute="trailing" id="J25-BT-eeb"/>
                 <constraint firstItem="JpG-R9-SHQ" firstAttribute="top" secondItem="Eg6-Rh-YRS" secondAttribute="bottom" id="KBD-2P-p5B"/>
                 <constraint firstItem="kkB-xC-ynp" firstAttribute="width" secondItem="iN0-l3-epB" secondAttribute="width" multiplier="0.5" id="LO3-Ph-eMa"/>
                 <constraint firstItem="Eg6-Rh-YRS" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="Sr4-dy-5vK"/>
                 <constraint firstItem="Eg6-Rh-YRS" firstAttribute="height" secondItem="iN0-l3-epB" secondAttribute="height" multiplier="0.5" id="Sxj-ze-9u2"/>
-                <constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="kkB-xC-ynp" secondAttribute="trailing" id="aRn-4j-FNU"/>
+                <constraint firstAttribute="trailing" secondItem="kkB-xC-ynp" secondAttribute="trailing" id="aRn-4j-FNU"/>
                 <constraint firstItem="Eg6-Rh-YRS" firstAttribute="width" secondItem="iN0-l3-epB" secondAttribute="width" multiplier="0.5" id="bvD-rs-j0E"/>
                 <constraint firstItem="pba-XA-BAZ" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="ct0-Zi-Sbp"/>
                 <constraint firstItem="pba-XA-BAZ" firstAttribute="height" secondItem="iN0-l3-epB" secondAttribute="height" multiplier="0.5" id="dOq-UQ-pNN"/>
-                <constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="pba-XA-BAZ" secondAttribute="trailing" id="dQ2-1Q-rTW"/>
-                <constraint firstItem="vUN-kp-3ea" firstAttribute="bottom" secondItem="JpG-R9-SHQ" secondAttribute="bottom" id="wqg-5V-FjL"/>
+                <constraint firstAttribute="trailing" secondItem="pba-XA-BAZ" secondAttribute="trailing" id="dQ2-1Q-rTW"/>
+                <constraint firstAttribute="bottom" secondItem="JpG-R9-SHQ" secondAttribute="bottom" id="wqg-5V-FjL"/>
             </constraints>
             <nil key="simulatedTopBarMetrics"/>
             <nil key="simulatedBottomBarMetrics"/>
             <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
-            <viewLayoutGuide key="safeArea" id="vUN-kp-3ea"/>
             <point key="canvasLocation" x="-17.39130434782609" y="106.47321428571428"/>
         </view>
     </objects>

+ 7 - 6
shiku_im/ClassesNew/classes/messageVc/JXMsgViewController.m

@@ -6,9 +6,7 @@
 
 #import "JXMsgViewController.h"
 #import "JXChatViewController.h"
-#import "XMGMainViewController.h"
 #import "JXChatViewC.h"//
-#import "JXChatViewC.h"
 #import "AppDelegate.h"
 #import "JXLabel.h"
 #import "JXImageView.h"
@@ -30,8 +28,7 @@
 #import "JXGroupViewController.h"
 #import "JXSearchUserVC.h"
 #import "JXNearVC.h"
-#import "JXRoomMemberVC.h"
-#import "JXMainViewController.h"
+#import "JXRoomMemberVC.h" 
 #import "JXTabMenuView.h"
 #import "JXScanQRViewController.h"
 #import <AudioToolbox/AudioToolbox.h>
@@ -876,7 +873,7 @@
 
     [_array enumerateObjectsUsingBlock:^(JXMsgAndUserObject  *_Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
         JXMessageObject *userx=obj.message;
-        if ([userx.fromUserId isEqualToString:@"10000"] ) {
+        if ([userx.fromUserId isEqualToString:@"10000"] || [userx.fromUserId isEqualToString:@"10100"] || [userx.fromUserId isEqualToString:@"10000006"]||[userx.fromUserId isEqualToString:@"10000009"]) {
             // [temArr insertObject:obj atIndex:0];
              [_array removeObjectAtIndex:idx];
         }else{
@@ -1097,7 +1094,7 @@
 }
  
 - (void)getFriend{
-    [g_server listAttention:0 userId:MY_USER_ID toView:self];
+    [g_server listAttention:10000 userId:MY_USER_ID toView:self];
 //    [g_server listFriend:0 userId:MY_USER_ID toView:self];
 }
 
@@ -1760,9 +1757,13 @@
         
     }else{
         
+        if (fromArr==nil) {
+            sendView.tempChat=11;
+        }else{
         
         
         sendView.tempChat=1;
+        }
     }
     sendView.rowIndex = indexPath.row;
     sendView.lastMsg = p.message;

+ 1 - 1
shiku_im/ClassesNew/classes/messageVc/JXNewFriendViewController.m

@@ -654,7 +654,7 @@
     }
     
     
-     //[g_notify postNotificationName:@"newFriend" object:nil userInfo:@{@"use":_user}];
+    // [g_notify postNotificationName:@"newFriend" object:nil userInfo:@{@"use":_user}];
 }
 
 @end

+ 5 - 2
shiku_im/ClassesNew/classes/messageVc/SaveOrReadArr.m

@@ -21,6 +21,9 @@
 
 #define saveFrienTempCatch [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"saveTempFriendnum.data"]
 
+#define saveNewFriendXXCatch [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"saveNewFriendXXCatch.data"]
+
+
 
 @implementation SaveOrReadArr
 
@@ -149,7 +152,7 @@
     
     // 此时data已经不空了
     // 5,把data写入文件
-    NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/saveFriendnum.plist"];
+    NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:saveNewFriendXXCatch];
     
     [data writeToFile:path atomically:YES];
 }
@@ -169,7 +172,7 @@
 
 + (NSMutableArray *)initNSKeyedFriendUnarchiver{
      
-    NSMutableData *data = [[NSMutableData alloc] initWithContentsOfFile:listcontatcsCatch];
+    NSMutableData *data = [[NSMutableData alloc] initWithContentsOfFile:saveNewFriendXXCatch];
 
     // 2,创建一个反序列化器(解码器)
     NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];

+ 6 - 1
shiku_im/ClassesNew/classes/myVc/Vc/JXMyBaseInFovc.m

@@ -95,6 +95,9 @@
     //_image = [ImageResize image:image fillSize:CGSizeMake(640, 640)];
     //    [_image retain];
     // 照相
+    
+    [g_server uploadHeadImage:g_server.myself.userId image:image toView:self];
+    
     self.IconIMG.image = image;
      
 }
@@ -257,7 +260,9 @@
     user.countryId=@(1);
     
     [g_server delHeadImage:self.user.userId];
-    [g_server getHeadImageLarge:self.user.userId userName:self.user.userNickname imageView:_IconIMG];
+  //URL v /user/update?sex=1&nickname=t%E5%91%83%E5%91%83%E5%91%83&language=zh&access_token=c4892f40d8c54e7887b59bf1a6c97190&salt=1594274614096&secret=vq9AvT%2BoEkmQnVlh2g0p2A%3D%3D HTTP/1.1
+    
+   [g_server getHeadImageLarge:self.user.userId userName:self.user.userNickname imageView:_IconIMG];
     // 更新用户信息
     [user updateUserNickname];
     

+ 5 - 1
shiku_im/ClassesNew/classes/myVc/Vc/JXMyFeedVc.m

@@ -618,8 +618,12 @@
     {
         _dataArr=[JXMyModel mj_objectArrayWithKeyValuesArray:array1];
 
+        
       [_tableView reloadData];
-        [_tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] animated:YES scrollPosition:UITableViewScrollPositionTop];
+        if (_dataArr.count>0) {
+              [_tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] animated:YES scrollPosition:UITableViewScrollPositionTop];
+        }
+    
             
     }
     else if([aDownload.action isEqualToString:act_feedbacksubmit])

+ 17 - 16
shiku_im/ClassesNew/classes/myVc/Vc/JXMybossVc.m

@@ -27,14 +27,15 @@
   
     [self defineNavBar:@"我的上级" andRinghtBtnImg:@""];
     
-    UIImageView  *bgIMG=[[UIImageView alloc]init];
-    bgIMG.image=[UIImage imageNamed:@"BG2111"];
-    [self.view addSubview:bgIMG];
-    [bgIMG mas_makeConstraints:^(MASConstraintMaker *make) {
-        make.top.mas_equalTo(JX_SCREEN_TOP);
-        make.right.left.mas_equalTo(20);
-        make.bottom.mas_equalTo(0);
-    }];
+//    UIImageView  *bgIMG=[[UIImageView alloc]init];
+//    bgIMG.userInteractionEnabled=YES;
+//    bgIMG.image=[UIImage imageNamed:@"BG2111"];
+//    [self.view addSubview:bgIMG];
+//    [bgIMG mas_makeConstraints:^(MASConstraintMaker *make) {
+//        make.top.mas_equalTo(JX_SCREEN_TOP);
+//        make.right.left.mas_equalTo(20);
+//        make.bottom.mas_equalTo(0);
+//    }];
     
     
     UILabel  *titleL=[[UILabel alloc]init];
@@ -175,26 +176,27 @@
 }
 //复制qq
 - (void)fuzhiBtnQQClick{
-    if (_strQQURL==nil) {
+    if (_strWXURL==nil) {
         
         return;
     }
      UIPasteboard *paseBoard=[UIPasteboard generalPasteboard];
      paseBoard.string=_strWXURL[@"qq"];
-    [SVProgressHUD showWithStatus:@"复制成功"];
-    [SVProgressHUD dismissWithDelay:1.0];
-    
+   
+    UIAlertView *alertShow=[[UIAlertView alloc]initWithTitle:nil message:@"复制成功" delegate:nil cancelButtonTitle:@"知道了" otherButtonTitles:nil, nil];
+    [alertShow show];
 }
 //复制微信号
 - (void)fuzhiBtnWXClick{
-    if (_strQQURL==nil) {
+    if (_strWXURL==nil) {
         
         return;
     }
      UIPasteboard *paseBoard=[UIPasteboard generalPasteboard];
      paseBoard.string=_strWXURL[@"wx"];
-    [SVProgressHUD showWithStatus:@"复制成功"];
-    [SVProgressHUD dismissWithDelay:1.0];
+    UIAlertView *alertShow=[[UIAlertView alloc]initWithTitle:nil message:@"复制成功" delegate:nil cancelButtonTitle:@"知道了" otherButtonTitles:nil, nil];
+    [alertShow show];
+           
     
 }
 
@@ -206,7 +208,6 @@
              
               _strWXURL=currentDictionary;
          
-         
          if (currentDictionary==nil) {
              
              return;

+ 6 - 0
shiku_im/ClassesNew/classes/myVc/Vc/JXShareMVc.xib

@@ -53,6 +53,9 @@
                         <constraint firstAttribute="height" constant="60" id="pS9-5r-2zI"/>
                     </constraints>
                 </imageView>
+                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="图元素" translatesAutoresizingMaskIntoConstraints="NO" id="23K-Oe-zRq">
+                    <rect key="frame" x="27" y="381.5" width="360" height="438.5"/>
+                </imageView>
             </subviews>
             <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
             <constraints>
@@ -68,7 +71,9 @@
                 <constraint firstAttribute="bottom" secondItem="R6n-dJ-Owv" secondAttribute="bottom" id="ibZ-vM-5Zp"/>
                 <constraint firstItem="R6n-dJ-Owv" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="lbX-K2-VmF"/>
                 <constraint firstItem="98Z-iR-1Wm" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="8" id="nfU-3w-Wyr"/>
+                <constraint firstItem="23K-Oe-zRq" firstAttribute="centerX" secondItem="R6n-dJ-Owv" secondAttribute="centerX" id="sJS-ma-Mdv"/>
                 <constraint firstItem="Kgw-DA-jo6" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" constant="40" id="uV3-yh-oum"/>
+                <constraint firstItem="W2R-Fi-dy0" firstAttribute="top" secondItem="23K-Oe-zRq" secondAttribute="bottom" constant="1" id="xYQ-bN-xwU"/>
                 <constraint firstItem="R6n-dJ-Owv" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="xjd-2y-3RJ"/>
             </constraints>
             <point key="canvasLocation" x="137.68115942028987" y="102.45535714285714"/>
@@ -80,5 +85,6 @@
         <image name="navigationButtonReturn" width="15" height="21"/>
         <image name="分享框" width="293.5" height="40"/>
         <image name="分享赚钱title" width="325.5" height="375.5"/>
+        <image name="图元素" width="360" height="438.5"/>
     </resources>
 </document>

+ 2 - 2
shiku_im/cell/ChatCell/JXAudioCell.m

@@ -54,10 +54,10 @@
     
     
     if(self.msg.isMySend){
-        self.bubbleBg.frame=CGRectMake(CGRectGetMinX(self.headImage.frame)-w-CHAT_WIDTH_ICON+2, INSETS+10, w, 37);
+        self.bubbleBg.frame=CGRectMake(CGRectGetMinX(self.headImage.frame)-w-CHAT_WIDTH_ICON+2, INSETS, w, 37);
     }
     else{
-        self.bubbleBg.frame=CGRectMake(CGRectGetMaxX(self.headImage.frame)+CHAT_WIDTH_ICON, INSETS2(self.msg.isGroup)+10, w, 37);
+        self.bubbleBg.frame=CGRectMake(CGRectGetMaxX(self.headImage.frame)+CHAT_WIDTH_ICON, INSETS2(self.msg.isGroup)+8, w, 37);
     }
     
     if (self.msg.isShowTime) {

+ 2 - 2
shiku_im/cell/ChatCell/JXBaseChatCell.m

@@ -866,8 +866,8 @@ static double g_timeSend=0;
 //            _readImage.image = [UIImage imageNamed:@"send"];
             [_readImage setTitleColor:HEXCOLOR(0x666666) forState:UIControlStateNormal];
             [_readImage setTitle:@"未读" forState:UIControlStateNormal];
-        }else{
-            [_readImage setTitleColor:HEXCOLOR(0xCCCCCC) forState:UIControlStateNormal];
+        }else{//HEXCOLOR(0xCCCCCC)
+            [_readImage setTitleColor:[UIColor grayColor] forState:UIControlStateNormal];
             [_readImage setTitle:@"已读" forState:UIControlStateNormal];
 //            _readImage.image = [UIImage imageNamed:@"read"];
         }

+ 3 - 3
shiku_im/cell/JXCell.m

@@ -232,9 +232,9 @@
     if ([self.userId intValue] == [SHIKU_TRANSFER intValue]) {
         return;
     }
-    if (self.delegate && [self.delegate respondsToSelector:self.didReplay]) {
-        [self.delegate performSelectorOnMainThread:self.didReplay withObject:self waitUntilDone:YES];
-    }
+//    if (self.delegate && [self.delegate respondsToSelector:self.didReplay]) {
+//        [self.delegate performSelectorOnMainThread:self.didReplay withObject:self waitUntilDone:YES];
+//    }
 }
 
 //将所有Cell的badge存到沙盒里

+ 17 - 13
shiku_im/controller/JXChatViewController.mm

@@ -493,7 +493,8 @@
 
              self.title = [NSString stringWithFormat:@"%@ 临时会话 (%@) ",userName, str];
         }else{
-            
+
+            self.title = [NSString stringWithFormat:@"%@ (%@) ",userName, str];
         }
     }else {
          if (_useInfoTempChat==11) {
@@ -887,7 +888,10 @@
      _strURLGoback=@"1000";
 
 }
- 
+- (void)handleGesture:(UIGestureRecognizer *)guest{
+    
+    
+}
 - (void)viewDidLoad
 {
     [super viewDidLoad];
@@ -1391,7 +1395,7 @@ NSMutableArray* temp = [[NSMutableArray alloc]init];
         });
         
     }else {
-        _isRefreshing = NO;
+        _isRefreshing = NO;//[_table gotoLastRow:NO];
     }
     
 }
@@ -1968,10 +1972,14 @@ NSMutableArray* temp = [[NSMutableArray alloc]init];
 }
 //删除房间
 - (void)deleRoom{
+
     
+     
+    // [g_notify addObserver:self selector:@selector(deleRoom) name:@"act_roomMemberDeljieshan" object:nil];
+//     [g_notify addObserver:self selector:@selector(deleRoom) name:@"deleRoom" object:nil];
 
-    [g_notify postNotificationName:kUpdateUserNotifaction object:nil];
-    [self.navigationController popViewControllerAnimated:YES];
+//    [g_notify postNotificationName:kUpdateUserNotifaction object:nil];
+//    [self.navigationController popViewControllerAnimated:YES];
 }
 -(void)viewWillAppear:(BOOL)animated{
     [super viewWillAppear:animated];
@@ -1980,10 +1988,6 @@ NSMutableArray* temp = [[NSMutableArray alloc]init];
     _strURLGoback=@"1000";
     _enterFirst=0;
     
-   
-    
-    [g_notify addObserver:self selector:@selector(deleRoom) name:@"act_roomMemberDeljieshan" object:nil];
-    [g_notify addObserver:self selector:@selector(deleRoom) name:@"deleRoom" object:nil];
     [g_notify addObserver:self selector:@selector(openLong:) name:@"KOPENLONG" object:nil];
 //    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
 //
@@ -3363,7 +3367,7 @@ NSMutableArray* temp = [[NSMutableArray alloc]init];
         [UIView animateWithDuration:0.1f animations:^{
        //  self.tableFooter.frame = CGRectMake(0, self.view.frame.size.height+deltaY-self.heightFooter, JX_SCREEN_WIDTH, self.heightFooter);
             [_table setFrame:CGRectMake(0, 0+_noticeHeight, _table.frame.size.width, self.view.frame.size.height+deltaY-self.heightFooter-_noticeHeight-(JX_SCREEN_HEIGHT>=812?20:10))];
-            [_table gotoLastRow:NO];
+           // [_table gotoLastRow:NO];
         } completion:^(BOOL finished) {
         }];
         [CATransaction commit];
@@ -4195,7 +4199,7 @@ NSMutableArray* temp = [[NSMutableArray alloc]init];
             return [JXEmojiCell getChatCellHeight:msg];
             break;
         case kWCMessageTypeVoice:
-            return [JXAudioCell getChatCellHeight:msg]+5;
+            return [JXAudioCell getChatCellHeight:msg];
             break;
         case kWCMessageTypeLocation:
             return [JXLocationCell getChatCellHeight:msg];
@@ -6169,7 +6173,7 @@ NSMutableArray* temp = [[NSMutableArray alloc]init];
 -(void)doBeginEdit{
     _table.frame = CGRectMake(0, self.heightHeader+_noticeHeight, JX_SCREEN_WIDTH, self.view.frame.size.height-faceHeight-self.heightHeader-self.heightFooter-_noticeHeight);
     self.tableFooter.frame = CGRectMake(0, _table.frame.origin.y+_table.frame.size.height, JX_SCREEN_WIDTH, self.heightFooter);
-    [_table gotoLastRow:NO];
+    //[_table gotoLastRow:NO];
 }
 
 -(void)doEndEdit{
@@ -6216,7 +6220,7 @@ NSMutableArray* temp = [[NSMutableArray alloc]init];
 
 - (BOOL) hideKeyboard:(BOOL)gotoLastRow{
     if(gotoLastRow)
-        [_table gotoLastRow:NO];
+      //  [_table gotoLastRow:NO];
     _btnFace.selected = NO;
     [_messageText resignFirstResponder];
     _messageText.inputView = nil;

+ 2 - 0
shiku_im/controller/JXFriendViewController.m

@@ -105,6 +105,8 @@
         [g_notify addObserver:self selector:@selector(updateLabels:) name:kXMPPMessageUpadtePasswordNotification object:nil];
 //        [g_server customerLinkList:self];
         [self setupCustomerLinkList];
+        
+        [self refresh];
     }
     return self;
 }

+ 2 - 2
shiku_im/controller/JXRoomMemberVC.m

@@ -2549,7 +2549,7 @@
     }else if(indexPath.row == _maxShow + 1){
         [self onShowDel];
     }else{
-        memberData *data = [self.room getMember:g_myself.userId];
+        memberData *data = [room getMember:g_myself.userId];
 
         if ([data.role intValue] != 1 && [data.role intValue] != 2 && !self.room.allowSendCard) {
             [g_App showAlert:Localized(@"JX_OnlyManagerSeeInfo")];
@@ -2570,7 +2570,7 @@
         JXUserInfoVC* vc = [JXUserInfoVC alloc];
         vc.userId = [NSString stringWithFormat:@"%ld", user.userId];
         vc.fromAddType = 3;
-        vc.data=data;
+        vc.data=user;
         vc = [vc init];
         [g_navigation pushViewController:vc animated:YES];
     }

+ 12 - 4
shiku_im/model/JXFriendObject.m

@@ -14,7 +14,7 @@
 
 @interface JXFriendObject ()
 @property (nonatomic, assign) BOOL isNewFriend;
-
+@property (nonatomic,strong) NSTimer *timerFriend;
 @end
 
 
@@ -33,11 +33,19 @@ static JXFriendObject *sharedUser;
 -(id)init{
     self = [super init];
     if(self){
+        
+       // _timerFriend=[NSTimer timerWithTimeInterval:1 target:self selector:@selector(resultShow) userInfo:@"11" repeats:YES];
+      
+       // [[NSRunLoop mainRunLoop] addTimer:_timerFriend forMode:NSRunLoopCommonModes];
+        
         _tableName = @"newFriend";
     }
     return self;
 }
-
+- (void)resultShow{
+    
+    
+}
 -(void)dealloc{
     NSLog(@"JXFriendObject.dealloc");
 //    [super dealloc];
@@ -273,7 +281,7 @@ static JXFriendObject *sharedUser;
         case XMPP_TYPE_SAYHELLO:
             
         {
-            NSMutableArray *tempAArr=  [SaveOrReadArr initNSKeyedTempFriendUnarchiver];
+            NSMutableArray *tempAArr=  [SaveOrReadArr initNSKeyedFriendUnarchiver];
             
             if (tempAArr.count>0) {
                 [tempAArr enumerateObjectsUsingBlock:^(JXUserObject * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
@@ -285,7 +293,7 @@ static JXFriendObject *sharedUser;
                         NSMutableArray *arrxx=[[NSMutableArray alloc]initWithArray:[SaveOrReadArr initNSKeyedFriendUnarchiver]];
                         //本地存储
                         [arrxx addObject:user];
-                        [SaveOrReadArr initSerializationTempFriend:arrxx];
+                        [SaveOrReadArr initSerializationFriendArray:arrxx];
                         
                     }
                 }];

+ 2 - 6
shiku_im/model/JXXMPP.m

@@ -328,11 +328,7 @@ static JXXMPP *sharedManager;
     if (_receiptArray.count >= 100) {
         [self receiptTimerAction:nil];
     }
-    if (msg.content.length<=5) {
-         //NSLog(@"- 群收消息 -- %@",[msg mj_keyValues]);
-
-        return;
-    }
+    
     
     // [self sendMessageReceipt:msg];
     
@@ -1375,7 +1371,7 @@ static JXXMPP *sharedManager;
     [self readData:data];
     
     NSString *text = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
-    //    [self showMessageWithStr:text];
+        //[self showMessageWithStr:text];
     // 读取到服务端数据值后,能再次读取
     [self.socket readDataWithTimeout:- 1 tag:0];
 }

+ 3 - 3
shiku_im/network/versionManage.m

@@ -375,11 +375,11 @@
         NSMutableArray *array = [[NSMutableArray alloc] initWithContentsOfFile:SERVER_LIST_DATA];
         if (array.firstObject) {
     //        self.apiUrl = array.firstObject;
-            self.apiUrl = [NSString stringWithFormat:@"http://%@:8092/config", APIURL];  // 新socket
+            self.apiUrl = [NSString stringWithFormat:@"http://%@/config", APIURL];  // 新socket
     //          self.apiUrl = [NSString stringWithFormat:@"http://%@:3001/config", testAPIURL];  // 新socket
         }else {
-            
-            self.apiUrl = [NSString stringWithFormat:@"http://%@:8092/config", APIURL];  // 新socket
+            // self.apiUrl = [NSString stringWithFormat:@"http://%@:8092/config", APIURL];
+            self.apiUrl = [NSString stringWithFormat:@"http://%@/config", APIURL];  // 新socket
     //        self.apiUrl = [NSString stringWithFormat:@"http://%@:3001/config", testAPIURL];  // 新socket
             
             array = [[NSMutableArray alloc] initWithObjects:self.apiUrl, nil];

+ 50 - 5
shiku_im/person/PSRegisterBaseVC.m

@@ -121,10 +121,14 @@
         h+=iv.frame.size.height;
 
         
+        
         iv = [self createButton:@"昵称" drawTop:NO drawBottom:YES must:YES click:nil];
         iv.frame = CGRectMake(0, h, JX_SCREEN_WIDTH, HEIGHT);
         _name = [self createTextField:iv default:resume.name hint:@"群聊中显示的昵称"];
         h+=iv.frame.size.height;
+        _name.delegate=self;
+        [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(textFiledEditChanged:)name:UITextFieldTextDidChangeNotification object:_name];
+        
         
 //        iv = [self createButton:Localized(@"JX_Sex") drawTop:NO drawBottom:YES must:YES click:nil];
 //        iv.frame = CGRectMake(0, h, JX_SCREEN_WIDTH, HEIGHT);
@@ -332,6 +336,47 @@
     // Dispose of any resources that can be recreated.
 }
 
+//=====================================start ============
+- (BOOL)textFieldShouldReturn:(UITextField *)textField{
+    [textField resignFirstResponder];
+    
+    //过滤非汉字字符
+    textField.text = [self filterCharactor:textField.text withRegex:@"[^\u4e00-\u9fa5]"];
+    
+    if (textField.text.length >= 24) {
+        textField.text = [textField.text substringToIndex:24];
+        
+    }
+    return NO;
+}
+ 
+- (void)textFiledEditChanged:(id)notification{
+    
+    UITextRange *selectedRange = _name.markedTextRange;
+    UITextPosition *position = [_name positionFromPosition:selectedRange.start offset:0];
+    
+    if (!position) { //// 没有高亮选择的字
+        //过滤非汉字字符
+        _name.text = [self filterCharactor:_name.text withRegex:@"[^\u4e00-\u9fa5]"];
+        
+        if (_name.text.length >= 24) {
+            _name.text = [_name.text substringToIndex:24];
+        }
+    }else { //有高亮文字
+        //do nothing
+    }
+}
+ 
+//根据正则,过滤特殊字符
+- (NSString *)filterCharactor:(NSString *)string withRegex:(NSString *)regexStr{
+    NSString *searchText = string;
+    NSError *error = NULL;
+    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:regexStr options:NSRegularExpressionCaseInsensitive error:&error];
+    NSString *result = [regex stringByReplacingMatchesInString:searchText options:NSMatchingReportCompletion range:NSMakeRange(0, searchText.length) withTemplate:@""];
+    return result;
+}
+
+//=====================================end=============
 - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
     if(textField == _birthday){
         [self hideKeyboard];
@@ -810,11 +855,11 @@
     return b;
 }
 
-- (BOOL)textFieldShouldReturn:(UITextField *)textField
-{
-    [self.view endEditing:YES];
-    return YES;
-}
+//- (BOOL)textFieldShouldReturn:(UITextField *)textField
+//{
+//    [self.view endEditing:YES];
+//    return YES;
+//}
 
 
 @end

+ 4 - 0
shiku_im/redPacket/JXSendRedPacketViewController.m

@@ -352,6 +352,10 @@
         dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.f * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
             [self.verVC clearUpPassword];
         });
+        
+        UIAlertView *alertShow=[[UIAlertView alloc]initWithTitle:nil message:dict[@"resultMsg"] delegate:nil cancelButtonTitle:@"知道了" otherButtonTitles:nil, nil];
+                     [alertShow show];
+       ;
     }
 
     return show_error;

+ 1 - 1
shiku_im/shiku_im-Info.plist

@@ -67,7 +67,7 @@
 		<dict/>
 	</array>
 	<key>CFBundleVersion</key>
-	<string>20200708</string>
+	<string>20200709</string>
 	<key>LSApplicationCategoryType</key>
 	<string></string>
 	<key>LSApplicationQueriesSchemes</key>

+ 6 - 1
shiku_im/shiku_im-Prefix.pch

@@ -13,7 +13,12 @@
 
 #define APIKEY @"a891a7a6-03af-475c-8ae1-7fb4b230e958"
 
-#define APIURL @"47.57.16.13"
+//#define APIURL @"47.57.16.13"
+
+
+#define APIURL @"qdzcie.com"
+
+
 //#define APIURL @"https://app.ddz98.vip"
 
 //#define APIURL @"47.57.16.13"