diff --git a/ProductApp/ProductApp.xcodeproj/project.pbxproj b/ProductApp/ProductApp.xcodeproj/project.pbxproj index 800a03f..e5c8804 100644 --- a/ProductApp/ProductApp.xcodeproj/project.pbxproj +++ b/ProductApp/ProductApp.xcodeproj/project.pbxproj @@ -39,6 +39,16 @@ CA0351E62D96726D002D3F98 /* HuiYuanZXQYCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CA0351E52D96726D002D3F98 /* HuiYuanZXQYCollectionViewCell.m */; }; CA0351E92D9675D2002D3F98 /* HuiYuanZXGoodsView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA0351E82D9675D2002D3F98 /* HuiYuanZXGoodsView.m */; }; CA0351EC2D96778F002D3F98 /* HuiYuanZXGoodsCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CA0351EB2D96778F002D3F98 /* HuiYuanZXGoodsCollectionViewCell.m */; }; + CA1EAD992D9A267E0008907A /* MoNiZhuanZhangView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA1EAD982D9A267E0008907A /* MoNiZhuanZhangView.m */; }; + CA1EAD9D2D9A2B7D0008907A /* MoNiYuEViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CA1EAD9C2D9A2B7D0008907A /* MoNiYuEViewController.m */; }; + CA1EADA12D9A2C190008907A /* MoNiYuEView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA1EADA02D9A2C190008907A /* MoNiYuEView.m */; }; + CA1EADA52D9A2CE60008907A /* MoNiYuECollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CA1EADA42D9A2CE60008907A /* MoNiYuECollectionViewCell.m */; }; + CA1EADA92D9A3DED0008907A /* ShiPinDianHuaViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CA1EADA82D9A3DED0008907A /* ShiPinDianHuaViewController.m */; }; + CA1EADAD2D9A3E8B0008907A /* ShiPinDianHuaView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA1EADAC2D9A3E8B0008907A /* ShiPinDianHuaView.m */; }; + CA1EADB02D9A65C70008907A /* ShiPinDianHuaShowView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA1EADAF2D9A65C70008907A /* ShiPinDianHuaShowView.m */; }; + CA1EADB42D9A8DAA0008907A /* YuYinDianHuaViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CA1EADB32D9A8DAA0008907A /* YuYinDianHuaViewController.m */; }; + CA1EADB82D9A8E780008907A /* YuYinDianHuaView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA1EADB72D9A8E780008907A /* YuYinDianHuaView.m */; }; + CA1EADBB2D9A91080008907A /* YuYinDianHuaShowView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA1EADBA2D9A91080008907A /* YuYinDianHuaShowView.m */; }; CA3CD5792D913CFA002707C1 /* TimeTools.m in Sources */ = {isa = PBXBuildFile; fileRef = CA3CD5782D913CFA002707C1 /* TimeTools.m */; }; CA3CD57A2D913CFA002707C1 /* Tools.m in Sources */ = {isa = PBXBuildFile; fileRef = CA3CD5762D913CFA002707C1 /* Tools.m */; }; CA3CD59F2D913D27002707C1 /* UserModel.m in Sources */ = {isa = PBXBuildFile; fileRef = CA3CD5872D913D27002707C1 /* UserModel.m */; }; @@ -98,6 +108,7 @@ CA589DC72D97C26400D85384 /* DuanXinShowMainHomeCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CA589DC62D97C26400D85384 /* DuanXinShowMainHomeCollectionViewCell.m */; }; CA589DCB2D97C94F00D85384 /* WeiXinXXViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CA589DCA2D97C94F00D85384 /* WeiXinXXViewController.m */; }; CA589DCF2D97C9A200D85384 /* WeiXinXXView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA589DCE2D97C9A200D85384 /* WeiXinXXView.m */; }; + CA589DD52D97F34400D85384 /* MoNiZhuanZhangViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CA589DD42D97F34400D85384 /* MoNiZhuanZhangViewController.m */; }; CAB2AB482D9242D30022C535 /* MainHomeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CAB2AB472D9242D30022C535 /* MainHomeViewController.m */; }; CAB2AB4B2D9242DD0022C535 /* MainMyViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CAB2AB4A2D9242DD0022C535 /* MainMyViewController.m */; }; CAB2AB4F2D9244210022C535 /* MainHomeView.m in Sources */ = {isa = PBXBuildFile; fileRef = CAB2AB4E2D9244210022C535 /* MainHomeView.m */; }; @@ -327,6 +338,26 @@ CA0351E82D9675D2002D3F98 /* HuiYuanZXGoodsView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HuiYuanZXGoodsView.m; sourceTree = ""; }; CA0351EA2D96778F002D3F98 /* HuiYuanZXGoodsCollectionViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HuiYuanZXGoodsCollectionViewCell.h; sourceTree = ""; }; CA0351EB2D96778F002D3F98 /* HuiYuanZXGoodsCollectionViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HuiYuanZXGoodsCollectionViewCell.m; sourceTree = ""; }; + CA1EAD972D9A267E0008907A /* MoNiZhuanZhangView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MoNiZhuanZhangView.h; sourceTree = ""; }; + CA1EAD982D9A267E0008907A /* MoNiZhuanZhangView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MoNiZhuanZhangView.m; sourceTree = ""; }; + CA1EAD9B2D9A2B7D0008907A /* MoNiYuEViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MoNiYuEViewController.h; sourceTree = ""; }; + CA1EAD9C2D9A2B7D0008907A /* MoNiYuEViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MoNiYuEViewController.m; sourceTree = ""; }; + CA1EAD9F2D9A2C190008907A /* MoNiYuEView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MoNiYuEView.h; sourceTree = ""; }; + CA1EADA02D9A2C190008907A /* MoNiYuEView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MoNiYuEView.m; sourceTree = ""; }; + CA1EADA32D9A2CE60008907A /* MoNiYuECollectionViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MoNiYuECollectionViewCell.h; sourceTree = ""; }; + CA1EADA42D9A2CE60008907A /* MoNiYuECollectionViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MoNiYuECollectionViewCell.m; sourceTree = ""; }; + CA1EADA72D9A3DED0008907A /* ShiPinDianHuaViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShiPinDianHuaViewController.h; sourceTree = ""; }; + CA1EADA82D9A3DED0008907A /* ShiPinDianHuaViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ShiPinDianHuaViewController.m; sourceTree = ""; }; + CA1EADAB2D9A3E8B0008907A /* ShiPinDianHuaView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShiPinDianHuaView.h; sourceTree = ""; }; + CA1EADAC2D9A3E8B0008907A /* ShiPinDianHuaView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ShiPinDianHuaView.m; sourceTree = ""; }; + CA1EADAE2D9A65C70008907A /* ShiPinDianHuaShowView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShiPinDianHuaShowView.h; sourceTree = ""; }; + CA1EADAF2D9A65C70008907A /* ShiPinDianHuaShowView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ShiPinDianHuaShowView.m; sourceTree = ""; }; + CA1EADB22D9A8DAA0008907A /* YuYinDianHuaViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YuYinDianHuaViewController.h; sourceTree = ""; }; + CA1EADB32D9A8DAA0008907A /* YuYinDianHuaViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YuYinDianHuaViewController.m; sourceTree = ""; }; + CA1EADB62D9A8E780008907A /* YuYinDianHuaView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YuYinDianHuaView.h; sourceTree = ""; }; + CA1EADB72D9A8E780008907A /* YuYinDianHuaView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YuYinDianHuaView.m; sourceTree = ""; }; + CA1EADB92D9A91080008907A /* YuYinDianHuaShowView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YuYinDianHuaShowView.h; sourceTree = ""; }; + CA1EADBA2D9A91080008907A /* YuYinDianHuaShowView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YuYinDianHuaShowView.m; sourceTree = ""; }; CA3CD5752D913CFA002707C1 /* Tools.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Tools.h; sourceTree = ""; }; CA3CD5762D913CFA002707C1 /* Tools.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Tools.m; sourceTree = ""; }; CA3CD5772D913CFA002707C1 /* TimeTools.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TimeTools.h; sourceTree = ""; }; @@ -430,6 +461,8 @@ CA589DCA2D97C94F00D85384 /* WeiXinXXViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WeiXinXXViewController.m; sourceTree = ""; }; CA589DCD2D97C9A200D85384 /* WeiXinXXView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WeiXinXXView.h; sourceTree = ""; }; CA589DCE2D97C9A200D85384 /* WeiXinXXView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WeiXinXXView.m; sourceTree = ""; }; + CA589DD32D97F34400D85384 /* MoNiZhuanZhangViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MoNiZhuanZhangViewController.h; sourceTree = ""; }; + CA589DD42D97F34400D85384 /* MoNiZhuanZhangViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MoNiZhuanZhangViewController.m; sourceTree = ""; }; CAB2AB462D9242D30022C535 /* MainHomeViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MainHomeViewController.h; sourceTree = ""; }; CAB2AB472D9242D30022C535 /* MainHomeViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MainHomeViewController.m; sourceTree = ""; }; CAB2AB492D9242DD0022C535 /* MainMyViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MainMyViewController.h; sourceTree = ""; }; @@ -971,6 +1004,86 @@ path = cell; sourceTree = ""; }; + CA1EAD962D9A266E0008907A /* view */ = { + isa = PBXGroup; + children = ( + CA1EAD972D9A267E0008907A /* MoNiZhuanZhangView.h */, + CA1EAD982D9A267E0008907A /* MoNiZhuanZhangView.m */, + ); + path = view; + sourceTree = ""; + }; + CA1EAD9A2D9A2B680008907A /* 模拟余额 */ = { + isa = PBXGroup; + children = ( + CA1EADA22D9A2CD40008907A /* cell */, + CA1EAD9E2D9A2C0C0008907A /* view */, + CA1EAD9B2D9A2B7D0008907A /* MoNiYuEViewController.h */, + CA1EAD9C2D9A2B7D0008907A /* MoNiYuEViewController.m */, + ); + path = "模拟余额"; + sourceTree = ""; + }; + CA1EAD9E2D9A2C0C0008907A /* view */ = { + isa = PBXGroup; + children = ( + CA1EAD9F2D9A2C190008907A /* MoNiYuEView.h */, + CA1EADA02D9A2C190008907A /* MoNiYuEView.m */, + ); + path = view; + sourceTree = ""; + }; + CA1EADA22D9A2CD40008907A /* cell */ = { + isa = PBXGroup; + children = ( + CA1EADA32D9A2CE60008907A /* MoNiYuECollectionViewCell.h */, + CA1EADA42D9A2CE60008907A /* MoNiYuECollectionViewCell.m */, + ); + path = cell; + sourceTree = ""; + }; + CA1EADA62D9A3DD20008907A /* 视频电话 */ = { + isa = PBXGroup; + children = ( + CA1EADAA2D9A3E730008907A /* view */, + CA1EADA72D9A3DED0008907A /* ShiPinDianHuaViewController.h */, + CA1EADA82D9A3DED0008907A /* ShiPinDianHuaViewController.m */, + ); + path = "视频电话"; + sourceTree = ""; + }; + CA1EADAA2D9A3E730008907A /* view */ = { + isa = PBXGroup; + children = ( + CA1EADAB2D9A3E8B0008907A /* ShiPinDianHuaView.h */, + CA1EADAC2D9A3E8B0008907A /* ShiPinDianHuaView.m */, + CA1EADAE2D9A65C70008907A /* ShiPinDianHuaShowView.h */, + CA1EADAF2D9A65C70008907A /* ShiPinDianHuaShowView.m */, + ); + path = view; + sourceTree = ""; + }; + CA1EADB12D9A8D7A0008907A /* 语音电话 */ = { + isa = PBXGroup; + children = ( + CA1EADB52D9A8E690008907A /* view */, + CA1EADB22D9A8DAA0008907A /* YuYinDianHuaViewController.h */, + CA1EADB32D9A8DAA0008907A /* YuYinDianHuaViewController.m */, + ); + path = "语音电话"; + sourceTree = ""; + }; + CA1EADB52D9A8E690008907A /* view */ = { + isa = PBXGroup; + children = ( + CA1EADB62D9A8E780008907A /* YuYinDianHuaView.h */, + CA1EADB72D9A8E780008907A /* YuYinDianHuaView.m */, + CA1EADB92D9A91080008907A /* YuYinDianHuaShowView.h */, + CA1EADBA2D9A91080008907A /* YuYinDianHuaShowView.m */, + ); + path = view; + sourceTree = ""; + }; CA3CD57B2D913D20002707C1 /* NetWorkManager */ = { isa = PBXGroup; children = ( @@ -1145,9 +1258,23 @@ path = view; sourceTree = ""; }; + CA589DD22D97F32900D85384 /* 模拟转账 */ = { + isa = PBXGroup; + children = ( + CA1EAD962D9A266E0008907A /* view */, + CA589DD32D97F34400D85384 /* MoNiZhuanZhangViewController.h */, + CA589DD42D97F34400D85384 /* MoNiZhuanZhangViewController.m */, + ); + path = "模拟转账"; + sourceTree = ""; + }; CAB2AB442D9242B70022C535 /* 首页 */ = { isa = PBXGroup; children = ( + CA1EADB12D9A8D7A0008907A /* 语音电话 */, + CA1EADA62D9A3DD20008907A /* 视频电话 */, + CA1EAD9A2D9A2B680008907A /* 模拟余额 */, + CA589DD22D97F32900D85384 /* 模拟转账 */, CA589DC82D97C93B00D85384 /* 微信消息 */, CAB2AB522D9284EF0022C535 /* 短信通知 */, CAB2AB4C2D9244070022C535 /* view */, @@ -2295,6 +2422,7 @@ CB489F582744A0BD00DA044A /* UIDevice+PGJ.m in Sources */, CBD422B128DAEDFC00C32440 /* UIImageView+PWebCache.m in Sources */, CB489FB32744A0BD00DA044A /* THDatePickerView.m in Sources */, + CA1EADA12D9A2C190008907A /* MoNiYuEView.m in Sources */, CA0351D82D965213002D3F98 /* HuiYuanZXViewController.m in Sources */, CB489FB62744A0BD00DA044A /* NSDate+CXCategory.m in Sources */, CB489F612744A0BD00DA044A /* ListAlterView.m in Sources */, @@ -2308,6 +2436,7 @@ CB489F6B2744A0BD00DA044A /* LJsignView.m in Sources */, CA0351892D963254002D3F98 /* ZhangHaoBDTableViewCell.m in Sources */, CB489F622744A0BD00DA044A /* MDBwebVIew.m in Sources */, + CA589DD52D97F34400D85384 /* MoNiZhuanZhangViewController.m in Sources */, CB489F992744A0BD00DA044A /* UserInfoModel.m in Sources */, CB489DCA27449D5C00DA044A /* AppDelegate.m in Sources */, CA0351942D96440F002D3F98 /* ZhangHuGuanLiViewController.m in Sources */, @@ -2350,6 +2479,7 @@ CA3CD6102D9140D5002707C1 /* PayPublicYouHuiLogListView.m in Sources */, CA3CD6112D9140D5002707C1 /* PayPublicView.m in Sources */, CA3CD6122D9140D5002707C1 /* PayPublicYouHuiView.m in Sources */, + CA1EAD9D2D9A2B7D0008907A /* MoNiYuEViewController.m in Sources */, CA3CD6132D9140D5002707C1 /* PayPublicYouHuiTableViewCell.m in Sources */, CB489F6D2744A0BD00DA044A /* UIView+Additions.m in Sources */, CB489FA92744A0BD00DA044A /* UIView+XLExtension.m in Sources */, @@ -2358,6 +2488,7 @@ CB489F512744A0BD00DA044A /* PGJSearchView.m in Sources */, CB489F7A2744A0BD00DA044A /* FSTextView.m in Sources */, CA03519C2D964841002D3F98 /* GuanYuWoMenViewController.m in Sources */, + CA1EADB02D9A65C70008907A /* ShiPinDianHuaShowView.m in Sources */, CAB2AB592D9285A90022C535 /* DuanXinView.m in Sources */, CB489F6F2744A0BD00DA044A /* XLAlertView.m in Sources */, CA589DBD2D978FE900D85384 /* MNHeiPeiView.m in Sources */, @@ -2381,10 +2512,12 @@ CA3CD5BA2D913D3E002707C1 /* PayManager.m in Sources */, CA3CD5BB2D913D3E002707C1 /* VistaInAppPurchaseManager.m in Sources */, CB489FB42744A0BD00DA044A /* CXDatePickerView.m in Sources */, + CA1EADA92D9A3DED0008907A /* ShiPinDianHuaViewController.m in Sources */, CB489F7B2744A0BD00DA044A /* UIImageView+VideoImageView.m in Sources */, CB489F602744A0BD00DA044A /* GETCorelLocation.m in Sources */, CA589DBA2D9786C000D85384 /* PickerAlterView.m in Sources */, CB489F892744A0BD00DA044A /* TagInfoModel.m in Sources */, + CA1EADA52D9A2CE60008907A /* MoNiYuECollectionViewCell.m in Sources */, CAE017012D94F64F004777D4 /* LoginTelView.m in Sources */, CB489F8E2744A0BD00DA044A /* UITextFieldYS.m in Sources */, CB489F922744A0BD00DA044A /* IndexGetNewsModel.m in Sources */, @@ -2404,6 +2537,7 @@ CAE017052D951F70004777D4 /* TTTAttributedLabel.m in Sources */, CB489F632744A0BD00DA044A /* CountDownManager.m in Sources */, CA589DB72D97827900D85384 /* AlterSheetView.m in Sources */, + CA1EADB42D9A8DAA0008907A /* YuYinDianHuaViewController.m in Sources */, CB489F9A2744A0BD00DA044A /* baseInfoModel.m in Sources */, CB489F6E2744A0BD00DA044A /* UIButton+EnlargeTouchArea.m in Sources */, CB489F972744A0BD00DA044A /* WkWebviewViewController.m in Sources */, @@ -2417,6 +2551,7 @@ CA3CD5B42D913D33002707C1 /* PublicNetWorkManager.m in Sources */, CA3CD5B52D913D33002707C1 /* PublicUploadImageManager.m in Sources */, CAB2AB482D9242D30022C535 /* MainHomeViewController.m in Sources */, + CA1EADB82D9A8E780008907A /* YuYinDianHuaView.m in Sources */, CB489F682744A0BD00DA044A /* DAYCalendarView.m in Sources */, CAB2AB4B2D9242DD0022C535 /* MainMyViewController.m in Sources */, CA589DCB2D97C94F00D85384 /* WeiXinXXViewController.m in Sources */, @@ -2439,10 +2574,13 @@ CA0351A32D964926002D3F98 /* PeiZhiShowView.m in Sources */, CB489FAF2744A0BD00DA044A /* FSActionSheetConfig.m in Sources */, CB489FB52744A0BD00DA044A /* HYTimePickerView.m in Sources */, + CA1EADAD2D9A3E8B0008907A /* ShiPinDianHuaView.m in Sources */, CB489F722744A0BD00DA044A /* MCTabBarController.m in Sources */, + CA1EAD992D9A267E0008907A /* MoNiZhuanZhangView.m in Sources */, CAE0171E2D95379B004777D4 /* YiJianFanKuiView.m in Sources */, CAE0171F2D95379B004777D4 /* ImageCollectionViewCell.m in Sources */, CAE017202D95379B004777D4 /* YiJianFanKuiController.m in Sources */, + CA1EADBB2D9A91080008907A /* YuYinDianHuaShowView.m in Sources */, CAE0170C2D952EA2004777D4 /* MainMyUserView.m in Sources */, CB489F732744A0BD00DA044A /* BaseViewController.m in Sources */, CA3CD5792D913CFA002707C1 /* TimeTools.m in Sources */, @@ -2626,6 +2764,7 @@ INFOPLIST_FILE = ProductApp/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = "装佯大师"; INFOPLIST_KEY_NSCameraUsageDescription = "装佯大师意见反馈和短信通知和模拟来电上传图片需要使用相机"; + INFOPLIST_KEY_NSMicrophoneUsageDescription = "相机"; INFOPLIST_KEY_NSPhotoLibraryAddUsageDescription = "装佯大师意见反馈和短信通知和模拟来电上传图片需要使用相册"; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; @@ -2690,6 +2829,7 @@ INFOPLIST_FILE = ProductApp/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = "装佯大师"; INFOPLIST_KEY_NSCameraUsageDescription = "装佯大师意见反馈和短信通知和模拟来电上传图片需要使用相机"; + INFOPLIST_KEY_NSMicrophoneUsageDescription = "相机"; INFOPLIST_KEY_NSPhotoLibraryAddUsageDescription = "装佯大师意见反馈和短信通知和模拟来电上传图片需要使用相册"; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; diff --git a/ProductApp/ProductApp.xcworkspace/xcuserdata/gongzuo.xcuserdatad/UserInterfaceState.xcuserstate b/ProductApp/ProductApp.xcworkspace/xcuserdata/gongzuo.xcuserdatad/UserInterfaceState.xcuserstate index 7482bb7..aa35d80 100644 Binary files a/ProductApp/ProductApp.xcworkspace/xcuserdata/gongzuo.xcuserdatad/UserInterfaceState.xcuserstate and b/ProductApp/ProductApp.xcworkspace/xcuserdata/gongzuo.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/Contents.json b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/mnzz_微信模拟.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/mnzz_微信模拟.imageset/Contents.json new file mode 100644 index 0000000..5a539db --- /dev/null +++ b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/mnzz_微信模拟.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "组 45744@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "组 45744@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/mnzz_微信模拟.imageset/组 45744@2x.png b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/mnzz_微信模拟.imageset/组 45744@2x.png new file mode 100644 index 0000000..ca1f9f3 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/mnzz_微信模拟.imageset/组 45744@2x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/mnzz_微信模拟.imageset/组 45744@3x.png b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/mnzz_微信模拟.imageset/组 45744@3x.png new file mode 100644 index 0000000..35cad75 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/mnzz_微信模拟.imageset/组 45744@3x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_select.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_select.imageset/Contents.json new file mode 100644 index 0000000..f8f9d48 --- /dev/null +++ b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_select.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "组 44147@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "组 44147@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_select.imageset/组 44147@2x.png b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_select.imageset/组 44147@2x.png new file mode 100644 index 0000000..bb41851 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_select.imageset/组 44147@2x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_select.imageset/组 44147@3x.png b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_select.imageset/组 44147@3x.png new file mode 100644 index 0000000..b18c75f Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_select.imageset/组 44147@3x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信服务.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信服务.imageset/Contents.json new file mode 100644 index 0000000..d66ca39 --- /dev/null +++ b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信服务.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "钱包@3x@2x(1).png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "钱包@3x@3x(1).png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信服务.imageset/钱包@3x@2x(1).png b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信服务.imageset/钱包@3x@2x(1).png new file mode 100644 index 0000000..649834e Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信服务.imageset/钱包@3x@2x(1).png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信服务.imageset/钱包@3x@3x(1).png b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信服务.imageset/钱包@3x@3x(1).png new file mode 100644 index 0000000..35d91e3 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信服务.imageset/钱包@3x@3x(1).png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信钱包.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信钱包.imageset/Contents.json new file mode 100644 index 0000000..d871d8d --- /dev/null +++ b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信钱包.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "钱包@3x@2x(3).png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "钱包@3x@3x(3).png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信钱包.imageset/钱包@3x@2x(3).png b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信钱包.imageset/钱包@3x@2x(3).png new file mode 100644 index 0000000..e83388a Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信钱包.imageset/钱包@3x@2x(3).png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信钱包.imageset/钱包@3x@3x(3).png b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信钱包.imageset/钱包@3x@3x(3).png new file mode 100644 index 0000000..ce22172 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信钱包.imageset/钱包@3x@3x(3).png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信零钱.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信零钱.imageset/Contents.json new file mode 100644 index 0000000..971a02e --- /dev/null +++ b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信零钱.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "钱包@3x@2x(2).png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "钱包@3x@3x(2).png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信零钱.imageset/钱包@3x@2x(2).png b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信零钱.imageset/钱包@3x@2x(2).png new file mode 100644 index 0000000..e5eec7a Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信零钱.imageset/钱包@3x@2x(2).png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信零钱.imageset/钱包@3x@3x(2).png b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信零钱.imageset/钱包@3x@3x(2).png new file mode 100644 index 0000000..055f608 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信零钱.imageset/钱包@3x@3x(2).png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/Contents.json b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_sf.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_sf.imageset/Contents.json new file mode 100644 index 0000000..7b6156b --- /dev/null +++ b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_sf.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 + } +} diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_sf.imageset/容器@2x.png b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_sf.imageset/容器@2x.png new file mode 100644 index 0000000..3ec83e5 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_sf.imageset/容器@2x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_sf.imageset/容器@3x.png b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_sf.imageset/容器@3x.png new file mode 100644 index 0000000..75acdf1 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_sf.imageset/容器@3x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_扬声器已关.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_扬声器已关.imageset/Contents.json new file mode 100644 index 0000000..5d7c31a --- /dev/null +++ b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_扬声器已关.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "组 45426@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "组 45426@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_扬声器已关.imageset/组 45426@2x.png b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_扬声器已关.imageset/组 45426@2x.png new file mode 100644 index 0000000..39262a0 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_扬声器已关.imageset/组 45426@2x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_扬声器已关.imageset/组 45426@3x.png b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_扬声器已关.imageset/组 45426@3x.png new file mode 100644 index 0000000..0fc6814 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_扬声器已关.imageset/组 45426@3x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_扬声器已开.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_扬声器已开.imageset/Contents.json new file mode 100644 index 0000000..5d7c31a --- /dev/null +++ b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_扬声器已开.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "组 45426@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "组 45426@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_扬声器已开.imageset/组 45426@2x.png b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_扬声器已开.imageset/组 45426@2x.png new file mode 100644 index 0000000..9bc14ec Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_扬声器已开.imageset/组 45426@2x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_扬声器已开.imageset/组 45426@3x.png b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_扬声器已开.imageset/组 45426@3x.png new file mode 100644 index 0000000..bcdca9e Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_扬声器已开.imageset/组 45426@3x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_挂断.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_挂断.imageset/Contents.json new file mode 100644 index 0000000..5d7c31a --- /dev/null +++ b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_挂断.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "组 45426@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "组 45426@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_挂断.imageset/组 45426@2x.png b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_挂断.imageset/组 45426@2x.png new file mode 100644 index 0000000..67e332e Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_挂断.imageset/组 45426@2x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_挂断.imageset/组 45426@3x.png b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_挂断.imageset/组 45426@3x.png new file mode 100644 index 0000000..382c43a Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_挂断.imageset/组 45426@3x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_接听.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_接听.imageset/Contents.json new file mode 100644 index 0000000..734485f --- /dev/null +++ b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_接听.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "组 45426@2x(1).png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "组 45426@3x(1).png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_接听.imageset/组 45426@2x(1).png b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_接听.imageset/组 45426@2x(1).png new file mode 100644 index 0000000..7a5ddc9 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_接听.imageset/组 45426@2x(1).png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_接听.imageset/组 45426@3x(1).png b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_接听.imageset/组 45426@3x(1).png new file mode 100644 index 0000000..a14c769 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_接听.imageset/组 45426@3x(1).png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_摄像头已开.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_摄像头已开.imageset/Contents.json new file mode 100644 index 0000000..68398de --- /dev/null +++ b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_摄像头已开.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "组 45426@2x(2).png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "组 45426@3x(2).png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_摄像头已开.imageset/组 45426@2x(2).png b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_摄像头已开.imageset/组 45426@2x(2).png new file mode 100644 index 0000000..3dc849e Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_摄像头已开.imageset/组 45426@2x(2).png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_摄像头已开.imageset/组 45426@3x(2).png b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_摄像头已开.imageset/组 45426@3x(2).png new file mode 100644 index 0000000..c21b170 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_摄像头已开.imageset/组 45426@3x(2).png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_模糊背景.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_模糊背景.imageset/Contents.json new file mode 100644 index 0000000..1f7f5f4 --- /dev/null +++ b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_模糊背景.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "组 45426@2x(3).png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "组 45426@3x(3).png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_模糊背景.imageset/组 45426@2x(3).png b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_模糊背景.imageset/组 45426@2x(3).png new file mode 100644 index 0000000..9cec825 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_模糊背景.imageset/组 45426@2x(3).png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_模糊背景.imageset/组 45426@3x(3).png b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_模糊背景.imageset/组 45426@3x(3).png new file mode 100644 index 0000000..4382dcd Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_模糊背景.imageset/组 45426@3x(3).png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_翻转.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_翻转.imageset/Contents.json new file mode 100644 index 0000000..040d06c --- /dev/null +++ b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_翻转.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "组 45426@2x(4).png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "组 45426@3x(4).png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_翻转.imageset/组 45426@2x(4).png b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_翻转.imageset/组 45426@2x(4).png new file mode 100644 index 0000000..784a232 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_翻转.imageset/组 45426@2x(4).png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_翻转.imageset/组 45426@3x(4).png b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_翻转.imageset/组 45426@3x(4).png new file mode 100644 index 0000000..a4cf08a Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_翻转.imageset/组 45426@3x(4).png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_麦克风已开.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_麦克风已开.imageset/Contents.json new file mode 100644 index 0000000..5d7c31a --- /dev/null +++ b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_麦克风已开.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "组 45426@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "组 45426@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_麦克风已开.imageset/组 45426@2x.png b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_麦克风已开.imageset/组 45426@2x.png new file mode 100644 index 0000000..cc52e42 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_麦克风已开.imageset/组 45426@2x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_麦克风已开.imageset/组 45426@3x.png b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_麦克风已开.imageset/组 45426@3x.png new file mode 100644 index 0000000..446af82 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_麦克风已开.imageset/组 45426@3x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_麦克风已开_大.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_麦克风已开_大.imageset/Contents.json new file mode 100644 index 0000000..5d7c31a --- /dev/null +++ b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_麦克风已开_大.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "组 45426@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "组 45426@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_麦克风已开_大.imageset/组 45426@2x.png b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_麦克风已开_大.imageset/组 45426@2x.png new file mode 100644 index 0000000..2be42b9 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_麦克风已开_大.imageset/组 45426@2x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_麦克风已开_大.imageset/组 45426@3x.png b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_麦克风已开_大.imageset/组 45426@3x.png new file mode 100644 index 0000000..7a51e72 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_麦克风已开_大.imageset/组 45426@3x.png differ diff --git a/ProductApp/ProductApp/BaseControl/Category/CamaImageTools/WYCamaImageTools.m b/ProductApp/ProductApp/BaseControl/Category/CamaImageTools/WYCamaImageTools.m index b6c9dd4..5993ff1 100644 --- a/ProductApp/ProductApp/BaseControl/Category/CamaImageTools/WYCamaImageTools.m +++ b/ProductApp/ProductApp/BaseControl/Category/CamaImageTools/WYCamaImageTools.m @@ -98,7 +98,7 @@ imagePickerController.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera];//设定相机为视频 imagePickerController.cameraDevice = UIImagePickerControllerCameraDeviceRear;//设置相机后摄像头 - imagePickerController.videoMaximumDuration = 10;//最长拍摄时间 + imagePickerController.videoMaximumDuration = 600;//最长拍摄时间 imagePickerController.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo; imagePickerController.videoQuality = UIImagePickerControllerQualityType640x480;//拍摄质量 @@ -107,9 +107,14 @@ else { //这里只选择展示视频 - imagePickerController.videoMaximumDuration = 10.0;//视频最长长度 - imagePickerController.mediaTypes = [NSArray arrayWithObjects:@"public.movie", nil]; - imagePickerController.allowsEditing = NO; +// imagePickerController.videoMaximumDuration = 600.0;//视频最长长度 +// imagePickerController.mediaTypes = [NSArray arrayWithObjects:@"public.movie", nil]; +// imagePickerController.allowsEditing = NO; + imagePickerController.videoQuality = UIImagePickerControllerQualityTypeHigh; + imagePickerController.allowsEditing = YES; + imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; + imagePickerController.mediaTypes = [NSArray arrayWithObjects:@"public.movie", nil]; + imagePickerController.videoExportPreset = AVAssetExportPresetPassthrough; } } @@ -119,6 +124,7 @@ } [[NSUserDefaults standardUserDefaults] setObject:@"2" forKey:@"tcjdsfxysxin"]; + viewController.modalPresentationStyle = UIModalPresentationCurrentContext; [viewController presentViewController:imagePickerController animated:YES completion:nil]; } diff --git a/ProductApp/ProductApp/ProductMain/首页/view/MainHomeView.m b/ProductApp/ProductApp/ProductMain/首页/view/MainHomeView.m index e2fc548..a39a714 100644 --- a/ProductApp/ProductApp/ProductMain/首页/view/MainHomeView.m +++ b/ProductApp/ProductApp/ProductMain/首页/view/MainHomeView.m @@ -80,8 +80,8 @@ make.top.equalTo(viewxw.mas_bottom).offset(10); make.height.offset(90); }]; -// [self drawSmallsView:viewcenter values:@[@"模拟来电",@"语音电话",@"视频电话",@"微信通知"]]; - [self drawSmallsView:viewcenter values:@[@"语音电话",@"视频电话"]]; + [self drawSmallsView:viewcenter values:@[@"模拟来电",@"语音电话",@"视频电话",@"微信通知"]]; +// [self drawSmallsView:viewcenter values:@[@"语音电话",@"视频电话"]]; UIView *viewbottom = [[UIView alloc] init]; [viewinfo addSubview:viewbottom]; @@ -90,8 +90,8 @@ make.top.equalTo(viewcenter.mas_bottom).offset(10); make.height.offset(90); }]; -// [self drawSmallsView:viewbottom values:@[@"模拟余额",@"模拟转账",@"短信通知",@"模拟关机"]]; - [self drawSmallsView:viewbottom values:@[@"模拟来电",@"短信通知",@"模拟关机",@"微信通知"]]; + [self drawSmallsView:viewbottom values:@[@"模拟余额",@"模拟转账",@"短信通知",@"模拟关机"]]; +// [self drawSmallsView:viewbottom values:@[@"模拟来电",@"短信通知",@"模拟关机",@"微信通知"]]; SDCycleScrollView *cleScrollBottomView = [SDCycleScrollView cycleScrollViewWithFrame:CGRectZero imageNamesGroup:@[]]; @@ -127,28 +127,11 @@ -(void)drawInfoTop:(UIView *)view { - [view mas_updateConstraints:^(MASConstraintMaker *make) { - make.top.offset(11); - }]; - UIImage *image = [UIImage imageNamed:@"mainHome_zzBig"]; - float f_w = UISCREEN_WIDTH-24; - float f_h = image.size.height*f_w/image.size.width; - UIImageView *imgvzz = [[UIImageView alloc] init]; - [imgvzz setImage:image]; - [view addSubview:imgvzz]; - [imgvzz mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.offset(12); - make.top.offset(0); - make.width.offset(f_w); - make.height.offset(f_h); - }]; - [self drawBigBigView:imgvzz name:@"转账提示音" itag:0]; - [view mas_makeConstraints:^(MASConstraintMaker *make) { - make.bottom.equalTo(imgvzz); - }]; - -// UIImage *image = [UIImage imageNamed:@"mainHome_转账提示音"]; -// float f_w = (UISCREEN_WIDTH-24)/2.0*1.1; +// [view mas_updateConstraints:^(MASConstraintMaker *make) { +// make.top.offset(11); +// }]; +// UIImage *image = [UIImage imageNamed:@"mainHome_zzBig"]; +// float f_w = UISCREEN_WIDTH-24; // float f_h = image.size.height*f_w/image.size.width; // UIImageView *imgvzz = [[UIImageView alloc] init]; // [imgvzz setImage:image]; @@ -159,33 +142,50 @@ // make.width.offset(f_w); // make.height.offset(f_h); // }]; -// [self drawBigView:imgvzz name:@"转账提示音" isbig:YES itag:0]; -// -// UIImageView *imgvwx = [[UIImageView alloc] init]; -// [imgvwx setImage:[UIImage imageNamed:@"mainHome_模拟微信"]]; -// [view addSubview:imgvwx]; -// [imgvwx mas_makeConstraints:^(MASConstraintMaker *make) { -// make.top.offset(0); -// make.right.equalTo(view).offset(-12); -// make.width.offset(UISCREEN_WIDTH-f_w-26); -// make.height.offset((f_h-12)/2.0); -// }]; -// [self drawBigView:imgvwx name:@"模拟微信" isbig:NO itag:1]; -// -// UIImageView *imgvzfb = [[UIImageView alloc] init]; -// [imgvzfb setImage:[UIImage imageNamed:@"mainHome_模拟支付宝"]]; -// [view addSubview:imgvzfb]; -// [imgvzfb mas_makeConstraints:^(MASConstraintMaker *make) { -// make.bottom.equalTo(imgvzz); -// make.right.equalTo(view).offset(-12); -// make.width.offset(UISCREEN_WIDTH-f_w-18); -// make.height.equalTo(imgvwx); -// }]; -// [self drawBigView:imgvzfb name:@"模拟支付宝" isbig:NO itag:2]; -// +// [self drawBigBigView:imgvzz name:@"转账提示音" itag:0]; // [view mas_makeConstraints:^(MASConstraintMaker *make) { // make.bottom.equalTo(imgvzz); // }]; + + UIImage *image = [UIImage imageNamed:@"mainHome_转账提示音"]; + float f_w = (UISCREEN_WIDTH-24)/2.0*1.1; + float f_h = image.size.height*f_w/image.size.width; + UIImageView *imgvzz = [[UIImageView alloc] init]; + [imgvzz setImage:image]; + [view addSubview:imgvzz]; + [imgvzz mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(12); + make.top.offset(0); + make.width.offset(f_w); + make.height.offset(f_h); + }]; + [self drawBigView:imgvzz name:@"转账提示音" isbig:YES itag:0]; + + UIImageView *imgvwx = [[UIImageView alloc] init]; + [imgvwx setImage:[UIImage imageNamed:@"mainHome_模拟微信"]]; + [view addSubview:imgvwx]; + [imgvwx mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.offset(0); + make.right.equalTo(view).offset(-12); + make.width.offset(UISCREEN_WIDTH-f_w-26); + make.height.offset((f_h-12)/2.0); + }]; + [self drawBigView:imgvwx name:@"模拟微信" isbig:NO itag:1]; + + UIImageView *imgvzfb = [[UIImageView alloc] init]; + [imgvzfb setImage:[UIImage imageNamed:@"mainHome_模拟支付宝"]]; + [view addSubview:imgvzfb]; + [imgvzfb mas_makeConstraints:^(MASConstraintMaker *make) { + make.bottom.equalTo(imgvzz); + make.right.equalTo(view).offset(-12); + make.width.offset(UISCREEN_WIDTH-f_w-18); + make.height.equalTo(imgvwx); + }]; + [self drawBigView:imgvzfb name:@"模拟支付宝" isbig:NO itag:2]; + + [view mas_makeConstraints:^(MASConstraintMaker *make) { + make.bottom.equalTo(imgvzz); + }]; } -(void)drawSmallsView:(UIView *)view values:(NSArray *)values { @@ -447,12 +447,14 @@ break; case 4: { - + UIViewController *vc = [NSClassFromString(@"YuYinDianHuaViewController") new]; + [self.viewController.navigationController pushViewController:vc animated:YES]; } break; case 5: { - + UIViewController *vc = [NSClassFromString(@"ShiPinDianHuaViewController") new]; + [self.viewController.navigationController pushViewController:vc animated:YES]; } break; case 6: @@ -463,12 +465,14 @@ break; case 7: { - + UIViewController *vc = [NSClassFromString(@"MoNiYuEViewController") new]; + [self.viewController.navigationController pushViewController:vc animated:YES]; } break; case 8: { - + UIViewController *vc = [NSClassFromString(@"MoNiZhuanZhangViewController") new]; + [self.viewController.navigationController pushViewController:vc animated:YES]; } break; case 9: diff --git a/ProductApp/ProductApp/ProductMain/首页/微信消息/view/WeiXinXXView.m b/ProductApp/ProductApp/ProductMain/首页/微信消息/view/WeiXinXXView.m index 2381776..97306d7 100644 --- a/ProductApp/ProductApp/ProductMain/首页/微信消息/view/WeiXinXXView.m +++ b/ProductApp/ProductApp/ProductMain/首页/微信消息/view/WeiXinXXView.m @@ -316,6 +316,7 @@ } -(void)imageAction:(UIButton *)sender { + [self endEditing:YES]; _tools.isedit = NO; [AlterSheetView showAlterSheetTitle:@"" bts:@[@"随机获取",@"拍照",@"相册中选择"] buttomTitle:@"取消" otherBtsColor:RGBCOLOR(92, 117, 248) otherColorTitles:@[@"随机获取"] backValue:^(NSInteger tag) { NSLog(@"%ld",tag); @@ -335,7 +336,7 @@ } -(void)itemAction:(UIButton *)sender { - + [self endEditing:YES]; [PickerAlterView showPickers:@[@"3秒钟",@"10秒钟",@"30秒钟",@"1分钟",@"2分钟",@"3分钟",@"5分钟",@"10分钟",@"30分钟"] title:@"选择时间" backValue:^(NSString * _Nonnull strback) { self.fieldtime.text = strback; }]; diff --git a/ProductApp/ProductApp/ProductMain/首页/模拟余额/MoNiYuEViewController.h b/ProductApp/ProductApp/ProductMain/首页/模拟余额/MoNiYuEViewController.h new file mode 100644 index 0000000..63097b8 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/首页/模拟余额/MoNiYuEViewController.h @@ -0,0 +1,16 @@ +// +// MoNiYuEViewController.h +// ProductApp +// +// Created by 工作 on 2025/3/31. +// + +#import "BaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface MoNiYuEViewController : BaseViewController + +@end + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/首页/模拟余额/MoNiYuEViewController.m b/ProductApp/ProductApp/ProductMain/首页/模拟余额/MoNiYuEViewController.m new file mode 100644 index 0000000..bd6ad0a --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/首页/模拟余额/MoNiYuEViewController.m @@ -0,0 +1,41 @@ +// +// MoNiYuEViewController.m +// ProductApp +// +// Created by 工作 on 2025/3/31. +// + +#import "MoNiYuEViewController.h" +#import "MoNiYuEView.h" + + +@interface MoNiYuEViewController () + +@end + +@implementation MoNiYuEViewController +- (UIStatusBarStyle)preferredStatusBarStyle { + return UIStatusBarStyleDefault; +} +- (void)viewWillAppear:(BOOL)animated { + [super viewWillAppear:animated]; + [self.navigationController setNavigationBarHidden:YES animated:animated]; + [self showNaviGationView:YES]; + [self.navigationView setTitle:@"模拟余额" titleColor:RGBCOLOR(60, 60, 60)]; + [self.navigationView setBackgroundColor:[UIColor whiteColor]]; +} +- (void)viewDidLoad { + [super viewDidLoad]; + [self.view setBackgroundColor:[UIColor whiteColor]]; + + MoNiYuEView *view = [[MoNiYuEView alloc] init]; + [self.view addSubview:view]; + [view mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.bottom.equalTo(self.view); + make.top.offset(NavHeight); + }]; + +} + + +@end diff --git a/ProductApp/ProductApp/ProductMain/首页/模拟余额/cell/MoNiYuECollectionViewCell.h b/ProductApp/ProductApp/ProductMain/首页/模拟余额/cell/MoNiYuECollectionViewCell.h new file mode 100644 index 0000000..b48df0c --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/首页/模拟余额/cell/MoNiYuECollectionViewCell.h @@ -0,0 +1,18 @@ +// +// MoNiYuECollectionViewCell.h +// ProductApp +// +// Created by 工作 on 2025/3/31. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface MoNiYuECollectionViewCell : UICollectionViewCell +/// +@property (nonatomic , strong) baseInfoModel *model; + +@end + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/首页/模拟余额/cell/MoNiYuECollectionViewCell.m b/ProductApp/ProductApp/ProductMain/首页/模拟余额/cell/MoNiYuECollectionViewCell.m new file mode 100644 index 0000000..a5691bb --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/首页/模拟余额/cell/MoNiYuECollectionViewCell.m @@ -0,0 +1,94 @@ +// +// MoNiYuECollectionViewCell.m +// ProductApp +// +// Created by 工作 on 2025/3/31. +// + +#import "MoNiYuECollectionViewCell.h" + + +@interface MoNiYuECollectionViewCell () +/// +@property (nonatomic , strong) UIView *viewback; +/// +@property (nonatomic , strong) UIImageView *imgvback; +/// +@property (nonatomic , strong) UILabel *lbname; +/// +@property (nonatomic , strong) UIImageView *imgvselect; + +@end + + + +@implementation MoNiYuECollectionViewCell +-(id)initWithFrame:(CGRect)frame +{ + if(self = [super initWithFrame:frame]) + { + UIView *viewback = [[UIView alloc] init]; + [viewback setBackgroundColor:RGBCOLOR(246, 246, 246)]; + [self.contentView addSubview:viewback]; + [viewback mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self); + }]; + [viewback.layer setMasksToBounds:YES]; + [viewback.layer setCornerRadius:16]; + [viewback.layer setBorderWidth:1]; + [viewback.layer setBorderColor:RGBCOLOR(246, 246, 246).CGColor]; + _viewback = viewback; + + UIImageView *imgvback = [[UIImageView alloc] init]; + [imgvback setContentMode:UIViewContentModeScaleAspectFit]; + [viewback addSubview:imgvback]; + [imgvback mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.offset(16); + make.left.right.equalTo(viewback); + make.bottom.equalTo(viewback).offset(-50); + }]; + _imgvback = imgvback; + + UILabel *lbname = [[UILabel alloc] init]; + [lbname setText:@"微信钱包"]; + [lbname setTextColor:RGBCOLOR(26, 26, 26)]; + [lbname setTextAlignment:NSTextAlignmentCenter]; + [lbname setFont:[UIFont systemFontOfSize:14]]; + [viewback addSubview:lbname]; + [lbname mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(imgvback.mas_bottom).offset(14); + make.left.right.equalTo(viewback); + }]; + _lbname = lbname; + + UIImageView *imgvselect = [[UIImageView alloc] init]; + [imgvselect setImage:[UIImage imageNamed:@"zz_wx_select"]]; + [viewback addSubview:imgvselect]; + [imgvselect mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.height.offset(26); + make.right.bottom.equalTo(viewback); + }]; + _imgvselect = imgvselect; + + } + return self; +} + +-(void)setModel:(baseInfoModel *)model +{ + _model = model; + self.imgvback.image = [UIImage imageNamed:[NSString stringWithFormat:@"zz_wx_%@",model.title]]; + self.lbname.text = model.title; + if(model.select) + { + [self.viewback.layer setBorderColor:RGBCOLOR(119, 140, 245).CGColor]; + [self.imgvselect setHidden:NO]; + } + else + { + [self.viewback.layer setBorderColor:RGBCOLOR(246, 246, 246).CGColor]; + [self.imgvselect setHidden:YES]; + } +} + +@end diff --git a/ProductApp/ProductApp/ProductMain/首页/模拟余额/view/MoNiYuEView.h b/ProductApp/ProductApp/ProductMain/首页/模拟余额/view/MoNiYuEView.h new file mode 100644 index 0000000..27791c8 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/首页/模拟余额/view/MoNiYuEView.h @@ -0,0 +1,16 @@ +// +// MoNiYuEView.h +// ProductApp +// +// Created by 工作 on 2025/3/31. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface MoNiYuEView : UIView + +@end + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/首页/模拟余额/view/MoNiYuEView.m b/ProductApp/ProductApp/ProductMain/首页/模拟余额/view/MoNiYuEView.m new file mode 100644 index 0000000..e31227a --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/首页/模拟余额/view/MoNiYuEView.m @@ -0,0 +1,125 @@ +// +// MoNiYuEView.m +// ProductApp +// +// Created by 工作 on 2025/3/31. +// + +#import "MoNiYuEView.h" +#import "MoNiYuECollectionViewCell.h" + +@interface MoNiYuEView () +/// +@property (nonatomic , strong) UICollectionView *collect; + +/// +@property (nonatomic , strong) NSMutableArray *arrdata; + +@end + +@implementation MoNiYuEView + +-(id)initWithFrame:(CGRect)frame +{ + if(self = [super initWithFrame:frame]) + { + UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; + layout.minimumLineSpacing = 0; + layout.minimumInteritemSpacing = 0; + UICollectionView *collect = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout]; + [collect setScrollEnabled:NO]; + [collect setDelegate:self]; + [collect setDataSource:self]; + [collect setBackgroundColor:[UIColor clearColor]]; + [self addSubview:collect]; + [collect mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.width.top.equalTo(self); + make.bottom.equalTo(self).offset(-TabHeight-30); + }]; + [collect registerClass:[MoNiYuECollectionViewCell class] forCellWithReuseIdentifier:@"MoNiYuECollectionViewCell"]; + _collect = collect; + + UIButton *btok = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, UISCREEN_WIDTH-32, 46)]; + [btok setTitle:@"开始模拟" forState:UIControlStateNormal]; + [btok setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; + [btok.titleLabel setFont:[UIFont systemFontOfSize:15]]; + [btok.layer setMasksToBounds:YES]; + [btok.layer setCornerRadius:23]; + [self addSubview:btok]; + [btok mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(16); + make.bottom.equalTo(self).offset(-TabHeight+34); + make.right.equalTo(self).offset(-16); + make.height.offset(46); + }]; + [btok addTarget:self action:@selector(okAction) forControlEvents:UIControlEventTouchUpInside]; + [Tools changedView:btok colors:@[(id)RGBCOLOR(119, 140, 245).CGColor,(id)RGBCOLOR(166, 121, 244).CGColor] startPoint:CGPointMake(0, 0) endPoint:CGPointMake(1, 0)]; + + [self getdata]; + } + return self; +} + +-(void)getdata +{ + self.arrdata = [NSMutableArray new]; + NSArray *arr = @[@"微信钱包",@"微信服务",@"微信零钱"]; + for(int i = 0 ; i < arr.count; i++) + { + baseInfoModel *model = [baseInfoModel new]; + model.title = arr[i]; + if(i==0) + { + model.select = YES; + } + [self.arrdata addObject:model]; + } + +} + +-(void)okAction +{ + +} + +#pragma mark - UICollectionView +- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section +{ + return self.arrdata.count; +} +- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath +{ + MoNiYuECollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"MoNiYuECollectionViewCell" forIndexPath:indexPath]; + cell.model = self.arrdata[indexPath.row]; + return cell; +} +//定义每个section的间距 +- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section{ + + return UIEdgeInsetsMake(20, 20, 20, 20); +} +//纵向cell间距 +- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section{ + return 20; +} +//cell 间距 +- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout ForSectionAtIndex:(NSInteger)section{ + return 20; +} +// 定义每个UICollectionViewCell 的大小 +- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath +{ + return CGSizeMake((UISCREEN_WIDTH-60)/2.0, (UISCREEN_HEIGHT-NavHeight-TabHeight-100)/2.0); +} +-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath +{ + for(baseInfoModel *model in self.arrdata) + { + model.select = NO; + } + baseInfoModel *model = self.arrdata[indexPath.row]; + model.select = YES; + [self.collect reloadData]; +} + +@end diff --git a/ProductApp/ProductApp/ProductMain/首页/模拟转账/MoNiZhuanZhangViewController.h b/ProductApp/ProductApp/ProductMain/首页/模拟转账/MoNiZhuanZhangViewController.h new file mode 100644 index 0000000..fccda72 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/首页/模拟转账/MoNiZhuanZhangViewController.h @@ -0,0 +1,16 @@ +// +// MoNiZhuanZhangViewController.h +// ProductApp +// +// Created by 工作 on 2025/3/29. +// + +#import "BaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface MoNiZhuanZhangViewController : BaseViewController + +@end + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/首页/模拟转账/MoNiZhuanZhangViewController.m b/ProductApp/ProductApp/ProductMain/首页/模拟转账/MoNiZhuanZhangViewController.m new file mode 100644 index 0000000..d9dd8ad --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/首页/模拟转账/MoNiZhuanZhangViewController.m @@ -0,0 +1,44 @@ +// +// MoNiZhuanZhangViewController.m +// ProductApp +// +// Created by 工作 on 2025/3/29. +// + +#import "MoNiZhuanZhangViewController.h" +#import "MoNiZhuanZhangView.h" + + +@interface MoNiZhuanZhangViewController () + +@end + +@implementation MoNiZhuanZhangViewController + +- (UIStatusBarStyle)preferredStatusBarStyle { + return UIStatusBarStyleDefault; +} +- (void)viewWillAppear:(BOOL)animated { + [super viewWillAppear:animated]; + [self.navigationController setNavigationBarHidden:YES animated:animated]; + [self showNaviGationView:YES]; + [self.navigationView setTitle:@"模拟转账" titleColor:RGBCOLOR(60, 60, 60)]; + [self.navigationView setBackgroundColor:[UIColor whiteColor]]; +} +- (void)viewDidLoad { + [super viewDidLoad]; + + [self.view setBackgroundColor:[UIColor whiteColor]]; + + MoNiZhuanZhangView *view = [[MoNiZhuanZhangView alloc] init]; + [self.view addSubview:view]; + [view mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.bottom.equalTo(self.view); + make.top.offset(NavHeight); + }]; + + +} + + +@end diff --git a/ProductApp/ProductApp/ProductMain/首页/模拟转账/view/MoNiZhuanZhangView.h b/ProductApp/ProductApp/ProductMain/首页/模拟转账/view/MoNiZhuanZhangView.h new file mode 100644 index 0000000..c44703d --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/首页/模拟转账/view/MoNiZhuanZhangView.h @@ -0,0 +1,16 @@ +// +// MoNiZhuanZhangView.h +// ProductApp +// +// Created by 工作 on 2025/3/31. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface MoNiZhuanZhangView : UIView + +@end + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/首页/模拟转账/view/MoNiZhuanZhangView.m b/ProductApp/ProductApp/ProductMain/首页/模拟转账/view/MoNiZhuanZhangView.m new file mode 100644 index 0000000..8701c3c --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/首页/模拟转账/view/MoNiZhuanZhangView.m @@ -0,0 +1,110 @@ +// +// MoNiZhuanZhangView.m +// ProductApp +// +// Created by 工作 on 2025/3/31. +// + +#import "MoNiZhuanZhangView.h" + + +@implementation MoNiZhuanZhangView + +-(id)initWithFrame:(CGRect)frame +{ + if(self = [super initWithFrame:frame]) + { + UIView *viewwx = [[UIView alloc] init]; + [viewwx setBackgroundColor:[UIColor whiteColor]]; + [self addSubview:viewwx]; + [viewwx mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(16); + make.right.equalTo(self).offset(-16); + make.top.offset(20); + make.height.offset((UISCREEN_WIDTH-32)*146/343); + }]; + [self drawItemView:viewwx title:@"微信模拟" itag:0]; + + } + return self; +} + +-(void)drawItemView:(UIView *)view title:(NSString *)title itag:(int)itag +{ + [view.layer setMasksToBounds:YES]; + [view.layer setCornerRadius:10]; + + UIImageView *imgvback = [[UIImageView alloc] init]; + [imgvback setImage:[UIImage imageNamed:[NSString stringWithFormat:@"mnzz_%@",title]]]; + [view addSubview:imgvback]; + [imgvback mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(view); + }]; + + UILabel *lbname = [[UILabel alloc] init]; + [lbname setText:title]; + [lbname setTextColor:RGBCOLOR(1, 30, 18)]; + [lbname setTextAlignment:NSTextAlignmentLeft]; + [lbname setFont:[UIFont fontWithName:@"AlimamaShuHeiTi-Bold" size:26]]; + [view addSubview:lbname]; + [lbname mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(20); + make.top.offset(16); + }]; + + UILabel *lbinfo = [[UILabel alloc] init]; + [lbinfo setText:@"仅供娱乐"]; + [lbinfo setTextColor:RGBCOLOR(128, 147, 140)]; + [lbinfo setTextAlignment:NSTextAlignmentLeft]; + [lbinfo setFont:[UIFont fontWithName:@"AlibabaPuHuiTi-Regular" size:16]]; + [view addSubview:lbinfo]; + [lbinfo mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.equalTo(lbname); + make.top.equalTo(lbname.mas_bottom).offset(6); + }]; + + UILabel *lbzr = [[UILabel alloc] init]; + [lbzr setText:@"转入"]; + [lbzr setTextColor:[UIColor whiteColor]]; + [lbzr setTextAlignment:NSTextAlignmentCenter]; + [lbzr setFont:[UIFont fontWithName:@"AlibabaPuHuiTi-Regular" size:16]]; + [lbzr setBackgroundColor:RGBCOLOR(1, 30, 18)]; + [lbzr.layer setMasksToBounds:YES]; + [lbzr.layer setCornerRadius:16]; + [view addSubview:lbzr]; + [lbzr mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.equalTo(lbname); + make.size.sizeOffset(CGSizeMake(74, 32)); + make.bottom.equalTo(view).offset(-16); + }]; + + UILabel *lbzc = [[UILabel alloc] init]; + [lbzc setText:@"转出"]; + [lbzc setTextColor:RGBCOLOR(1, 30, 18)]; + [lbzc setTextAlignment:NSTextAlignmentCenter]; + [lbzc setFont:[UIFont fontWithName:@"AlibabaPuHuiTi-Regular" size:16]]; + [lbzc setBackgroundColor:[UIColor whiteColor]]; + [lbzc.layer setMasksToBounds:YES]; + [lbzc.layer setCornerRadius:16]; + [view addSubview:lbzc]; + [lbzc mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.equalTo(lbzr.mas_right).offset(12); + make.size.sizeOffset(CGSizeMake(74, 32)); + make.bottom.equalTo(view).offset(-16); + }]; + UIButton *btitem = [[UIButton alloc] init]; + [view addSubview:btitem]; + [btitem mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(view); + }]; + [btitem setTag:itag]; + [btitem addTarget:self action:@selector(btAction:) forControlEvents:UIControlEventTouchUpInside]; + +} + +-(void)btAction:(UIButton *)sender +{ + +} + +@end diff --git a/ProductApp/ProductApp/ProductMain/首页/短信通知/view/DuanXinView.m b/ProductApp/ProductApp/ProductMain/首页/短信通知/view/DuanXinView.m index 7897bcc..cea4f9a 100644 --- a/ProductApp/ProductApp/ProductMain/首页/短信通知/view/DuanXinView.m +++ b/ProductApp/ProductApp/ProductMain/首页/短信通知/view/DuanXinView.m @@ -331,6 +331,7 @@ } -(void)imageAction:(UIButton *)sender { + [self endEditing:YES]; if(sender.tag==1) { _tools.isedit = YES; @@ -359,7 +360,7 @@ } -(void)itemAction:(UIButton *)sender { - + [self endEditing:YES]; [PickerAlterView showPickers:@[@"3秒钟",@"10秒钟",@"30秒钟",@"1分钟",@"2分钟",@"3分钟",@"5分钟",@"10分钟",@"30分钟"] title:@"选择时间" backValue:^(NSString * _Nonnull strback) { self.fieldtime.text = strback; }]; diff --git a/ProductApp/ProductApp/ProductMain/首页/短信通知/view/MNHeiPeiView.h b/ProductApp/ProductApp/ProductMain/首页/短信通知/view/MNHeiPeiView.h index 0c8e7d1..1c85688 100644 --- a/ProductApp/ProductApp/ProductMain/首页/短信通知/view/MNHeiPeiView.h +++ b/ProductApp/ProductApp/ProductMain/首页/短信通知/view/MNHeiPeiView.h @@ -10,7 +10,7 @@ NS_ASSUME_NONNULL_BEGIN @interface MNHeiPeiView : UIView -///0短信 1微信(这个参数最后设置) +///0短信 1微信(这个参数最后设置) 2视频通话 3微信语音 @property (nonatomic , assign) int type; @property (nonatomic , assign) int time; /// @@ -19,6 +19,11 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic , strong) NSString *strname; @property (nonatomic , strong) NSString *strnumber; @property (nonatomic , strong) NSString *strinfo; + +/// +/// +@property (nonatomic , strong) NSURL *videourl; + @end NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/首页/短信通知/view/MNHeiPeiView.m b/ProductApp/ProductApp/ProductMain/首页/短信通知/view/MNHeiPeiView.m index 680a927..b32f2e4 100644 --- a/ProductApp/ProductApp/ProductMain/首页/短信通知/view/MNHeiPeiView.m +++ b/ProductApp/ProductApp/ProductMain/首页/短信通知/view/MNHeiPeiView.m @@ -9,7 +9,8 @@ #import "BaseViewController.h" #import "DuanXinShowView.h" - +#import "ShiPinDianHuaShowView.h" +#import "YuYinDianHuaShowView.h" @interface MNHeiPeiView () /// @@ -73,20 +74,60 @@ [self.lbts setText:[NSString stringWithFormat:@"%d分钟后将会模拟微信,请不要锁频,也不要返回桌面",self.time/60]]; } } + else if (type==2||type==3) + { + [self.lbts setText:[NSString stringWithFormat:@"%d秒后将会模拟微信来电,请不要锁频,也不要返回桌面",self.time]]; + if(self.time>=60) + { + [self.lbts setText:[NSString stringWithFormat:@"%d分钟后将会模拟微信来电,请不要锁频,也不要返回桌面",self.time/60]]; + } + } dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(self.time * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - DuanXinShowView *view = [DuanXinShowView new]; - [self addSubview:view]; - [view mas_makeConstraints:^(MASConstraintMaker *make) { - make.edges.equalTo(self); - }]; - view.time = self.time; - view.imageBack = self.imageBack; - view.imageHead = self.imageHead; - view.strname = self.strname; - view.strnumber = self.strnumber; - view.strinfo = self.strinfo; - view.type = type; + if(type==0||type==1) + { + DuanXinShowView *view = [DuanXinShowView new]; + [self addSubview:view]; + [view mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self); + }]; + view.time = self.time; + view.imageBack = self.imageBack; + view.imageHead = self.imageHead; + view.strname = self.strname; + view.strnumber = self.strnumber; + view.strinfo = self.strinfo; + view.type = type; + } + else if (type==2) + { + ShiPinDianHuaShowView *view = [ShiPinDianHuaShowView new]; + [self addSubview:view]; + [view mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self); + }]; + view.time = self.time; + view.imageHead = self.imageHead; + view.strname = self.strname; + view.videourl = self.videourl; + view.type = type; + } + else if (type==3) + { + YuYinDianHuaShowView *view = [YuYinDianHuaShowView new]; + [self addSubview:view]; + [view mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self); + }]; + view.time = self.time; + view.imageHead = self.imageHead; + view.strname = self.strname; + view.type = type; + } + + }); + + } -(void)tsAction { @@ -100,6 +141,7 @@ vc.statusbarRef = UIStatusBarStyleDefault; [vc refShowStateBar:YES]; [self removeFromSuperview]; + [[UIApplication sharedApplication] setIdleTimerDisabled:NO]; } @end diff --git a/ProductApp/ProductApp/ProductMain/首页/视频电话/ShiPinDianHuaViewController.h b/ProductApp/ProductApp/ProductMain/首页/视频电话/ShiPinDianHuaViewController.h new file mode 100644 index 0000000..34ce270 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/首页/视频电话/ShiPinDianHuaViewController.h @@ -0,0 +1,16 @@ +// +// ShiPinDianHuaViewController.h +// ProductApp +// +// Created by 工作 on 2025/3/31. +// + +#import "BaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface ShiPinDianHuaViewController : BaseViewController + +@end + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/首页/视频电话/ShiPinDianHuaViewController.m b/ProductApp/ProductApp/ProductMain/首页/视频电话/ShiPinDianHuaViewController.m new file mode 100644 index 0000000..e8b8c5b --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/首页/视频电话/ShiPinDianHuaViewController.m @@ -0,0 +1,50 @@ +// +// ShiPinDianHuaViewController.m +// ProductApp +// +// Created by 工作 on 2025/3/31. +// + +#import "ShiPinDianHuaViewController.h" +#import "ShiPinDianHuaView.h" + + +@interface ShiPinDianHuaViewController () + +@end + +@implementation ShiPinDianHuaViewController + +- (UIStatusBarStyle)preferredStatusBarStyle { + if(!self.statebar) + { + if(self.statusbarRef) + { + return self.statusbarRef; + } + } + return UIStatusBarStyleDefault; +} +- (void)viewWillAppear:(BOOL)animated { + [super viewWillAppear:animated]; + [self.navigationController setNavigationBarHidden:YES animated:animated]; + [self showNaviGationView:YES]; + [self.navigationView setTitle:@"视频电话" titleColor:RGBCOLOR(60, 60, 60)]; + [self.navigationView setBackgroundColor:RGBCOLOR(242, 242, 242)]; +} +- (void)viewDidLoad { + [super viewDidLoad]; + + [self.view setBackgroundColor:RGBCOLOR(242, 242, 242)]; + + ShiPinDianHuaView *view = [[ShiPinDianHuaView alloc] init]; + [self.view addSubview:view]; + [view mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.bottom.equalTo(self.view); + make.top.offset(NavHeight); + }]; + + +} + +@end diff --git a/ProductApp/ProductApp/ProductMain/首页/视频电话/view/ShiPinDianHuaShowView.h b/ProductApp/ProductApp/ProductMain/首页/视频电话/view/ShiPinDianHuaShowView.h new file mode 100644 index 0000000..26525e2 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/首页/视频电话/view/ShiPinDianHuaShowView.h @@ -0,0 +1,27 @@ +// +// ShiPinDianHuaShowView.h +// ProductApp +// +// Created by 工作 on 2025/3/31. +// + +#import + +NS_ASSUME_NONNULL_BEGIN +typedef void(^ShiPinDianHuaShowViewBack)(void); +@interface ShiPinDianHuaShowView : UIView +///0短信 1微信 +@property (nonatomic , assign) int type; +@property (nonatomic , assign) int time; +@property (nonatomic , strong) UIImage *imageHead; +@property (nonatomic , strong) NSString *strname; + +/// +@property (nonatomic , strong) NSURL *videourl; + +/// +//@property (nonatomic , strong) ShiPinDianHuaShowViewBack backGuaDuan; + +@end + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/首页/视频电话/view/ShiPinDianHuaShowView.m b/ProductApp/ProductApp/ProductMain/首页/视频电话/view/ShiPinDianHuaShowView.m new file mode 100644 index 0000000..50e7ec3 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/首页/视频电话/view/ShiPinDianHuaShowView.m @@ -0,0 +1,459 @@ +// +// ShiPinDianHuaShowView.m +// ProductApp +// +// Created by 工作 on 2025/3/31. +// + +#import "ShiPinDianHuaShowView.h" +#import +#import +#import "BaseViewController.h" +#import +#import "DuanXinShowMainHomeView.h" + +@interface ShiPinDianHuaShowView () +// ------------- 设备配置等 ------------- +//捕获设备,通常是前置摄像头,后置摄像头,麦克风(音频输入) +@property(nonatomic)AVCaptureDevice *device; +//AVCaptureDeviceInput 代表输入设备,使用AVCaptureDevice 来初始化 +@property(nonatomic)AVCaptureDeviceInput *input; +//照片输出流 +@property (nonatomic)AVCapturePhotoOutput *imageOutPut; +//session:由他把输入输出结合在一起,并开始启动捕获设备(摄像头) +@property(nonatomic)AVCaptureSession *session; +//图像预览层,实时显示捕获的图像 +@property(nonatomic)AVCaptureVideoPreviewLayer *previewLayer; + +// ------------- UI -------------- +/// +@property (nonatomic , strong) UIView *viewmy; + + +///未接通时的画面 +@property (nonatomic , strong) UIView *viewwjt; +/// +@property (nonatomic , strong) UIImageView *imgvhd; +/// +@property (nonatomic , strong) UILabel *lbname; + +///已接听 +/// +@property (nonatomic , strong) UIView *viewjt; + +///视频播放的页面 +@property (nonatomic , strong) UIView *viewplayer; +/// +@property (nonatomic , retain) AVPlayerViewController *avc; +@property (nonatomic , strong) AVPlayer *player; +@property(nonatomic,retain)AVPlayerItem * playItem; + +@end + +@implementation ShiPinDianHuaShowView +-(void)start +{ + dispatch_async(dispatch_get_global_queue(0, 0), ^{ + [self.session startRunning]; + }); +} +-(void)dis +{ + dispatch_async(dispatch_get_global_queue(0, 0), ^{ + [self.session stopRunning]; + }); + [Tools stopTimer]; + if(self.player) + { + [self.player pause]; + self.player = nil; + self.avc = nil; + } + +} +-(id)initWithFrame:(CGRect)frame +{ + if(self = [super initWithFrame:frame]) + { + + UITapGestureRecognizer *gesture1 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tsAction)]; + [self addGestureRecognizer:gesture1]; + + UITapGestureRecognizer *gesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(shuanji)]; + gesture.numberOfTapsRequired = 2; + [self addGestureRecognizer:gesture]; + + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + BaseViewController *vc = (BaseViewController *)self.viewController; + vc.statusbarRef = UIStatusBarStyleLightContent; + [vc refShowStateBar:YES]; + }); + ///播放声音 + + + UIView *viewmy = [[UIView alloc] initWithFrame:CGRectMake(0, 0, UISCREEN_WIDTH, UISCREEN_HEIGHT)]; + [viewmy setBackgroundColor:[UIColor blackColor]]; + [self addSubview:viewmy]; + _viewmy = viewmy; + + UIButton *btsf = [[UIButton alloc] init]; + [btsf setImage:[UIImage imageNamed:@"spth_sf"] forState:UIControlStateNormal]; + [self addSubview:btsf]; + [btsf mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(10); + make.width.height.offset(40); + make.top.offset(KMagrinTop); + }]; + + [self customCamera]; + + [self drawWeiJieTing]; + + } + return self; +} +-(void)setType:(int)type +{ + self.imgvhd.image = self.imageHead; + self.lbname.text = self.strname; +} +-(void)drawPlayerShow +{ + self.avc = [[AVPlayerViewController alloc] init]; + [self.viewplayer addSubview:self.avc.view]; + [self.avc.view mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self.viewplayer); + }]; + + NSURL *movieUrl = self.videourl; + + //确定视频资源 一个视频用一个item + self.playItem=[AVPlayerItem playerItemWithURL:movieUrl]; + //确定视频视频框架 + self.player = [AVPlayer playerWithPlayerItem: self.playItem]; + + self.avc.player=self.player; + + //隐藏系统自带的进度条播放界面 + self.avc.showsPlaybackControls = NO; + + self.player.externalPlaybackVideoGravity=AVLayerVideoGravityResizeAspectFill; + + //获取视频信息,要用item添加kvo,编程的时候最好使用item 的status,会准确点。 + [ self.playItem addObserver:self forKeyPath:@"status" options:NSKeyValueObservingOptionNew context:nil]; +} +///监听播放状态 +-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{ + if ([keyPath isEqualToString:@"status"]) { + switch (self.playItem.status) { + case AVPlayerItemStatusReadyToPlay: + { + [self.avc.player play]; + NSLog(@"开始播放"); + } + break; + case AVPlayerItemStatusFailed: + NSLog(@"出错了"); + break; + default: + NSLog(@"不知道什么问题?"); + break; + } + + } +} + +///已接听 +-(void)drawJieTing +{ + UIView *viewjt = [[UIView alloc] init]; + [viewjt setBackgroundColor:[UIColor clearColor]]; + [self addSubview:viewjt]; + [viewjt mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self); + }]; + _viewjt = viewjt; + + UILabel *lbtime = [[UILabel alloc] init]; + [lbtime setText:@"00:00"]; + [lbtime setTextColor:[UIColor whiteColor]]; + [lbtime setTextAlignment:NSTextAlignmentCenter]; + [lbtime setFont:[UIFont fontWithName:@"PingFangSC-Medium" size:18]]; + [self addSubview:lbtime]; + [lbtime mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.offset(KMagrinTop); + make.height.offset(40); + make.centerX.equalTo(self); + }]; + [Tools startTimerWithStartTime:1000 isCountDown:YES result:^(NSInteger tag) { + NSInteger temp = 1000-tag; + lbtime.text = [self getSecTime:temp]; + }]; + + float fjjj = (UISCREEN_WIDTH-80-64*3)/2.0; + NSArray *arr = @[@"模糊背景",@"挂断",@"翻转"]; + for(int i = 0 ; i < arr.count; i++) + { + UIButton *btitem = [[UIButton alloc] init]; + [btitem setImage:[UIImage imageNamed:[NSString stringWithFormat:@"spth_%@",arr[i]]] forState:UIControlStateNormal]; + [viewjt addSubview:btitem]; + [btitem mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(40+(64+fjjj)*i); + make.width.offset(64); + make.height.offset(64); + make.bottom.equalTo(viewjt).offset(-TabHeight); + }]; + if(i==1) + { + [btitem setTag:0]; + } + else + { + [btitem setTag:i+4]; + } + [btitem addTarget:self action:@selector(funcAction:) forControlEvents:UIControlEventTouchUpInside]; + } + + arr = @[@"麦克风已开",@"扬声器已开",@"摄像头已开"]; + + for(int i = 0 ; i < arr.count; i++) + { + UIButton *btitem = [[UIButton alloc] init]; + [btitem setImage:[UIImage imageNamed:[NSString stringWithFormat:@"spth_%@",arr[i]]] forState:UIControlStateNormal]; + [btitem setTitle:arr[i] forState:UIControlStateNormal]; + [btitem setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; + [btitem.titleLabel setFont:[UIFont fontWithName:@"PingFangSC-Regular" size:12]]; + [viewjt addSubview:btitem]; + [btitem mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(40+(64+fjjj)*i); + make.width.offset(64); + make.height.offset(100); + make.bottom.equalTo(viewjt).offset(-TabHeight-84); + }]; + [btitem setIconInTopWithSpacing:8]; + [btitem setTag:i+4]; + [btitem addTarget:self action:@selector(funcAction:) forControlEvents:UIControlEventTouchUpInside]; + } + + UIView *viewplayer = [[UIView alloc] initWithFrame:CGRectMake(0, 0, UISCREEN_WIDTH, UISCREEN_HEIGHT)]; + [viewplayer setBackgroundColor:[UIColor whiteColor]]; + [self addSubview:viewplayer]; + _viewplayer = viewplayer; + [self sendSubviewToBack:viewplayer]; + + [self.viewwjt removeFromSuperview]; + + [self.viewmy setFrame:CGRectMake(UISCREEN_WIDTH-108, NavHeight, 100, 100*UISCREEN_HEIGHT/UISCREEN_WIDTH)]; + [self.viewmy.layer setMasksToBounds:YES]; + [self.viewmy.layer setCornerRadius:8]; + self.previewLayer.frame = CGRectMake(0, 0, self.viewmy.width,self.viewmy.height); + + [self drawPlayerShow]; +} + +///未接听 +-(void)drawWeiJieTing +{ + UIView *viewwjt = [[UIView alloc] init]; + [viewwjt setBackgroundColor:[UIColor clearColor]]; + [self addSubview:viewwjt]; + [viewwjt mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self); + }]; + _viewwjt = viewwjt; + + UIImageView *imgvhd = [[UIImageView alloc] init]; + [viewwjt addSubview:imgvhd]; + [imgvhd mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.height.offset(68); + make.centerX.equalTo(viewwjt); + make.top.offset(NavHeight+42); + }]; + [imgvhd.layer setMasksToBounds:YES]; + [imgvhd.layer setCornerRadius:6]; + _imgvhd = imgvhd; + + UILabel *lbname = [[UILabel alloc] init]; + [lbname setTextColor:[UIColor whiteColor]]; + [lbname setTextAlignment:NSTextAlignmentCenter]; + [lbname setFont:[UIFont fontWithName:@"PingFangSC-Regular" size:20]]; + [viewwjt addSubview:lbname]; + [lbname mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(imgvhd.mas_bottom).offset(12); + make.centerX.equalTo(viewwjt); + make.width.lessThanOrEqualTo(@(200)); + }]; + _lbname = lbname; + + UIButton *btgd = [[UIButton alloc] init]; + [btgd setImage:[UIImage imageNamed:@"spth_挂断"] forState:UIControlStateNormal]; + [viewwjt addSubview:btgd]; + [btgd mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(24); + make.width.height.offset(64); + make.bottom.equalTo(viewwjt).offset(-TabHeight); + }]; + [btgd setTag:0]; + [btgd addTarget:self action:@selector(funcAction:) forControlEvents:UIControlEventTouchUpInside]; + + UIButton *btjt = [[UIButton alloc] init]; + [btjt setImage:[UIImage imageNamed:@"spth_接听"] forState:UIControlStateNormal]; + [viewwjt addSubview:btjt]; + [btjt mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.equalTo(viewwjt).offset(-24); + make.width.height.bottom.equalTo(btgd); + }]; + [btjt setTag:1]; + [btjt addTarget:self action:@selector(funcAction:) forControlEvents:UIControlEventTouchUpInside]; + + float fjjj = (UISCREEN_WIDTH-48-64*4)/3.0; + NSArray *arr = @[@"麦克风已开",@"摄像头已开",@"模糊背景",@"翻转"]; + for(int i = 0 ; i < arr.count; i++) + { + UIButton *btitem = [[UIButton alloc] init]; + [btitem setTitle:arr[i] forState:UIControlStateNormal]; + [btitem setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; + [btitem.titleLabel setFont:[UIFont fontWithName:@"PingFangSC-Regular" size:12]]; + [btitem setImage:[UIImage imageNamed:[NSString stringWithFormat:@"spth_%@",arr[i]]] forState:UIControlStateNormal]; + [viewwjt addSubview:btitem]; + [btitem mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(24+(64+fjjj)*i); + make.width.offset(64); + make.height.offset(100); + make.bottom.equalTo(btgd.mas_top).offset(-20); + }]; + [btitem setIconInTopWithSpacing:8]; + + [btitem setTag:i+2]; + [btitem addTarget:self action:@selector(funcAction:) forControlEvents:UIControlEventTouchUpInside]; + } + +} + +-(void)funcAction:(UIButton *)sender +{ + switch (sender.tag) { + case 0: + {///挂断 + [self dis]; +// if(self.backGuaDuan) +// { +// self.backGuaDuan(); +// } + ///播放声音 + + DuanXinShowMainHomeView *view = [[DuanXinShowMainHomeView alloc] initWithFrame:CGRectMake(0, 0, UISCREEN_WIDTH, UISCREEN_HEIGHT)]; + [self.superview addSubview:view]; + [self removeFromSuperview]; + + } + break; + case 1: + {///接听 + [self drawJieTing]; + + } + break; + default: + break; + } +} + +#pragma mark - 初始化相机设备 +-(void)customCamera +{ + // 1.1 初始化session会话,用来结合输入输出 + self.session = [[AVCaptureSession alloc] init]; + if ([self.session canSetSessionPreset:AVCaptureSessionPreset1280x720]) { + [self.session setSessionPreset:AVCaptureSessionPreset1280x720]; //拿到的图像的大小可以自行设定 + } + + // 1.2 获取视频输入设备(摄像头) +// self.device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; + self.device = [AVCaptureDevice defaultDeviceWithDeviceType:AVCaptureDeviceTypeBuiltInWideAngleCamera mediaType:AVMediaTypeVideo position:AVCaptureDevicePositionFront]; + + // 1.3 创建视频输入源 并添加到会话 + self.input = [[AVCaptureDeviceInput alloc]initWithDevice:self.device error:nil]; + if ([self.session canAddInput:self.input]) { + [self.session addInput:self.input]; + } + + // 1.4 创建视频输出源 并添加到会话 + self.imageOutPut = [[AVCapturePhotoOutput alloc]init]; + if ([self.session canAddOutput:self.imageOutPut]) { + [self.session addOutput:self.imageOutPut]; + } + AVCaptureConnection *imageConnection = [self.imageOutPut connectionWithMediaType:AVMediaTypeVideo]; + // 设置 imageConnection 控制相机拍摄图片的角度方向 + if (imageConnection.supportsVideoOrientation) { + imageConnection.videoOrientation = AVCaptureVideoOrientationPortrait; + } + + + double width = 0.0; + double height = 0.0; + CGSize screenSize = CGSizeMake(UISCREEN_WIDTH, UISCREEN_HEIGHT); + width = screenSize.width; + height = screenSize.height; + + // 2.1 使用self.session初始化预览层,self.session负责驱动input进行信息的采集,layer负责把图像渲染显示 + self.previewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:self.session]; + self.previewLayer.frame = CGRectMake(0, 0, width,height); + self.previewLayer.connection.videoOrientation = AVCaptureVideoOrientationPortrait; // 图层展示拍摄角度方向 + self.previewLayer.videoGravity = AVLayerVideoGravityResize; + [self.viewmy.layer addSublayer:self.previewLayer]; + + // 3.1 属性配置 + if ([self.device lockForConfiguration:nil]) { // 修改设备的属性,先加锁 + //闪光灯自动 + if ([[self.imageOutPut supportedFlashModes] containsObject:@(AVCaptureFlashModeAuto)]) { + self.imageOutPut.photoSettingsForSceneMonitoring.flashMode = AVCaptureFlashModeAuto; + } + //自动白平衡 + if ([self.device isWhiteBalanceModeSupported:AVCaptureWhiteBalanceModeAutoWhiteBalance]) { + [self.device setWhiteBalanceMode:AVCaptureWhiteBalanceModeAutoWhiteBalance]; + } + //解锁 + [self.device unlockForConfiguration]; + } + + // 4.1开始采集画面 + dispatch_async(dispatch_get_global_queue(0, 0), ^{ + [self.session startRunning]; + }); + +// [self drawUI]; +} +-(void)tsAction +{ + +} +-(void)shuanji +{ + +} +-(NSString *)getSecTime:(NSInteger)itemp +{ + NSString *strback = @"00:00"; + if(itemp>0) + { + NSInteger ifen = itemp/60; + NSInteger imiao = itemp%60; + strback = [NSString stringWithFormat:@"%ld",ifen]; + if(ifen<10) + { + strback = [NSString stringWithFormat:@"0%ld",ifen]; + } + if(imiao<10) + { + strback = [NSString stringWithFormat:@"%@:0%ld",strback,imiao]; + } + else + { + strback = [NSString stringWithFormat:@"%@:%ld",strback,imiao]; + } + } + return strback; +} + +@end diff --git a/ProductApp/ProductApp/ProductMain/首页/视频电话/view/ShiPinDianHuaView.h b/ProductApp/ProductApp/ProductMain/首页/视频电话/view/ShiPinDianHuaView.h new file mode 100644 index 0000000..01bd54d --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/首页/视频电话/view/ShiPinDianHuaView.h @@ -0,0 +1,16 @@ +// +// ShiPinDianHuaView.h +// ProductApp +// +// Created by 工作 on 2025/3/31. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface ShiPinDianHuaView : UIView + +@end + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/首页/视频电话/view/ShiPinDianHuaView.m b/ProductApp/ProductApp/ProductMain/首页/视频电话/view/ShiPinDianHuaView.m new file mode 100644 index 0000000..22b232a --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/首页/视频电话/view/ShiPinDianHuaView.m @@ -0,0 +1,351 @@ +// +// ShiPinDianHuaView.m +// ProductApp +// +// Created by 工作 on 2025/3/31. +// + +#import "ShiPinDianHuaView.h" +#import "WYCamaImageTools.h" +#import "PickerAlterView.h" +#import "AlterSheetView.h" +#import "UIImageView+VideoImageView.h" + +#import "BaseViewController.h" +#import "MNHeiPeiView.h" + +#import +#import + +@interface ShiPinDianHuaView () +@property (nonatomic , strong) NSMutableArray *arrViews; +/// +@property (nonatomic , strong) NSMutableArray *arrField; + +/// +@property (nonatomic , strong) UIImageView *imgvhd; +@property (nonatomic , strong) UIImageView *imgvsp; + + +/// +@property (nonatomic , strong) UIImageView *imgvSelect; + +@property (nonatomic, strong) WYCamaImageTools *tools; + +/// +@property (nonatomic , strong) NSURL *videourl; + +@end + +@implementation ShiPinDianHuaView + +-(id)initWithFrame:(CGRect)frame +{ + if(self = [super initWithFrame:frame]) + { + self.arrViews = [NSMutableArray new]; + self.arrField = [NSMutableArray new]; + NSArray *arrtt = @[@"来电昵称",@"来电头像",@"来电视频",@"延迟视频"]; + NSArray *arrpl = @[@"请输入昵称",@"请上传",@"请上传",@"请选择"]; + UIView *viewlast = nil; + for(int i = 0 ; i < arrtt.count; i++) + { + UIView *viewitem = [[UIView alloc] init]; + [viewitem setBackgroundColor:[UIColor whiteColor]]; + [self addSubview:viewitem]; + [viewitem mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.equalTo(self); + if(i==0) + { + make.top.offset(0); + } + else + { + make.top.equalTo(viewlast.mas_bottom); + } + make.height.offset(53); + }]; + viewlast = viewitem; + [self.arrViews addObject:viewitem]; + + BOOL isselect = YES; + if(i==0)isselect=NO; + UITextField *field = [self drawItemView:viewitem andtitle:arrtt[i] isselect:isselect platch:arrpl[i] tag:i]; + [self.arrField addObject:field]; + + if(i==1) + { + UIImageView *imgvhd = [[UIImageView alloc] init]; + [imgvhd setImage:[UIImage imageNamed:@"my_nomohead"]]; + [viewitem addSubview:imgvhd]; + [imgvhd mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.equalTo(viewitem).offset(-33); + make.centerY.equalTo(viewitem); + make.width.height.offset(58); + }]; + [imgvhd.layer setMasksToBounds:YES]; + [imgvhd.layer setCornerRadius:6]; + _imgvhd = imgvhd; + [viewitem mas_updateConstraints:^(MASConstraintMaker *make) { + make.height.offset(86); + }]; + } + else if (i==3) + { + field.text = @"3秒钟"; + } + } + + UIView *viewbottom = [[UIView alloc] init]; + [viewbottom setBackgroundColor:[UIColor whiteColor]]; + [self addSubview:viewbottom]; + [viewbottom mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.bottom.equalTo(self); + make.height.offset(TabHeight+20); + }]; + + UIButton *btok = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, UISCREEN_WIDTH-32, 46)]; + [btok setTitle:@"确定" forState:UIControlStateNormal]; + [btok setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; + [btok.titleLabel setFont:[UIFont systemFontOfSize:15]]; + [btok.layer setMasksToBounds:YES]; + [btok.layer setCornerRadius:23]; + [viewbottom addSubview:btok]; + [btok mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(16); + make.top.offset(9); + make.right.equalTo(viewbottom).offset(-16); + make.height.offset(46); + }]; + [btok addTarget:self action:@selector(okAction) forControlEvents:UIControlEventTouchUpInside]; + [Tools changedView:btok colors:@[(id)RGBCOLOR(119, 140, 245).CGColor,(id)RGBCOLOR(166, 121, 244).CGColor] startPoint:CGPointMake(0, 0) endPoint:CGPointMake(1, 0)]; + + } + return self; +} +-(UITextField *)drawItemView:(UIView *)view andtitle:(NSString *)title isselect:(BOOL)isselect platch:(NSString *)platch tag:(int)tag +{ + float f_w = [Tools getWidthWithText:title height:20 font:15]+5; + UILabel *lbname = [[UILabel alloc] init]; + [lbname setText:title]; + [lbname setTextColor:RGBCOLOR(102, 102, 102)]; + [lbname setTextAlignment:NSTextAlignmentLeft]; + [lbname setFont:[UIFont systemFontOfSize:15]]; + [view addSubview:lbname]; + [lbname mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(15); + make.centerY.equalTo(view); + make.width.offset(f_w); + }]; + + UITextField *field = [[UITextField alloc] init]; + [field setTextColor:RGBCOLOR(102, 102, 102)]; + [field setTextAlignment:NSTextAlignmentRight]; + [field setFont:[UIFont systemFontOfSize:15]]; + [view addSubview:field]; + [field mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.equalTo(lbname.mas_right); + make.top.bottom.equalTo(view); + make.right.equalTo(view).offset(-15); + }]; + [field setPlaceholder:platch]; + if(isselect) + { + [field mas_updateConstraints:^(MASConstraintMaker *make) { + make.right.equalTo(view).offset(-33); + }]; + + UIImageView *imgvnext = [[UIImageView alloc] init]; + [imgvnext setImage:[UIImage imageNamed:@"my_next"]]; + [view addSubview:imgvnext]; + [imgvnext mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.equalTo(view).offset(-9); + make.centerY.equalTo(view); + make.width.height.offset(20); + }]; + + UIButton *btitem = [[UIButton alloc] init]; + [view addSubview:btitem]; + [btitem mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.top.bottom.equalTo(field); + make.right.equalTo(view); + }]; + [btitem setTag:tag]; + [btitem addTarget:self action:@selector(itemAction:) forControlEvents:UIControlEventTouchUpInside]; + + } + UIView *viewline = [[UIView alloc] init]; + [viewline setBackgroundColor:RGBCOLOR(238, 238, 238)]; + [view addSubview:viewline]; + [viewline mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(16); + make.bottom.equalTo(view); + make.right.equalTo(view).offset(-16); + make.height.offset(1); + }]; + + return field; +} + +-(void)itemAction:(UIButton *)sender +{ + [self endEditing:YES]; + if(sender.tag==1) + { + self.tools.isvideo = NO; + self.tools.isedit = YES; + [AlterSheetView showAlterSheetTitle:@"" bts:@[@"随机获取",@"拍照",@"相册中选择"] buttomTitle:@"取消" otherBtsColor:RGBCOLOR(92, 117, 248) otherColorTitles:@[@"随机获取"] backValue:^(NSInteger tag) { + NSLog(@"%ld",tag); + if(tag==1) + { + + } + else if(tag==2) + { + [self.tools choosePicWithViewController:self.viewController chooseType:ChooseTypeTakePic]; + } + else if(tag==3) + { + [self.tools choosePicWithViewController:self.viewController chooseType:ChooseTypeAlbum]; + } + }]; + } + else if (sender.tag==2) + { + self.tools.isvideo = YES; + self.tools.isedit = NO; + [AlterSheetView showAlterSheetTitle:@"" bts:@[@"拍照",@"相册中选择"] buttomTitle:@"取消" otherBtsColor:RGBCOLOR(92, 117, 248) otherColorTitles:@[@"随机获取"] backValue:^(NSInteger tag) { + NSLog(@"%ld",tag); + if(tag==1) + { + [self.tools choosePicWithViewController:self.viewController chooseType:ChooseTypeTakePic]; + } + else if(tag==2) + { + [self.tools choosePicWithViewController:self.viewController chooseType:ChooseTypeAlbum]; + } + + }]; + } + else if (sender.tag==3) + { + [PickerAlterView showPickers:@[@"3秒钟",@"10秒钟",@"30秒钟",@"1分钟",@"2分钟",@"3分钟",@"5分钟",@"10分钟",@"30分钟"] title:@"选择时间" backValue:^(NSString * _Nonnull strback) { + UITextField *field = self.arrField[3]; + field.text = strback; + }]; + } +} + +-(void)okAction +{ + if([self checkCameraPermission]==NO) + { + [HXHud showMessage:@"请打开相机权限" afterDelayType:0]; + return; + } + + UITextField *fieldname = self.arrField[0]; +// if(fieldname.text.length==0) +// { +// [HXHud showMessage:@"请输入来电昵称" afterDelayType:0]; +// return; +// } +// if(self.videourl==nil) +// { +// [HXHud showMessage:@"请选择来电视频" afterDelayType:0]; +// return; +// } + UITextField *fieldtime = self.arrField[3]; + NSString *strtime = fieldtime.text; + if([strtime containsString:@"秒钟"]) + { + strtime=[strtime stringByReplacingOccurrencesOfString:@"秒钟" withString:@""]; + } + else + { + strtime=[strtime stringByReplacingOccurrencesOfString:@"分钟" withString:@""]; + strtime = [NSString stringWithFormat:@"%d",strtime.intValue*60]; + } + + [[UIApplication sharedApplication] setIdleTimerDisabled:YES]; + BaseViewController *vc = (BaseViewController *)self.viewController; + [vc refShowStateBar:NO]; + MNHeiPeiView *viewhp = [[MNHeiPeiView alloc] initWithFrame:CGRectMake(0, 0, UISCREEN_WIDTH, UISCREEN_HEIGHT)]; + [self.viewController.view addSubview:viewhp]; + viewhp.time = strtime.intValue; + viewhp.imageHead = self.imgvhd.image; + viewhp.strname = fieldname.text; + viewhp.videourl = self.videourl; + viewhp.type = 2; +} + +#pragma mark - 相机 +#pragma mark - 相机权限 +- (BOOL)checkCameraPermission +{ + AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo]; + if (authStatus == AVAuthorizationStatusDenied || authStatus == AVAuthorizationStatusRestricted) { + UIAlertController *alertVC = [UIAlertController alertControllerWithTitle:@"请打开相机权限" message:@"设置-隐私-相机" preferredStyle:UIAlertControllerStyleAlert]; + UIAlertAction *done = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { + NSURL * url = [NSURL URLWithString:UIApplicationOpenSettingsURLString]; + if([[UIApplication sharedApplication] canOpenURL:url]) { + [[UIApplication sharedApplication] openURL:url options:@{UIApplicationOpenSettingsURLString:@YES} completionHandler:nil]; + } + }]; + UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { + + }]; + [alertVC addAction:done]; + [alertVC addAction:cancel]; + [self.viewController presentViewController:alertVC animated:NO completion:^{ + }]; + return NO; + } else if (authStatus == AVAuthorizationStatusNotDetermined) { + [AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo completionHandler:^(BOOL granted) { + dispatch_sync(dispatch_get_main_queue(), ^{ + + }); + }]; + return NO; + } + else { + return YES; + } +} + +#pragma mark - WYCamaImageToolsDelegate +-(void)didEndChoosePic:(UIImage *)image +{ + self.imgvhd.image = image; +} +- (void)didEndChooseVideo:(NSURL *)videourl +{ + if(!self.imgvsp) + { + UIView *viewitem = self.arrViews[2]; + UIImageView *imgvsp = [[UIImageView alloc] init]; + [viewitem addSubview:imgvsp]; + [imgvsp mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.equalTo(viewitem).offset(-33); + make.centerY.equalTo(viewitem); + make.width.height.offset(58); + }]; + [imgvsp.layer setMasksToBounds:YES]; + [imgvsp.layer setCornerRadius:6]; + _imgvsp = imgvsp; + [viewitem mas_updateConstraints:^(MASConstraintMaker *make) { + make.height.offset(86); + }]; + } + [self.imgvsp videoImageWithvideoURL:videourl atTime:0.1]; + self.videourl = videourl; +} +- (WYCamaImageTools *)tools { + if (!_tools) { + _tools = [[WYCamaImageTools alloc] init]; + _tools.delegate = self; + + }return _tools; +} + +@end diff --git a/ProductApp/ProductApp/ProductMain/首页/语音电话/YuYinDianHuaViewController.h b/ProductApp/ProductApp/ProductMain/首页/语音电话/YuYinDianHuaViewController.h new file mode 100644 index 0000000..a12e3fe --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/首页/语音电话/YuYinDianHuaViewController.h @@ -0,0 +1,16 @@ +// +// YuYinDianHuaViewController.h +// ProductApp +// +// Created by 工作 on 2025/3/31. +// + +#import "BaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface YuYinDianHuaViewController : BaseViewController + +@end + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/首页/语音电话/YuYinDianHuaViewController.m b/ProductApp/ProductApp/ProductMain/首页/语音电话/YuYinDianHuaViewController.m new file mode 100644 index 0000000..842d556 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/首页/语音电话/YuYinDianHuaViewController.m @@ -0,0 +1,50 @@ +// +// YuYinDianHuaViewController.m +// ProductApp +// +// Created by 工作 on 2025/3/31. +// + +#import "YuYinDianHuaViewController.h" +#import "YuYinDianHuaView.h" + + +@interface YuYinDianHuaViewController () + +@end + +@implementation YuYinDianHuaViewController + +- (UIStatusBarStyle)preferredStatusBarStyle { + if(!self.statebar) + { + if(self.statusbarRef) + { + return self.statusbarRef; + } + } + return UIStatusBarStyleDefault; +} +- (void)viewWillAppear:(BOOL)animated { + [super viewWillAppear:animated]; + [self.navigationController setNavigationBarHidden:YES animated:animated]; + [self showNaviGationView:YES]; + [self.navigationView setTitle:@"语音电话" titleColor:RGBCOLOR(60, 60, 60)]; + [self.navigationView setBackgroundColor:RGBCOLOR(242, 242, 242)]; +} +- (void)viewDidLoad { + [super viewDidLoad]; + + [self.view setBackgroundColor:RGBCOLOR(242, 242, 242)]; + + YuYinDianHuaView *view = [[YuYinDianHuaView alloc] init]; + [self.view addSubview:view]; + [view mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.bottom.equalTo(self.view); + make.top.offset(NavHeight); + }]; + + +} + +@end diff --git a/ProductApp/ProductApp/ProductMain/首页/语音电话/view/YuYinDianHuaShowView.h b/ProductApp/ProductApp/ProductMain/首页/语音电话/view/YuYinDianHuaShowView.h new file mode 100644 index 0000000..07ca2d9 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/首页/语音电话/view/YuYinDianHuaShowView.h @@ -0,0 +1,20 @@ +// +// YuYinDianHuaShowView.h +// ProductApp +// +// Created by 工作 on 2025/3/31. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface YuYinDianHuaShowView : UIView +///0短信 1微信 +@property (nonatomic , assign) int type; +@property (nonatomic , assign) int time; +@property (nonatomic , strong) UIImage *imageHead; +@property (nonatomic , strong) NSString *strname; +@end + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/首页/语音电话/view/YuYinDianHuaShowView.m b/ProductApp/ProductApp/ProductMain/首页/语音电话/view/YuYinDianHuaShowView.m new file mode 100644 index 0000000..e2b64ae --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/首页/语音电话/view/YuYinDianHuaShowView.m @@ -0,0 +1,261 @@ +// +// YuYinDianHuaShowView.m +// ProductApp +// +// Created by 工作 on 2025/3/31. +// + +#import "YuYinDianHuaShowView.h" +#import "BaseViewController.h" +#import "DuanXinShowMainHomeView.h" + + +@interface YuYinDianHuaShowView () +/// +@property (nonatomic , strong) UIImageView *imgvback; +/// +@property (nonatomic , strong) UIImageView *imgvhd; +/// +@property (nonatomic , strong) UILabel *lbname; + +///未接通时的画面 +@property (nonatomic , strong) UIView *viewwjt; +///已接听 +@property (nonatomic , strong) UIView *viewjt; + + +@end + +@implementation YuYinDianHuaShowView + +-(id)initWithFrame:(CGRect)frame +{ + if(self = [super initWithFrame:frame]) + { + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + BaseViewController *vc = (BaseViewController *)self.viewController; + vc.statusbarRef = UIStatusBarStyleLightContent; + [vc refShowStateBar:YES]; + }); + ///播放声音 + + + + UIImageView *imgvback = [[UIImageView alloc] init]; + [imgvback setContentMode:UIViewContentModeScaleAspectFill]; + [self addSubview:imgvback]; + [imgvback mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self); + }]; + _imgvback = imgvback; + + UIImageView *imgvhd = [[UIImageView alloc] init]; + [self addSubview:imgvhd]; + [imgvhd mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.height.offset(96); + make.centerX.equalTo(self); + make.top.offset(162+NavHeight); + }]; + [imgvhd.layer setMasksToBounds:YES]; + [imgvhd.layer setCornerRadius:6]; + _imgvhd = imgvhd; + + UILabel *lbname = [[UILabel alloc] init]; + [lbname setTextColor:[UIColor whiteColor]]; + [lbname setTextAlignment:NSTextAlignmentCenter]; + [lbname setFont:[UIFont fontWithName:@"PingFangSC-Regular" size:20]]; + [self addSubview:lbname]; + [lbname mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(imgvhd.mas_bottom).offset(12); + make.centerX.equalTo(self); + make.width.lessThanOrEqualTo(@(200)); + }]; + _lbname = lbname; + + [self drawWeiJieTing]; + + UIButton *btsf = [[UIButton alloc] init]; + [btsf setImage:[UIImage imageNamed:@"spth_sf"] forState:UIControlStateNormal]; + [self addSubview:btsf]; + [btsf mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(10); + make.width.height.offset(40); + make.top.offset(KMagrinTop); + }]; + + } + return self; +} +-(void)setType:(int)type +{ + self.imgvback.image = self.imageHead; + UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, UISCREEN_WIDTH, UISCREEN_HEIGHT)]; + toolbar.barStyle = UIBarStyleBlack; + [self.imgvback addSubview:toolbar]; + + self.imgvhd.image = self.imageHead; + self.lbname.text = self.strname; +} +///已接听 +-(void)drawJieTing +{ + UIView *viewjt = [[UIView alloc] init]; + [viewjt setBackgroundColor:[UIColor clearColor]]; + [self addSubview:viewjt]; + [viewjt mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self); + }]; + _viewjt = viewjt; + + UILabel *lbtime = [[UILabel alloc] init]; + [lbtime setText:@"00:00"]; + [lbtime setTextColor:[UIColor whiteColor]]; + [lbtime setTextAlignment:NSTextAlignmentCenter]; + [lbtime setFont:[UIFont fontWithName:@"PingFangSC-Medium" size:18]]; + [self addSubview:lbtime]; + [lbtime mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.offset(KMagrinTop); + make.height.offset(40); + make.centerX.equalTo(self); + }]; + [Tools startTimerWithStartTime:1000 isCountDown:YES result:^(NSInteger tag) { + NSInteger temp = 1000-tag; + lbtime.text = [self getSecTime:temp]; + }]; + + float fjjj = (UISCREEN_WIDTH-72-72*3)/2.0; + NSArray *arr = @[@"麦克风已开",@"挂断",@"扬声器已关"]; + for(int i = 0 ; i < arr.count; i++) + { + UIButton *btitem = [[UIButton alloc] init]; + [btitem setImage:[UIImage imageNamed:[NSString stringWithFormat:@"spth_%@",arr[i]]] forState:UIControlStateNormal]; + if(i==0) + { + [btitem setImage:[UIImage imageNamed:[NSString stringWithFormat:@"spth_%@_大",arr[i]]] forState:UIControlStateNormal]; + } + [btitem setTitle:arr[i] forState:UIControlStateNormal]; + [btitem setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; + [btitem.titleLabel setFont:[UIFont fontWithName:@"PingFangSC-Regular" size:14]]; + [viewjt addSubview:btitem]; + [btitem mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(40+(64+fjjj)*i); + make.width.offset(72); + make.height.offset(100); + make.bottom.equalTo(viewjt).offset(-TabHeight); + }]; + [btitem setIconInTopWithSpacing:8]; + if(i==1) + { + [btitem setTag:0]; + } + else + { + [btitem setTag:i+4]; + } + [btitem addTarget:self action:@selector(funcAction:) forControlEvents:UIControlEventTouchUpInside]; + } + + [self.viewwjt removeFromSuperview]; +} +///未接听 +-(void)drawWeiJieTing +{ + UIView *viewwjt = [[UIView alloc] init]; + [viewwjt setBackgroundColor:[UIColor clearColor]]; + [self addSubview:viewwjt]; + [viewwjt mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self); + }]; + _viewwjt = viewwjt; + + UILabel *lbstate = [[UILabel alloc] init]; + [lbstate setText:@"连接中"]; + [lbstate setTextColor:RGBACOLOR(255, 255, 255, 0.6)]; + [lbstate setTextAlignment:NSTextAlignmentLeft]; + [lbstate setFont:[UIFont fontWithName:@"PingFangSC-Regular" size:16]]; + [viewwjt addSubview:lbstate]; + [lbstate mas_makeConstraints:^(MASConstraintMaker *make) { + make.centerY.equalTo(viewwjt); + make.centerX.equalTo(viewwjt); + }]; + + UIButton *btgd = [[UIButton alloc] init]; + [btgd setImage:[UIImage imageNamed:@"spth_挂断"] forState:UIControlStateNormal]; + [btgd setTitle:@"拒绝" forState:UIControlStateNormal]; + [btgd setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; + [btgd.titleLabel setFont:[UIFont fontWithName:@"PingFangSC-Regular" size:14]]; + [viewwjt addSubview:btgd]; + [btgd mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(60); + make.width.offset(72); + make.height.offset(100); + make.bottom.equalTo(viewwjt).offset(-TabHeight); + }]; + [btgd setIconInTopWithSpacing:8]; + [btgd setTag:0]; + [btgd addTarget:self action:@selector(funcAction:) forControlEvents:UIControlEventTouchUpInside]; + + UIButton *btjt = [[UIButton alloc] init]; + [btjt setImage:[UIImage imageNamed:@"spth_接听"] forState:UIControlStateNormal]; + [viewwjt addSubview:btjt]; + [btjt mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.equalTo(viewwjt).offset(-60); + make.width.height.bottom.equalTo(btgd); + }]; + [btjt setTitle:@"接听" forState:UIControlStateNormal]; + [btjt setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; + [btjt.titleLabel setFont:[UIFont fontWithName:@"PingFangSC-Regular" size:14]]; + [btjt setTag:1]; + [btjt setIconInTopWithSpacing:8]; + [btjt addTarget:self action:@selector(funcAction:) forControlEvents:UIControlEventTouchUpInside]; + +} + +-(void)funcAction:(UIButton *)sender +{ + switch (sender.tag) { + case 0: + {///挂断 + ///播放声音 + + DuanXinShowMainHomeView *view = [[DuanXinShowMainHomeView alloc] initWithFrame:CGRectMake(0, 0, UISCREEN_WIDTH, UISCREEN_HEIGHT)]; + [self.superview addSubview:view]; + [self removeFromSuperview]; + + } + break; + case 1: + {///接听 + [self drawJieTing]; + } + break; + default: + break; + } +} +-(NSString *)getSecTime:(NSInteger)itemp +{ + NSString *strback = @"00:00"; + if(itemp>0) + { + NSInteger ifen = itemp/60; + NSInteger imiao = itemp%60; + strback = [NSString stringWithFormat:@"%ld",ifen]; + if(ifen<10) + { + strback = [NSString stringWithFormat:@"0%ld",ifen]; + } + if(imiao<10) + { + strback = [NSString stringWithFormat:@"%@:0%ld",strback,imiao]; + } + else + { + strback = [NSString stringWithFormat:@"%@:%ld",strback,imiao]; + } + } + return strback; +} + + +@end diff --git a/ProductApp/ProductApp/ProductMain/首页/语音电话/view/YuYinDianHuaView.h b/ProductApp/ProductApp/ProductMain/首页/语音电话/view/YuYinDianHuaView.h new file mode 100644 index 0000000..00474c6 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/首页/语音电话/view/YuYinDianHuaView.h @@ -0,0 +1,16 @@ +// +// YuYinDianHuaView.h +// ProductApp +// +// Created by 工作 on 2025/3/31. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface YuYinDianHuaView : UIView + +@end + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/首页/语音电话/view/YuYinDianHuaView.m b/ProductApp/ProductApp/ProductMain/首页/语音电话/view/YuYinDianHuaView.m new file mode 100644 index 0000000..32d57fa --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/首页/语音电话/view/YuYinDianHuaView.m @@ -0,0 +1,258 @@ +// +// YuYinDianHuaView.m +// ProductApp +// +// Created by 工作 on 2025/3/31. +// + +#import "YuYinDianHuaView.h" +#import "WYCamaImageTools.h" +#import "PickerAlterView.h" +#import "AlterSheetView.h" + +#import "BaseViewController.h" +#import "MNHeiPeiView.h" + +@interface YuYinDianHuaView () +@property (nonatomic , strong) NSMutableArray *arrViews; +/// +@property (nonatomic , strong) NSMutableArray *arrField; + +/// +@property (nonatomic , strong) UIImageView *imgvhd; +@property (nonatomic, strong) WYCamaImageTools *tools; +@end + +@implementation YuYinDianHuaView +-(id)initWithFrame:(CGRect)frame +{ + if(self = [super initWithFrame:frame]) + { + self.arrViews = [NSMutableArray new]; + self.arrField = [NSMutableArray new]; + NSArray *arrtt = @[@"来电昵称",@"来电头像",@"延时语音"]; + NSArray *arrpl = @[@"请输入昵称",@"请上传",@"请选择"]; + UIView *viewlast = nil; + for(int i = 0 ; i < arrtt.count; i++) + { + UIView *viewitem = [[UIView alloc] init]; + [viewitem setBackgroundColor:[UIColor whiteColor]]; + [self addSubview:viewitem]; + [viewitem mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.equalTo(self); + if(i==0) + { + make.top.offset(0); + } + else + { + make.top.equalTo(viewlast.mas_bottom); + } + make.height.offset(53); + }]; + viewlast = viewitem; + [self.arrViews addObject:viewitem]; + + BOOL isselect = YES; + if(i==0)isselect=NO; + UITextField *field = [self drawItemView:viewitem andtitle:arrtt[i] isselect:isselect platch:arrpl[i] tag:i]; + [self.arrField addObject:field]; + + if(i==1) + { + UIImageView *imgvhd = [[UIImageView alloc] init]; + [imgvhd setImage:[UIImage imageNamed:@"my_nomohead"]]; + [viewitem addSubview:imgvhd]; + [imgvhd mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.equalTo(viewitem).offset(-33); + make.centerY.equalTo(viewitem); + make.width.height.offset(58); + }]; + [imgvhd.layer setMasksToBounds:YES]; + [imgvhd.layer setCornerRadius:6]; + _imgvhd = imgvhd; + [viewitem mas_updateConstraints:^(MASConstraintMaker *make) { + make.height.offset(86); + }]; + } + else if (i==2) + { + field.text = @"3秒钟"; + } + } + + UIView *viewbottom = [[UIView alloc] init]; + [viewbottom setBackgroundColor:[UIColor whiteColor]]; + [self addSubview:viewbottom]; + [viewbottom mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.bottom.equalTo(self); + make.height.offset(TabHeight+20); + }]; + + UIButton *btok = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, UISCREEN_WIDTH-32, 46)]; + [btok setTitle:@"确定" forState:UIControlStateNormal]; + [btok setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; + [btok.titleLabel setFont:[UIFont systemFontOfSize:15]]; + [btok.layer setMasksToBounds:YES]; + [btok.layer setCornerRadius:23]; + [viewbottom addSubview:btok]; + [btok mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(16); + make.top.offset(9); + make.right.equalTo(viewbottom).offset(-16); + make.height.offset(46); + }]; + [btok addTarget:self action:@selector(okAction) forControlEvents:UIControlEventTouchUpInside]; + [Tools changedView:btok colors:@[(id)RGBCOLOR(119, 140, 245).CGColor,(id)RGBCOLOR(166, 121, 244).CGColor] startPoint:CGPointMake(0, 0) endPoint:CGPointMake(1, 0)]; + + } + return self; +} +-(UITextField *)drawItemView:(UIView *)view andtitle:(NSString *)title isselect:(BOOL)isselect platch:(NSString *)platch tag:(int)tag +{ + float f_w = [Tools getWidthWithText:title height:20 font:15]+5; + UILabel *lbname = [[UILabel alloc] init]; + [lbname setText:title]; + [lbname setTextColor:RGBCOLOR(102, 102, 102)]; + [lbname setTextAlignment:NSTextAlignmentLeft]; + [lbname setFont:[UIFont systemFontOfSize:15]]; + [view addSubview:lbname]; + [lbname mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(15); + make.centerY.equalTo(view); + make.width.offset(f_w); + }]; + + UITextField *field = [[UITextField alloc] init]; + [field setTextColor:RGBCOLOR(102, 102, 102)]; + [field setTextAlignment:NSTextAlignmentRight]; + [field setFont:[UIFont systemFontOfSize:15]]; + [view addSubview:field]; + [field mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.equalTo(lbname.mas_right); + make.top.bottom.equalTo(view); + make.right.equalTo(view).offset(-15); + }]; + [field setPlaceholder:platch]; + if(isselect) + { + [field mas_updateConstraints:^(MASConstraintMaker *make) { + make.right.equalTo(view).offset(-33); + }]; + + UIImageView *imgvnext = [[UIImageView alloc] init]; + [imgvnext setImage:[UIImage imageNamed:@"my_next"]]; + [view addSubview:imgvnext]; + [imgvnext mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.equalTo(view).offset(-9); + make.centerY.equalTo(view); + make.width.height.offset(20); + }]; + + UIButton *btitem = [[UIButton alloc] init]; + [view addSubview:btitem]; + [btitem mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.top.bottom.equalTo(field); + make.right.equalTo(view); + }]; + [btitem setTag:tag]; + [btitem addTarget:self action:@selector(itemAction:) forControlEvents:UIControlEventTouchUpInside]; + + } + UIView *viewline = [[UIView alloc] init]; + [viewline setBackgroundColor:RGBCOLOR(238, 238, 238)]; + [view addSubview:viewline]; + [viewline mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(16); + make.bottom.equalTo(view); + make.right.equalTo(view).offset(-16); + make.height.offset(1); + }]; + + return field; +} + +-(void)itemAction:(UIButton *)sender +{ + [self endEditing:YES]; + if(sender.tag==1) + { + self.tools.isvideo = NO; + self.tools.isedit = YES; + [AlterSheetView showAlterSheetTitle:@"" bts:@[@"随机获取",@"拍照",@"相册中选择"] buttomTitle:@"取消" otherBtsColor:RGBCOLOR(92, 117, 248) otherColorTitles:@[@"随机获取"] backValue:^(NSInteger tag) { + NSLog(@"%ld",tag); + if(tag==1) + { + + } + else if(tag==2) + { + [self.tools choosePicWithViewController:self.viewController chooseType:ChooseTypeTakePic]; + } + else if(tag==3) + { + [self.tools choosePicWithViewController:self.viewController chooseType:ChooseTypeAlbum]; + } + }]; + } + else if (sender.tag==2) + { + [PickerAlterView showPickers:@[@"3秒钟",@"10秒钟",@"30秒钟",@"1分钟",@"2分钟",@"3分钟",@"5分钟",@"10分钟",@"30分钟"] title:@"选择时间" backValue:^(NSString * _Nonnull strback) { + UITextField *field = self.arrField[2]; + field.text = strback; + }]; + } +} + +-(void)okAction +{ + UITextField *fieldname = self.arrField[0]; +// if(fieldname.text.length==0) +// { +// [HXHud showMessage:@"请输入来电昵称" afterDelayType:0]; +// return; +// } +// if(self.videourl==nil) +// { +// [HXHud showMessage:@"请选择来电视频" afterDelayType:0]; +// return; +// } + UITextField *fieldtime = self.arrField[2]; + NSString *strtime = fieldtime.text; + if([strtime containsString:@"秒钟"]) + { + strtime=[strtime stringByReplacingOccurrencesOfString:@"秒钟" withString:@""]; + } + else + { + strtime=[strtime stringByReplacingOccurrencesOfString:@"分钟" withString:@""]; + strtime = [NSString stringWithFormat:@"%d",strtime.intValue*60]; + } + + [[UIApplication sharedApplication] setIdleTimerDisabled:YES]; + BaseViewController *vc = (BaseViewController *)self.viewController; + [vc refShowStateBar:NO]; + MNHeiPeiView *viewhp = [[MNHeiPeiView alloc] initWithFrame:CGRectMake(0, 0, UISCREEN_WIDTH, UISCREEN_HEIGHT)]; + [self.viewController.view addSubview:viewhp]; + viewhp.time = strtime.intValue; + viewhp.imageHead = self.imgvhd.image; + viewhp.strname = fieldname.text; + viewhp.type = 3; +} + +#pragma mark - WYCamaImageToolsDelegate +-(void)didEndChoosePic:(UIImage *)image +{ + self.imgvhd.image = image; +} +- (WYCamaImageTools *)tools { + if (!_tools) { + _tools = [[WYCamaImageTools alloc] init]; + _tools.delegate = self; + + }return _tools; +} + + + +@end