package Ġcom . jun erver . cloud note . net ĊĊ Ċ import Ġcom . i hs an bal . logging . Level Ċ import Ġcom . i hs an bal . logging . Logging Interceptor Ċ import Ġcom . jun erver . cloud note . Constants Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġokhttp 3 . RequestBody Ċ import Ġokhttp 3 . internal . platform . Platform Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . converter . scal ars . Scalars Converter Factory Ċ import Ġretrofit 2 . http .* Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ /** Ċ Ġ* Ġ ä¼ĺåĮĸ è¿ĩ çļĦ B mob æĬ¥ æ´» æıĲäº¤ Ċ Ġ*/ Ċ object ĠB mob Methods Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġm Ret rofit : ĠRet rofit ĊĠĠĠ Ġprivate Ġval ĠBASE _ URL Ġ= Ġ" https :// api 2 . b mob . cn /" ĊĠĠĠ Ġprivate Ġval ĠDEFAULT _ TIMEOUT Ġ= Ġ 6 0 L ĊĠĠĠ Ġvar ĠINSTANCE : ĠWeb Service ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhttp Logging Interceptor Ġ= ĠLogging Interceptor . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setLevel ( Level . BASIC ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. log ( Platform . INFO ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. request (" Request ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. response (" Response ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠOk HttpClient . Builder () ĊĠĠĠĠĠĠĠ Ġbuilder . connect Timeout ( DEFAULT _ TIMEOUT , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. ping Interval ( 3 0 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor Ġ{ Ġchain Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġchain . request () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Header (" X - B mob - Application - Id ", ĠConstants . B MOB _ APP _ ID ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Header (" X - B mob - REST - API - Key ", ĠConstants . B MOB _ REST _ KEY ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchain . proceed ( request ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( http Logging Interceptor ) ĊĠĠĠĠĠĠĠ Ġm Ret rofit Ġ= ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( builder . build ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Scalars Converter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( BASE _ URL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ ĠINSTANCE Ġ= Ġm Ret rofit . create ( WebService :: class . java ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġinterface ĠWeb Service Ġ{ ĊĠĠĠĠĠĠĠ Ġ// çĻ»å½ķ ĊĠĠĠĠĠĠĠ Ġ@ Headers (" Content - Type : Ġapplication / json ") ĊĠĠĠĠĠĠĠ Ġ@ GET (" 1 / login ") ĊĠĠĠĠĠĠĠ Ġsuspend Ġfun Ġlogin ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Query (" username ") Ġusername : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Query (" password ") Ġpassword : ĠString ĊĠĠĠĠĠĠĠ Ġ): ĠString ĊĊĠĠĠĠĠĠĠ Ġ// æ³¨åĨĮ çĶ¨æĪ· ĊĠĠĠĠĠĠĠ Ġ@ Headers (" Content - Type : Ġapplication / json ") ĊĠĠĠĠĠĠĠ Ġ@ POST (" 1 / users ") ĊĠĠĠĠĠĠĠ Ġsuspend Ġfun Ġregister ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Body Ġbody : ĠRequest Body ĊĠĠĠĠĠĠĠ Ġ): ĠString ĊĊĠĠĠĠĠĠĠ Ġ// ä¸Ĭä¼ł æĸĩä»¶ ĊĠĠĠĠĠĠĠ Ġ@ POST (" 2 / files /{ fileName }") ĊĠĠĠĠĠĠĠ Ġsuspend Ġfun Ġpost File ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Header (" Content - Type ") ĠcontentType : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Path (" fileName ") ĠfileName : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Body Ġbody : ĠRequest Body ĊĠĠĠĠĠĠĠ Ġ): ĠString ĊĊĠĠĠĠĠĠĠ Ġ// æŁ¥è¯¢ åįķ æĿ¡ æķ°æį® ĊĠĠĠĠĠĠĠ Ġ@ Headers (" Content - Type : Ġapplication / json ") ĊĠĠĠĠĠĠĠ Ġ@ GET (" 1 / classes / Note ") ĊĠĠĠĠĠĠĠ Ġsuspend Ġfun ĠgetAll Note By UserId (@ Query (" where ") Ġwhere : String Ġ): ĠString ĊĊĠĠĠĠĠĠĠ Ġ// åĪĽå»º åįķ æĿ¡ æķ°æį® ĊĠĠĠĠĠĠĠ Ġ@ Headers (" Content - Type : Ġapplication / json ") ĊĠĠĠĠĠĠĠ Ġ@ POST (" 1 / classes / Note ") ĊĠĠĠĠĠĠĠ Ġsuspend Ġfun Ġpost Note (@ Body Ġbody : ĠRequest Body ): ĠString ĊĊĠĠĠĠĠĠĠ Ġ// æŁ¥è¯¢ åįķ æĿ¡ æķ°æį® ĊĠĠĠĠĠĠĠ Ġ@ Headers (" Content - Type : Ġapplication / json ") ĊĠĠĠĠĠĠĠ Ġ@ GET (" 1 / classes / Note /{ id }") ĊĠĠĠĠĠĠĠ Ġsuspend Ġfun Ġget Note ById (@ Path (" id ") Ġid : ĠString ): ĠString ĊĊĠĠĠĠĠĠĠ Ġ// æĽ´æĸ° åįķ æĿ¡ æķ°æį® ĊĠĠĠĠĠĠĠ Ġ@ Headers (" Content - Type : Ġapplication / json ") ĊĠĠĠĠĠĠĠ Ġ@ PUT (" 1 / classes / Note /{ id }") ĊĠĠĠĠĠĠĠ Ġsuspend Ġfun Ġput Note ById (@ Path (" id ") Ġid : ĠString , Ġ@ Body Ġbody : ĠRequest Body ): ĠString ĊĊĠĠĠĠĠĠĠ Ġ// æŁ¥è¯¢ åįķ æĿ¡ æķ°æį® ĊĠĠĠĠĠĠĠ Ġ@ Headers (" Content - Type : Ġapplication / json ") ĊĠĠĠĠĠĠĠ Ġ@ DELETE (" 1 / classes / Note /{ id }") ĊĠĠĠĠĠĠĠ Ġsuspend Ġfun Ġdel Note ById (@ Path (" id ") Ġid : ĠString ): ĠString ĊĠĠĠ Ġ} Ċ } ĊĊĊ