AppDelegateBase.h 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  1. //
  2. // AppDelegateBase.h
  3. // iSales-UWAVER
  4. //
  5. // Created by Ray on 2018/8/9.
  6. // Copyright © 2018 United Software Applications, Inc. All rights reserved.
  7. //
  8. #import <UIKit/UIKit.h>
  9. #import "ScanApiHelper.h"
  10. #import "config.h"
  11. #import "UIResponder+Router.h"
  12. #import "iSalesDB.h"
  13. #import "SyncControlPanelViewController.h"
  14. #import <CoreBluetooth/CoreBluetooth.h>
  15. #ifdef SCANNER_ORDER
  16. #import "RAUploadManager.h"
  17. #endif
  18. @protocol ScannerEventsFeedback <NSObject>
  19. -(void) onDecodedData:(NSString*) value;
  20. -(void) onErrorInfo:(NSString*) errorInfo;
  21. -(void) onStatusChanged:(NSString*) status;
  22. -(void) onLogUpdate;
  23. -(void) OnUpdateDevicesList;
  24. //@required
  25. //-(void) showHidePrice;
  26. @end
  27. typedef enum {
  28. CustomerTypeStore = 0,
  29. CustomerTypeCustomer = 1
  30. } CustomerType;
  31. #ifdef USE_BLE_SCANNER
  32. @interface AppDelegateBase : UIResponder<UIApplicationDelegate , NSURLConnectionDataDelegate
  33. ,ScanApiHelperDelegate,CBCentralManagerDelegate, CBPeripheralDelegate,NSURLSessionDataDelegate>
  34. #else
  35. @interface AppDelegateBase : UIResponder<UIApplicationDelegate , NSURLConnectionDataDelegate
  36. ,ScanApiHelperDelegate,NSURLSessionDataDelegate>
  37. #endif
  38. //{
  39. // id<ScannerEventsFeedback> _eventsFeedback;
  40. //}
  41. #ifndef RA_NOTIFICATION
  42. @property (strong,nonatomic)UIViewController* active_controller;
  43. #else
  44. -(void)pushFeedback:(id<ScannerEventsFeedback>)feedback;
  45. -(void)popFeedback:(id<ScannerEventsFeedback>)feedback;
  46. -(void)setFeedback:(id<ScannerEventsFeedback>)feedback;
  47. #endif
  48. //scanner
  49. #define API_START 1
  50. #define API_STOP 3
  51. #define API_INIT 0
  52. #define API_CLOSING 2
  53. @property (strong, nonatomic) ScanApiHelper* ScanApi;
  54. @property (strong, nonatomic) NSTimer* ScanApiConsumer;
  55. @property (nonatomic) BOOL doAppDataConfirmation;
  56. @property (strong, nonatomic) NSString *scanApiVersion;
  57. @property (strong, nonatomic) NSString* log;
  58. @property BOOL softScannerEnabled;
  59. -(void) addlog:(NSString*) newtext;
  60. @property bool enable_ScannerLog;
  61. @property (strong,nonatomic) NSMutableArray* devices;
  62. - (void)enableScanner:(bool)enable ;
  63. @property int api_Status;
  64. @property (strong, nonatomic) NSString* Status_Text;
  65. //-(void) didRotated;
  66. // scanner test
  67. -(void) test_onDecodedDataResult:(NSString*) value;
  68. //offline order
  69. -(void) backup_oc;
  70. -(void) restore_oc;
  71. @property (strong,nonatomic)NSMutableDictionary* recent_model;
  72. @property (nonatomic,assign) bool offline_mode;
  73. @property (strong , nonatomic) NSString* contact_id;
  74. @property bool bEnable_Cache;
  75. @property (strong,nonatomic) NSString* build;
  76. //@property (strong, nonatomic) NSMutableArray* arr_scannerReceiver;
  77. @property (strong, nonatomic) UIWindow *window;
  78. @property (strong,nonatomic) NSString* user;
  79. @property (strong,nonatomic) NSString * password;
  80. @property (strong,nonatomic) NSString * user_icon;
  81. //@property (strong,nonatomic) NSString * sessionid;
  82. @property (strong,nonatomic) NSString * duid;
  83. @property bool bLogin;
  84. @property (nonatomic) long user_type;
  85. @property CustomerType customer_type;
  86. @property (strong , nonatomic) NSString* order_customer_id;
  87. //@property (strong , nonatomic) NSString* contact_name;
  88. @property (strong,nonatomic)NSDictionary* categoryMenu;
  89. @property (strong,nonatomic)NSMutableDictionary* customerInfo;
  90. @property (strong,nonatomic) NSString* order_code;
  91. @property int order_status;
  92. //@property (strong,nonatomic) NSString* so;
  93. @property (strong,nonatomic) UIViewController* main_vc;
  94. -(void) Logout;
  95. -(void) SetMode:(NSString*)mode;
  96. @property (strong,nonatomic) NSString* mode;
  97. -(void) SetSo:(NSString*)So;
  98. -(void) switchToPreviousVC;
  99. -(void) closeOrder;
  100. @property long wish_count;
  101. @property long cart_count;
  102. @property long port_count;
  103. @property bool can_show_price;
  104. @property (nonatomic,assign) bool can_see_price;
  105. @property bool can_create_portfolio;
  106. @property bool can_cancel_order;
  107. @property bool can_set_cart_price;
  108. @property bool can_create_order;
  109. @property bool can_delete_order;
  110. @property bool can_submit_order;
  111. @property bool can_set_tearsheet_price;
  112. @property bool can_update_contact_info;
  113. @property bool submit_order_logout;
  114. @property bool save_order_logout;
  115. @property bool alert_sold_in_quantities;
  116. @property(readonly) bool price_hidden;
  117. -(void) set_priceHidden:(bool)price_hidden;
  118. -(void) set_main_button_panel;
  119. //@property bool can_show_price;
  120. //@property bool can_show_price;
  121. //@property bool can_show_price;
  122. @property (strong , nonatomic) NSString* ipad_perm;
  123. -(void) update_count_mark;
  124. // downloader
  125. -(void) check_offline:(NSString*) ver useInternalAddress:(bool)buseinternaladdress parentvc:(UIViewController*) parent;
  126. //@property bool disable_trigger;
  127. @property (nonatomic, strong) SyncControlPanelViewController *settingUI;
  128. @property (nonatomic, strong) NSFileHandle *fileHandle;
  129. //@property (nonatomic, assign) long long currentLength; //>>写入文件的长度
  130. //@property (nonatomic, assign) long long fileLength; //>>文件长度
  131. //@property (nonatomic, strong) NSString *fileName; //>>文件名
  132. @property (nonatomic, strong) NSURLConnection *connection;
  133. @property double file_progress;
  134. @property double overall_progress;
  135. @property (strong, nonatomic) NSString* downloadlog;
  136. @property (strong, nonatomic) NSString* vid;
  137. @property bool downloading;
  138. -(void) add_downloadlog:(NSString*) newtext;
  139. @property (strong, nonatomic) NSMutableDictionary* download_task;
  140. @property int current_task;
  141. // printer
  142. @property (strong, nonatomic) NSString * printerURL;
  143. -(void) printPdf:(NSString*) url company:(NSString*)company send_to:(NSString*)send_to soid:(NSString*)soid content:(NSString*)content;
  144. @property (strong, nonatomic) NSMutableDictionary* OrderFilter;
  145. @property (nonatomic,strong) NSMutableDictionary *urgencyDic;///<程序闪退需要保存的数据
  146. @property (nonatomic,assign) BOOL can_create_backorder;
  147. //#pragma mark - Global Param Begin
  148. //
  149. //- (void)setGlobalParameter:(id)param forKey:(NSString *)key;
  150. //- (id)globalParameterForKey:(NSString *)key;
  151. //
  152. //#pragma mark - Globale Param End
  153. - (void)checkLogin:(BOOL)reloadCurVC;
  154. //- (void)updateScanButton:(BOOL)enable;
  155. @property (strong, nonatomic) NSString* uploadurl;
  156. @property (strong, nonatomic) NSString* address;
  157. @property (strong, nonatomic) NSString* downloadurl;
  158. //#ifdef SCANNER_ORDER
  159. //
  160. //#endif
  161. @property (nonatomic,assign) BOOL compressFile;
  162. #ifdef SCANNER_ORDER
  163. @property (strong, nonatomic) NSDictionary* scan_model;
  164. @property (strong, nonatomic) NSArray* scan_model_key;
  165. //@property (strong, nonatomic) NSString* price0_name;
  166. //@property (strong, nonatomic) NSString* price1_name;
  167. //@property (strong, nonatomic) NSString* price2_name;
  168. //@property (strong, nonatomic) NSString* price3_name;
  169. @property (strong, nonatomic) RAUploadManager *uploadManager;
  170. @property (strong, nonatomic) NSString *price_group;
  171. @property (strong, nonatomic) NSArray *available_price_group;
  172. #endif
  173. @property (nonatomic,strong) NSDate *forgroundDate;
  174. #ifdef USE_BLE_SCANNER
  175. @property (nonatomic, strong) CBCentralManager *manager;
  176. @property (nonatomic, strong) CBPeripheral *peripheral;
  177. @property (strong ,nonatomic) CBCharacteristic *writeCharacteristic;
  178. @property (strong,nonatomic) NSMutableArray *nDevices;
  179. @property (strong,nonatomic) NSMutableArray *nServices;
  180. @property (strong,nonatomic) NSMutableArray *nCharacteristics;
  181. @property (strong,nonatomic) NSString *strBTLog;
  182. @property bool bAutoConnect;
  183. @property bool cbReady;
  184. @property bool bAppBTOn;
  185. @property bool bBTAuthorize;
  186. @property (strong,nonatomic) NSString *strDeviceName;
  187. @property (strong,nonatomic) NSString *strDeviceUUID;
  188. -(void) scanBLE;
  189. -(void) stopScanBLE;
  190. -(void) disconnectDevice;
  191. -(void)setBLEAutoReconnect:(bool) bAutoReconnect;
  192. -(void) enableBLE:(bool) bEnable;
  193. #endif
  194. #pragma mark newdownload
  195. @property (strong,nonatomic) NSURLSession *session;
  196. @property (strong,nonatomic) NSURLSessionDataTask* curr_task;
  197. -(void)handle_download1:(NSString *)url start:(bool) start type:(NSString*) type taskid:(int)taskidx;
  198. @end