Commit 13d1d668add097896093e7e7958f2f8d53c87a0a
1 parent
095bdd4e
商品管理-新增商品model
Showing
13 changed files
with
598 additions
and
74 deletions
metaCode.xcodeproj/project.pbxproj
| @@ -16,6 +16,11 @@ | @@ -16,6 +16,11 @@ | ||
| 16 | 19565EC22AF616CA007D6727 /* CNLiveShopDetailOrderAssetCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19565EC12AF616CA007D6727 /* CNLiveShopDetailOrderAssetCell.swift */; }; | 16 | 19565EC22AF616CA007D6727 /* CNLiveShopDetailOrderAssetCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19565EC12AF616CA007D6727 /* CNLiveShopDetailOrderAssetCell.swift */; }; |
| 17 | 19565EC52AF8AD1F007D6727 /* CNLiveShopProductManagerController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19565EC42AF8AD1F007D6727 /* CNLiveShopProductManagerController.swift */; }; | 17 | 19565EC52AF8AD1F007D6727 /* CNLiveShopProductManagerController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19565EC42AF8AD1F007D6727 /* CNLiveShopProductManagerController.swift */; }; |
| 18 | 19565EC72AF8AD38007D6727 /* CNLiveShopNewProductController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19565EC62AF8AD38007D6727 /* CNLiveShopNewProductController.swift */; }; | 18 | 19565EC72AF8AD38007D6727 /* CNLiveShopNewProductController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19565EC62AF8AD38007D6727 /* CNLiveShopNewProductController.swift */; }; |
| 19 | + 19565EC92AF8BEC6007D6727 /* CNLiveShopGoodListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19565EC82AF8BEC6007D6727 /* CNLiveShopGoodListViewModel.swift */; }; | ||
| 20 | + 19565ECB2AF8C59C007D6727 /* CNLiveShopGoodsListModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19565ECA2AF8C59C007D6727 /* CNLiveShopGoodsListModel.swift */; }; | ||
| 21 | + 19565ECD2AF8D256007D6727 /* CNLiveShopGoodsListClassifyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19565ECC2AF8D256007D6727 /* CNLiveShopGoodsListClassifyView.swift */; }; | ||
| 22 | + 19565ECF2AF8D8F6007D6727 /* CNLiveShopGoodsListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19565ECE2AF8D8F6007D6727 /* CNLiveShopGoodsListCell.swift */; }; | ||
| 23 | + 19565ED42AF9FEB4007D6727 /* CNLiveShopAddEditGoodsModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19565ED32AF9FEB4007D6727 /* CNLiveShopAddEditGoodsModel.swift */; }; | ||
| 19 | 19BB1FDF2AEA3A450094D962 /* CNSlideBaseNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19BB1FDE2AEA3A450094D962 /* CNSlideBaseNavigationController.swift */; }; | 24 | 19BB1FDF2AEA3A450094D962 /* CNSlideBaseNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19BB1FDE2AEA3A450094D962 /* CNSlideBaseNavigationController.swift */; }; |
| 20 | 19BB1FE12AEB5C220094D962 /* CNLiveShopConsoleController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19BB1FE02AEB5C220094D962 /* CNLiveShopConsoleController.swift */; }; | 25 | 19BB1FE12AEB5C220094D962 /* CNLiveShopConsoleController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19BB1FE02AEB5C220094D962 /* CNLiveShopConsoleController.swift */; }; |
| 21 | 19BB1FE32AEB8B7C0094D962 /* CNLiveShopConsoleViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19BB1FE22AEB8B7C0094D962 /* CNLiveShopConsoleViewModel.swift */; }; | 26 | 19BB1FE32AEB8B7C0094D962 /* CNLiveShopConsoleViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19BB1FE22AEB8B7C0094D962 /* CNLiveShopConsoleViewModel.swift */; }; |
| @@ -163,6 +168,11 @@ | @@ -163,6 +168,11 @@ | ||
| 163 | 19565EC12AF616CA007D6727 /* CNLiveShopDetailOrderAssetCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopDetailOrderAssetCell.swift; sourceTree = "<group>"; }; | 168 | 19565EC12AF616CA007D6727 /* CNLiveShopDetailOrderAssetCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopDetailOrderAssetCell.swift; sourceTree = "<group>"; }; |
| 164 | 19565EC42AF8AD1F007D6727 /* CNLiveShopProductManagerController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopProductManagerController.swift; sourceTree = "<group>"; }; | 169 | 19565EC42AF8AD1F007D6727 /* CNLiveShopProductManagerController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopProductManagerController.swift; sourceTree = "<group>"; }; |
| 165 | 19565EC62AF8AD38007D6727 /* CNLiveShopNewProductController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopNewProductController.swift; sourceTree = "<group>"; }; | 170 | 19565EC62AF8AD38007D6727 /* CNLiveShopNewProductController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopNewProductController.swift; sourceTree = "<group>"; }; |
| 171 | + 19565EC82AF8BEC6007D6727 /* CNLiveShopGoodListViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopGoodListViewModel.swift; sourceTree = "<group>"; }; | ||
| 172 | + 19565ECA2AF8C59C007D6727 /* CNLiveShopGoodsListModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopGoodsListModel.swift; sourceTree = "<group>"; }; | ||
| 173 | + 19565ECC2AF8D256007D6727 /* CNLiveShopGoodsListClassifyView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopGoodsListClassifyView.swift; sourceTree = "<group>"; }; | ||
| 174 | + 19565ECE2AF8D8F6007D6727 /* CNLiveShopGoodsListCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopGoodsListCell.swift; sourceTree = "<group>"; }; | ||
| 175 | + 19565ED32AF9FEB4007D6727 /* CNLiveShopAddEditGoodsModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopAddEditGoodsModel.swift; sourceTree = "<group>"; }; | ||
| 166 | 19BB1FDE2AEA3A450094D962 /* CNSlideBaseNavigationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNSlideBaseNavigationController.swift; sourceTree = "<group>"; }; | 176 | 19BB1FDE2AEA3A450094D962 /* CNSlideBaseNavigationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNSlideBaseNavigationController.swift; sourceTree = "<group>"; }; |
| 167 | 19BB1FE02AEB5C220094D962 /* CNLiveShopConsoleController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopConsoleController.swift; sourceTree = "<group>"; }; | 177 | 19BB1FE02AEB5C220094D962 /* CNLiveShopConsoleController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopConsoleController.swift; sourceTree = "<group>"; }; |
| 168 | 19BB1FE22AEB8B7C0094D962 /* CNLiveShopConsoleViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopConsoleViewModel.swift; sourceTree = "<group>"; }; | 178 | 19BB1FE22AEB8B7C0094D962 /* CNLiveShopConsoleViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopConsoleViewModel.swift; sourceTree = "<group>"; }; |
| @@ -321,18 +331,45 @@ | @@ -321,18 +331,45 @@ | ||
| 321 | /* End PBXFrameworksBuildPhase section */ | 331 | /* End PBXFrameworksBuildPhase section */ |
| 322 | 332 | ||
| 323 | /* Begin PBXGroup section */ | 333 | /* Begin PBXGroup section */ |
| 324 | - 19565EC32AF8ACC2007D6727 /* 商品管理 */ = { | 334 | + 19565EC32AF8ACC2007D6727 /* GoodsManager */ = { |
| 325 | isa = PBXGroup; | 335 | isa = PBXGroup; |
| 326 | children = ( | 336 | children = ( |
| 327 | 19565EC42AF8AD1F007D6727 /* CNLiveShopProductManagerController.swift */, | 337 | 19565EC42AF8AD1F007D6727 /* CNLiveShopProductManagerController.swift */, |
| 328 | 19565EC62AF8AD38007D6727 /* CNLiveShopNewProductController.swift */, | 338 | 19565EC62AF8AD38007D6727 /* CNLiveShopNewProductController.swift */, |
| 329 | ); | 339 | ); |
| 330 | - path = "商品管理"; | 340 | + path = GoodsManager; |
| 341 | + sourceTree = "<group>"; | ||
| 342 | + }; | ||
| 343 | + 19565ED02AF8D904007D6727 /* GoodsList */ = { | ||
| 344 | + isa = PBXGroup; | ||
| 345 | + children = ( | ||
| 346 | + 19565ECC2AF8D256007D6727 /* CNLiveShopGoodsListClassifyView.swift */, | ||
| 347 | + 19565ECE2AF8D8F6007D6727 /* CNLiveShopGoodsListCell.swift */, | ||
| 348 | + ); | ||
| 349 | + path = GoodsList; | ||
| 350 | + sourceTree = "<group>"; | ||
| 351 | + }; | ||
| 352 | + 19565ED12AF9FE56007D6727 /* GoodsManager */ = { | ||
| 353 | + isa = PBXGroup; | ||
| 354 | + children = ( | ||
| 355 | + 19565EC82AF8BEC6007D6727 /* CNLiveShopGoodListViewModel.swift */, | ||
| 356 | + ); | ||
| 357 | + path = GoodsManager; | ||
| 358 | + sourceTree = "<group>"; | ||
| 359 | + }; | ||
| 360 | + 19565ED22AF9FE67007D6727 /* GoodsManager */ = { | ||
| 361 | + isa = PBXGroup; | ||
| 362 | + children = ( | ||
| 363 | + 19565ECA2AF8C59C007D6727 /* CNLiveShopGoodsListModel.swift */, | ||
| 364 | + 19565ED32AF9FEB4007D6727 /* CNLiveShopAddEditGoodsModel.swift */, | ||
| 365 | + ); | ||
| 366 | + path = GoodsManager; | ||
| 331 | sourceTree = "<group>"; | 367 | sourceTree = "<group>"; |
| 332 | }; | 368 | }; |
| 333 | 19BB1FE42AEB93850094D962 /* Model */ = { | 369 | 19BB1FE42AEB93850094D962 /* Model */ = { |
| 334 | isa = PBXGroup; | 370 | isa = PBXGroup; |
| 335 | children = ( | 371 | children = ( |
| 372 | + 19565ED22AF9FE67007D6727 /* GoodsManager */, | ||
| 336 | 1926C2902AE0FD4500C71DC3 /* CNLiveDownSlideModel.swift */, | 373 | 1926C2902AE0FD4500C71DC3 /* CNLiveDownSlideModel.swift */, |
| 337 | 19BB1FE52AEB93B80094D962 /* CNLiveShopUserInfoModel.swift */, | 374 | 19BB1FE52AEB93B80094D962 /* CNLiveShopUserInfoModel.swift */, |
| 338 | 19BB1FE72AECAD060094D962 /* CNLiveShopConsoleModel.swift */, | 375 | 19BB1FE72AECAD060094D962 /* CNLiveShopConsoleModel.swift */, |
| @@ -689,6 +726,7 @@ | @@ -689,6 +726,7 @@ | ||
| 689 | 7C83B43C2A52B899004BF4A4 /* ViewModel */ = { | 726 | 7C83B43C2A52B899004BF4A4 /* ViewModel */ = { |
| 690 | isa = PBXGroup; | 727 | isa = PBXGroup; |
| 691 | children = ( | 728 | children = ( |
| 729 | + 19565ED12AF9FE56007D6727 /* GoodsManager */, | ||
| 692 | 7C83B43D2A52B8BA004BF4A4 /* CNHomePageViewModel.swift */, | 730 | 7C83B43D2A52B8BA004BF4A4 /* CNHomePageViewModel.swift */, |
| 693 | 1926C28E2AE0D76C00C71DC3 /* CNLiveDownSlideViewModel.swift */, | 731 | 1926C28E2AE0D76C00C71DC3 /* CNLiveDownSlideViewModel.swift */, |
| 694 | 19BB1FE22AEB8B7C0094D962 /* CNLiveShopConsoleViewModel.swift */, | 732 | 19BB1FE22AEB8B7C0094D962 /* CNLiveShopConsoleViewModel.swift */, |
| @@ -713,6 +751,7 @@ | @@ -713,6 +751,7 @@ | ||
| 713 | 7CD675232A26F8F8008354C1 /* View */ = { | 751 | 7CD675232A26F8F8008354C1 /* View */ = { |
| 714 | isa = PBXGroup; | 752 | isa = PBXGroup; |
| 715 | children = ( | 753 | children = ( |
| 754 | + 19565ED02AF8D904007D6727 /* GoodsList */, | ||
| 716 | 7CD675372A2740B0008354C1 /* CNUpSlideViewRemindView.swift */, | 755 | 7CD675372A2740B0008354C1 /* CNUpSlideViewRemindView.swift */, |
| 717 | 7CD6753B2A2740B0008354C1 /* CNDownSlideView.swift */, | 756 | 7CD6753B2A2740B0008354C1 /* CNDownSlideView.swift */, |
| 718 | 7CD675382A2740B0008354C1 /* CNMainView.swift */, | 757 | 7CD675382A2740B0008354C1 /* CNMainView.swift */, |
| @@ -739,7 +778,7 @@ | @@ -739,7 +778,7 @@ | ||
| 739 | 7CD6754D2A2840B9008354C1 /* Controller */ = { | 778 | 7CD6754D2A2840B9008354C1 /* Controller */ = { |
| 740 | isa = PBXGroup; | 779 | isa = PBXGroup; |
| 741 | children = ( | 780 | children = ( |
| 742 | - 19565EC32AF8ACC2007D6727 /* 商品管理 */, | 781 | + 19565EC32AF8ACC2007D6727 /* GoodsManager */, |
| 743 | 19BB1FDE2AEA3A450094D962 /* CNSlideBaseNavigationController.swift */, | 782 | 19BB1FDE2AEA3A450094D962 /* CNSlideBaseNavigationController.swift */, |
| 744 | 7CD6754E2A2840B9008354C1 /* CNMetaCodeHomePageController.swift */, | 783 | 7CD6754E2A2840B9008354C1 /* CNMetaCodeHomePageController.swift */, |
| 745 | 19123FC02ABC11170075C883 /* CNWebViewController.swift */, | 784 | 19123FC02ABC11170075C883 /* CNWebViewController.swift */, |
| @@ -1055,6 +1094,7 @@ | @@ -1055,6 +1094,7 @@ | ||
| 1055 | isa = PBXSourcesBuildPhase; | 1094 | isa = PBXSourcesBuildPhase; |
| 1056 | buildActionMask = 2147483647; | 1095 | buildActionMask = 2147483647; |
| 1057 | files = ( | 1096 | files = ( |
| 1097 | + 19565EC92AF8BEC6007D6727 /* CNLiveShopGoodListViewModel.swift in Sources */, | ||
| 1058 | 19BB1FE82AECAD060094D962 /* CNLiveShopConsoleModel.swift in Sources */, | 1098 | 19BB1FE82AECAD060094D962 /* CNLiveShopConsoleModel.swift in Sources */, |
| 1059 | 19BB1FEE2AF0E1EC0094D962 /* CNLiveShopDetailViewModel.swift in Sources */, | 1099 | 19BB1FEE2AF0E1EC0094D962 /* CNLiveShopDetailViewModel.swift in Sources */, |
| 1060 | 19F1C2332AB5728B0083D06C /* CNIDCardView.swift in Sources */, | 1100 | 19F1C2332AB5728B0083D06C /* CNIDCardView.swift in Sources */, |
| @@ -1066,6 +1106,7 @@ | @@ -1066,6 +1106,7 @@ | ||
| 1066 | 7989B5C72A4BDC7200A19B10 /* CNLiveMineEarnListViewController.swift in Sources */, | 1106 | 7989B5C72A4BDC7200A19B10 /* CNLiveMineEarnListViewController.swift in Sources */, |
| 1067 | 79396EF12A31C21B0053E1AF /* CNLiveInfoShowViewController.swift in Sources */, | 1107 | 79396EF12A31C21B0053E1AF /* CNLiveInfoShowViewController.swift in Sources */, |
| 1068 | 192336EB2AD9224300D47CD4 /* CNUpSlideViewController.swift in Sources */, | 1108 | 192336EB2AD9224300D47CD4 /* CNUpSlideViewController.swift in Sources */, |
| 1109 | + 19565ECB2AF8C59C007D6727 /* CNLiveShopGoodsListModel.swift in Sources */, | ||
| 1069 | 7963989D2A260E6200D045EB /* CNLiveBaseViewController.swift in Sources */, | 1110 | 7963989D2A260E6200D045EB /* CNLiveBaseViewController.swift in Sources */, |
| 1070 | 798A44FB2A30999900815935 /* CNLiveAlertTool.swift in Sources */, | 1111 | 798A44FB2A30999900815935 /* CNLiveAlertTool.swift in Sources */, |
| 1071 | 19565EC02AF4DE0E007D6727 /* CNLiveShopDetailBtnsCell.swift in Sources */, | 1112 | 19565EC02AF4DE0E007D6727 /* CNLiveShopDetailBtnsCell.swift in Sources */, |
| @@ -1075,8 +1116,10 @@ | @@ -1075,8 +1116,10 @@ | ||
| 1075 | 19D2CE632AE8B65D00691757 /* CNLiveDownSlideTool.swift in Sources */, | 1116 | 19D2CE632AE8B65D00691757 /* CNLiveDownSlideTool.swift in Sources */, |
| 1076 | 790B1FB82A41B6A60074CF00 /* CNLiveMineMessageViewController.swift in Sources */, | 1117 | 790B1FB82A41B6A60074CF00 /* CNLiveMineMessageViewController.swift in Sources */, |
| 1077 | 19BB202B2AF382150094D962 /* CNLiveAdaptTool.swift in Sources */, | 1118 | 19BB202B2AF382150094D962 /* CNLiveAdaptTool.swift in Sources */, |
| 1119 | + 19565ECD2AF8D256007D6727 /* CNLiveShopGoodsListClassifyView.swift in Sources */, | ||
| 1078 | 798A44F22A30674200815935 /* CNLiveMineSubBodyListView.swift in Sources */, | 1120 | 798A44F22A30674200815935 /* CNLiveMineSubBodyListView.swift in Sources */, |
| 1079 | 799172382AF090CD00DC01A8 /* CNLiveShopBodyListView.swift in Sources */, | 1121 | 799172382AF090CD00DC01A8 /* CNLiveShopBodyListView.swift in Sources */, |
| 1122 | + 19565ED42AF9FEB4007D6727 /* CNLiveShopAddEditGoodsModel.swift in Sources */, | ||
| 1080 | 790D01822A2D88FC00C5978D /* CNLiveConfigMacro.swift in Sources */, | 1123 | 790D01822A2D88FC00C5978D /* CNLiveConfigMacro.swift in Sources */, |
| 1081 | 19CC4D4B2ADD086F00308E2A /* CNUpSlideDetailViewController.swift in Sources */, | 1124 | 19CC4D4B2ADD086F00308E2A /* CNUpSlideDetailViewController.swift in Sources */, |
| 1082 | 7C83B4402A52BB2B004BF4A4 /* CNGlobalEnum.swift in Sources */, | 1125 | 7C83B4402A52BB2B004BF4A4 /* CNGlobalEnum.swift in Sources */, |
| @@ -1167,6 +1210,7 @@ | @@ -1167,6 +1210,7 @@ | ||
| 1167 | 7C4931292A2D8BA8000E44B4 /* CNLiveBaseTabBarViewController.swift in Sources */, | 1210 | 7C4931292A2D8BA8000E44B4 /* CNLiveBaseTabBarViewController.swift in Sources */, |
| 1168 | 79F4B1162A32B96B00993C03 /* CNLiveMineInfoViewController.swift in Sources */, | 1211 | 79F4B1162A32B96B00993C03 /* CNLiveMineInfoViewController.swift in Sources */, |
| 1169 | 7CD6753F2A2740B0008354C1 /* CNDownSlideViewRemindView.swift in Sources */, | 1212 | 7CD6753F2A2740B0008354C1 /* CNDownSlideViewRemindView.swift in Sources */, |
| 1213 | + 19565ECF2AF8D8F6007D6727 /* CNLiveShopGoodsListCell.swift in Sources */, | ||
| 1170 | 7CD6753C2A2740B0008354C1 /* CNUpSlideViewRemindView.swift in Sources */, | 1214 | 7CD6753C2A2740B0008354C1 /* CNUpSlideViewRemindView.swift in Sources */, |
| 1171 | 19BB1FEC2AF0AB8E0094D962 /* CNLiveDownShopDetailController.swift in Sources */, | 1215 | 19BB1FEC2AF0AB8E0094D962 /* CNLiveDownShopDetailController.swift in Sources */, |
| 1172 | 798A44E82A30134400815935 /* CNLiveMineHeaderView.swift in Sources */, | 1216 | 798A44E82A30134400815935 /* CNLiveMineHeaderView.swift in Sources */, |
metaCode/Classes/Environment/CNLiveEnvironment.swift
| @@ -31,8 +31,6 @@ let APPBaseWjjUrl: String = CNLiveEnvironmentManager.shared.base_wjj_url | @@ -31,8 +31,6 @@ let APPBaseWjjUrl: String = CNLiveEnvironmentManager.shared.base_wjj_url | ||
| 31 | let APPBaseWjjBUrl: String = CNLiveEnvironmentManager.shared.base_wjj_b_url | 31 | let APPBaseWjjBUrl: String = CNLiveEnvironmentManager.shared.base_wjj_b_url |
| 32 | /// 网家家内电商接口 | 32 | /// 网家家内电商接口 |
| 33 | let APPBaseWjjShopUrl: String = CNLiveEnvironmentManager.shared.base_mjj_shop_url | 33 | let APPBaseWjjShopUrl: String = CNLiveEnvironmentManager.shared.base_mjj_shop_url |
| 34 | -/// 商家版电商接口 | ||
| 35 | -let APPBaseShopUrl: String = CNLiveEnvironmentManager.shared.base_shop_url | ||
| 36 | /// cms接口 | 34 | /// cms接口 |
| 37 | let APPBaseCMSUrl: String = CNLiveEnvironmentManager.shared.base_cms_url | 35 | let APPBaseCMSUrl: String = CNLiveEnvironmentManager.shared.base_cms_url |
| 38 | ///当前APP的环境 | 36 | ///当前APP的环境 |
| @@ -80,8 +78,6 @@ class CNLiveEnvironmentManager: NSObject{ | @@ -80,8 +78,6 @@ class CNLiveEnvironmentManager: NSObject{ | ||
| 80 | var img_token_url: String | 78 | var img_token_url: String |
| 81 | /// 网家家电商域名请求 | 79 | /// 网家家电商域名请求 |
| 82 | var base_mjj_shop_url: String | 80 | var base_mjj_shop_url: String |
| 83 | - /// 电商域名请求 | ||
| 84 | - var base_shop_url: String | ||
| 85 | /// 元码webViewUA设置 | 81 | /// 元码webViewUA设置 |
| 86 | var base_web_UA: String = "yuanma" | 82 | var base_web_UA: String = "yuanma" |
| 87 | /// cms域名请求 | 83 | /// cms域名请求 |
| @@ -105,7 +101,6 @@ class CNLiveEnvironmentManager: NSObject{ | @@ -105,7 +101,6 @@ class CNLiveEnvironmentManager: NSObject{ | ||
| 105 | self.base_wjj_url = "" | 101 | self.base_wjj_url = "" |
| 106 | self.base_wjj_b_url = "" | 102 | self.base_wjj_b_url = "" |
| 107 | self.base_mjj_shop_url = "" | 103 | self.base_mjj_shop_url = "" |
| 108 | - self.base_shop_url = "" | ||
| 109 | self.base_cms_url = "" | 104 | self.base_cms_url = "" |
| 110 | self.currentEnvironment = .development | 105 | self.currentEnvironment = .development |
| 111 | } | 106 | } |
| @@ -148,7 +143,6 @@ class CNLiveEnvironmentManager: NSObject{ | @@ -148,7 +143,6 @@ class CNLiveEnvironmentManager: NSObject{ | ||
| 148 | self.base_wjj_b_url = "https://managemall.cnlive.com:8080" | 143 | self.base_wjj_b_url = "https://managemall.cnlive.com:8080" |
| 149 | self.base_wjj_url = "https://apiwjj.cnlive.com" | 144 | self.base_wjj_url = "https://apiwjj.cnlive.com" |
| 150 | self.base_mjj_shop_url = "https://manageshop.cnlive.com" | 145 | self.base_mjj_shop_url = "https://manageshop.cnlive.com" |
| 151 | - self.base_shop_url = "https://managemall.cnlive.com:8080" | ||
| 152 | self.base_cms_url = "https://cmsapi.cnlive.com" | 146 | self.base_cms_url = "https://cmsapi.cnlive.com" |
| 153 | } | 147 | } |
| 154 | //testFlight 环境配置 | 148 | //testFlight 环境配置 |
| @@ -166,7 +160,6 @@ class CNLiveEnvironmentManager: NSObject{ | @@ -166,7 +160,6 @@ class CNLiveEnvironmentManager: NSObject{ | ||
| 166 | self.base_wjj_b_url = "https://managemall.cnlive.com:8080" | 160 | self.base_wjj_b_url = "https://managemall.cnlive.com:8080" |
| 167 | self.base_wjj_url = "https://apiwjj.cnlive.com" | 161 | self.base_wjj_url = "https://apiwjj.cnlive.com" |
| 168 | self.base_mjj_shop_url = "https://manageshop.cnlive.com" | 162 | self.base_mjj_shop_url = "https://manageshop.cnlive.com" |
| 169 | - self.base_shop_url = "https://managemall.cnlive.com:8080" | ||
| 170 | self.base_cms_url = "https://cmsapi.cnlive.com" | 163 | self.base_cms_url = "https://cmsapi.cnlive.com" |
| 171 | } | 164 | } |
| 172 | //production 生产环境配置 | 165 | //production 生产环境配置 |
| @@ -184,7 +177,6 @@ class CNLiveEnvironmentManager: NSObject{ | @@ -184,7 +177,6 @@ class CNLiveEnvironmentManager: NSObject{ | ||
| 184 | self.base_wjj_b_url = "https://managemall.cnlive.com:8080" | 177 | self.base_wjj_b_url = "https://managemall.cnlive.com:8080" |
| 185 | self.base_wjj_url = "https://apiwjj.cnlive.com" | 178 | self.base_wjj_url = "https://apiwjj.cnlive.com" |
| 186 | self.base_mjj_shop_url = "https://manageshop.cnlive.com" | 179 | self.base_mjj_shop_url = "https://manageshop.cnlive.com" |
| 187 | - self.base_shop_url = "https://managemall.cnlive.com:8080" | ||
| 188 | self.base_cms_url = "https://cmsapi.cnlive.com" | 180 | self.base_cms_url = "https://cmsapi.cnlive.com" |
| 189 | } | 181 | } |
| 190 | 182 |
metaCode/Classes/Main/HomePage/Controller/GoodsManager/CNLiveShopNewProductController.swift
0 → 100644
| 1 | +// | ||
| 2 | +// CNLiveShopNewProductController.swift | ||
| 3 | +// metaCode | ||
| 4 | +// | ||
| 5 | +// Created by zx on 2023/11/6. | ||
| 6 | +// 新增商品 | ||
| 7 | + | ||
| 8 | +import Foundation | ||
| 9 | + | ||
| 10 | +/// | ||
| 11 | +enum CNLiveShopGoodsAddEditType{ | ||
| 12 | + | ||
| 13 | + /// 新增商品 | ||
| 14 | + case add | ||
| 15 | + /// 编辑商品 | ||
| 16 | + case edit | ||
| 17 | +} | ||
| 18 | + | ||
| 19 | +class CNLiveShopNewProductController:CNLiveBaseViewController{ | ||
| 20 | + | ||
| 21 | + var type:CNLiveShopGoodsAddEditType = .add | ||
| 22 | + lazy var bgScrollView :UIScrollView = { | ||
| 23 | + let bgScrollView = UIScrollView(frame: CGRect(x: 0, y: KNavigationHeight, width: KSreenWidth, height: KSreenHeight-KNavigationHeight-KTabBarHeight)) | ||
| 24 | + bgScrollView.showsVerticalScrollIndicator = false | ||
| 25 | + return bgScrollView | ||
| 26 | + }() | ||
| 27 | + | ||
| 28 | + lazy var dataModel: CNLiveShopAddEditGoodsModel = { | ||
| 29 | + let dataModel = CNLiveShopAddEditGoodsModel() | ||
| 30 | + return dataModel | ||
| 31 | + }() | ||
| 32 | + | ||
| 33 | + override func viewDidLoad() { | ||
| 34 | + super.viewDidLoad() | ||
| 35 | + self.setUI() | ||
| 36 | + self.bgScrollView.backgroundColor = .red | ||
| 37 | + self.view.addSubview(self.bgScrollView) | ||
| 38 | + self.type = .add | ||
| 39 | + } | ||
| 40 | + func setUI(){ | ||
| 41 | + navigationBarHidden = false | ||
| 42 | + titleName = "新增商品" | ||
| 43 | + | ||
| 44 | + } | ||
| 45 | + func initBgScrollViewContentView(){ | ||
| 46 | + if self.type == .add{ | ||
| 47 | + self.dataModel.initDataSource() | ||
| 48 | + self.dataModel.list | ||
| 49 | + }else if self.type == .edit{ | ||
| 50 | + | ||
| 51 | + }else{ | ||
| 52 | + | ||
| 53 | + } | ||
| 54 | + | ||
| 55 | + } | ||
| 56 | + | ||
| 57 | +} |
metaCode/Classes/Main/HomePage/Controller/GoodsManager/CNLiveShopProductManagerController.swift
0 → 100644
| 1 | +// | ||
| 2 | +// CNLiveShopProductManagerController.swift | ||
| 3 | +// metaCode | ||
| 4 | +// | ||
| 5 | +// Created by zx on 2023/11/6. | ||
| 6 | +// 商品管理 | ||
| 7 | + | ||
| 8 | +import Foundation | ||
| 9 | + | ||
| 10 | +class CNLiveShopProductManagerController:CNLiveBaseViewController, UITableViewDataSource, UITableViewDelegate{ | ||
| 11 | + | ||
| 12 | + let kCNLiveShopGoodsListCellIdentifier = "kCNLiveShopGoodsListCellIdentifier" | ||
| 13 | + | ||
| 14 | + | ||
| 15 | + // MARK: - 懒加载 | ||
| 16 | + ///数据源 | ||
| 17 | + lazy var dataArray: NSMutableArray = { | ||
| 18 | + var dataArray = NSMutableArray() | ||
| 19 | + return dataArray | ||
| 20 | + }() | ||
| 21 | + | ||
| 22 | + lazy var classifyView: CNLiveShopGoodsListClassifyView = { | ||
| 23 | + let classifyView = CNLiveShopGoodsListClassifyView(frame: CGRect(x: 0, y: KNavigationHeight, width: KSreenWidth, height: 44)) | ||
| 24 | + classifyView.backgroundColor = .white | ||
| 25 | + return classifyView | ||
| 26 | + }() | ||
| 27 | + lazy var addBtn: UIButton = { | ||
| 28 | + let addBtn = UIButton(type: .custom) | ||
| 29 | + addBtn.frame = CGRect(x: 0, y: 0, width: 100, height:KNavigationHeight-KStatusBarHeight ) | ||
| 30 | + addBtn.addTarget(self, action: #selector(addBtnAction), for: .touchUpInside) | ||
| 31 | + addBtn.setTitle("新增商品", for: .normal) | ||
| 32 | + addBtn.setTitleColor(HexColor("#666666"), for: .normal) | ||
| 33 | + return addBtn | ||
| 34 | + }() | ||
| 35 | + lazy var tableView : UITableView = { | ||
| 36 | + let tableView = UITableView(frame: .zero, style: .plain) | ||
| 37 | + tableView.dataSource = self | ||
| 38 | + tableView.delegate = self | ||
| 39 | + tableView.separatorStyle = .none | ||
| 40 | + tableView.rowHeight = 167 | ||
| 41 | + tableView.register(CNLiveShopGoodsListCell.self, forCellReuseIdentifier: kCNLiveShopGoodsListCellIdentifier) | ||
| 42 | + return tableView | ||
| 43 | + }() | ||
| 44 | + | ||
| 45 | + override func viewDidLoad() { | ||
| 46 | + super.viewDidLoad() | ||
| 47 | + self.setUI() | ||
| 48 | + self.getGoodsListApi(page: "1") | ||
| 49 | + } | ||
| 50 | + func setUI(){ | ||
| 51 | + navigationBarHidden = false | ||
| 52 | + titleName = "商品管理" | ||
| 53 | + rightNavBtns = [self.addBtn] | ||
| 54 | + self.view.addSubview(self.classifyView) | ||
| 55 | + self.view.addSubview(tableView) | ||
| 56 | + tableView.frame = CGRect(x: 0, y:self.classifyView.bottom , width: KSreenWidth, height: KSreenHeight - self.classifyView.bottom) | ||
| 57 | + } | ||
| 58 | + | ||
| 59 | + // MARK: - UITableViewDelegate | ||
| 60 | + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { | ||
| 61 | + return self.dataArray.count | ||
| 62 | + } | ||
| 63 | + | ||
| 64 | + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { | ||
| 65 | + let goodsModel = self.dataArray[indexPath.row] as! CNLiveShopGoodsListModel | ||
| 66 | + guard let cell = tableView.dequeueReusableCell(withIdentifier: kCNLiveShopGoodsListCellIdentifier) as? CNLiveShopGoodsListCell | ||
| 67 | + else { | ||
| 68 | + let cell = CNLiveShopGoodsListCell() | ||
| 69 | + cell.goodsModel = goodsModel | ||
| 70 | + return cell | ||
| 71 | + } | ||
| 72 | + | ||
| 73 | + cell.goodsModel = goodsModel | ||
| 74 | + return cell | ||
| 75 | + } | ||
| 76 | + func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { | ||
| 77 | + | ||
| 78 | + let goodsModel = self.dataArray[indexPath.row] as! CNLiveShopGoodsListModel | ||
| 79 | + | ||
| 80 | + } | ||
| 81 | + func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { | ||
| 82 | + return 167 | ||
| 83 | + } | ||
| 84 | + | ||
| 85 | + // MARK: - BtnAction | ||
| 86 | + @objc func addBtnAction(){ | ||
| 87 | + | ||
| 88 | + currentViewController()?.navigationController?.pushViewController(CNLiveShopNewProductController(), animated: true) | ||
| 89 | + } | ||
| 90 | + | ||
| 91 | + //MARK: - 网络请求获取商品列表 | ||
| 92 | + func getGoodsListApi(page:String) | ||
| 93 | + { | ||
| 94 | + showLoading(message: "") | ||
| 95 | + CNLiveShopGoodListViewModel.requestGoodsList(shopId: DSUserInfoManager.shared.dsUserInfo.id, sortType: "1", page: page) { result, status in | ||
| 96 | + hiddenLoading() | ||
| 97 | + if status == .success{ | ||
| 98 | + self.dataArray.addObjects(from: result as! [CNLiveShopGoodsListModel]) | ||
| 99 | + let newDataArray = NSMutableArray() | ||
| 100 | + for goodsModel in self.dataArray { | ||
| 101 | + if let model = goodsModel as? CNLiveShopGoodsListModel{ | ||
| 102 | + newDataArray.add(model) | ||
| 103 | + } | ||
| 104 | + } | ||
| 105 | + self.dataArray.removeAllObjects() | ||
| 106 | + self.dataArray.addObjects(from: newDataArray as! [Any]) | ||
| 107 | + | ||
| 108 | + self.tableView.reloadData() | ||
| 109 | + }else if (status == .failed){ | ||
| 110 | +// self.NetApiStatus = .apiError | ||
| 111 | + }else if (status == .noNetwork){ | ||
| 112 | + | ||
| 113 | +// self.NetApiStatus = .notNetwork | ||
| 114 | + } | ||
| 115 | + } | ||
| 116 | +// | ||
| 117 | + } | ||
| 118 | +} |
metaCode/Classes/Main/HomePage/Controller/商品管理/CNLiveShopNewProductController.swift deleted
100644 → 0
metaCode/Classes/Main/HomePage/Controller/商品管理/CNLiveShopProductManagerController.swift deleted
100644 → 0
| 1 | -// | ||
| 2 | -// CNLiveShopProductManagerController.swift | ||
| 3 | -// metaCode | ||
| 4 | -// | ||
| 5 | -// Created by zx on 2023/11/6. | ||
| 6 | -// 商品管理 | ||
| 7 | - | ||
| 8 | -import Foundation | ||
| 9 | - | ||
| 10 | -class CNLiveShopProductManagerController:CNLiveBaseViewController{ | ||
| 11 | - | ||
| 12 | -// lazy var navView: UIView = { | ||
| 13 | -// let navView = UIView(frame: CGRect(x: 0, y: 0, width: KSreenWidth, height: KNavigationHeight)) | ||
| 14 | -// navView.backgroundColor = .white | ||
| 15 | -// return navView | ||
| 16 | -// }() | ||
| 17 | -// lazy var titleLbl: UILabel = { | ||
| 18 | -// let titleLbl = UILabel(frame: CGRect(x: KSreenWidth*0.5-100, y: KStatusBarHeight, width: 200, height: KNavigationHeight-KStatusBarHeight)) | ||
| 19 | -// titleLbl.text = "商品管理" | ||
| 20 | -// titleLbl.font = Font_18 | ||
| 21 | -// titleLbl.textAlignment = .center | ||
| 22 | -// titleLbl.textColor = HexColor("#333333") | ||
| 23 | -// return titleLbl | ||
| 24 | -// }() | ||
| 25 | - | ||
| 26 | - lazy var addBtn: UIButton = { | ||
| 27 | - let addBtn = UIButton(type: .custom) | ||
| 28 | - addBtn.frame = CGRect(x: 0, y: 0, width: 100, height:KNavigationHeight-KStatusBarHeight ) | ||
| 29 | - addBtn.addTarget(self, action: #selector(addBtnAction), for: .touchUpInside) | ||
| 30 | - addBtn.setTitle("新增商品", for: .normal) | ||
| 31 | - addBtn.setTitleColor(HexColor("#666666"), for: .normal) | ||
| 32 | - return addBtn | ||
| 33 | - }() | ||
| 34 | - | ||
| 35 | - override func viewDidLoad() { | ||
| 36 | - super.viewDidLoad() | ||
| 37 | - self.setUI() | ||
| 38 | - } | ||
| 39 | - func setUI(){ | ||
| 40 | - navigationBarHidden = false | ||
| 41 | - titleName = "商品管理" | ||
| 42 | - rightNavBtns = [self.addBtn] | ||
| 43 | - } | ||
| 44 | - | ||
| 45 | - // MARK: - BtnAction | ||
| 46 | - @objc func addBtnAction(){ | ||
| 47 | - | ||
| 48 | - } | ||
| 49 | -} |
metaCode/Classes/Main/HomePage/View/GoodsList/CNLiveShopGoodsListCell.swift
0 → 100644
| 1 | +// | ||
| 2 | +// CNLiveShopGoodsListCell.swift | ||
| 3 | +// metaCode | ||
| 4 | +// | ||
| 5 | +// Created by zx on 2023/11/6. | ||
| 6 | +// | ||
| 7 | + | ||
| 8 | +import Foundation | ||
| 9 | + | ||
| 10 | +class CNLiveShopGoodsListCell: UITableViewCell { | ||
| 11 | + | ||
| 12 | + //goodsModel | ||
| 13 | + var _goodsModel : CNLiveShopGoodsListModel? | ||
| 14 | + var goodsModel : CNLiveShopGoodsListModel? { | ||
| 15 | + get{ | ||
| 16 | + _goodsModel | ||
| 17 | + } | ||
| 18 | + set{ | ||
| 19 | + _goodsModel = newValue! | ||
| 20 | + setupNewUI(model: _goodsModel!) | ||
| 21 | + } | ||
| 22 | + } | ||
| 23 | + //MARK: - 懒加载 | ||
| 24 | + lazy var iconImgView :UIImageView = { | ||
| 25 | + let iconImgView = UIImageView(frame: CGRect(x: 15, y: 15, width: 90, height: 90)) | ||
| 26 | + return iconImgView | ||
| 27 | + }() | ||
| 28 | + ///编辑按钮 | ||
| 29 | + lazy var editBtn: UIButton = { | ||
| 30 | + let editBtn = UIButton(type: .custom) | ||
| 31 | + editBtn.frame = CGRect(x: KSreenWidth-15*2-28, y: 0, width: 15*2+28, height: 15*2+20) | ||
| 32 | + editBtn.setTitle("编辑", for: .normal) | ||
| 33 | + editBtn.setTitleColor(HexColor("#333333"), for: .normal) | ||
| 34 | + editBtn.titleLabel?.font = Font_15 | ||
| 35 | + editBtn.addTarget(self, action: #selector(editBtnAction), for: .touchUpInside) | ||
| 36 | + return editBtn | ||
| 37 | + }() | ||
| 38 | + ///标题 | ||
| 39 | + lazy var titleLabel: UILabel = { | ||
| 40 | + let titleLabel = UILabel.init(frame: CGRectMake(self.iconImgView.right+15, 15, self.editBtn.left-self.iconImgView.right-15*2, 21)) | ||
| 41 | + titleLabel.textColor = HexColor("#333333") | ||
| 42 | + titleLabel.textAlignment = .left | ||
| 43 | + titleLabel.font = Font_15 | ||
| 44 | + titleLabel.adjustsFontSizeToFitWidth=true | ||
| 45 | + titleLabel.text = "啊啊啊啊啊" | ||
| 46 | + return titleLabel | ||
| 47 | + }() | ||
| 48 | + ///副标题 | ||
| 49 | + lazy var subTitleLabel: UILabel = { | ||
| 50 | + let subTitleLabel = UILabel.init(frame: CGRectMake(self.iconImgView.right+15, self.editBtn.bottom, KSreenWidth-self.iconImgView.right-15*2, 18)) | ||
| 51 | + subTitleLabel.textColor = HexColor("#999999") | ||
| 52 | + subTitleLabel.textAlignment = .left | ||
| 53 | + subTitleLabel.font = Font_13 | ||
| 54 | + subTitleLabel.adjustsFontSizeToFitWidth=true | ||
| 55 | + subTitleLabel.text = "啊啊啊啊" | ||
| 56 | + return subTitleLabel | ||
| 57 | + }() | ||
| 58 | + ///价格 | ||
| 59 | + lazy var priceLabel: UILabel = { | ||
| 60 | + let priceLabel = UILabel.init(frame: CGRectMake(self.iconImgView.right+15, self.subTitleLabel.bottom+19, KSreenWidth-80-17-15*2-self.iconImgView.right, 27)) | ||
| 61 | + priceLabel.textColor = HexColor("#FF3355") | ||
| 62 | + priceLabel.textAlignment = .left | ||
| 63 | + priceLabel.font = Font_19 | ||
| 64 | + priceLabel.adjustsFontSizeToFitWidth=true | ||
| 65 | + priceLabel.text = "10000.00" | ||
| 66 | + return priceLabel | ||
| 67 | + }() | ||
| 68 | + ///底部line | ||
| 69 | + lazy var bottomLineView :UIView = { | ||
| 70 | + let bottomLineView = UIView(frame: CGRect(x: 0, y: 167-5, width: KSreenWidth, height: 5)) | ||
| 71 | + bottomLineView.backgroundColor = UIColor(hue:0.00, saturation:0.00, brightness:0.98, alpha:1.00) | ||
| 72 | + return bottomLineView | ||
| 73 | + }() | ||
| 74 | + ///库存 | ||
| 75 | + lazy var countLabel: UILabel = { | ||
| 76 | + let countLabel = UILabel.init(frame: CGRectMake(15, self.iconImgView.bottom+15, KSreenWidth-58-15-15*2, self.bottomLineView.top-self.iconImgView.bottom-15)) | ||
| 77 | + countLabel.textColor = HexColor("#333333") | ||
| 78 | + countLabel.textAlignment = .left | ||
| 79 | + countLabel.font = Font_15 | ||
| 80 | + countLabel.adjustsFontSizeToFitWidth=true | ||
| 81 | + countLabel.text = "库存:10000" | ||
| 82 | + return countLabel | ||
| 83 | + }() | ||
| 84 | + ///编辑库存按钮 | ||
| 85 | + lazy var editCountBtn: UIButton = { | ||
| 86 | + let editCountBtn = UIButton(type: .custom) | ||
| 87 | + editCountBtn.frame = CGRect(x: KSreenWidth-15-58, y: self.countLabel.top, width: 58, height: self.countLabel.height) | ||
| 88 | + editCountBtn.setTitle("编辑库存", for: .normal) | ||
| 89 | + editCountBtn.setTitleColor(HexColor("#61C464"), for: .normal) | ||
| 90 | + editCountBtn.titleLabel?.font = Font_14 | ||
| 91 | + editCountBtn.addTarget(self, action: #selector(editCountBtnAction), for: .touchUpInside) | ||
| 92 | + return editCountBtn | ||
| 93 | + }() | ||
| 94 | + | ||
| 95 | + override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { | ||
| 96 | + super.init(style: style, reuseIdentifier: reuseIdentifier) | ||
| 97 | + self.selectionStyle = .none | ||
| 98 | + contentView.backgroundColor = .white | ||
| 99 | + contentView.addSubview(self.iconImgView) | ||
| 100 | + contentView.addSubview(self.editBtn) | ||
| 101 | + contentView.addSubview(self.titleLabel) | ||
| 102 | + contentView.addSubview(self.subTitleLabel) | ||
| 103 | + contentView.addSubview(self.priceLabel) | ||
| 104 | + contentView.addSubview(self.bottomLineView) | ||
| 105 | + contentView.addSubview(self.countLabel) | ||
| 106 | + contentView.addSubview(self.editCountBtn) | ||
| 107 | + | ||
| 108 | + } | ||
| 109 | + | ||
| 110 | + required init?(coder: NSCoder) { | ||
| 111 | + fatalError("init(coder:) has not been implemented") | ||
| 112 | + } | ||
| 113 | + | ||
| 114 | + func setupNewUI(model:CNLiveShopGoodsListModel){ | ||
| 115 | + self.iconImgView.kf.setImage(with: URL(string: model.simg ?? "")) | ||
| 116 | + self.titleLabel.text = model.title ?? "" | ||
| 117 | + self.subTitleLabel.text = model.ads ?? "" | ||
| 118 | + self.priceLabel.text = "¥"+(model.price ?? "0.00") | ||
| 119 | + if model.state == 2{ | ||
| 120 | + //设置 上架 | ||
| 121 | + }else{ | ||
| 122 | + //设置 下架 | ||
| 123 | + } | ||
| 124 | + self.countLabel.text = "库存: "+(model.count ?? "0") | ||
| 125 | + } | ||
| 126 | + | ||
| 127 | + // MARK: - BtnAction | ||
| 128 | + @objc func editBtnAction(){ | ||
| 129 | + | ||
| 130 | + } | ||
| 131 | + @objc func editCountBtnAction(){ | ||
| 132 | + | ||
| 133 | + } | ||
| 134 | + | ||
| 135 | +} |
metaCode/Classes/Main/HomePage/View/GoodsList/CNLiveShopGoodsListClassifyView.swift
0 → 100644
| 1 | +// | ||
| 2 | +// CNLiveShopGoodsListClassifyView.swift | ||
| 3 | +// metaCode | ||
| 4 | +// | ||
| 5 | +// Created by zx on 2023/11/6. | ||
| 6 | +// | ||
| 7 | + | ||
| 8 | +import Foundation | ||
| 9 | + | ||
| 10 | +class CNLiveShopGoodsListClassifyView: UIView { | ||
| 11 | + | ||
| 12 | + //最新 | ||
| 13 | + lazy var lastestBtn: UIButton = { | ||
| 14 | + let lastestBtn = UIButton(type: .custom) | ||
| 15 | + lastestBtn.frame = CGRect(x: 0, y: 0, width: KSreenWidth*0.5, height: self.height) | ||
| 16 | + lastestBtn.setTitle("最新", for: .normal) | ||
| 17 | + lastestBtn.setTitle("最新", for: .selected) | ||
| 18 | + lastestBtn.titleLabel?.font = Font_14 | ||
| 19 | + lastestBtn.setTitleColor(HexColor("#999999"), for: .normal) | ||
| 20 | + lastestBtn.setTitleColor(HexColor("#FC1541"), for: .selected) | ||
| 21 | + lastestBtn.addTarget(self, action: #selector(lastestBtnAction), for: .touchUpInside) | ||
| 22 | + return lastestBtn | ||
| 23 | + }() | ||
| 24 | + | ||
| 25 | + //价格 后面再完善 | ||
| 26 | + lazy var priceBtn: UIButton = { | ||
| 27 | + let priceBtn = UIButton(type: .custom) | ||
| 28 | + priceBtn.frame = CGRect(x: KSreenWidth*0.5, y: 0, width: KSreenWidth*0.5, height: self.height) | ||
| 29 | + priceBtn.setTitle("价格", for: .normal) | ||
| 30 | + priceBtn.setTitle("价格", for: .selected) | ||
| 31 | + priceBtn.titleLabel?.font = Font_14 | ||
| 32 | + priceBtn.setTitleColor(HexColor("#999999"), for: .normal) | ||
| 33 | + priceBtn.setTitleColor(HexColor("#FC1541"), for: .selected) | ||
| 34 | + priceBtn.addTarget(self, action: #selector(priceBtnAction), for: .touchUpInside) | ||
| 35 | + return priceBtn | ||
| 36 | + }() | ||
| 37 | + | ||
| 38 | + override init(frame: CGRect) { | ||
| 39 | + super.init(frame: frame) | ||
| 40 | + self.setUI() | ||
| 41 | + } | ||
| 42 | + | ||
| 43 | + func setUI(){ | ||
| 44 | + self.addSubview(self.lastestBtn) | ||
| 45 | + self.addSubview(self.priceBtn) | ||
| 46 | + self.lastestBtn.isSelected = true | ||
| 47 | + } | ||
| 48 | + | ||
| 49 | + required init?(coder: NSCoder) { | ||
| 50 | + fatalError("init(coder:) has not been implemented") | ||
| 51 | + } | ||
| 52 | + | ||
| 53 | + @objc func priceBtnAction(){ | ||
| 54 | + self.priceBtn.isSelected = true | ||
| 55 | + self.lastestBtn.isSelected = false | ||
| 56 | + } | ||
| 57 | + @objc func lastestBtnAction(){ | ||
| 58 | + self.lastestBtn.isSelected = true | ||
| 59 | + self.priceBtn.isSelected = false | ||
| 60 | + } | ||
| 61 | +} | ||
| 62 | + |
metaCode/Classes/Main/HomePage/ViewModel/CNLiveShopConsoleViewModel.swift
| @@ -17,7 +17,8 @@ class CNLiveShopConsoleViewModel: NSObject { | @@ -17,7 +17,8 @@ class CNLiveShopConsoleViewModel: NSObject { | ||
| 17 | param.setValue(UserInfoManager.shared.userInfo.uid, forKey: "uid") | 17 | param.setValue(UserInfoManager.shared.userInfo.uid, forKey: "uid") |
| 18 | CNLiveNetworking.setAllowRequestDefaultArgument(true) | 18 | CNLiveNetworking.setAllowRequestDefaultArgument(true) |
| 19 | CNLiveNetworking.setupShowDataResult(false) | 19 | CNLiveNetworking.setupShowDataResult(false) |
| 20 | - CNLiveNetworking.requestNetwork(with: .POST, urlString: APPBaseShopUrl+"/api/v1/isSellerNew", param: param as! [String : String], cacheType: .networkOnly) { task, result, error in | 20 | + CNLiveNetworking.setupDSRequest(true) |
| 21 | + CNLiveNetworking.requestNetwork(with: .POST, urlString: APPBaseWjjBUrl+"/api/v1/isSellerNew", param: param as! [String : String], cacheType: .networkOnly) { task, result, error in | ||
| 21 | hiddenLoading() | 22 | hiddenLoading() |
| 22 | if (error == nil) { | 23 | if (error == nil) { |
| 23 | let resp = result as! NSDictionary | 24 | let resp = result as! NSDictionary |
metaCode/Classes/Main/HomePage/ViewModel/CNLiveShopDetailViewModel.swift
| @@ -20,7 +20,8 @@ class CNLiveShopDetailViewModel:NSObject{ | @@ -20,7 +20,8 @@ class CNLiveShopDetailViewModel:NSObject{ | ||
| 20 | 20 | ||
| 21 | CNLiveNetworking.setAllowRequestDefaultArgument(true) | 21 | CNLiveNetworking.setAllowRequestDefaultArgument(true) |
| 22 | CNLiveNetworking.setupShowDataResult(false) | 22 | CNLiveNetworking.setupShowDataResult(false) |
| 23 | - CNLiveNetworking.requestNetwork(with: .POST, urlString: APPBaseShopUrl+"/api/v1/index", param: param as! [String : String], cacheType: .networkOnly) { task, result, error in | 23 | + CNLiveNetworking.setupDSRequest(true) |
| 24 | + CNLiveNetworking.requestNetwork(with: .POST, urlString: APPBaseWjjBUrl+"/api/v1/index", param: param as! [String : String], cacheType: .networkOnly) { task, result, error in | ||
| 24 | hiddenLoading() | 25 | hiddenLoading() |
| 25 | if (error == nil) { | 26 | if (error == nil) { |
| 26 | let resp = result as! NSDictionary | 27 | let resp = result as! NSDictionary |
metaCode/Classes/Main/HomePage/ViewModel/GoodsManager/CNLiveShopGoodListViewModel.swift
0 → 100644
| 1 | +// | ||
| 2 | +// CNLiveShopGoodListViewModel.swift | ||
| 3 | +// metaCode | ||
| 4 | +// | ||
| 5 | +// Created by zx on 2023/11/6. | ||
| 6 | +// | ||
| 7 | + | ||
| 8 | +import Foundation | ||
| 9 | +import CNLiveRequestBastKit | ||
| 10 | + | ||
| 11 | +class CNLiveShopGoodListViewModel:NSObject{ | ||
| 12 | + /// 商品列表获取 | ||
| 13 | + /// - Parameters: | ||
| 14 | + /// - shopId:id | ||
| 15 | + /// - sortType:排序类型 1新品 2价格从底到高 3 价格从高到底 | ||
| 16 | + /// - page:页数 1 | ||
| 17 | + static func requestGoodsList(shopId:String?,sortType:String?,page:String?,resultBlock: @escaping downSlideResultBlock) { | ||
| 18 | + let param = NSMutableDictionary() | ||
| 19 | + param.setValue(shopId, forKey: "shop_id") | ||
| 20 | + param.setValue(sortType ?? "1", forKey: "type") | ||
| 21 | + param.setValue("0", forKey: "state") | ||
| 22 | + param.setValue("", forKey: "category_id") | ||
| 23 | + param.setValue("", forKey: "keyword") | ||
| 24 | + param.setValue(page ?? "1", forKey: "page") | ||
| 25 | + | ||
| 26 | + | ||
| 27 | + CNLiveNetworking.setAllowRequestDefaultArgument(true) | ||
| 28 | + CNLiveNetworking.setupShowDataResult(false) | ||
| 29 | + CNLiveNetworking.setupDSRequest(true) | ||
| 30 | + CNLiveNetworking.requestNetwork(with: .GET, urlString: APPBaseWjjBUrl+"/api/v1/getGoodsList", param: param as! [String : String], cacheType: .networkOnly) { task, result, error in | ||
| 31 | + hiddenLoading() | ||
| 32 | + if (error == nil) { | ||
| 33 | + let resp = result as! NSDictionary | ||
| 34 | + var dataArr:[BaseModel] = [] | ||
| 35 | + let respArr = resp["data"] as! NSArray | ||
| 36 | + for dic in respArr{ | ||
| 37 | + let dataDic = dic as! NSDictionary | ||
| 38 | + let goodsListModel = newDictionaryToModel(dataDic as! [String : Any], CNLiveShopGoodsListModel.self) | ||
| 39 | + dataArr.append(goodsListModel) | ||
| 40 | + } | ||
| 41 | + resultBlock(dataArr,.success) | ||
| 42 | + }else{ | ||
| 43 | + resultBlock(NSNull(),.failed) | ||
| 44 | + } | ||
| 45 | + } | ||
| 46 | + } | ||
| 47 | +} |
metaCode/Classes/Main/Model/GoodsManager/CNLiveShopAddEditGoodsModel.swift
0 → 100644
| 1 | +// | ||
| 2 | +// CNLiveShopAddEditGoodsModel.swift | ||
| 3 | +// metaCode | ||
| 4 | +// | ||
| 5 | +// Created by zx on 2023/11/7. | ||
| 6 | +// | ||
| 7 | + | ||
| 8 | +import Foundation | ||
| 9 | + | ||
| 10 | +class CNLiveShopAddEditGoodsModel: BaseModel { | ||
| 11 | + ///列表 | ||
| 12 | + var list = [CNLiveShopAddEditGoodsListModel]() | ||
| 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 | + ] | ||
| 40 | + | ||
| 41 | + for dic in dataSource{ | ||
| 42 | + let mdl = newDictionaryToModel(dic, CNLiveShopAddEditGoodsListModel.self) | ||
| 43 | + list.append(mdl as! CNLiveShopAddEditGoodsListModel) | ||
| 44 | + | ||
| 45 | + } | ||
| 46 | + } | ||
| 47 | +} | ||
| 48 | + | ||
| 49 | + | ||
| 50 | +class CNLiveShopAddEditGoodsListModel: BaseModel { | ||
| 51 | + /// 商品id | ||
| 52 | + var id: String? | ||
| 53 | + /// 样式4中 二是标题 三是选取图片 四是输入框 五添加起售数量 | ||
| 54 | + var style:Int = 0 | ||
| 55 | + /// 是否必须 | ||
| 56 | + var isHaveTo: Bool? | ||
| 57 | + /// 标题 | ||
| 58 | + var title: String? | ||
| 59 | + /// 副标题 | ||
| 60 | + var subtitle: String? | ||
| 61 | + /// 对主标题下方进行说明文字 | ||
| 62 | + var desc: String? | ||
| 63 | + /// 自定义规格内容输入 | ||
| 64 | + var content: String? | ||
| 65 | + /// 副标题点击样式 | ||
| 66 | + var touchSubtitle: String? | ||
| 67 | + /// style=4 占位标识 | ||
| 68 | + var placeholder: String? | ||
| 69 | + /// 是否显示底部的线 | ||
| 70 | + var isDisplayLine: Bool? | ||
| 71 | + /// 样式一属性 内容输入框键盘类型 1默认类型 2数字类型带小数点 | ||
| 72 | + var contentTextFieldkeyboardType:Int = 0 | ||
| 73 | + /// 样式一属性 小数点位数 | ||
| 74 | + var decimalLength:Int = 0 | ||
| 75 | + /// 样式一属性 内容输入框颜色 默认0x787878 | ||
| 76 | + var contentTextColor: String? | ||
| 77 | + /// 样式一属性 1输入框 2选择 3开关 4可以增加数量 | ||
| 78 | + var contentType:Int = 0 | ||
| 79 | + /// 样式一属性 是不是显示输入框右边删除按钮 | ||
| 80 | + var isDelect: Bool? | ||
| 81 | + /// 样式三属性 是否可以选择视频 | ||
| 82 | + var isAbleSelectVideo: Bool? | ||
| 83 | + /// 样式三属性 是否可以选择主页 | ||
| 84 | + var isAbleSelectCover: Bool? | ||
| 85 | + /// 样式三属性 最多可以选取多少张图片 | ||
| 86 | + var maxSelectImageCount:Int = 0 | ||
| 87 | +} |
metaCode/Classes/Main/Model/GoodsManager/CNLiveShopGoodsListModel.swift
0 → 100644
| 1 | +// | ||
| 2 | +// CNLiveShopGoodsListModel.swift | ||
| 3 | +// metaCode | ||
| 4 | +// | ||
| 5 | +// Created by zx on 2023/11/6. | ||
| 6 | +// | ||
| 7 | + | ||
| 8 | +import Foundation | ||
| 9 | + | ||
| 10 | +class CNLiveShopGoodsListModel:BaseModel{ | ||
| 11 | + ///商品id | ||
| 12 | + var id: String? | ||
| 13 | + ///商品名称 | ||
| 14 | + var title: String? | ||
| 15 | + ///商品图片 | ||
| 16 | + var simg: String? | ||
| 17 | +// var img: String? | ||
| 18 | + ///商品价格 | ||
| 19 | + var price: String? | ||
| 20 | + ///商品介绍 | ||
| 21 | + var ads: String? | ||
| 22 | + ///商品分类 | ||
| 23 | + var groupid: String? | ||
| 24 | + ///店铺id | ||
| 25 | + var shopid: String? | ||
| 26 | +// var shop_id: String? | ||
| 27 | + ///店铺分类id | ||
| 28 | + var category_id: String? | ||
| 29 | + ///1下架 2上架 | ||
| 30 | + var state: Int? | ||
| 31 | + ///库存 | ||
| 32 | + var count: String? | ||
| 33 | + ///1普通商品 2文创商品 | ||
| 34 | + var shop_type: String? | ||
| 35 | + ///排序 | ||
| 36 | + var ord: String? | ||
| 37 | + ///商品是否被选中(本地标记) | ||
| 38 | + var select: Bool? | ||
| 39 | + ///最小购买数量 | ||
| 40 | + var min_buy_num: String? | ||
| 41 | +} |