Definitions.h 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343
  1. //
  2. // Definitions.h
  3. // kneet2
  4. //
  5. // Created by Created by Jason Lee on 10/1/15.
  6. // Copyright (c) 2015 ntels. All rights reserved.
  7. //
  8. #ifndef kneet2_Definitions_h
  9. #define kneet2_Definitions_h
  10. #ifndef PRODUCT_MODE
  11. static NSString *kAPIServer = @"http://61.40.220.132:5007";
  12. static NSString *kNISCServer = @"http://61.40.220.132:5001";
  13. //static NSString *kAPIServer = @"https://home-api.allofthings.com";
  14. //static NSString *kNISCServer = @"https://home-api.allofthings.com:5003";
  15. // #define API_SERVER @"http://61.40.220.132:5008" //개발서버 old
  16. // #define API_SERVER @"http://61.40.220.132:5009" //개발서버 - 0.6
  17. // #define API_SERVER @"http://61.40.220.132:5007" //개발서버 - 0.7
  18. // #define NISC_SERVER @"http://61.40.220.132:5001" //개발 센서 데이터 등록 (Geofencing)
  19. //상용서버
  20. // #define API_SERVER @"https://home-api.allofthings.com" //상용서버
  21. // #define NISC_SERVER @"https://home-api.allofthings.com:5003" //N-MAS REST (Geofencing)
  22. #else //운영모드
  23. static NSString *kAPIServer = @"https://home-api.allofthings.com";
  24. static NSString *kNISCServer = @"https://home-api.allofthings.com:5003";
  25. // #define API_SERVER @"http://61.40.220.132:5008" //개발서버 old
  26. // #define API_SERVER @"http://61.40.220.132:5009" //개발서버 - 0.6
  27. //개발
  28. // #define API_SERVER @"http://61.40.220.132:5007" //개발서버 - 0.7
  29. // #define NISC_SERVER @"http://61.40.220.132:5001" //개발 센서 데이터 등록 (Geofencing)
  30. //상용서버
  31. // #define API_SERVER @"https://home-api.allofthings.com" //상용서버
  32. // #define NISC_SERVER @"https://home-api.allofthings.com:5003" //N-MAS REST (Geofencing)
  33. #endif
  34. //Network Constants
  35. #define API_ROOT_PATH @"/v2"
  36. //1 - 공통
  37. #define API_GET_APP_VERSION @"/app_version"
  38. //#define API_GET_CODE_LIST @"/getCodeList"
  39. #define API_GET_MOBILE @"/mobile_device/%@"
  40. #define API_POST_MOBILE @"/mobile_device"
  41. #define API_POST_MOBILE_TOKEN @"/mobile_device/%@/push_token"
  42. //10 - 회원
  43. #define API_POST_SIGN_IN @"/member/login" //로그인 - 변경 - 필드추가
  44. #define API_GET_SIGN_IN_AUTO @"/member" //자동로그인 - 변경 - 필드 추가
  45. #define API_POST_SIGN_OUT @"/member/logout" //로그아웃
  46. #define API_POST_SIGN_UP @"/member" //회원가입
  47. #define API_POST_MEMBER_UPDATE @"/member/%@/%@" //회원정보 수정
  48. #define API_POST_AUTH_MAIL @"/member/auth_mail" //이메일 인증 재발송
  49. #define API_POST_RESET_PWD @"/member/password" //비밀번호 재설정
  50. #define API_GET_MOBILE_DEVICES @"/member/devices" //단말 목록
  51. #define API_POST_NEW_MOBILE_DEVICE @"/member/new_mobile_device" //새 단말 인증
  52. #define API_POST_REPLACE_MOBILE_DEVICE @"/member/replace_device" //단말 교체
  53. #define API_DELETE_MOBILE_DEVICE @"/member/device" //단말 등록 해제
  54. #define API_POST_PUSH_SETTINGS @"/member/push_noti" //푸시 설정 변경
  55. #define API_POST_MEMBER_UPDATE_IMAGE @"/member/update_image" //멤버프로필 이미지 수정
  56. #define API_GET_CHECK_PWD @"/member/%@" //비밀번호 확인
  57. #define API_DELETE_ACCOUNT @"/member/%@" //계정삭제
  58. #define API_GET_MEMBER_ICONS @"/member/icons" //멤버아이콘 리스트
  59. //#define API_POST_HOMEGROUP @"/member/homegrp" //홈 생성 - 폐기
  60. //#define API_POST_HOMEGROUP_RENAME @"/homegrp/name" //홈 이름 변경 - 폐기
  61. //#define API_POST_HOMEGROUP_LOCATION @"/homegrp/location" //홈 위치 변경 - 폐기
  62. //#define API_DELETE_HOMEGROUP @"/homegrp/%@" //홈그룹 삭제 - 폐기
  63. //#define API_GET_HOMEGROUP @"/homegrps" //홈그룹 리스트 - 폐기
  64. //#define API_POST_HOMEGROUP_LOCATION @"/member/homegrp/location" //홈 위치 등록
  65. //12 - 초대
  66. #define API_GET_HOMEGROUP_MEMBERS @"/homegrp_members" //홈그룹 멤버 목록
  67. #define API_POST_HOMEGROUP_MEMBER_INVITE @"/homegrp_members" //홈멤버 초대
  68. //#define API_POST_HOMEGROUP_MEMBER_UPDATE @"/homegrp_members/%@" //홈멤버 업데이트 - 폐기
  69. //#define API_POST_HOMEGROUP_MEMBER_VALIDATE @"/homegrp_members/email_validation" //홈그룹 멤버 유효성체크 - 폐기
  70. #define API_DELETE_HOMEGROUP_MEMBERS @"/homegrp_members" //홈멤버 삭제 - 추가
  71. #define API_POST_HOMEGROUP_MEMBER_VALIDATE @"/homegrp_members/validation" //홈그룹 멤버 초대 유효성 체크
  72. #define API_POST_HOMEGROUP_UPDATE_IMAGE @"/homegrp/update_image" //홈그룹 이미지 수정
  73. #define API_GET_HOMEGROUP_MEMBER_INVITATIONS @"/homegrp_members/invitations" //홈그룹 초대 목록 조회
  74. #define API_POST_HOMEGROUP_MEMBER_INVITATIONS @"/homegrp_members/invitations" //홈그룹 초대 수락/거절
  75. //20 - dashboard
  76. #define API_GET_DASHBOARD @"/dashboard" //대시보드
  77. #define API_GET_DASHBOARD_MODE_LIST @"/modes" //대시보드 모드 조회
  78. #define API_POST_DASHBOARD_MODE_CHANGE @"/modes/%@/current_mode" //대시보드 모드 변경
  79. //#define API_GET_HOMELOG @"/homelog" //홈로그 - 폐기
  80. #define API_GET_NOTICE_COUNT @"/notices/count" //공지 및 알림 카운트
  81. #define API_GET_NOTICE @"/notices" //공지 목록 조회
  82. #define API_GET_NOTICE_PERSONAL @"/notices/personal" //알림 목록 조회
  83. //30 - Things
  84. #define API_GET_HOMEHUB_STATUS @"/devices/homehub/status" //홈허브 상태 조회
  85. //#define API_GET_GROUPS_DEVICES @"/groups/devices" //그룹 리스트 조회
  86. //#define API_POST_GROUP @"/groups" //그룹 생성
  87. //#define API_POST_GROUP_ADD @"/groups/devices/%@" //그룹에 장치 추가
  88. //#define API_POST_GROUP_UPDATE @"/groups/%@" //그룹 수정
  89. //#define API_DELETE_GROUP @"/groups/%@" //그룹 삭제
  90. //#define API_POST_GROUP_DELETE @"/groups/devices/%@" //그룹 내 디바이스 삭제
  91. #define API_PARAM_PAGING @"?paging_datetime=%@&paging_type=%@"
  92. #define API_GET_DEVICE_LIST @"/devices"
  93. #define API_GET_DEVICE_DETAIL @"/devices/%@"
  94. #define API_POST_NODE_COMMAND @"/devices/%@/nodes/%@/commands"
  95. #define API_GET_DEVICE_ICONS @"/devices/icons/%@" //디바이스 아이콘
  96. #define API_GET_DEVICE_UPDATE @"/devices/property/%@" //디바이스 수정
  97. #define API_DELETE_DEVICE @"/devices/%@" //디바이스 삭제
  98. #define API_GET_DEVICE_HOMEHUB_STATUS @"/devices/homehub/status" //홈허브 장치 상태 정보 조회
  99. #define API_GET_DEVICE_NODE_STATUS @"/devices/nodes?ids=%@" //복수 - 노드(커맨드클래스) 마지막 상태 값 조회
  100. #define API_GET_PARTNER_QR @"/devices/partner_device/ownership" //장치 유효성 검사
  101. #define API_POST_PARTNER_QR @"/devices/partner_device/ownership" //장치 소유권 등록/이전
  102. #define API_POST_DEVICE_INCLUSION @"/devices/%@/commands/status" //하위 장치 추가 제어 명령 실행 (인클루전)
  103. #define API_GET_DEVICE_COMMAND @"/devices/%@/commands/status" //장치 상태(Polling) 제어 명령 조회
  104. #define API_DELETE_DEVICE_EXCLUSION @"/devices/%@/commands/status" //하위 장치 삭제 제어 명령 실행 (익스클루전)
  105. #define API_GET_DEVICE_TYPES @"/devices/device_class/%@" //장치 유형 조회(Device Class)
  106. #define API_POST_DEVICE_TYPES @"/devices/device_class/%@" //장치 유형 변경(Device Class)
  107. //40 - Rules
  108. #define API_GET_RULE @"/rules"
  109. #define API_GET_RULE_DETAIL @"/rules/%@"
  110. #define API_POST_RULE_STATUS @"/rules/%@/status"
  111. #define API_POST_RULE @"/rules"
  112. #define API_DELETE_RULE @"/rules/%@"
  113. #define API_POST_RULE_MODIFY @"/rules/%@"
  114. #define API_GET_RULE_CMDCLS @"/rules/cmdcls/%@"
  115. #define API_GET_RULE_MOBILE @"/rules/mobile_devices"
  116. #define API_GET_RULE_MEMBERS @"/rules/mobile_members"
  117. #define API_GET_ITEM_DEVICES @"/rules/item_devices/%@"
  118. #define API_GET_PRERULE_LIST @"/predefined_rules"
  119. #define API_GET_PRERULE_DETAIL @"/predefined_rules/%@"
  120. #define API_GET_PRERULE_DEVICES @"/predefined_rules/%@/devices/%@"
  121. //50 - Scenes
  122. #define API_GET_SCENE @"/scenes"
  123. #define API_GET_SCENE_DETAIL_HOMEMODE @"/mode_scenes/%@"
  124. #define API_POST_SCENE_HOMEMODE @"/mode_scenes/%@"
  125. #define API_POST_SCENE_EXECUTE @"/scenes/%@/execution"
  126. #define API_POST_SCENE @"/scenes"
  127. #define API_DELETE_SCENE @"/scenes/%@"
  128. #define API_POST_SCENE_MODIFY @"/scenes/%@"
  129. #define API_GET_SCENE_CMDCLS @"/scenes/cmdcls"
  130. #define API_GET_PRESCENE_LIST @"/predefined_scenes"
  131. #define API_GET_PRESCENE_DETAIL @"/predefined_scenes/%@"
  132. #define API_GET_PRESCENE_DEVICES @"/predefined_scenes/%@/devices/%@"
  133. //60 - 기타
  134. #define API_GET_LOCATION_CODES @"/common/weather_location_codes"
  135. #define URL_PATH_POLICY @"/html/page_app/app_personal_policy.html"
  136. #define URL_PATH_TERMS @"/html/page_app/app_user_terms.html"
  137. //도움말 URL
  138. #define URL_HELP_MAIL @"mailto:help@allofthings.com"
  139. #define URL_PATH_HELP @"/html/page_app/app_help_01.html"
  140. //앱스토어 링크
  141. #define URL_APP_UPDATE @"https://itunes.apple.com/kr/app/kneet/id1042171198?mt=8"
  142. #define URL_DAWON_UPDATE @"https://itunes.apple.com/kr/app/pm-b300w/id698046076?l=en&mt=8"
  143. //Global Menu Id
  144. //메뉴 이름, 메뉴 아이디, 부모-자식,
  145. typedef NS_ENUM(NSInteger, KNMenuId) {
  146. KNMenuIdNone = -1,
  147. KNMenuIdLogin = 0,
  148. KNMenuIdDashboard,
  149. KNMenuIdThings,
  150. KNMenuIdScenes,
  151. KNMenuIdRules,
  152. KNMenuIdHomeLog,
  153. KNMenuIdHomeMember,
  154. KNMenuIdLogout,
  155. KNMenuIdSettings,
  156. KNMenuIdHelp,
  157. KNMenuIdTutorial
  158. };
  159. #define HOME_MODE_HOME @"HOME"
  160. #define HOME_MODE_AWAY @"AWAY"
  161. #define HOME_MODE_MORNING @"MORNING"
  162. #define HOME_MODE_NIGHT @"NIGHT"
  163. #define MOBILE_SERVICE_ID @"20001" //for kneet
  164. #define MOBILE_DEVICE_TYPE @"MI" //디바이스 타입
  165. #define APPSTORE_TYPE @"A"
  166. #define KNEET_DEVICE_CHECKIN @"TRUE"
  167. #define KNEET_DEVICE_CHECKOUT @"FALSE"
  168. #define KNEET_DEVICE_INCLUSION @"INC"
  169. #define KNEET_DEVICE_EXCLUSION @"EXC"
  170. #define KNEET_DEVICE_WAITING @"WAT"
  171. #define KNEET_MEMBER_MASTER @"MAS"
  172. #define KNEET_MEMBER_SIMPLE @"SIM"
  173. #define KNEET_MEMBER_TYPE_HOME @"01" //멤버
  174. #define KNEET_MEMBER_TYPE_INV @"02" //초대중
  175. #define API_RESPONSE_UNAUTHORIZED_TOKEN @"401"
  176. #define API_RESPONSE_UNAUTHORIZED_EMAIL @"401-101"
  177. #define API_RESPONSE_UNAUTHORIZED_DEVICE @"401-103"
  178. #define API_RESPONSE_UNAUTHORIZED_HOME @"400-104"
  179. #define API_RESPONSE_MOBILES_OVER @"401-105"
  180. //UserDefaults - for app
  181. #define USDEF_APP_APPINIT @"KneetAppInit"
  182. #define USDEF_APP_AUTO_LOGIN @"KneetAppAutoLogin"
  183. #define USDEF_APP_USERID_LIST @"KneetAppUserIdList"
  184. //#define USER_DEF_MOBILE_ID @"KneetMobileDeviceId"
  185. //#define USER_DEF_MOBILE_AUTHOR @"KneetMobileDeviceAuthorization"
  186. //#define USER_DEF_GEOFENCE @"KneetMobileDeviceGeoFence"
  187. //#define USER_DEF_GEOFENCE_SENSORS @"KneetMobileDeviceGeoFence"
  188. //#define USER_DEF_POPUP_URL @"KneetIntroPopUpURL"
  189. //#define USER_DEF_POPUP_SHOW @"KneetIntroPopUpShow"
  190. #define USDEF_APP_TMP_EMAIL @"KneetAppTempUserEmail"
  191. //UserDefaults - for session
  192. #define USDEF_SESSION_NEW_EMAIL @"KneetNewUserEmail"
  193. #define USDEF_SESSION_MODE_CHANGE @"KneetModeChange"
  194. #define USDEF_SESSION_AUTOTOKEN @"KneetSessionLoginAuthToken"
  195. #define USDEF_SESSION_NOTICE_READ_DATE @"KneetSessionNoticeReadDatetime"
  196. //Constants
  197. #define ksKneetRulesDisable @"X"
  198. #define ksYES @"Y"
  199. #define ksNO @"N"
  200. #define ksRetire @"R"
  201. #define ksTrue @"true"
  202. #define ksFalse @"false"
  203. #define ksControlLeft @"L"
  204. #define ksControlRight @"R"
  205. #define ksControlUp @"U"
  206. #define ksControlDown @"D"
  207. #define ksTimezoneKorea @"0024"
  208. #define ksDataTypeCodeInteger @"01" // integer
  209. #define ksDataTypeCodeFloat @"02" // float
  210. #define ksDataTypeCodeString @"03" // string
  211. #define ksDataTypeCodeBoolean @"04" // boolean
  212. #define ksDataTypeCodeDateTime @"05" // datetime
  213. #define ksDataTypeCodeTime @"06" // time
  214. #define ksDayOfWeekMON @"MON"
  215. #define ksDayOfWeekTUE @"TUE"
  216. #define ksDayOfWeekWED @"WED"
  217. #define ksDayOfWeekTHU @"THU"
  218. #define ksDayOfWeekFRI @"FRI"
  219. #define ksDayOfWeekSAT @"SAT"
  220. #define ksDayOfWeekSUN @"SUN"
  221. #define kdListPagginSize 20
  222. #define ksListPagingTypeUpward @"U"
  223. #define ksListPagingTypeDownward @"D"
  224. //Color Definition
  225. #define kUIBodyColor RGBCOLOR(243.0f, 243.0f, 243.0f) //전체 배경컬러
  226. #define kUIBgColor01 RGBCOLOR(32, 32, 32) //기본 버튼 배경컬러
  227. #define kUIBgColor02 RGBCOLOR(39.0f, 63.0f, 135.0f) //기본 버튼 press컬러
  228. #define kUIBgColor03 RGBCOLOR(116.0f, 147.0f, 204.0f) //슬라이드 인 메뉴 상단 컬러
  229. #define kUIBgColor04 [UIColor whiteColor] //화이트 배경
  230. #define kUIBgColor05 RGBCOLOR(187.0f, 187.0f, 187.0f) //취소 버튼 등 그레이컬러
  231. #define kUIBgColor06 RGBCOLOR(150.0f, 150.0f, 150.0f) //취소 버튼 press 컬러
  232. #define kUIBgColor07 RGBCOLOR(248.0f, 248.0f, 248.0f) //리스트 그레이 컬러
  233. #define kUILineColor RGBCOLOR(255.0f, 110.0f, 43.0f) //구분라인 1 - orange
  234. #define kUILineColor2 RGBCOLOR(112.0f, 112.0f, 112.0f) //구분라인 2 - 박스 내,
  235. #define kUITextColor01 [UIColor whiteColor] //화이트 컬러
  236. #define kUITextColor02 RGBCOLOR(255.0f, 110.0f, 43.0f) //포인트 컬러
  237. #define kUITextColor03 RGBCOLOR(204.0f, 204.0f, 204.0f) //연한 컬러
  238. #define kUITextColor04 [UIColor blackColor] //블랙 컬러
  239. //Size Definition
  240. #define kUIFontSize01 14.0f //기본사이즈
  241. #define kUIFontSize02 15.0f //리스트 타이틀 / input text
  242. #define kUIFontSize03 20.0f //head size
  243. #define kUIFontSize04 13.0f //설명 등 작은 사이즈
  244. #define kUIFontSize05 18.0f //기본 버튼 / 팝업 타이틀 / things list value
  245. #define kUIFontSize06 12.0f //예외 매우 작은 사이즈
  246. #define kUIFontSize07 27.0f //things detail value 아주 큰 글씨
  247. //UI Constants
  248. #define kfNavigationBarHeight 60.0f
  249. #define kfMainTabBarHeight 70.0f
  250. #define kfBoxCap 1.0f
  251. #define kfPageBottomMargin 20.0f
  252. #define kfTransitionRightDur 0.3f
  253. //#define kfLabelSizeFont01 18.0f
  254. //#define kfLabelSizeFont03 15.0f
  255. //
  256. //#define kfScrollHeightForOlder 70.0f //스크롤뷰의 이전 조회 시 추가값.
  257. //메시지 정의
  258. #define MSG_ALERT_APP_UPDATE NSLocalizedString(@"새로운 업데이트 버전이 출시되었습니다.\n확인을 누르시면 업데이트 페이지로\n이동합니다.", @"새로운 업데이트 버전이 출시되었습니다.\n확인을 누르시면 업데이트 페이지로\n이동합니다.")
  259. #define MSG_ALERT_ERROR_CRITICAL NSLocalizedString(@"사용할수 없습니다.\n앱 종료 후 다시 시도하세요.", @"사용할수 없습니다.\n앱 종료 후 다시 시도하세요.")
  260. #define MSG_ALERT_SERVER_FAIL NSLocalizedString(@"서버에 연결할 수 없습니다.\n다시 시도하세요.", @"서버에 연결할 수 없습니다.\n다시 시도하세요.")
  261. #define MSG_LOCATION_DISABLE NSLocalizedString(@"[설정 > 개인정보보호 > 위치서비스]에서\nAoT@Home앱이 활성화되어\n있을 때에만 위치센서가 동작합니다", @"[설정 > 개인정보보호 > 위치서비스]에서\nAoT@Home앱이 활성화되어\n있을 때에만 위치센서가 동작합니다")
  262. #define MSG_CAMERA_DISABLE NSLocalizedString(@"[설정 > 개인정보보호 > 카메라]에서\nAoT@Home앱이 활성화되어\n있을 때에만 QR등록이 동작합니다", @"[설정 > 개인정보보호 > 카메라]에서\nAoT@Home앱이 활성화되어\n있을 때에만 QR등록이 동작합니다")
  263. #define MSG_NOT_WIFI_STREAM NSLocalizedString(@"WiFi 미연결 상태에서는\n데이터 통화료가 과도하게\n부과될 수 있으니 주의하세요", @"WiFi 미연결 상태에서는\n데이터 통화료가 과도하게\n부과될 수 있으니 주의하세요")
  264. //kneet2_Definitions_h
  265. #endif