Commit af1d9fdc9cf9c09f669edecdfa41cdf069701bef
Merge branch 'master' of http://bj.gitlab.cnlive.com/ios-team/CNLiveMateCode
Showing
34 changed files
with
1061 additions
and
66 deletions
metaCode.xcodeproj/project.pbxproj
| ... | ... | @@ -21,6 +21,9 @@ |
| 21 | 21 | 19565ECD2AF8D256007D6727 /* CNLiveShopGoodsListClassifyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19565ECC2AF8D256007D6727 /* CNLiveShopGoodsListClassifyView.swift */; }; |
| 22 | 22 | 19565ECF2AF8D8F6007D6727 /* CNLiveShopGoodsListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19565ECE2AF8D8F6007D6727 /* CNLiveShopGoodsListCell.swift */; }; |
| 23 | 23 | 19565ED42AF9FEB4007D6727 /* CNLiveShopAddEditGoodsModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19565ED32AF9FEB4007D6727 /* CNLiveShopAddEditGoodsModel.swift */; }; |
| 24 | + 1965FA3E2AFB176E00F0F435 /* CNLiveShopAddGoodsSingleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1965FA3D2AFB176E00F0F435 /* CNLiveShopAddGoodsSingleView.swift */; }; | |
| 25 | + 1965FA402AFB38AA00F0F435 /* CNLiveAddGoodsSelectUploadImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1965FA3F2AFB38AA00F0F435 /* CNLiveAddGoodsSelectUploadImageView.swift */; }; | |
| 26 | + 1965FA422AFB79EA00F0F435 /* CNLiveGoodsCategoryController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1965FA412AFB79EA00F0F435 /* CNLiveGoodsCategoryController.swift */; }; | |
| 24 | 27 | 19BB1FDF2AEA3A450094D962 /* CNSlideBaseNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19BB1FDE2AEA3A450094D962 /* CNSlideBaseNavigationController.swift */; }; |
| 25 | 28 | 19BB1FE12AEB5C220094D962 /* CNLiveShopConsoleController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19BB1FE02AEB5C220094D962 /* CNLiveShopConsoleController.swift */; }; |
| 26 | 29 | 19BB1FE32AEB8B7C0094D962 /* CNLiveShopConsoleViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19BB1FE22AEB8B7C0094D962 /* CNLiveShopConsoleViewModel.swift */; }; |
| ... | ... | @@ -179,6 +182,9 @@ |
| 179 | 182 | 19565ECC2AF8D256007D6727 /* CNLiveShopGoodsListClassifyView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopGoodsListClassifyView.swift; sourceTree = "<group>"; }; |
| 180 | 183 | 19565ECE2AF8D8F6007D6727 /* CNLiveShopGoodsListCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopGoodsListCell.swift; sourceTree = "<group>"; }; |
| 181 | 184 | 19565ED32AF9FEB4007D6727 /* CNLiveShopAddEditGoodsModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopAddEditGoodsModel.swift; sourceTree = "<group>"; }; |
| 185 | + 1965FA3D2AFB176E00F0F435 /* CNLiveShopAddGoodsSingleView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopAddGoodsSingleView.swift; sourceTree = "<group>"; }; | |
| 186 | + 1965FA3F2AFB38AA00F0F435 /* CNLiveAddGoodsSelectUploadImageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveAddGoodsSelectUploadImageView.swift; sourceTree = "<group>"; }; | |
| 187 | + 1965FA412AFB79EA00F0F435 /* CNLiveGoodsCategoryController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveGoodsCategoryController.swift; sourceTree = "<group>"; }; | |
| 182 | 188 | 19BB1FDE2AEA3A450094D962 /* CNSlideBaseNavigationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNSlideBaseNavigationController.swift; sourceTree = "<group>"; }; |
| 183 | 189 | 19BB1FE02AEB5C220094D962 /* CNLiveShopConsoleController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopConsoleController.swift; sourceTree = "<group>"; }; |
| 184 | 190 | 19BB1FE22AEB8B7C0094D962 /* CNLiveShopConsoleViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopConsoleViewModel.swift; sourceTree = "<group>"; }; |
| ... | ... | @@ -348,17 +354,20 @@ |
| 348 | 354 | children = ( |
| 349 | 355 | 19565EC42AF8AD1F007D6727 /* CNLiveShopProductManagerController.swift */, |
| 350 | 356 | 19565EC62AF8AD38007D6727 /* CNLiveShopNewProductController.swift */, |
| 357 | + 1965FA412AFB79EA00F0F435 /* CNLiveGoodsCategoryController.swift */, | |
| 351 | 358 | ); |
| 352 | 359 | path = GoodsManager; |
| 353 | 360 | sourceTree = "<group>"; |
| 354 | 361 | }; |
| 355 | - 19565ED02AF8D904007D6727 /* GoodsList */ = { | |
| 362 | + 19565ED02AF8D904007D6727 /* GoodsManager */ = { | |
| 356 | 363 | isa = PBXGroup; |
| 357 | 364 | children = ( |
| 358 | 365 | 19565ECC2AF8D256007D6727 /* CNLiveShopGoodsListClassifyView.swift */, |
| 359 | 366 | 19565ECE2AF8D8F6007D6727 /* CNLiveShopGoodsListCell.swift */, |
| 367 | + 1965FA3D2AFB176E00F0F435 /* CNLiveShopAddGoodsSingleView.swift */, | |
| 368 | + 1965FA3F2AFB38AA00F0F435 /* CNLiveAddGoodsSelectUploadImageView.swift */, | |
| 360 | 369 | ); |
| 361 | - path = GoodsList; | |
| 370 | + path = GoodsManager; | |
| 362 | 371 | sourceTree = "<group>"; |
| 363 | 372 | }; |
| 364 | 373 | 19565ED12AF9FE56007D6727 /* GoodsManager */ = { |
| ... | ... | @@ -769,7 +778,7 @@ |
| 769 | 778 | 7CD675232A26F8F8008354C1 /* View */ = { |
| 770 | 779 | isa = PBXGroup; |
| 771 | 780 | children = ( |
| 772 | - 19565ED02AF8D904007D6727 /* GoodsList */, | |
| 781 | + 19565ED02AF8D904007D6727 /* GoodsManager */, | |
| 773 | 782 | 7CD675372A2740B0008354C1 /* CNUpSlideViewRemindView.swift */, |
| 774 | 783 | 7CD6753B2A2740B0008354C1 /* CNDownSlideView.swift */, |
| 775 | 784 | 7CD675382A2740B0008354C1 /* CNMainView.swift */, |
| ... | ... | @@ -1171,6 +1180,7 @@ |
| 1171 | 1180 | 793CAF522A58FCA200882EF4 /* CNLiveMineExchangeViewController.swift in Sources */, |
| 1172 | 1181 | 7CD675522A29C04B008354C1 /* CNLiveConfigstant.swift in Sources */, |
| 1173 | 1182 | 79282A402A2F055100B5F8CF /* CNLiveConfigUserInfo.swift in Sources */, |
| 1183 | + 1965FA402AFB38AA00F0F435 /* CNLiveAddGoodsSelectUploadImageView.swift in Sources */, | |
| 1174 | 1184 | 7C83B43E2A52B8BA004BF4A4 /* CNHomePageViewModel.swift in Sources */, |
| 1175 | 1185 | 19BB1FDF2AEA3A450094D962 /* CNSlideBaseNavigationController.swift in Sources */, |
| 1176 | 1186 | 19BB1FE12AEB5C220094D962 /* CNLiveShopConsoleController.swift in Sources */, |
| ... | ... | @@ -1178,6 +1188,7 @@ |
| 1178 | 1188 | 7CD6753E2A2740B0008354C1 /* CNUpSlideView.swift in Sources */, |
| 1179 | 1189 | 7CD675402A2740B0008354C1 /* CNDownSlideView.swift in Sources */, |
| 1180 | 1190 | 19BB1FE32AEB8B7C0094D962 /* CNLiveShopConsoleViewModel.swift in Sources */, |
| 1191 | + 1965FA422AFB79EA00F0F435 /* CNLiveGoodsCategoryController.swift in Sources */, | |
| 1181 | 1192 | 792E57D92A3AA2F2005834DB /* CNLiveCommonBaseModel.swift in Sources */, |
| 1182 | 1193 | 791C1C862AFB2EB4003E6362 /* CNLiveShopOrderExpressViewController.swift in Sources */, |
| 1183 | 1194 | 7CD6753E2A2740B0008354C1 /* CNUpSlideView.swift in Sources */, |
| ... | ... | @@ -1233,6 +1244,7 @@ |
| 1233 | 1244 | 791C1C8A2AFB84EE003E6362 /* CNLiveShopOrderExpressListViewController.swift in Sources */, |
| 1234 | 1245 | 7CD6753F2A2740B0008354C1 /* CNDownSlideViewRemindView.swift in Sources */, |
| 1235 | 1246 | 19565ECF2AF8D8F6007D6727 /* CNLiveShopGoodsListCell.swift in Sources */, |
| 1247 | + 1965FA3E2AFB176E00F0F435 /* CNLiveShopAddGoodsSingleView.swift in Sources */, | |
| 1236 | 1248 | 7CD6753C2A2740B0008354C1 /* CNUpSlideViewRemindView.swift in Sources */, |
| 1237 | 1249 | 19BB1FEC2AF0AB8E0094D962 /* CNLiveDownShopDetailController.swift in Sources */, |
| 1238 | 1250 | 798A44E82A30134400815935 /* CNLiveMineHeaderView.swift in Sources */, | ... | ... |
metaCode/Classes/Main/HomePage/Controller/CNLiveShopConsoleController.swift
| ... | ... | @@ -112,7 +112,7 @@ class CNLiveShopConsoleController: CNLiveBaseViewController, UICollectionViewDel |
| 112 | 112 | |
| 113 | 113 | }else if itemModel.type == CNLiveShopConsoleType.DDGL.rawValue{ |
| 114 | 114 | //订单管理 |
| 115 | - | |
| 115 | + currentViewController()?.navigationController?.pushViewController(CNLiveShopOrderViewController.init(), animated: true) | |
| 116 | 116 | } |
| 117 | 117 | // else if itemModel.type == CNLiveShopConsoleType.SH.rawValue{ |
| 118 | 118 | // //退款/售后 | ... | ... |
metaCode/Classes/Main/HomePage/Controller/CNMetaCodeHomePageController.swift
| ... | ... | @@ -390,9 +390,10 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel |
| 390 | 390 | if (identityModel.auth == true){ |
| 391 | 391 | bannerView?.baseScrollView.isScrollEnabled = true |
| 392 | 392 | }else{ |
| 393 | + //未认证 | |
| 393 | 394 | if (identityModel.downType == 3 || identityModel.downType == 4 || identityModel.upType == 3 || identityModel.upType == 4) |
| 394 | - { | |
| 395 | -// bannerView?.baseScrollView.isScrollEnabled = false | |
| 395 | + {//电商工作台和详情页 禁止滑动 | |
| 396 | + bannerView?.baseScrollView.isScrollEnabled = false | |
| 396 | 397 | }else{ |
| 397 | 398 | bannerView?.baseScrollView.isScrollEnabled = true |
| 398 | 399 | } | ... | ... |
metaCode/Classes/Main/HomePage/Controller/GoodsManager/CNLiveGoodsCategoryController.swift
0 → 100644
metaCode/Classes/Main/HomePage/Controller/GoodsManager/CNLiveShopNewProductController.swift
| ... | ... | @@ -30,28 +30,433 @@ class CNLiveShopNewProductController:CNLiveBaseViewController{ |
| 30 | 30 | return dataModel |
| 31 | 31 | }() |
| 32 | 32 | |
| 33 | + var selectCategoryVC = CNLiveGoodsCategoryController() | |
| 34 | + lazy var bottomNavView :UIView = { | |
| 35 | + let bottomNavView = UIView(frame: CGRect(x: 0, y: KSreenHeight-KTabBarHeight, width: self.view.width, height: KTabBarHeight)) | |
| 36 | + bottomNavView.backgroundColor = HexColor("F2F2F2") | |
| 37 | + return bottomNavView | |
| 38 | + }() | |
| 39 | + | |
| 33 | 40 | override func viewDidLoad() { |
| 34 | 41 | super.viewDidLoad() |
| 35 | 42 | self.setUI() |
| 36 | - self.bgScrollView.backgroundColor = .red | |
| 43 | + self.bgScrollView.backgroundColor = .white | |
| 37 | 44 | self.view.addSubview(self.bgScrollView) |
| 38 | - self.type = .add | |
| 45 | + self.initBgScrollViewContentView() | |
| 39 | 46 | } |
| 47 | + | |
| 48 | + override func viewWillLayoutSubviews() { | |
| 49 | + super.viewWillLayoutSubviews() | |
| 50 | + self.bgScrollView.frame = CGRect(x: 0, y: KNavigationHeight, width: KSreenWidth, height: KSreenHeight-KNavigationHeight-KTabBarHeight) | |
| 51 | + var lastView:UIView? = nil | |
| 52 | + for i in 0..<self.dataModel.list.count{ | |
| 53 | + let singleView = self.view.viewWithTag(i+1) as! CNLiveShopAddGoodsSingleView | |
| 54 | + singleView.frame = CGRect(x: 0, y: lastView?.bottom ?? 0, width: self.bgScrollView.width, height: singleView.height) | |
| 55 | + if i+1 == 15{ | |
| 56 | + singleView.frame = CGRect(x: 0, y: lastView?.bottom ?? 0, width: self.bgScrollView.width, height: 0.001) | |
| 57 | + } | |
| 58 | + lastView = singleView | |
| 59 | + } | |
| 60 | + self.bgScrollView.contentSize = CGSize(width: self.bgScrollView.width, height: lastView?.bottom ?? 0) | |
| 61 | + self.selectCategoryVC.view.frame = CGRect(x: 0, y: 0, width: self.view.width, height: self.view.height) | |
| 62 | + } | |
| 63 | + | |
| 40 | 64 | func setUI(){ |
| 41 | 65 | navigationBarHidden = false |
| 42 | 66 | titleName = "新增商品" |
| 67 | + self.initBottomView() | |
| 68 | + } | |
| 69 | + func initBottomView(){ | |
| 70 | + self.view.addSubview(self.bottomNavView) | |
| 71 | + self.bottomNavView.backgroundColor = .white | |
| 72 | + let previewBtn = UIButton(type: .custom) | |
| 73 | + previewBtn.frame = CGRect(x: 0, y: 0, width: 130, height: KTabBarHeight) | |
| 74 | + previewBtn.setTitle("预览", for: .normal) | |
| 75 | + previewBtn.setTitleColor(HexColor("#3A3A3A"), for: .normal) | |
| 76 | + previewBtn.titleLabel?.font = Font_15 | |
| 77 | + previewBtn.addTarget(self, action: #selector(previewBtnClick), for: .touchUpInside) | |
| 78 | + self.bottomNavView.addSubview(previewBtn) | |
| 43 | 79 | |
| 80 | + let saveBtn = UIButton(type: .custom) | |
| 81 | + saveBtn.frame = CGRect(x: previewBtn.right, y: 0, width: self.view.width - previewBtn.right, height: KTabBarHeight) | |
| 82 | + saveBtn.setTitle("保存", for: .normal) | |
| 83 | + saveBtn.setTitleColor(HexColor("#FFFFFF"), for: .normal) | |
| 84 | + saveBtn.titleLabel?.font = Font_15 | |
| 85 | + saveBtn.addTarget(self, action: #selector(saveBtnClick), for: .touchUpInside) | |
| 86 | + saveBtn.backgroundColor = UIColor(hue:0.31, saturation:0.39, brightness:0.77, alpha:1.00) | |
| 87 | + self.bottomNavView.addSubview(saveBtn) | |
| 44 | 88 | } |
| 89 | + | |
| 45 | 90 | func initBgScrollViewContentView(){ |
| 46 | - if self.type == .add{ | |
| 47 | -// self.dataModel.initDataSource() | |
| 48 | -// self.dataModel.list | |
| 49 | - }else if self.type == .edit{ | |
| 91 | + if self.type == .edit{ | |
| 50 | 92 | |
| 51 | - }else{ | |
| 93 | + } | |
| 94 | + self.dataModel.initDataSource() | |
| 95 | + for i in 0..<self.dataModel.list.count { | |
| 96 | + let model = self.dataModel.list[i] | |
| 97 | + let singleView = CNLiveShopAddGoodsSingleView.init(frame: CGRect(x: 0, y: 0, width: KSreenWidth, height: 50)) | |
| 98 | + singleView.addEditGoodsListModel = model | |
| 99 | + singleView.tag = i+1 | |
| 100 | + //完成frame更新通知 | |
| 101 | + singleView.updateFrameBlock = { | |
| 102 | + self.viewWillLayoutSubviews() | |
| 103 | + } | |
| 104 | + singleView.tapBlock = { single in | |
| 105 | + // TODO: | |
| 106 | +// if (single.tag == 1) { | |
| 107 | +// //点击了商品分类 | |
| 108 | +// | |
| 109 | +// if (self.type == DSShopGoodsManageDetailsVCTypeEdit) { | |
| 110 | +// DS_showMessage(@"商品分类不能修改"); | |
| 111 | +// return; | |
| 112 | +// } | |
| 113 | +// [weakSelf displaySelectCategoryVC]; | |
| 114 | +// } | |
| 115 | +// else if([single.addEditGoodsListModel.title isEqualToString:@"店铺分类"]) | |
| 116 | +// { | |
| 117 | +// //点击了店铺分类 | |
| 118 | +// [weakSelf displaySelectShopClassifyVC]; | |
| 119 | +// } | |
| 120 | + } | |
| 52 | 121 | |
| 122 | + self.bgScrollView.addSubview(singleView) | |
| 53 | 123 | } |
| 54 | - | |
| 55 | 124 | } |
| 56 | 125 | |
| 126 | + // MARK: - BtnAction | |
| 127 | + @objc func previewBtnClick(){ | |
| 128 | + /* | |
| 129 | + //商品轮播 | |
| 130 | + let singleView4 = self.bgScrollView.viewWithTag(4) as! CNLiveShopAddGoodsSingleView | |
| 131 | + //商品名称 | |
| 132 | + let singleView5 = self.bgScrollView.viewWithTag(5) as! CNLiveShopAddGoodsSingleView | |
| 133 | + //商品副标题 | |
| 134 | + let singleView6 = self.bgScrollView.viewWithTag(6) as! CNLiveShopAddGoodsSingleView | |
| 135 | + //本店售价 | |
| 136 | + let singleView7 = self.bgScrollView.viewWithTag(7) as! CNLiveShopAddGoodsSingleView | |
| 137 | + //市场售价 | |
| 138 | + let singleView8 = self.bgScrollView.viewWithTag(8) as! CNLiveShopAddGoodsSingleView | |
| 139 | + //商品详情图 | |
| 140 | + let singleView13 = self.bgScrollView.viewWithTag(13) as! CNLiveShopAddGoodsSingleView | |
| 141 | + //品名 | |
| 142 | + let singleView18 = self.bgScrollView.viewWithTag(18) as! CNLiveShopAddGoodsSingleView | |
| 143 | + //规格 | |
| 144 | + let singleView19 = self.bgScrollView.viewWithTag(19) as! CNLiveShopAddGoodsSingleView | |
| 145 | + //寄送区域 | |
| 146 | + let singleView20 = self.bgScrollView.viewWithTag(20) as! CNLiveShopAddGoodsSingleView | |
| 147 | + //发货时效 | |
| 148 | + let singleView21 = self.bgScrollView.viewWithTag(21) as! CNLiveShopAddGoodsSingleView | |
| 149 | +// let bannersSelectImageUrls = singleView4.uploadImageView.getCurrentSelectImageUrls | |
| 150 | +// let bannersSelectImageUrls = singleView4.uploadImageView.getCurrentSelectVideoUrl | |
| 151 | +// let bannerSelectVideoImage = singleView4.uploadImageView.getCurrentSelectLocalVideoUrlFirstImage | |
| 152 | +// let contentDetailsSelectImageUrls = singleView13.uploadImageView.getCurrentSelectImageUrls | |
| 153 | + | |
| 154 | + if (bannersSelectImageUrls.count == 0 && bannerSelectVideoUrl.count == 0) { | |
| 155 | + showMessage(message: "请选择商品轮播") | |
| 156 | + return | |
| 157 | + }else if (singleView5.contentTextField.text?.count == 0) { | |
| 158 | + showMessage(message: "请输入商品名称") | |
| 159 | + return | |
| 160 | + }else if (singleView7.contentTextField.text?.count == 0) { | |
| 161 | + showMessage(message: "请输入本店售价") | |
| 162 | + return | |
| 163 | + }else if (contentDetailsSelectImageUrls.count == 0) { | |
| 164 | + showMessage(message: "请选择商品详情图") | |
| 165 | + return | |
| 166 | + } | |
| 167 | + else if (self.selectShopClassifyVC.firCategoryId.count == 0) { | |
| 168 | + showMessage(message: "请选择店铺分类") | |
| 169 | + return | |
| 170 | + } | |
| 171 | + | |
| 172 | + BKShopGoodsDetailsModel * goodsDetailsModel = [[BKShopGoodsDetailsModel alloc] init]; | |
| 173 | + NSMutableArray * bannerImage = [NSMutableArray array]; | |
| 174 | + for (NSString * imageUrl in bannersSelectImageUrls) { | |
| 175 | + BKGoodsDetailsImageModel * model = [[BKGoodsDetailsImageModel alloc] init]; | |
| 176 | + model.simg = imageUrl; | |
| 177 | + [bannerImage addObject:model]; | |
| 178 | + } | |
| 179 | + goodsDetailsModel.image = [bannerImage copy]; | |
| 180 | + DSGoodsDetailsBannerVideosModel * banner_video = [[DSGoodsDetailsBannerVideosModel alloc] init]; | |
| 181 | + if (bannerSelectVideoImage) { | |
| 182 | + banner_video.video_image = bannerSelectVideoImage; | |
| 183 | + }else { | |
| 184 | + banner_video.video_img = self.shopGoodsDetailsModel.video.video_img; | |
| 185 | + } | |
| 186 | + banner_video.video_url = bannerSelectVideoUrl; | |
| 187 | + goodsDetailsModel.video = banner_video; | |
| 188 | + goodsDetailsModel.title = singleView5.contentTextField.text; | |
| 189 | + goodsDetailsModel.ads = singleView6.contentTextView.text; | |
| 190 | + goodsDetailsModel.price = singleView7.contentTextField.text; | |
| 191 | + goodsDetailsModel.prices = singleView8.contentTextField.text; | |
| 192 | + goodsDetailsModel.category_id = self.selectShopClassifyVC.firCategoryId; | |
| 193 | + goodsDetailsModel.category_id2 = self.selectShopClassifyVC.secCategoryId; | |
| 194 | + | |
| 195 | + NSMutableArray * contentDetailsImage = [NSMutableArray array]; | |
| 196 | + for (NSString * imageUrl in contentDetailsSelectImageUrls) { | |
| 197 | + BKGoodsDetailsContentModel * model = [[BKGoodsDetailsContentModel alloc] init]; | |
| 198 | + model.simg = imageUrl; | |
| 199 | + [contentDetailsImage addObject:model]; | |
| 200 | + } | |
| 201 | + goodsDetailsModel.detail_img = [contentDetailsImage copy]; | |
| 202 | + | |
| 203 | + NSMutableArray * kvArray = [[NSMutableArray alloc] init]; | |
| 204 | + [kvArray addObject:@{@"k":@"品名",@"v":singleView18.contentTextField.text}]; | |
| 205 | + [kvArray addObject:@{@"k":@"规格",@"v":singleView19.contentTextField.text}]; | |
| 206 | + [kvArray addObject:@{@"k":@"寄送区域",@"v":singleView20.contentTextView.text}]; | |
| 207 | + [kvArray addObject:@{@"k":@"发货时效",@"v":singleView21.contentTextField.text}]; | |
| 208 | + | |
| 209 | + NSMutableArray * tempArray = [self.bgScrollView.subviews mutableCopy]; | |
| 210 | + [tempArray removeObjectsInRange:NSMakeRange(0, [tempArray indexOfObject:singleView19])]; | |
| 211 | + if (tempArray.count > 2) { | |
| 212 | + for (DSShopGoodsManageDetailsSingleView * singleView in tempArray) { | |
| 213 | + if ([singleView isKindOfClass:DSShopGoodsManageDetailsSingleView.class]) { | |
| 214 | + if (singleView.contentTextField.text.length > 0 && ![kvArray containsObject:@{@"k":singleView.model.title,@"v":singleView.contentTextField.text}]) { | |
| 215 | + [kvArray addObject:@{@"k":singleView.model.title,@"v":singleView.contentTextField.text}]; | |
| 216 | + } | |
| 217 | + } | |
| 218 | + } | |
| 219 | + } | |
| 220 | + goodsDetailsModel.attrArray = kvArray; | |
| 221 | + | |
| 222 | + BKShopGoodsDetailsViewController * vc = [[BKShopGoodsDetailsViewController alloc] init]; | |
| 223 | + vc.type = BKShopGoodsDetailsVCTypePreview; | |
| 224 | + vc.detailsModel = goodsDetailsModel; | |
| 225 | + vc.goodsId = self.goodsId; | |
| 226 | + [self dsPushViewController:vc animated:YES]; | |
| 227 | + */ | |
| 228 | + } | |
| 229 | + @objc func saveBtnClick(){ | |
| 230 | + /* | |
| 231 | + DSShopGoodsManageDetailsSingleView * singleView4 = [self.bgScrollView viewWithTag:4];//商品轮播 | |
| 232 | + DSShopGoodsManageDetailsSingleView * singleView5 = [self.bgScrollView viewWithTag:5];//商品名称 | |
| 233 | + DSShopGoodsManageDetailsSingleView * singleView6 = [self.bgScrollView viewWithTag:6];//商品副标题 | |
| 234 | + DSShopGoodsManageDetailsSingleView * singleView7 = [self.bgScrollView viewWithTag:7];//本店售价 | |
| 235 | + DSShopGoodsManageDetailsSingleView * singleView8 = [self.bgScrollView viewWithTag:8];//市场售价 | |
| 236 | + DSShopGoodsManageDetailsSingleView * singleView9 = [self.bgScrollView viewWithTag:9];//商品重量 | |
| 237 | + DSShopGoodsManageDetailsSingleView * singleView10 = [self.bgScrollView viewWithTag:10];//最低起售 | |
| 238 | + DSShopGoodsManageDetailsSingleView * singleView11 = [self.bgScrollView viewWithTag:11];//上架 | |
| 239 | + | |
| 240 | + DSShopGoodsManageDetailsSingleView * singleView13 = [self.bgScrollView viewWithTag:13];//商品详情图 | |
| 241 | + DSShopGoodsManageDetailsSingleView * singleView14 = [self.bgScrollView viewWithTag:14];//商品运费 | |
| 242 | + DSShopGoodsManageDetailsSingleView * singleView15 = [self.bgScrollView viewWithTag:15];//是否支持退货 | |
| 243 | + DSShopGoodsManageDetailsSingleView * singleView16 = [self.bgScrollView viewWithTag:16];//商品单位 | |
| 244 | + | |
| 245 | + DSShopGoodsManageDetailsSingleView * singleView18 = [self.bgScrollView viewWithTag:18];//品名 | |
| 246 | + DSShopGoodsManageDetailsSingleView * singleView19 = [self.bgScrollView viewWithTag:19];//规格 | |
| 247 | + DSShopGoodsManageDetailsSingleView * singleView20 = [self.bgScrollView viewWithTag:20];//寄送区域 | |
| 248 | + DSShopGoodsManageDetailsSingleView * singleView21 = [self.bgScrollView viewWithTag:21];//发货时效 | |
| 249 | + | |
| 250 | + | |
| 251 | + NSArray * bannersSelectImageUrls = [singleView4.uploadImageView getCurrentSelectImageUrls]; | |
| 252 | + NSMutableArray * bannerImage = [NSMutableArray array]; | |
| 253 | + for (NSString * imageUrl in bannersSelectImageUrls) { | |
| 254 | + [bannerImage addObject:@{@"img":imageUrl, @"ord":@"99"}]; | |
| 255 | + } | |
| 256 | + NSData * bannerImageData = [NSJSONSerialization dataWithJSONObject:bannerImage options:NSJSONWritingPrettyPrinted error:nil]; | |
| 257 | + NSString * bannerImageStr = [[NSString alloc] initWithData:bannerImageData encoding:NSUTF8StringEncoding]; | |
| 258 | + bannerImageStr = [bannerImageStr stringByReplacingOccurrencesOfString:@"\\n" withString:@""]; | |
| 259 | + bannerImageStr = [bannerImageStr stringByReplacingOccurrencesOfString:@"\n" withString:@""]; | |
| 260 | + bannerImageStr = [bannerImageStr stringByReplacingOccurrencesOfString:@"\\" withString:@""]; | |
| 261 | + bannerImageStr = [bannerImageStr stringByReplacingOccurrencesOfString:@" " withString:@""]; | |
| 262 | + | |
| 263 | + NSString * bannerSelectVideoUrl = [singleView4.uploadImageView getCurrentSelectVideoUrl]; | |
| 264 | + | |
| 265 | + NSArray * contentDetailsSelectImageUrls = [singleView13.uploadImageView getCurrentSelectImageUrls]; | |
| 266 | + NSMutableArray * contentDetailsImage = [NSMutableArray array]; | |
| 267 | + for (NSString * imageUrl in contentDetailsSelectImageUrls) { | |
| 268 | + [contentDetailsImage addObject:@{@"img":imageUrl, @"ord":@"99"}]; | |
| 269 | + } | |
| 270 | + NSData * contentDetailsImageData = [NSJSONSerialization dataWithJSONObject:contentDetailsImage options:NSJSONWritingPrettyPrinted error:nil]; | |
| 271 | + NSString * contentDetailsImageStr = [[NSString alloc] initWithData:contentDetailsImageData encoding:NSUTF8StringEncoding]; | |
| 272 | + contentDetailsImageStr = [contentDetailsImageStr stringByReplacingOccurrencesOfString:@"\\n" withString:@""]; | |
| 273 | + contentDetailsImageStr = [contentDetailsImageStr stringByReplacingOccurrencesOfString:@"\n" withString:@""]; | |
| 274 | + contentDetailsImageStr = [contentDetailsImageStr stringByReplacingOccurrencesOfString:@"\\" withString:@""]; | |
| 275 | + contentDetailsImageStr = [contentDetailsImageStr stringByReplacingOccurrencesOfString:@" " withString:@""]; | |
| 276 | + | |
| 277 | + if (self.type == DSShopGoodsManageDetailsVCTypeAdd && [self.selectCategoryVC.thiCategoryId length] == 0) { | |
| 278 | + DS_showMessage(@"请选择商品分类"); | |
| 279 | + return; | |
| 280 | + } | |
| 281 | + else if (!self.selectShopClassifyVC.firCategoryId ||[DS_ToString(self.selectShopClassifyVC.firCategoryId) length] == 0 | |
| 282 | + || [DS_ToString(self.selectShopClassifyVC.firCategoryId) isEqualToString:@"0"]) { | |
| 283 | + DS_showMessage(@"请选择店铺分类"); | |
| 284 | + return; | |
| 285 | + } | |
| 286 | + else if ([bannersSelectImageUrls count] == 0 && [bannerSelectVideoUrl length] == 0) { | |
| 287 | + DS_showMessage(@"请选择商品轮播"); | |
| 288 | + return; | |
| 289 | + }else if ([[self strimStr:singleView5.contentTextField.text] length] == 0) { | |
| 290 | + DS_showMessage(@"请输入商品名称"); | |
| 291 | + return; | |
| 292 | + } | |
| 293 | + else if ([singleView5.contentTextField.text length] > 50) { | |
| 294 | + DS_showMessage(@"商品名称最多支持50个字"); | |
| 295 | + return; | |
| 296 | + } | |
| 297 | + else if ([singleView6.contentTextView.text length] > 30) | |
| 298 | + { | |
| 299 | + DS_showMessage(@"副商品名称最多支持30个字"); | |
| 300 | + return; | |
| 301 | + }else if ([singleView7.contentTextField.text length] == 0) { | |
| 302 | + DS_showMessage(@"请输入本店售价"); | |
| 303 | + return; | |
| 304 | + }else if ([singleView7.contentTextField.text onlyNumber] && [singleView7.contentTextField.text length] >= DSMaxPrice) { | |
| 305 | + DS_showMessage(@"请输入正确的售价"); | |
| 306 | + return; | |
| 307 | + }else if ([singleView8.contentTextField.text onlyNumber] && [singleView8.contentTextField.text length] >= DSMaxPrice) { | |
| 308 | + DS_showMessage(@"请输入正确的市场售价"); | |
| 309 | + return; | |
| 310 | + }else if ([singleView8.contentTextField.text length] == 0) { | |
| 311 | + DS_showMessage(@"请输入的市场售价"); | |
| 312 | + return; | |
| 313 | + }else if ([singleView10.countTF.text length] >= 5) { | |
| 314 | + DS_showMessage(@"请输入正确的起售件数"); | |
| 315 | + return; | |
| 316 | + }else if ([contentDetailsSelectImageUrls count] == 0) { | |
| 317 | + DS_showMessage(@"请选择商品详情图"); | |
| 318 | + return; | |
| 319 | + }else if ([[self strimStr:singleView18.contentTextField.text] length] == 0) { | |
| 320 | + DS_showMessage(@"请输入品名"); | |
| 321 | + return; | |
| 322 | + }else if ([[self strimStr:singleView19.contentTextField.text] length] == 0) { | |
| 323 | + DS_showMessage(@"请输入规格"); | |
| 324 | + return; | |
| 325 | + }else if ([[self strimStr:singleView20.contentTextView.text] length] == 0) { | |
| 326 | + DS_showMessage(@"请输入寄送区域"); | |
| 327 | + return; | |
| 328 | + }else if ([singleView21.contentTextField.text length] == 0) { | |
| 329 | + DS_showMessage(@"请输入发货时效"); | |
| 330 | + return; | |
| 331 | + } | |
| 332 | + | |
| 333 | + | |
| 334 | + NSMutableArray * kvArray = [[NSMutableArray alloc] init]; | |
| 335 | + [kvArray addObject:@{@"k":@"品名",@"v":singleView18.contentTextField.text}]; | |
| 336 | + [kvArray addObject:@{@"k":@"规格",@"v":singleView19.contentTextField.text}]; | |
| 337 | + [kvArray addObject:@{@"k":@"寄送区域",@"v":singleView20.contentTextView.text}]; | |
| 338 | + [kvArray addObject:@{@"k":@"发货时效",@"v":singleView21.contentTextField.text}]; | |
| 339 | + | |
| 340 | + NSMutableArray * tempArray = [self.bgScrollView.subviews mutableCopy]; | |
| 341 | + [tempArray removeObjectsInRange:NSMakeRange(0, [tempArray indexOfObject:singleView21])]; | |
| 342 | + if (tempArray.count > 2) { | |
| 343 | + for (DSShopGoodsManageDetailsSingleView * singleView in tempArray) { | |
| 344 | + if ([singleView isKindOfClass:DSShopGoodsManageDetailsSingleView.class]) { | |
| 345 | + if (singleView.contentTextField.text.length > 0 && ![kvArray containsObject:@{@"k":singleView.model.title,@"v":singleView.contentTextField.text}]) { | |
| 346 | + [kvArray addObject:@{@"k":singleView.model.title,@"v":singleView.contentTextField.text}]; | |
| 347 | + } | |
| 348 | + } | |
| 349 | + } | |
| 350 | + } | |
| 351 | + | |
| 352 | + for (int i = 4; i < 20; i ++) { | |
| 353 | + if (i == 11 || i == 16) continue; | |
| 354 | + DSShopGoodsManageDetailsSingleView * singleView = [self.bgScrollView viewWithTag:i]; | |
| 355 | + NSString * content = [singleView.contentTextField.text isNotBlank] ? singleView.contentTextField.text : singleView.contentTextView.text; | |
| 356 | + if ([self stringContainsEmoji:content]) { | |
| 357 | + DS_showMessage(@"参数不能添加表情"); | |
| 358 | + return; | |
| 359 | + } | |
| 360 | + } | |
| 361 | + | |
| 362 | + | |
| 363 | + for (NSDictionary * subDict in kvArray) { | |
| 364 | + if ([self stringContainsEmoji:[subDict objectForKey:@"k"]]) { | |
| 365 | + DS_showMessage(@"规格参数不能添加表情"); | |
| 366 | + return; | |
| 367 | + } | |
| 368 | + if ([self stringContainsEmoji:[subDict objectForKey:@"v"]]) { | |
| 369 | + DS_showMessage(@"规格参数不能添加表情"); | |
| 370 | + return; | |
| 371 | + } | |
| 372 | + } | |
| 373 | + | |
| 374 | + NSString *category_id = @""; | |
| 375 | + if (![NSString isEmpty:self.selectShopClassifyVC.secCategoryId]) { | |
| 376 | + category_id = self.selectShopClassifyVC.secCategoryId; | |
| 377 | + } | |
| 378 | + else | |
| 379 | + { | |
| 380 | + category_id = self.selectShopClassifyVC.firCategoryId; | |
| 381 | + } | |
| 382 | + | |
| 383 | + | |
| 384 | + [self.view showLoading]; | |
| 385 | + if (self.type == DSShopGoodsManageDetailsVCTypeAdd) { | |
| 386 | + [DSShopRequest postGoodsAddWithUid:DS_USER_MODEL.uid | |
| 387 | + groupid3:self.selectCategoryVC.thiCategoryId | |
| 388 | + bannerImg:bannerImageStr | |
| 389 | + simg:[bannersSelectImageUrls firstObject] | |
| 390 | + video:bannerSelectVideoUrl | |
| 391 | + title:singleView5.contentTextField.text | |
| 392 | + ads:singleView6.contentTextView.text | |
| 393 | + price:singleView7.contentTextField.text | |
| 394 | + prices:singleView8.contentTextField.text | |
| 395 | + kg:singleView9.contentTextField.text | |
| 396 | + unit:singleView16.contentTextField.text | |
| 397 | + state:singleView11.contentSwitch.on ? @"2" : @"1" | |
| 398 | + storage:[kvArray mj_JSONString] | |
| 399 | + infoImg:contentDetailsImageStr | |
| 400 | + yunfei:singleView14.contentTextField.text | |
| 401 | + min_count:singleView10.countTF.text | |
| 402 | + isRefund:@"0"//singleView15.contentSwitch.on ? @"0" : @"1" | |
| 403 | + category_id:category_id | |
| 404 | + result:^(NSDictionary * _Nonnull jsonData, NSString * _Nonnull errorMessage) { | |
| 405 | + [self.view hideLoading]; | |
| 406 | + if (errorMessage) { | |
| 407 | + DS_showMessage(errorMessage); | |
| 408 | + return; | |
| 409 | + } | |
| 410 | + DS_showMessage(@"发布成功"); | |
| 411 | + [[NSNotificationCenter defaultCenter] postNotificationName:kDSGoodsManageAddNotification object:nil]; | |
| 412 | + | |
| 413 | + for (int i = 0; i < [self.disposeDataModel.list count]; i++) { | |
| 414 | + DSShopGoodsManageDetailsSingleView * singleView = (DSShopGoodsManageDetailsSingleView*)[self.view viewWithTag:i+1]; | |
| 415 | + if (singleView.model.style == 3) { | |
| 416 | + [singleView.uploadImageView deleteReplaceImageUrlAfterSuccessUploadThings]; | |
| 417 | + } | |
| 418 | + } | |
| 419 | + | |
| 420 | + [self dsPopViewControllerAnimated:YES]; | |
| 421 | + }]; | |
| 422 | + }else { | |
| 423 | + [DSShopRequest postGoodsEditWithGoodsId:self.goodsId | |
| 424 | + uid:DS_USER_MODEL.uid | |
| 425 | + bannerImg:bannerImageStr | |
| 426 | + simg:[bannersSelectImageUrls firstObject] | |
| 427 | + video:bannerSelectVideoUrl | |
| 428 | + title:singleView5.contentTextField.text | |
| 429 | + ads:singleView6.contentTextView.text | |
| 430 | + price:singleView7.contentTextField.text | |
| 431 | + prices:singleView8.contentTextField.text | |
| 432 | + kg:singleView9.contentTextField.text | |
| 433 | + unit:singleView16.contentTextField.text | |
| 434 | + state:singleView11.contentSwitch.on ? @"2" : @"1" | |
| 435 | + storage:[kvArray mj_JSONString] | |
| 436 | + infoImg:contentDetailsImageStr | |
| 437 | + yunfei:singleView14.contentTextField.text | |
| 438 | + min_count:singleView10.countTF.text | |
| 439 | + isRefund:@"0"//singleView15.contentSwitch.on ? @"0" : @"1" | |
| 440 | + category_id:category_id | |
| 441 | + result:^(NSDictionary * _Nonnull jsonData, NSString * _Nonnull errorMessage) { | |
| 442 | + [self.view hideLoading]; | |
| 443 | + if (errorMessage) { | |
| 444 | + DS_showMessage(errorMessage); | |
| 445 | + return; | |
| 446 | + } | |
| 447 | + DS_showMessage(@"修改成功"); | |
| 448 | + [[NSNotificationCenter defaultCenter] postNotificationName:kDSGoodsManageEditNotification object:nil userInfo:jsonData]; | |
| 449 | + | |
| 450 | + for (int i = 0; i < [self.disposeDataModel.list count]; i++) { | |
| 451 | + DSShopGoodsManageDetailsSingleView * singleView = (DSShopGoodsManageDetailsSingleView*)[self.view viewWithTag:i+1]; | |
| 452 | + if (singleView.model.style == 3) { | |
| 453 | + [singleView.uploadImageView deleteReplaceImageUrlAfterSuccessUploadThings]; | |
| 454 | + } | |
| 455 | + } | |
| 456 | + | |
| 457 | + [self dsPopViewControllerAnimated:YES]; | |
| 458 | + }]; | |
| 459 | + }*/ | |
| 460 | + } | |
| 57 | 461 | } |
| 462 | + | ... | ... |
metaCode/Classes/Main/HomePage/Controller/GoodsManager/CNLiveShopProductManagerController.swift
| ... | ... | @@ -50,7 +50,7 @@ class CNLiveShopProductManagerController:CNLiveBaseViewController, UITableViewDa |
| 50 | 50 | func setUI(){ |
| 51 | 51 | navigationBarHidden = false |
| 52 | 52 | titleName = "商品管理" |
| 53 | - rightNavBtns = [self.addBtn] | |
| 53 | +// rightNavBtns = [self.addBtn] | |
| 54 | 54 | self.view.addSubview(self.classifyView) |
| 55 | 55 | self.view.addSubview(tableView) |
| 56 | 56 | tableView.frame = CGRect(x: 0, y:self.classifyView.bottom , width: KSreenWidth, height: KSreenHeight - self.classifyView.bottom) | ... | ... |
metaCode/Classes/Main/HomePage/View/CNLiveShopDetailBtnsCell.swift
| ... | ... | @@ -35,12 +35,14 @@ class CNLiveShopDetailBtnsCell: UICollectionViewCell { |
| 35 | 35 | self.backgroundColor = .white |
| 36 | 36 | var titlesArr:Array<String> = [] |
| 37 | 37 | if DSUserInfoManager.shared.dsUserInfo.type != "3" { |
| 38 | - titlesArr = ["发布动态", "商品管理", "订单管理", "交易记录"] | |
| 38 | + titlesArr = [ "商品管理", "订单管理"] | |
| 39 | +// titlesArr = ["发布动态", "商品管理", "订单管理", "交易记录"] | |
| 39 | 40 | }else{ |
| 40 | 41 | //健康餐桌 不处理 |
| 41 | 42 | } |
| 42 | 43 | //替换icon |
| 43 | - let icons = ["ds_Up_Btn", "ds_Up_Btn", "ds_Up_Btn", "ds_Up_Btn"] | |
| 44 | + let icons = ["ds_Up_Btn", "ds_Up_Btn"] | |
| 45 | +// let icons = ["ds_Up_Btn", "ds_Up_Btn", "ds_Up_Btn", "ds_Up_Btn"] | |
| 44 | 46 | if titlesArr.count > 0 { |
| 45 | 47 | for i in 0..<titlesArr.count { |
| 46 | 48 | let titleStr = titlesArr[i] |
| ... | ... | @@ -71,18 +73,25 @@ class CNLiveShopDetailBtnsCell: UICollectionViewCell { |
| 71 | 73 | let tag = sender.tag |
| 72 | 74 | ///push VC |
| 73 | 75 | if tag == 100 { |
| 74 | - //发布动态 | |
| 75 | - }else if tag == 101 { | |
| 76 | 76 | //商品管理 |
| 77 | - let webVC = CNWebViewController() | |
| 78 | - webVC.url = URL(string:"https://www.baidu.com") | |
| 79 | - currentViewController()?.navigationController?.pushViewController(webVC, animated: true) | |
| 80 | - | |
| 81 | - }else if tag == 102 { | |
| 77 | + currentViewController()?.navigationController?.pushViewController(CNLiveShopProductManagerController.init(), animated: true) | |
| 78 | + }else if tag == 101 { | |
| 82 | 79 | //订单管理 |
| 83 | - }else if tag == 103 { | |
| 84 | - //交易记录 | |
| 80 | + currentViewController()?.navigationController?.pushViewController(CNLiveShopOrderViewController.init(), animated: true) | |
| 85 | 81 | } |
| 82 | +// if tag == 100 { | |
| 83 | +// //发布动态 | |
| 84 | +// }else if tag == 101 { | |
| 85 | +// //商品管理 | |
| 86 | +// let webVC = CNWebViewController() | |
| 87 | +// webVC.url = URL(string:"https://www.baidu.com") | |
| 88 | +// currentViewController()?.navigationController?.pushViewController(webVC, animated: true) | |
| 89 | +// | |
| 90 | +// }else if tag == 102 { | |
| 91 | +// //订单管理 | |
| 92 | +// }else if tag == 103 { | |
| 93 | +// //交易记录 | |
| 94 | +// } | |
| 86 | 95 | |
| 87 | 96 | } |
| 88 | 97 | } | ... | ... |
metaCode/Classes/Main/HomePage/View/CNLiveShopDetailOrderAssetCell.swift
| ... | ... | @@ -68,6 +68,11 @@ class CNLiveShopDetailOrderAssetCell:UICollectionViewCell{ |
| 68 | 68 | self.navsubBtn.setTitle("订单明细", for: .normal) |
| 69 | 69 | self.navsubBtn.setupButtonImageAndTitlePossitionWith(padding: 4, style:.right) |
| 70 | 70 | self.contentView.addSubview(self.navsubBtn) |
| 71 | + if self.displayType == .CNLiveShopDetailDisplayTypeOrder{ | |
| 72 | + | |
| 73 | + }else if self.displayType == .CNLiveShopDetailDisplayTypeAsset{ | |
| 74 | + self.navsubBtn.isHidden = true | |
| 75 | + } | |
| 71 | 76 | |
| 72 | 77 | var imgName = "" |
| 73 | 78 | if self.displayType == .CNLiveShopDetailDisplayTypeOrder{ |
| ... | ... | @@ -120,6 +125,7 @@ class CNLiveShopDetailOrderAssetCell:UICollectionViewCell{ |
| 120 | 125 | @objc func navsubBtnAction(_ sender: UIButton){ |
| 121 | 126 | if self.displayType == .CNLiveShopDetailDisplayTypeOrder{ |
| 122 | 127 | //push订单VC |
| 128 | + currentViewController()?.navigationController?.pushViewController(CNLiveShopOrderViewController.init(), animated: true) | |
| 123 | 129 | }else if self.displayType == .CNLiveShopDetailDisplayTypeAsset{ |
| 124 | 130 | //push余额VC |
| 125 | 131 | } | ... | ... |
metaCode/Classes/Main/HomePage/View/CNMainView.swift
| ... | ... | @@ -199,7 +199,16 @@ class CNFrontMainView : UIView{ |
| 199 | 199 | //跳转到添加身份页面 |
| 200 | 200 | // currentViewController()?.navigationController?.pushViewController(CNLiveMineInputViewController.init(listModel: _idModel!), animated: false) |
| 201 | 201 | // DispatchQueue.main.asyncAfter(deadline: .now()+0.25){ |
| 202 | - currentViewController()?.navigationController?.pushViewController(CNLiveMineInputViewController.init(listModel: self._idModel!), animated: false) | |
| 202 | + if _idModel!.id == 9 { | |
| 203 | + showLoading(message: "") | |
| 204 | + CNLiveMineViewModel.requestApplyShopInfo { [weak self] result, respStatue in | |
| 205 | + | |
| 206 | + if respStatue == .success { | |
| 207 | + currentViewController()?.navigationController?.pushViewController(CNLiveMineShopViewController.init(showType: .one, listModel: (self?.idModel)!, tempArray: []), animated: true) | |
| 208 | + } | |
| 209 | + } | |
| 210 | + } | |
| 211 | +// currentViewController()?.navigationController?.pushViewController(CNLiveMineInputViewController.init(listModel: self._idModel!), animated: false) | |
| 203 | 212 | // } |
| 204 | 213 | |
| 205 | 214 | } | ... | ... |
metaCode/Classes/Main/HomePage/View/CNUpSlideView.swift
| ... | ... | @@ -54,6 +54,7 @@ class CNUpSlideView:UIView{ |
| 54 | 54 | else if(type == UpDownTypePage){ |
| 55 | 55 | |
| 56 | 56 | }else if(type == UpDownTypeShopDetail){ |
| 57 | + currentViewController()?.addChild(self.upSlideVC)//看行不行 | |
| 57 | 58 | self.addSubview(self.upSlideVC.view) |
| 58 | 59 | }else if(type == UpDownTypeShopControlConsole){ |
| 59 | 60 | ... | ... |
metaCode/Classes/Main/HomePage/View/GoodsManager/CNLiveAddGoodsSelectUploadImageView.swift
0 → 100644
| 1 | +// | |
| 2 | +// CNLiveAddGoodsSelectUploadImageView.swift | |
| 3 | +// metaCode | |
| 4 | +// | |
| 5 | +// Created by zx on 2023/11/8. | |
| 6 | +// | |
| 7 | + | |
| 8 | +import Foundation | |
| 9 | + | |
| 10 | +class CNLiveAddGoodsSelectUploadImageView: UIView { | |
| 11 | + override init(frame: CGRect) { | |
| 12 | + super.init(frame: frame) | |
| 13 | + } | |
| 14 | + | |
| 15 | + required init?(coder: NSCoder) { | |
| 16 | + fatalError("init(coder:) has not been implemented") | |
| 17 | + } | |
| 18 | +} | ... | ... |
metaCode/Classes/Main/HomePage/View/GoodsManager/CNLiveShopAddGoodsSingleView.swift
0 → 100644
| 1 | +// | |
| 2 | +// CNLiveShopAddGoodsSingleView.swift | |
| 3 | +// metaCode | |
| 4 | +// | |
| 5 | +// Created by zx on 2023/11/8. | |
| 6 | +// | |
| 7 | + | |
| 8 | +import Foundation | |
| 9 | + | |
| 10 | +///回调 | |
| 11 | +typealias updateBlock = ()->Void | |
| 12 | +typealias tapClickBlock = (_ singleView:CNLiveShopAddGoodsSingleView)->Void | |
| 13 | + | |
| 14 | +class CNLiveShopAddGoodsSingleView: UIView, UITextFieldDelegate { | |
| 15 | + /// | |
| 16 | + var updateFrameBlock:updateBlock? | |
| 17 | + // | |
| 18 | + var tapBlock:tapClickBlock? | |
| 19 | + //model | |
| 20 | + var _addEditGoodsListModel : CNLiveShopAddEditGoodsListModel? | |
| 21 | + var addEditGoodsListModel : CNLiveShopAddEditGoodsListModel? { | |
| 22 | + get{ | |
| 23 | + _addEditGoodsListModel | |
| 24 | + } | |
| 25 | + set{ | |
| 26 | + _addEditGoodsListModel = newValue! | |
| 27 | + self.setupNewUI(model: _addEditGoodsListModel!) | |
| 28 | + } | |
| 29 | + } | |
| 30 | + | |
| 31 | + ///标题 | |
| 32 | + lazy var titleLabel: UILabel = { | |
| 33 | + let titleLabel = UILabel.init(frame: CGRectMake(15 , 15, 145, 20)) | |
| 34 | +// titleLabel.textColor = HexColor("#333333") | |
| 35 | +// titleLabel.textAlignment = .left | |
| 36 | +// titleLabel.font = Font_15 | |
| 37 | +// titleLabel.adjustsFontSizeToFitWidth=true | |
| 38 | +// titleLabel.text = "啊啊啊啊啊" | |
| 39 | + return titleLabel | |
| 40 | + }() | |
| 41 | + //副标题 | |
| 42 | + var subButton = UIButton() | |
| 43 | + var contentTextField = UITextField() | |
| 44 | + var delectButton = UIButton() | |
| 45 | + var rightImageView = UIImageView() | |
| 46 | + var contentSwitch = UISwitch() | |
| 47 | + var uploadImageView = CNLiveAddGoodsSelectUploadImageView(frame: CGRectZero) | |
| 48 | + var contentTextBgView = UIView() | |
| 49 | + var contentTextView = UITextView()// | |
| 50 | + var addBtn = UIButton() | |
| 51 | + var subtractBtn = UIButton() | |
| 52 | + var countTF = UITextField() | |
| 53 | + var descLab = UILabel() | |
| 54 | + var line = UIImageView() | |
| 55 | + var starImageView = UIImageView() | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + override init(frame: CGRect) { | |
| 60 | + super.init(frame: frame) | |
| 61 | + self.setUI() | |
| 62 | + } | |
| 63 | + | |
| 64 | + func setUI(){ | |
| 65 | + | |
| 66 | + } | |
| 67 | + | |
| 68 | + func setupNewUI(model:CNLiveShopAddEditGoodsListModel){ | |
| 69 | + self.backgroundColor = model.style == "2" ? HexColor("#F6F6F6") : HexColor("#FFFFFF") | |
| 70 | + if (model.isHaveTo ?? false) { | |
| 71 | + self.starImageView = UIImageView() | |
| 72 | + self.starImageView.image = UIImage(named: "DS_shop_manageGoodsDetails_star") | |
| 73 | + self.starImageView.clipsToBounds = true | |
| 74 | + self.starImageView.contentMode = .scaleAspectFit | |
| 75 | + self.addSubview(self.starImageView) | |
| 76 | + } | |
| 77 | + self.titleLabel = UILabel() | |
| 78 | + if (self.addEditGoodsListModel?.style == "2") { | |
| 79 | + | |
| 80 | + self.titleLabel.textColor = HexColor("#9D9D9D") | |
| 81 | + self.titleLabel.text = self.addEditGoodsListModel?.title | |
| 82 | + if (self.addEditGoodsListModel!.touchSubtitle?.count ?? 0 > 0) { | |
| 83 | + let subBtn = UIButton(type: .custom) | |
| 84 | + subBtn.frame = CGRect(x: self.width - 50, y: 0, width: 50, height: 50) | |
| 85 | + subBtn.setTitle("添加通用参数", for: .normal) | |
| 86 | + subBtn.setTitleColor(HexColor("#0091FF"), for: .normal) | |
| 87 | + subBtn.titleLabel?.font = Font_14 | |
| 88 | + subBtn.titleLabel?.textAlignment = .right | |
| 89 | + subBtn.addTarget(self, action: #selector(subBtnAction), for: .touchUpInside) | |
| 90 | + self.subButton = subBtn | |
| 91 | + self.addSubview(self.subButton) | |
| 92 | + } | |
| 93 | + }else | |
| 94 | + { | |
| 95 | + self.titleLabel.textColor = HexColor("#333333") | |
| 96 | + if (self.addEditGoodsListModel?.subtitle?.count ?? 0 > 0) { | |
| 97 | + self.titleLabel.text = "\(self.addEditGoodsListModel?.title ?? "")+\(self.addEditGoodsListModel?.subtitle ?? "")" | |
| 98 | + }else{ | |
| 99 | + self.titleLabel.text = self.addEditGoodsListModel?.title ?? "" | |
| 100 | + } | |
| 101 | + } | |
| 102 | + self.titleLabel.font = Font_14 | |
| 103 | + self.addSubview(self.titleLabel) | |
| 104 | + | |
| 105 | + if (self.addEditGoodsListModel?.style == "1") { | |
| 106 | + let contentTextField = UITextField() | |
| 107 | + contentTextField.returnKeyType = .done | |
| 108 | + contentTextField.placeholder = "请输入" | |
| 109 | + contentTextField.font = Font_14 | |
| 110 | + contentTextField.textColor = HexColor(model.contentTextColor ?? "#787878") | |
| 111 | + contentTextField.delegate = self | |
| 112 | + | |
| 113 | + if (model.content?.count ?? 0 > 0){ contentTextField.text = model.content | |
| 114 | + } | |
| 115 | + | |
| 116 | + if (model.contentTextFieldkeyboardType == "2") { | |
| 117 | + contentTextField.keyboardType = .decimalPad | |
| 118 | + }else { | |
| 119 | + contentTextField.keyboardType = .default | |
| 120 | + } | |
| 121 | + self.contentTextField = contentTextField | |
| 122 | + | |
| 123 | + if (model.contentType == "1") { | |
| 124 | + self.contentTextField.isUserInteractionEnabled = true | |
| 125 | + | |
| 126 | + if (model.isDelect ?? false) { | |
| 127 | + self.delectButton = UIButton(type: .custom) | |
| 128 | + self.delectButton.setTitle("删除", for: .normal) | |
| 129 | + self.delectButton.setTitleColor(HexColor("#0091FF"), for: .normal) | |
| 130 | + self.delectButton.titleLabel?.font = Font_14 | |
| 131 | + self.delectButton.titleLabel?.textAlignment = .right | |
| 132 | + self.delectButton.addTarget(self, action: #selector(selectDelectParamAction), for: .touchUpInside) | |
| 133 | + self.addSubview(self.delectButton) | |
| 134 | + } | |
| 135 | + }else if (model.contentType == "2") { | |
| 136 | + self.contentTextField.isUserInteractionEnabled = false | |
| 137 | + self.rightImageView = UIImageView() | |
| 138 | + self.rightImageView.image = UIImage(named: "DS_shop_manageGoodsDetails_rightArrow") | |
| 139 | + self.rightImageView.contentMode = .scaleAspectFit | |
| 140 | + self.rightImageView.clipsToBounds = true | |
| 141 | + self.addSubview(self.rightImageView) | |
| 142 | + self.addGestureRecognizer(UITapGestureRecognizer.init(target: self, action: #selector(selfTap))) | |
| 143 | + }else { | |
| 144 | + self.contentTextField.isUserInteractionEnabled = false | |
| 145 | + self.contentTextField.isHidden = true | |
| 146 | + | |
| 147 | + self.contentSwitch = UISwitch() | |
| 148 | + self.contentSwitch.transform = CGAffineTransformMakeScale(0.7, 0.7) | |
| 149 | + //不写到layoutSubviews中是因为 会变位置 | |
| 150 | + self.contentSwitch.top = (50-self.contentSwitch.height)*0.5 | |
| 151 | + self.contentSwitch.onTintColor = HexColor("#61C464") | |
| 152 | + self.contentSwitch.tintColor = HexColor("#DBDEDB") | |
| 153 | + self.contentSwitch.isOn = true | |
| 154 | + self.contentSwitch.addTarget(self, action: #selector(switchValueChanged), for: .valueChanged) | |
| 155 | + self.addSubview(self.contentSwitch) | |
| 156 | + } | |
| 157 | + self.addSubview(self.contentTextField) | |
| 158 | + self.height = 50 | |
| 159 | + }else if (model.style == "2") { | |
| 160 | + self.height = 50 | |
| 161 | + }else if (model.style == "3") { | |
| 162 | + self.uploadImageView = CNLiveAddGoodsSelectUploadImageView(frame: CGRectZero) | |
| 163 | +// self.uploadImageView.column = 3 | |
| 164 | +// self.uploadImageView.maxSelectImageCount = model.maxSelectImageCount | |
| 165 | +// self.uploadImageView.isAbleSelectVideo = model.isAbleSelectVideo | |
| 166 | +// self.uploadImageView.isDisplySelectCover = model.isAbleSelectCover | |
| 167 | +// if model.id?.isEmpty { | |
| 168 | +// self.uploadImageView.deleteImage = UIImage(named: "DS_shop_manageGoodsDetails_delete") | |
| 169 | +// } | |
| 170 | +// [self.uploadImageView setChangeFrameCallBack:^{ | |
| 171 | +// weakSelf.height = CGRectGetMaxY(weakSelf.uploadImageView.frame) + DS_adapt_length(15); | |
| 172 | +// if (weakSelf.changeFrameCallBack) { | |
| 173 | +// weakSelf.changeFrameCallBack(); | |
| 174 | +// } | |
| 175 | +// }]; | |
| 176 | + self.addSubview(self.uploadImageView) | |
| 177 | + }else if (model.style == "4") { | |
| 178 | + self.contentTextBgView = UIView() | |
| 179 | +// self.contentTextBgView.fillColor = HexColor("F9F9F9") | |
| 180 | +// self.contentTextBgView.radius = 8 | |
| 181 | + self.addSubview(self.contentTextBgView) | |
| 182 | + | |
| 183 | +// self.contentTextView = UITextView() | |
| 184 | +// self.contentTextView.placeholder = model.placeholder | |
| 185 | +// self.contentTextView.placeholderColor = HexColor("c6c6c6") | |
| 186 | +// self.contentTextView.font = Font_14 | |
| 187 | +// self.contentTextView.textColor = HexColor("787878") | |
| 188 | +// self.contentTextView.delegate = self | |
| 189 | +// if (model.content?.count ?? 0 > 0){ self.contentTextView.text = model.content | |
| 190 | +// } | |
| 191 | +// self.contentTextBgView.addSubview(self.contentTextView) | |
| 192 | + self.height = 120 | |
| 193 | + }else if (model.style == "5") { | |
| 194 | + //添加输入框 | |
| 195 | + self.addBtn = UIButton(type: .custom) | |
| 196 | + self.addBtn.setImage(UIImage(named: "DS_main_add_count"), for: .normal) | |
| 197 | + self.addBtn.imageView?.contentMode = .scaleAspectFit | |
| 198 | + self.addBtn.addTarget(self, action: #selector(addBtnClick), for: .touchUpInside) | |
| 199 | + self.addSubview(self.addBtn) | |
| 200 | + | |
| 201 | + self.subtractBtn = UIButton(type: .custom) | |
| 202 | + self.subtractBtn.setImage(UIImage(named: "DS_main_unadd_count_n"), for: .normal) | |
| 203 | + self.subtractBtn.imageView?.contentMode = .scaleAspectFit | |
| 204 | + self.subtractBtn.addTarget(self, action: #selector(subtractBtnClick), for: .touchUpInside) | |
| 205 | + self.addSubview(self.subtractBtn) | |
| 206 | + | |
| 207 | + self.countTF = UITextField() | |
| 208 | + self.countTF.text = "1" | |
| 209 | + self.countTF.textAlignment = .center | |
| 210 | + self.countTF.font = Font_15 | |
| 211 | + self.countTF.borderStyle = .none | |
| 212 | + self.countTF.delegate = self | |
| 213 | + self.countTF.layer.masksToBounds = true | |
| 214 | + self.countTF.layer.cornerRadius = 5 | |
| 215 | + self.countTF.keyboardType = .numberPad | |
| 216 | + self.countTF.backgroundColor = HexColor("#F1F1F1") | |
| 217 | + self.countTF.addTarget(self, action: #selector(textDidChange(sender:)), for: .editingChanged) | |
| 218 | + self.addSubview(self.countTF) | |
| 219 | + | |
| 220 | + self.descLab = UILabel() | |
| 221 | + self.descLab.textColor = HexColor("#C4C4C6)") | |
| 222 | + self.descLab.font = Font_10 | |
| 223 | + self.descLab.text = model.desc | |
| 224 | + self.addSubview(self.descLab) | |
| 225 | + | |
| 226 | + self.height = 60 | |
| 227 | + } | |
| 228 | + if (model.isDisplayLine ?? false) { | |
| 229 | + self.line = UIImageView() | |
| 230 | + self.line.backgroundColor = HexColor("#e6e6e6)") | |
| 231 | + self.addSubview(self.line) | |
| 232 | + } | |
| 233 | + } | |
| 234 | + | |
| 235 | + override func layoutSubviews() { | |
| 236 | + super.layoutSubviews() | |
| 237 | + self.titleLabel.frame = CGRect(x: 15, y: 15, width: 145, height: 20) | |
| 238 | + if (self.addEditGoodsListModel!.desc?.count ?? 0 > 0 && self.addEditGoodsListModel!.style == "5") { | |
| 239 | + self.descLab.frame = CGRect(x: 15, y: 35, width: 145, height: 20) | |
| 240 | + } | |
| 241 | + self.starImageView.frame = CGRect(x: self.titleLabel.left-3-5, y: 0, width: 5, height: 5) | |
| 242 | + self.starImageView.centerY = self.titleLabel.centerY | |
| 243 | + if (self.addEditGoodsListModel?.style == "2"){ | |
| 244 | + self.subButton.frame = CGRect(x: KSreenWidth-130, y: 15, width: 120, height: 20) | |
| 245 | + } | |
| 246 | + if (self.addEditGoodsListModel!.style == "1") { | |
| 247 | + if (self.addEditGoodsListModel!.contentType == "1") { | |
| 248 | + if (self.addEditGoodsListModel!.isDelect ?? false) { | |
| 249 | + self.delectButton.frame = CGRect(x: KSreenWidth-50, y: 0, width: 40, height: 50) | |
| 250 | + self.contentTextField.frame = CGRect(x: self.titleLabel.right+15, y: 0, width: self.width-self.titleLabel.right+15*2-40, height: 50) | |
| 251 | + }else{ | |
| 252 | + self.contentTextField.frame = CGRect(x: self.titleLabel.right+15, y: 0, width: self.width-self.titleLabel.right-15*2, height: 50) | |
| 253 | + } | |
| 254 | + }else if (self.addEditGoodsListModel!.contentType == "2") { | |
| 255 | + let contentTextFieldMaxW = self.width - self.titleLabel.right-15*3-2 | |
| 256 | + self.contentTextField.sizeToFit() | |
| 257 | + if (self.contentTextField.width > contentTextFieldMaxW) { | |
| 258 | + self.contentTextField.width = contentTextFieldMaxW | |
| 259 | + } | |
| 260 | + self.contentTextField.left = self.titleLabel.right + 15 | |
| 261 | + self.contentTextField.centerY = self.titleLabel.centerY | |
| 262 | + self.rightImageView.frame = CGRect(x: self.contentTextField.right+2, y: 0, width: 15, height: 15) | |
| 263 | + self.rightImageView.centerY = self.titleLabel.centerY | |
| 264 | + }else { | |
| 265 | + self.contentSwitch.left = self.titleLabel.right+15 | |
| 266 | + } | |
| 267 | + self.addSubview(self.contentTextField) | |
| 268 | + }else if (self.addEditGoodsListModel!.style == "3") { | |
| 269 | + self.uploadImageView.frame = CGRect(x: 0, y: self.titleLabel.bottom+2, width: self.width, height: 0) | |
| 270 | + if (self.height == 0) { | |
| 271 | + self.height = self.uploadImageView.bottom+15 | |
| 272 | + if ((self.updateFrameBlock) != nil) { | |
| 273 | + self.updateFrameBlock!() | |
| 274 | + } | |
| 275 | + } | |
| 276 | + }else if (self.addEditGoodsListModel!.style == "4") { | |
| 277 | + self.contentTextBgView.frame = CGRect(x: 15, y: self.titleLabel.bottom+10, width: self.width - 15*2, height: 60) | |
| 278 | + self.contentTextView.frame = CGRect(x: 10, y: 10, width: self.contentTextBgView.width-10*2, height: self.contentTextBgView.height-10*2) | |
| 279 | + }else if (self.addEditGoodsListModel!.style == "5") { | |
| 280 | + self.subtractBtn.frame = CGRect(x: 15+self.titleLabel.right, y: 15, width: 30, height: 30) | |
| 281 | + self.countTF.frame = CGRect(x: self.subtractBtn.right+2, y: self.subtractBtn.top+5, width: 55, height: 20) | |
| 282 | + self.addBtn.frame = CGRect(x: self.countTF.right+2, y: self.subtractBtn.top, width: 30, height: 30) | |
| 283 | + } | |
| 284 | + self.line.frame = CGRect(x: 15, y: self.height-1, width: self.width-15*2, height: 1) | |
| 285 | + } | |
| 286 | + | |
| 287 | + required init?(coder: NSCoder) { | |
| 288 | + fatalError("init(coder:) has not been implemented") | |
| 289 | + } | |
| 290 | + | |
| 291 | + // MARK: - BtnAction | |
| 292 | + @objc func subBtnAction(){ | |
| 293 | + if ((self.updateFrameBlock) != nil) { | |
| 294 | + self.updateFrameBlock!() | |
| 295 | + } | |
| 296 | + } | |
| 297 | + @objc func selectDelectParamAction(){ | |
| 298 | + AlertTool.showSystemAlert(title: "确认删除?", message: nil, actionTitles: ["取消","确定"], style: .alert, actionStyles:[.cancel,.default] ) { index in | |
| 299 | + if (index == 1) { | |
| 300 | + if ((self.updateFrameBlock) != nil) { | |
| 301 | + self.updateFrameBlock!() | |
| 302 | + } | |
| 303 | + } | |
| 304 | + } | |
| 305 | + } | |
| 306 | + @objc func selfTap(){ | |
| 307 | + | |
| 308 | + if ((self.tapBlock) != nil) { | |
| 309 | + self.tapBlock!(self) | |
| 310 | + } | |
| 311 | + } | |
| 312 | + @objc func switchValueChanged(){ | |
| 313 | + | |
| 314 | + } | |
| 315 | + @objc func addBtnClick(){ | |
| 316 | + | |
| 317 | + } | |
| 318 | + @objc func subtractBtnClick(){ | |
| 319 | + | |
| 320 | + } | |
| 321 | + | |
| 322 | + @objc func textDidChange(sender:UITextField) { | |
| 323 | + if (sender == self.countTF) { | |
| 324 | + if (self.countTF.text?.count ?? 0 > 0 && self.countTF.text?.isPurnInt() ?? false) { | |
| 325 | + let count:Int = (self.countTF.text! as NSString).integerValue | |
| 326 | + if (count <= 1) { | |
| 327 | + self.subtractBtn.setImage(UIImage(named: "DS_main_unadd_count_n"), for: .normal) | |
| 328 | + }else{ | |
| 329 | + self.subtractBtn.setImage(UIImage(named: "DS_main_unadd_count"), for: .normal) | |
| 330 | + } | |
| 331 | + } | |
| 332 | + } | |
| 333 | + } | |
| 334 | + | |
| 335 | +} | ... | ... |
metaCode/Classes/Main/HomePage/View/GoodsList/CNLiveShopGoodsListCell.swift renamed to metaCode/Classes/Main/HomePage/View/GoodsManager/CNLiveShopGoodsListCell.swift
| ... | ... | @@ -29,7 +29,8 @@ class CNLiveShopGoodsListCell: UITableViewCell { |
| 29 | 29 | lazy var editBtn: UIButton = { |
| 30 | 30 | let editBtn = UIButton(type: .custom) |
| 31 | 31 | editBtn.frame = CGRect(x: KSreenWidth-15*2-28, y: 0, width: 15*2+28, height: 15*2+20) |
| 32 | - editBtn.setTitle("编辑", for: .normal) | |
| 32 | + editBtn.setTitle(" ", for: .normal) | |
| 33 | +// editBtn.setTitle("编辑", for: .normal) | |
| 33 | 34 | editBtn.setTitleColor(HexColor("#333333"), for: .normal) |
| 34 | 35 | editBtn.titleLabel?.font = Font_15 |
| 35 | 36 | editBtn.addTarget(self, action: #selector(editBtnAction), for: .touchUpInside) |
| ... | ... | @@ -103,7 +104,7 @@ class CNLiveShopGoodsListCell: UITableViewCell { |
| 103 | 104 | contentView.addSubview(self.priceLabel) |
| 104 | 105 | contentView.addSubview(self.bottomLineView) |
| 105 | 106 | contentView.addSubview(self.countLabel) |
| 106 | - contentView.addSubview(self.editCountBtn) | |
| 107 | +// contentView.addSubview(self.editCountBtn) | |
| 107 | 108 | |
| 108 | 109 | } |
| 109 | 110 | ... | ... |
metaCode/Classes/Main/HomePage/View/GoodsList/CNLiveShopGoodsListClassifyView.swift renamed to metaCode/Classes/Main/HomePage/View/GoodsManager/CNLiveShopGoodsListClassifyView.swift
metaCode/Classes/Main/Model/CNLiveShopConsoleModel.swift
| ... | ... | @@ -59,7 +59,7 @@ class CNLiveShopConsoleModel:BaseModel { |
| 59 | 59 | var dataSource = |
| 60 | 60 | [["title":"商品管理", |
| 61 | 61 | "list":[ |
| 62 | - ["title":"新增商品", "subtitle":"创建新的商品", "simg":"DS_WB_XZSP", "type":0], | |
| 62 | +// ["title":"新增商品", "subtitle":"创建新的商品", "simg":"DS_WB_XZSP", "type":0], | |
| 63 | 63 | ["title":"商品管理", "subtitle":"管理现有的商品", "simg":"DS_WB_SPGL", "type":1]]], |
| 64 | 64 | ["title":"订单管理", |
| 65 | 65 | "list":[ | ... | ... |
metaCode/Classes/Main/Model/GoodsManager/CNLiveShopAddEditGoodsModel.swift
| ... | ... | @@ -9,41 +9,91 @@ import Foundation |
| 9 | 9 | |
| 10 | 10 | class CNLiveShopAddEditGoodsModel: BaseModel { |
| 11 | 11 | ///列表 |
| 12 | - /*var list = [CNLiveShopAddEditGoodsListModel]() | |
| 12 | + var list = [CNLiveShopAddEditGoodsListModel]() | |
| 13 | 13 | func initDataSource(){ |
| 14 | - var dataSource = | |
| 15 | - [ ["style":"1","isHaveTo":true,"title":"商品分类","contentType":"2"], | |
| 16 | - ["style":"1","isHaveTo":true,"title":"店铺分类","contentType":"2"], | |
| 17 | - ["style":"2","title":"基本信息"], | |
| 18 | - ["style":"3","isHaveTo":true,"title":"商品轮播","isDisplayLine":true,"isAbleSelectVideo":true,"isAbleSelectCover":true,"maxSelectImageCount":"7"], | |
| 19 | - ["style":"1","isHaveTo":true,"title":"商品名称","isDisplayLine":true,"contentType":"1"], | |
| 20 | - ["style":"4","isHaveTo":false,"title":"商品副标题","isDisplayLine":true,"placeholder":"请在此输入..."], | |
| 21 | - ["style":"1","isHaveTo":true,"title":"本店售价","subtitle":"(实际售价)","isDisplayLine":true,"contentTextFieldkeyboardType":"2","decimalLength":"2","contentTextColor":"0xFC1541","contentType":"1"], | |
| 22 | - ["style":"1","isHaveTo":true,"title":"市场售价","isDisplayLine":true,"contentTextFieldkeyboardType":"2","decimalLength":"2","contentType":"1"], | |
| 23 | - ["style":"1","isHaveTo":false,"title":"商品重量","subtitle":"(kg)","isDisplayLine":true,"contentTextFieldkeyboardType":"2","decimalLength":"3","contentType":"1"], | |
| 24 | - ["style":"5","isHaveTo":false,"title":"最低起售","subtitle":"(件)","isDisplayLine":true,"desc":"如起售数超出库存买家无法购买","decimalLength":"3","contentType":"4"], | |
| 25 | - ["style":"1","isHaveTo":false,"title":"上架","contentType":"3"], | |
| 26 | - ["style":"2","title":"通用信息"], | |
| 27 | - ["style":"3","isHaveTo":true,"title":"商品详情图","isDisplayLine":true,"maxSelectImageCount":"9"], | |
| 28 | - ["style":"1","isHaveTo":false,"title":"商品运费","subtitle":"(0为包邮)","isDisplayLine":true,"contentTextFieldkeyboardType":"2","decimalLength":"2","contentType":"1"], | |
| 29 | - ["style":"1","isHaveTo":false,"title":"是否支持退货","isDisplayLine":true,"contentType":"3"], | |
| 30 | - ["style":"1","isHaveTo":false,"title":"商品单位","contentTextFieldkeyboardType":"1","isDisplayLine":true,"contentType":"1"], | |
| 31 | - ["style":"2","title":"通用参数(*为必填)","touchSubtitle":"添加通用参数"], | |
| 32 | - ["style":"1","isHaveTo":true,"title":"品名","isDisplayLine":true,"contentType":"1"], | |
| 33 | - ["style":"1","isHaveTo":true,"title":"规格","isDisplayLine":true,"contentType":"1"], | |
| 34 | - ["style":"4","isHaveTo":true,"title":"寄送区域","isDisplayLine":true,"contentType":"1","placeholder":"请填写不配送**地区、仅配送**地区或全国包邮"], | |
| 35 | - ["style":"1","isHaveTo":true,"title":"发货时效","isDisplayLine":true,"contentType":"1"], | |
| 36 | - ["style":"1","isHaveTo":false,"title":"口味","contentTextFieldkeyboardType":"1","isDisplayLine":true,"contentType":"1","isDelect":true], | |
| 37 | - ["style":"1","isHaveTo":false,"title":"产地","contentTextFieldkeyboardType":"1","isDisplayLine":true,"contentType":"1","isDelect":true], | |
| 38 | - ["style":"1","isHaveTo":false,"title":"存储方式及期限","contentTextFieldkeyboardType":"1","isDisplayLine":true,"contentType":"1","isDelect":true] | |
| 39 | - ] | |
| 14 | + var dataArr:Array<Any> = [] | |
| 15 | + let dic1 = ["style":"1","isHaveTo":true,"title":"商品分类","contentType":"2"] as [String : Any] | |
| 16 | + let dic2 = ["style":"1","isHaveTo":true,"title":"店铺分类","contentType":"2"] as [String : Any] | |
| 17 | + let dic3 = ["style":"2","title":"基本信息"] as [String : Any] | |
| 18 | + let dic4 = ["style":"3","isHaveTo":true,"title":"商品轮播","isDisplayLine":true,"isAbleSelectVideo":true,"isAbleSelectCover":true,"maxSelectImageCount":"7"] as [String : Any] | |
| 19 | + let dic5 = ["style":"1","isHaveTo":true,"title":"商品名称","isDisplayLine":true,"contentType":"1"] as [String : Any] | |
| 20 | + let dic6 = ["style":"4","isHaveTo":false,"title":"商品副标题","isDisplayLine":true,"placeholder":"请在此输入..."] as [String : Any] | |
| 21 | + let dic7 = ["style":"1","isHaveTo":true,"title":"本店售价","subtitle":"(实际售价)","isDisplayLine":true,"contentTextFieldkeyboardType":"2","decimalLength":"2","contentTextColor":"0xFC1541","contentType":"1"] as [String : Any] | |
| 22 | + let dic8 = ["style":"1","isHaveTo":true,"title":"市场售价","isDisplayLine":true,"contentTextFieldkeyboardType":"2","decimalLength":"2","contentType":"1"] as [String : Any] | |
| 23 | + let dic9 = ["style":"1","isHaveTo":false,"title":"商品重量","subtitle":"(kg)","isDisplayLine":true,"contentTextFieldkeyboardType":"2","decimalLength":"3","contentType":"1"] as [String : Any] | |
| 24 | + let dic10 = ["style":"5","isHaveTo":false,"title":"最低起售","subtitle":"(件)","isDisplayLine":true,"desc":"如起售数超出库存买家无法购买","decimalLength":"3","contentType":"4"] as [String : Any] | |
| 25 | + let dic11 = ["style":"1","isHaveTo":false,"title":"上架","contentType":"3"] as [String : Any] | |
| 26 | + let dic12 = ["style":"2","title":"通用信息"] as [String : Any] | |
| 27 | + let dic13 = ["style":"3","isHaveTo":true,"title":"商品详情图","isDisplayLine":true,"maxSelectImageCount":"9"] as [String : Any] | |
| 28 | + let dic14 = ["style":"1","isHaveTo":false,"title":"商品运费","subtitle":"(0为包邮)","isDisplayLine":true,"contentTextFieldkeyboardType":"2","decimalLength":"2","contentType":"1"] as [String : Any] | |
| 29 | + let dic15 = ["style":"1","isHaveTo":false,"title":"是否支持退货","isDisplayLine":true,"contentType":"3"] as [String : Any] | |
| 30 | + let dic16 = ["style":"1","isHaveTo":false,"title":"商品单位","contentTextFieldkeyboardType":"1","isDisplayLine":true,"contentType":"1"] as [String : Any] | |
| 31 | + let dic17 = ["style":"2","title":"通用参数(*为必填)","touchSubtitle":"添加通用参数"] as [String : Any] | |
| 32 | + let dic18 = ["style":"1","isHaveTo":true,"title":"品名","isDisplayLine":true,"contentType":"1"] as [String : Any] | |
| 33 | + let dic19 = ["style":"1","isHaveTo":true,"title":"规格","isDisplayLine":true,"contentType":"1"] as [String : Any] | |
| 34 | + let dic20 = ["style":"4","isHaveTo":true,"title":"寄送区域","isDisplayLine":true,"contentType":"1","placeholder":"请填写不配送**地区、仅配送**地区或全国包邮"] as [String : Any] | |
| 35 | + let dic21 = ["style":"1","isHaveTo":true,"title":"发货时效","isDisplayLine":true,"contentType":"1"] as [String : Any] | |
| 36 | + let dic22 = ["style":"1","isHaveTo":false,"title":"口味","contentTextFieldkeyboardType":"1","isDisplayLine":true,"contentType":"1","isDelect":true] as [String : Any] | |
| 37 | + let dic23 = ["style":"1","isHaveTo":false,"title":"产地","contentTextFieldkeyboardType":"1","isDisplayLine":true,"contentType":"1","isDelect":true] as [String : Any] | |
| 38 | + let dic24 = ["style":"1","isHaveTo":false,"title":"存储方式及期限","contentTextFieldkeyboardType":"1","isDisplayLine":true,"contentType":"1","isDelect":true] as [String : Any] | |
| 39 | + dataArr.append(dic1) | |
| 40 | + dataArr.append(dic2) | |
| 41 | + dataArr.append(dic3) | |
| 42 | + dataArr.append(dic4) | |
| 43 | + dataArr.append(dic5) | |
| 44 | + dataArr.append(dic6) | |
| 45 | + dataArr.append(dic7) | |
| 46 | + dataArr.append(dic8) | |
| 47 | + dataArr.append(dic9) | |
| 48 | + dataArr.append(dic10) | |
| 49 | + dataArr.append(dic11) | |
| 50 | + dataArr.append(dic12) | |
| 51 | + dataArr.append(dic13) | |
| 52 | + dataArr.append(dic14) | |
| 53 | + dataArr.append(dic15) | |
| 54 | + dataArr.append(dic16) | |
| 55 | + dataArr.append(dic17) | |
| 56 | + dataArr.append(dic18) | |
| 57 | + dataArr.append(dic19) | |
| 58 | + dataArr.append(dic20) | |
| 59 | + dataArr.append(dic21) | |
| 60 | + dataArr.append(dic22) | |
| 61 | + dataArr.append(dic23) | |
| 62 | + dataArr.append(dic24) | |
| 63 | +// var dataSource = | |
| 64 | +// [ | |
| 65 | +// ["style":"1","isHaveTo":true,"title":"商品分类","contentType":"2"], | |
| 66 | +// ["style":"1","isHaveTo":true,"title":"店铺分类","contentType":"2"], | |
| 67 | +// ["style":"2","title":"基本信息"], | |
| 68 | +// ["style":"3","isHaveTo":true,"title":"商品轮播","isDisplayLine":true,"isAbleSelectVideo":true,"isAbleSelectCover":true,"maxSelectImageCount":"7"], | |
| 69 | +// ["style":"1","isHaveTo":true,"title":"商品名称","isDisplayLine":true,"contentType":"1"], | |
| 70 | +// ["style":"4","isHaveTo":false,"title":"商品副标题","isDisplayLine":true,"placeholder":"请在此输入..."], | |
| 71 | +// ["style":"1","isHaveTo":true,"title":"本店售价","subtitle":"(实际售价)","isDisplayLine":true,"contentTextFieldkeyboardType":"2","decimalLength":"2","contentTextColor":"0xFC1541","contentType":"1"], | |
| 72 | +// ["style":"1","isHaveTo":true,"title":"市场售价","isDisplayLine":true,"contentTextFieldkeyboardType":"2","decimalLength":"2","contentType":"1"], | |
| 73 | +// ["style":"1","isHaveTo":false,"title":"商品重量","subtitle":"(kg)","isDisplayLine":true,"contentTextFieldkeyboardType":"2","decimalLength":"3","contentType":"1"], | |
| 74 | +// ["style":"5","isHaveTo":false,"title":"最低起售","subtitle":"(件)","isDisplayLine":true,"desc":"如起售数超出库存买家无法购买","decimalLength":"3","contentType":"4"], | |
| 75 | +// ["style":"1","isHaveTo":false,"title":"上架","contentType":"3"], | |
| 76 | +// ["style":"2","title":"通用信息"], | |
| 77 | +// ["style":"3","isHaveTo":true,"title":"商品详情图","isDisplayLine":true,"maxSelectImageCount":"9"], | |
| 78 | +// ["style":"1","isHaveTo":false,"title":"商品运费","subtitle":"(0为包邮)","isDisplayLine":true,"contentTextFieldkeyboardType":"2","decimalLength":"2","contentType":"1"], | |
| 79 | +// ["style":"1","isHaveTo":false,"title":"是否支持退货","isDisplayLine":true,"contentType":"3"], | |
| 80 | +// ["style":"1","isHaveTo":false,"title":"商品单位","contentTextFieldkeyboardType":"1","isDisplayLine":true,"contentType":"1"], | |
| 81 | +// ["style":"2","title":"通用参数(*为必填)","touchSubtitle":"添加通用参数"], | |
| 82 | +// ["style":"1","isHaveTo":true,"title":"品名","isDisplayLine":true,"contentType":"1"], | |
| 83 | +// ["style":"1","isHaveTo":true,"title":"规格","isDisplayLine":true,"contentType":"1"], | |
| 84 | +// ["style":"4","isHaveTo":true,"title":"寄送区域","isDisplayLine":true,"contentType":"1","placeholder":"请填写不配送**地区、仅配送**地区或全国包邮"], | |
| 85 | +// ["style":"1","isHaveTo":true,"title":"发货时效","isDisplayLine":true,"contentType":"1"], | |
| 86 | +// ["style":"1","isHaveTo":false,"title":"口味","contentTextFieldkeyboardType":"1","isDisplayLine":true,"contentType":"1","isDelect":true], | |
| 87 | +// ["style":"1","isHaveTo":false,"title":"产地","contentTextFieldkeyboardType":"1","isDisplayLine":true,"contentType":"1","isDelect":true], | |
| 88 | +// ["style":"1","isHaveTo":false,"title":"存储方式及期限","contentTextFieldkeyboardType":"1","isDisplayLine":true,"contentType":"1","isDelect":true] | |
| 89 | +// ] | |
| 40 | 90 | |
| 41 | - for dic in dataSource{ | |
| 42 | - let mdl = newDictionaryToModel(dic, CNLiveShopAddEditGoodsListModel.self) | |
| 91 | + for dic in dataArr{ | |
| 92 | + let mdl = newDictionaryToModel(dic as! [String : Any], CNLiveShopAddEditGoodsListModel.self) | |
| 43 | 93 | list.append(mdl as! CNLiveShopAddEditGoodsListModel) |
| 44 | 94 | |
| 45 | 95 | } |
| 46 | - }*/ | |
| 96 | + } | |
| 47 | 97 | } |
| 48 | 98 | |
| 49 | 99 | |
| ... | ... | @@ -51,7 +101,7 @@ class CNLiveShopAddEditGoodsListModel: BaseModel { |
| 51 | 101 | /// 商品id |
| 52 | 102 | var id: String? |
| 53 | 103 | /// 样式4中 二是标题 三是选取图片 四是输入框 五添加起售数量 |
| 54 | - var style:Int = 0 | |
| 104 | + var style:String? | |
| 55 | 105 | /// 是否必须 |
| 56 | 106 | var isHaveTo: Bool? |
| 57 | 107 | /// 标题 |
| ... | ... | @@ -69,13 +119,13 @@ class CNLiveShopAddEditGoodsListModel: BaseModel { |
| 69 | 119 | /// 是否显示底部的线 |
| 70 | 120 | var isDisplayLine: Bool? |
| 71 | 121 | /// 样式一属性 内容输入框键盘类型 1默认类型 2数字类型带小数点 |
| 72 | - var contentTextFieldkeyboardType:Int = 0 | |
| 122 | + var contentTextFieldkeyboardType:String? | |
| 73 | 123 | /// 样式一属性 小数点位数 |
| 74 | - var decimalLength:Int = 0 | |
| 124 | + var decimalLength:String? | |
| 75 | 125 | /// 样式一属性 内容输入框颜色 默认0x787878 |
| 76 | 126 | var contentTextColor: String? |
| 77 | 127 | /// 样式一属性 1输入框 2选择 3开关 4可以增加数量 |
| 78 | - var contentType:Int = 0 | |
| 128 | + var contentType:String? | |
| 79 | 129 | /// 样式一属性 是不是显示输入框右边删除按钮 |
| 80 | 130 | var isDelect: Bool? |
| 81 | 131 | /// 样式三属性 是否可以选择视频 |
| ... | ... | @@ -83,5 +133,5 @@ class CNLiveShopAddEditGoodsListModel: BaseModel { |
| 83 | 133 | /// 样式三属性 是否可以选择主页 |
| 84 | 134 | var isAbleSelectCover: Bool? |
| 85 | 135 | /// 样式三属性 最多可以选取多少张图片 |
| 86 | - var maxSelectImageCount:Int = 0 | |
| 136 | + var maxSelectImageCount:String? | |
| 87 | 137 | } | ... | ... |
metaCode/Supporting Files/Assets.xcassets/Shop/DS_main_add_count.imageset/Contents.json
0 → 100644
| 1 | +{ | |
| 2 | + "images" : [ | |
| 3 | + { | |
| 4 | + "idiom" : "universal", | |
| 5 | + "scale" : "1x" | |
| 6 | + }, | |
| 7 | + { | |
| 8 | + "filename" : "DS_main_add_count@2x.png", | |
| 9 | + "idiom" : "universal", | |
| 10 | + "scale" : "2x" | |
| 11 | + }, | |
| 12 | + { | |
| 13 | + "filename" : "DS_main_add_count@3x.png", | |
| 14 | + "idiom" : "universal", | |
| 15 | + "scale" : "3x" | |
| 16 | + } | |
| 17 | + ], | |
| 18 | + "info" : { | |
| 19 | + "author" : "xcode", | |
| 20 | + "version" : 1 | |
| 21 | + } | |
| 22 | +} | ... | ... |
metaCode/Supporting Files/Assets.xcassets/Shop/DS_main_add_count.imageset/DS_main_add_count@2x.png
0 → 100644
548 Bytes
metaCode/Supporting Files/Assets.xcassets/Shop/DS_main_add_count.imageset/DS_main_add_count@3x.png
0 → 100644
927 Bytes
metaCode/Supporting Files/Assets.xcassets/Shop/DS_main_unadd_count.imageset/Contents.json
0 → 100644
| 1 | +{ | |
| 2 | + "images" : [ | |
| 3 | + { | |
| 4 | + "idiom" : "universal", | |
| 5 | + "scale" : "1x" | |
| 6 | + }, | |
| 7 | + { | |
| 8 | + "filename" : "DS_main_unadd_count@2x.png", | |
| 9 | + "idiom" : "universal", | |
| 10 | + "scale" : "2x" | |
| 11 | + }, | |
| 12 | + { | |
| 13 | + "filename" : "DS_main_unadd_count@3x.png", | |
| 14 | + "idiom" : "universal", | |
| 15 | + "scale" : "3x" | |
| 16 | + } | |
| 17 | + ], | |
| 18 | + "info" : { | |
| 19 | + "author" : "xcode", | |
| 20 | + "version" : 1 | |
| 21 | + } | |
| 22 | +} | ... | ... |
metaCode/Supporting Files/Assets.xcassets/Shop/DS_main_unadd_count.imageset/DS_main_unadd_count@2x.png
0 → 100644
510 Bytes
metaCode/Supporting Files/Assets.xcassets/Shop/DS_main_unadd_count.imageset/DS_main_unadd_count@3x.png
0 → 100644
871 Bytes
metaCode/Supporting Files/Assets.xcassets/Shop/DS_main_unadd_count_n.imageset/Contents.json
0 → 100644
| 1 | +{ | |
| 2 | + "images" : [ | |
| 3 | + { | |
| 4 | + "idiom" : "universal", | |
| 5 | + "scale" : "1x" | |
| 6 | + }, | |
| 7 | + { | |
| 8 | + "filename" : "DS_main_unadd_count_n@2x.png", | |
| 9 | + "idiom" : "universal", | |
| 10 | + "scale" : "2x" | |
| 11 | + }, | |
| 12 | + { | |
| 13 | + "filename" : "DS_main_unadd_count_n@3x.png", | |
| 14 | + "idiom" : "universal", | |
| 15 | + "scale" : "3x" | |
| 16 | + } | |
| 17 | + ], | |
| 18 | + "info" : { | |
| 19 | + "author" : "xcode", | |
| 20 | + "version" : 1 | |
| 21 | + } | |
| 22 | +} | ... | ... |
metaCode/Supporting Files/Assets.xcassets/Shop/DS_main_unadd_count_n.imageset/DS_main_unadd_count_n@2x.png
0 → 100644
516 Bytes
metaCode/Supporting Files/Assets.xcassets/Shop/DS_main_unadd_count_n.imageset/DS_main_unadd_count_n@3x.png
0 → 100644
919 Bytes
metaCode/Supporting Files/Assets.xcassets/Shop/DS_shop_manageGoodsDetails_delete.imageset/Contents.json
0 → 100644
| 1 | +{ | |
| 2 | + "images" : [ | |
| 3 | + { | |
| 4 | + "idiom" : "universal", | |
| 5 | + "scale" : "1x" | |
| 6 | + }, | |
| 7 | + { | |
| 8 | + "filename" : "DS_shop_manageGoodsDetails_delete@2x.png", | |
| 9 | + "idiom" : "universal", | |
| 10 | + "scale" : "2x" | |
| 11 | + }, | |
| 12 | + { | |
| 13 | + "filename" : "DS_shop_manageGoodsDetails_delete@3x.png", | |
| 14 | + "idiom" : "universal", | |
| 15 | + "scale" : "3x" | |
| 16 | + } | |
| 17 | + ], | |
| 18 | + "info" : { | |
| 19 | + "author" : "xcode", | |
| 20 | + "version" : 1 | |
| 21 | + } | |
| 22 | +} | ... | ... |
metaCode/Supporting Files/Assets.xcassets/Shop/DS_shop_manageGoodsDetails_delete.imageset/DS_shop_manageGoodsDetails_delete@2x.png
0 → 100644
1.02 KB
metaCode/Supporting Files/Assets.xcassets/Shop/DS_shop_manageGoodsDetails_delete.imageset/DS_shop_manageGoodsDetails_delete@3x.png
0 → 100644
1.46 KB
metaCode/Supporting Files/Assets.xcassets/Shop/DS_shop_manageGoodsDetails_rightArrow.imageset/Contents.json
0 → 100644
| 1 | +{ | |
| 2 | + "images" : [ | |
| 3 | + { | |
| 4 | + "idiom" : "universal", | |
| 5 | + "scale" : "1x" | |
| 6 | + }, | |
| 7 | + { | |
| 8 | + "filename" : "DS_shop_manageGoodsDetails_rightArrow@2x.png", | |
| 9 | + "idiom" : "universal", | |
| 10 | + "scale" : "2x" | |
| 11 | + }, | |
| 12 | + { | |
| 13 | + "filename" : "DS_shop_manageGoodsDetails_rightArrow@3x.png", | |
| 14 | + "idiom" : "universal", | |
| 15 | + "scale" : "3x" | |
| 16 | + } | |
| 17 | + ], | |
| 18 | + "info" : { | |
| 19 | + "author" : "xcode", | |
| 20 | + "version" : 1 | |
| 21 | + } | |
| 22 | +} | ... | ... |
metaCode/Supporting Files/Assets.xcassets/Shop/DS_shop_manageGoodsDetails_rightArrow.imageset/DS_shop_manageGoodsDetails_rightArrow@2x.png
0 → 100644
345 Bytes
metaCode/Supporting Files/Assets.xcassets/Shop/DS_shop_manageGoodsDetails_rightArrow.imageset/DS_shop_manageGoodsDetails_rightArrow@3x.png
0 → 100644
449 Bytes
metaCode/Supporting Files/Assets.xcassets/Shop/DS_shop_manageGoodsDetails_star.imageset/Contents.json
0 → 100644
| 1 | +{ | |
| 2 | + "images" : [ | |
| 3 | + { | |
| 4 | + "idiom" : "universal", | |
| 5 | + "scale" : "1x" | |
| 6 | + }, | |
| 7 | + { | |
| 8 | + "filename" : "DS_shop_manageGoodsDetails_star@2x.png", | |
| 9 | + "idiom" : "universal", | |
| 10 | + "scale" : "2x" | |
| 11 | + }, | |
| 12 | + { | |
| 13 | + "filename" : "DS_shop_manageGoodsDetails_star@3x.png", | |
| 14 | + "idiom" : "universal", | |
| 15 | + "scale" : "3x" | |
| 16 | + } | |
| 17 | + ], | |
| 18 | + "info" : { | |
| 19 | + "author" : "xcode", | |
| 20 | + "version" : 1 | |
| 21 | + } | |
| 22 | +} | ... | ... |
metaCode/Supporting Files/Assets.xcassets/Shop/DS_shop_manageGoodsDetails_star.imageset/DS_shop_manageGoodsDetails_star@2x.png
0 → 100644
331 Bytes
metaCode/Supporting Files/Assets.xcassets/Shop/DS_shop_manageGoodsDetails_star.imageset/DS_shop_manageGoodsDetails_star@3x.png
0 → 100644
584 Bytes