# LenztechCustomizeBusinessSDK **Repository Path**: ppz_bj/LenztechCustomizeBusinessSDK ## Basic Information - **Project Name**: LenztechCustomizeBusinessSDK - **Description**: 基于通用型SDK的 定制化 业务开发sdk# LenzBusinessSDK - **Primary Language**: Objective-C - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-03-25 - **Last Updated**: 2022-09-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LenzBusinessSDK ## 产品简介 基于通用型SDK的 定制化 业务开发sdk# LenzBusinessSDK 最低版本要求 大于等于 iOS 10.0 ## 集成SDK方法 1.根据下面podfile pod install 更详细的接入可查看:https://gitee.com/ppz_bj/LenztechBusinessSDK podfile ```ruby pod 'AFNetworking','~>4.0.1' pod 'Masonry' pod 'MBProgressHUD' pod 'MJExtension' pod 'AliyunOSSiOS' pod 'CTMediator' pod 'lottie-ios','~>2.5.3' pod 'LenztechBusinessSDK',:git=>'https://gitee.com/ppz_bj/LenztechBusinessSDK.git',:tag => '0.4.3.13' ``` 2.将该工程目录下的 LenzCustomizeBusinessSDK.framework 集成到工程内 3.将该工程目录下的LenzCustomizeBusinessSDK.bundle 集成到工程内 ## 朗镜通拍照SDK文档 注:下面提到的类名和参数在最终文档之前会有所调整,但架构和基础逻辑不变 ### 1.朗镜通SDK初始化: **方法调用**: [LenzCustomizedEngine registerCompanyId: @"xxxx"]; **输入参数(类型,参数名,说明):** @param NSString companyId 企业id ### 2.数据授权 **方法调用:** ``` void (^callback)(BOOL success) = ^(BOOL success) { }; [LenzCustomizedEngine getTaskInfo:callback]; ``` ### 3.执行任务(每次都是新的拍摄) **方法调用:** ``` /* groupId 对应 品类id+活动id 中间用 下划线拼接,例如 "cid123_activeid3432" businessId 对应 拜访id storeId 对应 门店id companyExtras 自定义字段,内部key需要自行定义 (例子:{"key1":"value1","key2":"value2"}),如无该需求可以传nil beforeUpload 点击上传时立即回调responseId(用于查询照片) completion success = YES代表上传成功,= NO 代表手工填写 (data.code 不等于 -7时),data : @{@"responseId":@"123",@"code":@(1)} code 和 message 对应关系参考下面的注释 */ - (UIViewController *)taskControllerWithGroupId:(NSString *)gid storeId:(NSString *)sid businessId:(NSString *)bid companyExtras:(NSDictionary *)companyExtras beforeUpload:(void(^)(NSString *responseId))beforeUpload completion:(void(^)(BOOL success,NSDictionary *data,NSString *message))completion; /* 注:这里面大部分状态(code)应该不用管:只需要关心 1和-7 ,-1 ~ -6 是我们内部的错误,可以直接当错误处理 code 对应 message 1-成功 (这里是code,下同) 上传成功 (这里是message,下同) -1-取消 (LenzEngine.cancelUpload会报此错误) 上传失败 -2-图片资源失败 (上传阿里云失败) 上传失败 -3-提交数据失败 (请求服务器失败) 上传失败 -4-到达最大并发数量 (执行callback前,内部会持有 LenzEngine 实例 从而控制并发,达到最大并发 会报 code = -4 ) 上传失败 -5-图片上传失败 上传失败 -6-资源被重复上传 上传失败 -7-用户点击左上角取消 用户已取消 */ ``` ### 4.本地图片资源获取,用上面获取到的responseId **方法调用:** ``` /* LTImageItem @property (nonatomic,copy) NSString *name; //拍摄图片名称 @property (nonatomic,copy) NSString *localIdentifier; //PHAsset 需要的系统相册的id,如果保存相册会返回这个 @property (nonatomic,copy) NSString *url; //如果是网络图片可以获取到url(一般不需要管) @property (nonatomic, assign) BOOL isPath; //是否是本地路径 @property (nonatomic,copy) NSString *path; //本地路径 本地图片资源获取,用上面获取到的responseId LTImageItem.path 获取图片路径 */ - (NSArray *)imagesResponseId:(NSString *)rid; ``` ### 5.正式和测试环境切换 **方法调用:** ``` /** 开启测试环境 YES即测试环境 NO即正式环境 默认不设置时是正式环境 @prama enable YES 开启 NO 关闭 */ 最好在appdelegate didFinishLaunchingWithOptions 中调用(建议) 其他位置调用也可以,但一定要在 方法2中 数据授权 getTaskInfo 之前调用即可 参考调用: [LenzCustomizedEngine setDevelopMode:YES]; [LenzCustomizedEngine registerCompanyId:@"someId"]; [LenzCustomizedEngine getTaskInfo:nil]; - (void)setDevelopMode:(BOOL)enable; ``` ## 开发团队 Lenztech iOS team