Definitions.h 17 KB

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