Definitions.h 17 KB

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