feat: 添加动态发布功能及相关文档

主要变更:
1. 新增 EPImageUploader.swift 和 EPProgressHUD.swift,提供图片批量上传和进度显示功能。
2. 新建 EPMomentAPISwiftHelper.swift,封装动态 API 的 Swift 版本。
3. 更新 EPMomentPublishViewController,集成新上传功能并实现发布成功通知。
4. 创建多个文档,包括实施报告、检查清单和快速使用指南,详细记录功能实现和使用方法。
5. 更新 Bridging Header,确保 Swift 和 Objective-C 代码的互操作性。

此功能旨在提升用户体验,简化动态发布流程,并提供清晰的文档支持。
This commit is contained in:
edwinQQQ
2025-10-11 17:16:30 +08:00
parent ceaeb5c951
commit 7626eb8351
29 changed files with 3792 additions and 802 deletions

View File

@@ -449,6 +449,12 @@
4C1392A12D71675900A6DFB5 /* coincoin.mp4 in Resources */ = {isa = PBXBuildFile; fileRef = 4C1392A02D71675900A6DFB5 /* coincoin.mp4 */; };
4C1892992CF84349004D4426 /* RoomCahtCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1892982CF84349004D4426 /* RoomCahtCell.m */; };
4C1A141B2DCB4AB700B6D0CA /* ChatFaceVo.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1A141A2DCB4AB700B6D0CA /* ChatFaceVo.m */; };
4C1E98BF2E9A3A540031AE79 /* EPMineAPIHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1E98BD2E9A3A540031AE79 /* EPMineAPIHelper.m */; };
4C1E98C32E9A45160031AE79 /* EPImageUploader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1E98C02E9A45160031AE79 /* EPImageUploader.swift */; };
4C1E98C42E9A45160031AE79 /* EPProgressHUD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1E98C12E9A45160031AE79 /* EPProgressHUD.swift */; };
4C1E98C62E9A45BC0031AE79 /* EPMomentAPISwiftHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1E98C52E9A45BC0031AE79 /* EPMomentAPISwiftHelper.swift */; };
4C1E98C92E9A4DFD0031AE79 /* EPQCloudConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1E98C72E9A4DFD0031AE79 /* EPQCloudConfig.swift */; };
4C1E98CA2E9A4DFD0031AE79 /* EPSDKManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1E98C82E9A4DFD0031AE79 /* EPSDKManager.swift */; };
4C3475C42DD1FE590099B984 /* CreateEventSelectRoomViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C3475C32DD1FE590099B984 /* CreateEventSelectRoomViewController.m */; };
4C3851992DD5F4D50089CFCC /* EventConfigModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C3851982DD5F4D50089CFCC /* EventConfigModel.m */; };
4C38C2AD2D84064400CFA4A8 /* LoginInputItemView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C38C2AC2D84064300CFA4A8 /* LoginInputItemView.m */; };
@@ -2524,6 +2530,13 @@
4C1892982CF84349004D4426 /* RoomCahtCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RoomCahtCell.m; sourceTree = "<group>"; };
4C1A14192DCB4AB700B6D0CA /* ChatFaceVo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ChatFaceVo.h; sourceTree = "<group>"; };
4C1A141A2DCB4AB700B6D0CA /* ChatFaceVo.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ChatFaceVo.m; sourceTree = "<group>"; };
4C1E98BC2E9A3A540031AE79 /* EPMineAPIHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EPMineAPIHelper.h; sourceTree = "<group>"; };
4C1E98BD2E9A3A540031AE79 /* EPMineAPIHelper.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EPMineAPIHelper.m; sourceTree = "<group>"; };
4C1E98C02E9A45160031AE79 /* EPImageUploader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EPImageUploader.swift; sourceTree = "<group>"; };
4C1E98C12E9A45160031AE79 /* EPProgressHUD.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EPProgressHUD.swift; sourceTree = "<group>"; };
4C1E98C52E9A45BC0031AE79 /* EPMomentAPISwiftHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EPMomentAPISwiftHelper.swift; sourceTree = "<group>"; };
4C1E98C72E9A4DFD0031AE79 /* EPQCloudConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EPQCloudConfig.swift; sourceTree = "<group>"; };
4C1E98C82E9A4DFD0031AE79 /* EPSDKManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EPSDKManager.swift; sourceTree = "<group>"; };
4C3475C22DD1FE590099B984 /* CreateEventSelectRoomViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CreateEventSelectRoomViewController.h; sourceTree = "<group>"; };
4C3475C32DD1FE590099B984 /* CreateEventSelectRoomViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CreateEventSelectRoomViewController.m; sourceTree = "<group>"; };
4C3851972DD5F4D50089CFCC /* EventConfigModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EventConfigModel.h; sourceTree = "<group>"; };
@@ -6523,6 +6536,7 @@
4C0642752E97BD6D00BAF413 /* NewMine */ = {
isa = PBXGroup;
children = (
4C1E98BE2E9A3A540031AE79 /* Services */,
4C0642712E97BD6D00BAF413 /* Controllers */,
4C0642742E97BD6D00BAF413 /* Views */,
);
@@ -6572,6 +6586,7 @@
4C0642922E98EF0A00BAF413 /* E-P */ = {
isa = PBXGroup;
children = (
4C1E98C22E9A45160031AE79 /* Common */,
4C0642752E97BD6D00BAF413 /* NewMine */,
4C06427C2E97BD6D00BAF413 /* NewMoments */,
4C06427E2E97BD6D00BAF413 /* NewTabBar */,
@@ -6582,12 +6597,33 @@
4C0642952E98F76F00BAF413 /* Services */ = {
isa = PBXGroup;
children = (
4C1E98C52E9A45BC0031AE79 /* EPMomentAPISwiftHelper.swift */,
4C0642932E98F76F00BAF413 /* EPMomentAPIHelper.h */,
4C0642942E98F76F00BAF413 /* EPMomentAPIHelper.m */,
);
path = Services;
sourceTree = "<group>";
};
4C1E98BE2E9A3A540031AE79 /* Services */ = {
isa = PBXGroup;
children = (
4C1E98BC2E9A3A540031AE79 /* EPMineAPIHelper.h */,
4C1E98BD2E9A3A540031AE79 /* EPMineAPIHelper.m */,
);
path = Services;
sourceTree = "<group>";
};
4C1E98C22E9A45160031AE79 /* Common */ = {
isa = PBXGroup;
children = (
4C1E98C72E9A4DFD0031AE79 /* EPQCloudConfig.swift */,
4C1E98C82E9A4DFD0031AE79 /* EPSDKManager.swift */,
4C1E98C02E9A45160031AE79 /* EPImageUploader.swift */,
4C1E98C12E9A45160031AE79 /* EPProgressHUD.swift */,
);
path = Common;
sourceTree = "<group>";
};
4C45C1A82E6837BF00E73A44 /* Manager */ = {
isa = PBXGroup;
children = (
@@ -12009,6 +12045,8 @@
E84843AF27F59E7E0050D365 /* XPRoomPKResultView.m in Sources */,
E83DB47A27462C4500D8CBD1 /* XPGiftBigPrizeModel.m in Sources */,
E86A16C52856DBEC004228B8 /* FindNewGreetListModel.m in Sources */,
4C1E98C32E9A45160031AE79 /* EPImageUploader.swift in Sources */,
4C1E98C42E9A45160031AE79 /* EPProgressHUD.swift in Sources */,
4CB753D22D30F10900B13DF5 /* LuckyPackageViewController.m in Sources */,
2331C1632A5EB71000E1D940 /* XPNobleCenterPresenter.m in Sources */,
54E82EA22CA6886700C931D9 /* RoomBoomBannerAnimation.m in Sources */,
@@ -13094,6 +13132,8 @@
E84B0E422727EE0A008818C6 /* XPRoomMessageHeaderView.m in Sources */,
2331C1812A5ECD3800E1D940 /* XPNobleCenterPayCell.m in Sources */,
E852D73B286317F0001465ED /* XPMomentsDetailViewController.m in Sources */,
4C1E98C92E9A4DFD0031AE79 /* EPQCloudConfig.swift in Sources */,
4C1E98CA2E9A4DFD0031AE79 /* EPSDKManager.swift in Sources */,
2331C1692A5EB71000E1D940 /* XPNobleSettingViewController.m in Sources */,
E85E7B392A4EB0D300B6D00A /* XPGuildChooseManagerRoomTableViewCell.m in Sources */,
239D0FAD2BFCB88D002977CE /* XPRoomAnchorRankEnterView.m in Sources */,
@@ -13121,6 +13161,7 @@
4C815A172CFEB758002A46A6 /* SuperBlockViewController.m in Sources */,
E85E7B142A4EB0D200B6D00A /* GuildAuthModel.m in Sources */,
4CE746CA2D929D500094E496 /* BaseRoomBannerView.m in Sources */,
4C1E98C62E9A45BC0031AE79 /* EPMomentAPISwiftHelper.swift in Sources */,
9BE01ADE2892A66D00B50299 /* DressUpShopModel.m in Sources */,
236B2E472AA07D06003967A8 /* LittleGameInfoModel.m in Sources */,
E884C36C2743951B00E1EBED /* GiftReceiveInfoModel.m in Sources */,
@@ -13242,6 +13283,7 @@
E801274727E3241700BAC3F2 /* Api+RoomPK.m in Sources */,
E87DF4F82A42CCAB009C1185 /* XPHomeSearchRelateView.m in Sources */,
239D0FF02C057470002977CE /* MSRoomGamePresenter.m in Sources */,
4C1E98BF2E9A3A540031AE79 /* EPMineAPIHelper.m in Sources */,
E80CBDEA27D0C53F001E1EC2 /* XPWeakTimer.m in Sources */,
E85E7BAC2A4EC99300B6D00A /* XPMineGiveDiamondDetailsView.m in Sources */,
4C51B09F2DA50FDA00D8DFB5 /* CPRelationshipChangeView.m in Sources */,