// // AppDelegateBase.h // iSales-UWAVER // // Created by Ray on 2018/8/9. // Copyright © 2018 United Software Applications, Inc. All rights reserved. // #import #import "config.h" #ifdef USE_MFI_SCANNER #import "ScanApiHelper.h" #endif #import "config.h" #import "UIResponder+Router.h" #import "iSalesDB.h" #import "SyncControlPanelViewController.h" #import #ifdef SCANNER_ORDER #import "RAUploadManager.h" #endif @protocol ScannerEventsFeedback -(void) onDecodedData:(NSString*) value; -(void) onErrorInfo:(NSString*) errorInfo; -(void) onStatusChanged:(NSString*) status; -(void) onLogUpdate; -(void) OnUpdateDevicesList; @end typedef enum { CustomerTypeStore = 0, CustomerTypeCustomer = 1 } CustomerType; #ifdef USE_BLE_SCANNER @interface AppDelegateBase : UIResponder #else #ifdef USE_MFI_SCANNER @interface AppDelegateBase : UIResponder #else @interface AppDelegateBase : UIResponder #endif #endif #ifndef RA_NOTIFICATION @property (strong,nonatomic)UIViewController* active_controller; #else -(void)pushFeedback:(id)feedback; -(void)popFeedback:(id)feedback; -(void)setFeedback:(id)feedback; #endif //scanner #define API_START 1 #define API_STOP 3 #define API_INIT 0 #define API_CLOSING 2 #ifdef USE_MFI_SCANNER @property (strong, nonatomic) ScanApiHelper* ScanApi; - (void)enableScanner:(bool)enable ; - (void)test_onDecodedDataResult:(NSString*) value; #endif @property (strong, nonatomic) NSTimer* ScanApiConsumer; @property (nonatomic) BOOL doAppDataConfirmation; @property (strong, nonatomic) NSString *scanApiVersion; @property (strong, nonatomic) NSString* log; @property BOOL softScannerEnabled; -(void) addlog:(NSString*) newtext; @property bool enable_ScannerLog; @property (strong,nonatomic) NSMutableArray* devices; @property int api_Status; @property (strong, nonatomic) NSString* Status_Text; //offline order -(void) backup_oc; -(void) restore_oc; @property (strong,nonatomic)NSMutableDictionary* recent_model; @property (nonatomic,assign) bool offline_mode; @property (strong , nonatomic) NSString* contact_id; @property bool bEnable_Cache; // Window property - 兼容旧接口,实际从 SceneDelegate 获取 @property (strong, nonatomic) UIWindow *window; @property (strong,nonatomic) NSString * user_icon; @property bool bLogin; @property (nonatomic) long user_type; @property CustomerType customer_type; @property (strong , nonatomic) NSString* order_customer_id; @property (strong,nonatomic)NSDictionary* categoryMenu; @property (strong,nonatomic)NSMutableDictionary* customerInfo; @property (strong,nonatomic) NSString* order_code; @property int order_status; @property (strong,nonatomic) UIViewController* main_vc; -(void) Logout; -(void) SetMode:(NSString*)mode; @property (strong,nonatomic) NSString* mode; -(void) SetSo:(NSString*)So; -(void) switchToPreviousVC; -(void) closeOrder; @property long wish_count; @property long cart_count; @property long port_count; @property bool can_show_price; @property (nonatomic,assign) bool can_see_price; @property bool can_create_portfolio; @property bool can_cancel_order; @property bool can_set_cart_price; @property bool can_create_order; @property bool can_delete_order; @property bool can_submit_order; @property bool can_set_tearsheet_price; @property bool can_update_contact_info; @property bool submit_order_logout; @property bool save_order_logout; @property bool alert_sold_in_quantities; @property(readonly) bool price_hidden; -(void) set_priceHidden:(bool)price_hidden; -(void) set_main_button_panel; -(void) update_count_mark; // downloader -(void) check_offline:(NSString*) ver useInternalAddress:(bool)buseinternaladdress parentvc:(UIViewController*) parent; @property (nonatomic, strong) SyncControlPanelViewController *settingUI; @property (nonatomic, strong) NSFileHandle *fileHandle; @property (nonatomic, strong) NSURLConnection *connection; @property double file_progress; @property double overall_progress; @property (strong, nonatomic) NSString* downloadlog; @property (strong, nonatomic) NSString* vid; @property bool downloading; -(void) add_downloadlog:(NSString*) newtext; @property (strong, nonatomic) NSMutableDictionary* download_task; @property int current_task; // printer @property (strong, nonatomic) NSString * printerURL; -(void) printPdf:(NSString*) url company:(NSString*)company send_to:(NSString*)send_to soid:(NSString*)soid content:(NSString*)content; @property (strong, nonatomic) NSMutableDictionary* OrderFilter; @property (nonatomic,strong) NSMutableDictionary *urgencyDic; @property (nonatomic,assign) BOOL can_create_backorder; - (void)checkLogin:(BOOL)reloadCurVC; @property (strong, nonatomic) NSString* uploadurl; @property (strong, nonatomic) NSString* address; @property (strong, nonatomic) NSString* downloadurl; @property (nonatomic,assign) BOOL compressFile; #ifdef SCANNER_ORDER @property (strong, nonatomic) NSDictionary* scan_model; @property (strong, nonatomic) NSArray* scan_model_key; @property (strong, nonatomic) NSString *price_group; @property (strong, nonatomic) NSArray *available_price_group; #endif @property (nonatomic,strong) NSDate *forgroundDate; #ifdef USE_BLE_SCANNER @property (nonatomic, strong) CBCentralManager *manager; @property (nonatomic, strong) CBPeripheral *peripheral; @property (strong ,nonatomic) CBCharacteristic *writeCharacteristic; @property (strong,nonatomic) NSMutableArray *nDevices; @property (strong,nonatomic) NSMutableArray *nServices; @property (strong,nonatomic) NSMutableArray *nCharacteristics; @property (strong,nonatomic) NSString *strBTLog; @property bool bAutoConnect; @property bool cbReady; @property bool bAppBTOn; @property bool bBTAuthorize; @property (strong,nonatomic) NSString *strDeviceName; @property (strong,nonatomic) NSString *strDeviceUUID; -(void) scanBLE; -(void) stopScanBLE; -(void) disconnectDevice; -(void)setBLEAutoReconnect:(bool) bAutoReconnect; -(void) enableBLE:(bool) bEnable; #endif #pragma mark newdownload @property (strong,nonatomic) NSURLSession *session; @property (strong,nonatomic) NSURLSessionDataTask* curr_task; -(void)handle_download1:(NSString *)url start:(bool) start type:(NSString*) type taskid:(int)taskidx; -(void) download_offline:(bool)start checkdiskspace:(bool)checkdiskspace; // 添加这个方法声明 @end