# AutoX3App **Repository Path**: bbavip/AutoX3AppSDK ## Basic Information - **Project Name**: AutoX3App - **Description**: AutoX3App SDK - **Primary Language**: Objective-C - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-08-25 - **Last Updated**: 2023-08-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AutoX3App # SDK 集成流程如下: ## 开发环境要求 - Xcode 11 - iOS 10.0 以上(包含 iOS 10.0)的 iPhone 真机 - 项目已配置有效的开发者签名 #### [Demo 下载](https://gitee.com/bbavip/autox3_-construction-sdkdemo) ## 集成 AutoX3App SDK 流程 ###### 集成 SDK 允许 `cocoapods`方式。 ### CocoaPods #### 1. 安装 CocoaPods 在终端窗口中输入如下命令(需要提前在 Mac 中安装 Ruby 环境): ``` sudo gem install cocoapods ``` #### 2. 创建 Podfile 文件 cd 到项目所在路径文件,输入以下命令,之后项目路径下会有一个 Podfile 文件。 ``` pod init ``` #### 3. 编辑 Podfile 文件 使用 CocoaPods 官方源,支持选择版本号。 ``` platform :ios, '9.0' #source 'https://github.com/CocoaPods/Specs.git' target 'App' do pod 'AutoX3App' end ``` #### 4. 更新并安装 SDK 在终端窗口输入如下命令以更新本地库文件,并安装 AutoX3App: ``` pod install ``` 或使用以下命令更新本地库版本: ``` pod update ``` pod 命令执行完成后,会生成集成了 SDK 的`.xcworkspace`后缀的工程文件,双击打开即可。 ## 系统权限 #### 授权系统相机、相册、麦克风、地理位置使用权限 - Privacy - Camera Usage Description - Privacy - Photo Library Usage Description - Privacy - Photo Library Additions Usage Description - Privacy - Microphone Usage Description - Privacy - Location When In Use Usage Description ## SDK 调用 #### SDK 区分完整版和标准版的使用。 #### 名词解释: * SDK 标准版:只使用AutoX3 的检测单/施工单功能,接车单的创建由您自己开发完成。 * SDK 完整版:包含接车单的流程,即从接车时接车单的创建 到 检测单和施工单的完成,整个流程均使用SDK内部。 在项目需要使用 SDK API 的文件中,引入头文件(SDK 的 标准版 和 完整版 的使用都是引入此头文件) ``` #import ``` ## SDK 标准版的使用 ``` // 初始化配置 AUTOX3_InitConfiguration *config = [AUTOX3_InitConfiguration sharedManager]; [[AUTOX3_InitConfiguration sharedManager] initAutoX3WithAutoX3Token:tokenStr autoX3Domain:DomainUrl userPhone:@"13000000000"]; // config.languageType = AUTOX3Language_China; // config.AreaCodeTyp = AUTOX3AreaCodeType_86; // config.moneyType = AUTOX3UnitMoneyType_GBP; // 开始检测单施工 [[AUTOX3_InitConfiguration sharedManager] startHealthCheckWithWorkOrderId:self.workOrderId serviceOrderId:self.serviceOrderId]; // 取消施工回调 [AUTOX3_InitConfiguration sharedManager].iOnCancelWork = ^(NSString * _Nonnull workOrderId, NSString * _Nonnull serviceOrderId) { NSLog(@"检测单ID:%@,接车单ID:%@",workOrderId,serviceOrderId); }; // 完成施工回调 [AUTOX3_InitConfiguration sharedManager].iOnCompleteWork = ^(NSString * _Nonnull workOrderId, NSString * _Nonnull serviceOrderId) { NSLog(@"检测单ID:%@,接车单ID:%@",workOrderId,serviceOrderId); }; ``` ### API 说明: ##### 初始化: ``` /// 初始化 /// @param autoX3Token openAPI 获取的 Token /// @param autoX3DomainString SDK 所需的域名 /// @param userPhone 登录手机号 - 非必传 (若需要检测单的本地的数据存储功能则需要传入 userPhone) - (void)initAutoX3WithAutoX3Token:(NSString *)autoX3Token autoX3Domain:(NSString *)autoX3DomainString userPhone:(NSString *)userPhone; ``` ##### 开始施工: ``` /// 开始施工 - 检测单 /// @param workOrderId 施工单 ID /// @param serviceOrderId 接车单ID - (void)startHealthCheckWithWorkOrderId:(NSString *)workOrderId serviceOrderId:(NSString *)serviceOrderId; /// 开始施工 - 施工单 /// @param workOrderId 施工单 ID /// @param serviceOrderId 接车单ID - (void)startConstructionWithWorkOrderId:(NSString *)workOrderId serviceOrderId:(NSString *)serviceOrderId; ``` ##### 施工状态回调: ``` // 结束施工回调 @property (nonatomic, copy) AUTOX3_FinishWorkBlock iOnCompleteWork; // 取消施工回调 @property (nonatomic, copy) AUTOX3_CancelWorkBlock iOnCancelWork; ``` ##### 属性设置: ``` // 设置语言 默认 UK @property (nonatomic, assign) AUTOX3LanguageType languageType; // 设置区号 默认 "+44" @property (nonatomic, assign) AUTOX3AreaCodeType areaCodeTyp; // 设置里程单位 默认 km @property (nonatomic, assign) AUTOX3UnitMileageType mileageType; // 设置货币单位 默认 英镑£ @property (nonatomic, assign) AUTOX3UnitMoneyType moneyType; ``` ##### 对应枚举类: ``` // 区号 typedef NS_ENUM(NSInteger, AUTOX3AreaCodeType) { AUTOX3AreaCodeType_86, // 中国 AUTOX3AreaCodeType_886, // 中国台湾 AUTOX3AreaCodeType_44, // 英国 AUTOX3AreaCodeType_1, // 美国 AUTOX3AreaCodeType_49, // 德国 AUTOX3AreaCodeType_60, // 马来 }; // 语言 typedef NS_ENUM(NSInteger, AUTOX3LanguageType) { AUTOX3Language_China, // 中文简体 AUTOX3Language_ChinaTraditional, // 中文繁体 AUTOX3Language_EnglishUK, // 英国 AUTOX3Language_EnglishUSA, // 美国 AUTOX3Language_German, // 德国 }; // 里程 typedef NS_ENUM(NSInteger, AUTOX3UnitMileageType) { AUTOX3UnitMileageType_km, // km AUTOX3UnitMileageType_mile, // mile }; // 货币 typedef NS_ENUM(NSInteger, AUTOX3UnitMoneyType) { AUTOX3UnitMoneyType_CNY, // 人民币 ¥ AUTOX3UnitMoneyType_TWD, // 中国台湾 $ AUTOX3UnitMoneyType_GBP, // 英镑 £ AUTOX3UnitMoneyType_USD, // 美元 $ AUTOX3UnitMoneyType_EUR, // 欧元 € AUTOX3UnitMoneyType_MYR_RM, // 马来 RM AUTOX3UnitMoneyType_HKD, // 香港 $ AUTOX3UnitMoneyType_SGD, // 新加坡 $ }; ``` ## SDK 完整版的使用 ``` // 初始化 [[AUTOX3_ServiceOrderInitConfig sharedManager] initAutoX3WithAutoX3Key:AppKey autoX3Secret:AppSecret autoX3Domain:DomainUrl userPhone:@""]; // 语言、区号等 配置 [AUTOX3_ServiceOrderInitConfig sharedManager].configBlock = ^{ [AUTOX3_InitConfiguration sharedManager].languageType = AUTOX3Language_China; [AUTOX3_InitConfiguration sharedManager].areaCodeTyp = AUTOX3AreaCodeType_86; // 是否是完整版包含接车流程 SDK [AUTOX3_InitConfiguration sharedManager].isCompleteSDK = YES; }; ``` `[AUTOX3_InitConfiguration sharedManager].isCompleteSDK = YES;` 当您需要使用完整版 SDK 时请一定设置 `isCompleteSDK` 属性 为 true,使用标准版时则无需设置。 ### API 说明: ##### 初始化: ``` /// 初始化 - 接车检测模块(包含接车流程 - 开发中) /// @param autoX3Key autoX3 唯一标识 appKey /// @param autoX3Secret autoX3Secret /// @param autoX3DomainString openAPI 的域名 /// @param userPhone 登录手机号 - 非必传(保留字段) - (void)initAutoX3WithAutoX3Key:(NSString *)autoX3Key autoX3Secret:(NSString *)autoX3Secret autoX3Domain:(NSString *)autoX3DomainString userPhone:(NSString *)userPhone; ``` ##### 配置 block ``` // 语言、货币、区号 等配置请在此 block 回调中设置 @property (nonatomic, copy) Autox3_ConfigBlock configBlock; ``` ##### 开始创建接车: ``` // 开始创建接车单 - (void)createVehicleReceipt; ``` ##### 接车单列表: ``` // 接车单列表 - (void)jumpVehicleReceiptList; ``` * 检测施工功能的使用 和[标准版](https://gitee.com/bbavip/AutoX3AppSDK/blob/master/README.md#%E5%BC%80%E5%A7%8B%E6%96%BD%E5%B7%A5)一致。