package Ġcom . ph z . dev . net Ċ Ċ import Ġcom . google . gson . Gson Builder Ċ import Ġcom . ph z . common . app Context Ċ import Ġcom . ph z . common . net . Http Common Manager Ċ import Ġcom . ph z . common . net . interceptor . Cache Interceptor Ċ import Ġcom . ph z . common . net . interceptor . Header Interceptor Ċ import Ġcom . ph z . common . net . interceptor . log . Log Interceptor Ċ import Ġcom . ph z . common . net . persistent cookie jar . Persistent Cookie Jar Ċ import Ġcom . ph z . common . net . persistent cookie jar . cache . Set Cookie Cache Ċ import Ġcom . ph z . common . net . persistent cookie jar . persistence . Shared Prefs Cookie Pers istor Ċ import Ġcom . ph z . dev . api . service . Wan Android ApiService Ċ import Ġcom . ph z . dev . net . auth enticator . My Authenticator Ċ import Ġokhttp 3 . Cache Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . converter . gson . Gson Converter Factory Ċ import Ġretrofit 2 . converter . scal ars . Scalars Converter Factory Ċ import Ġjava . io . File Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ /** Ċ Ġ* Ġ@ author Ġph z Ċ Ġ* Ġ@ description Ġhttp è¯·æ±Ĥ ç®¡çĲĨ ç±» Ċ Ġ*/ Ċ const Ġval ĠSERVER _ ADDRESS =" https :// www . wan android . com " ĠĠ Ġ/* çİ© å®ī åį ĵ baseurl */ Ċ Ċ /* åıĮ éĩį æł¡éªĮ éĶģ å¼ı - åįķ ä¾ĭ Ġ å°ģè£ħ Net ApiService Ġ æĸ¹ä¾¿ çĽ´æİ¥ å¿«éĢŁ è°ĥçĶ¨ ç®ĢåįķçļĦ æİ¥åı£ */ Ċ val Ġapi Service : ĠW an Android ApiService Ġby Ġlazy ( mode Ġ= ĠLazy Thread Safety Mode . SYN CH RON IZED ) Ġ{ ĊĠĠĠ ĠHttp Manager . INSTANCE . get Api ( Wan Android ApiService :: class . java , ĠSERVER _ ADDRESS ) Ċ } Ċ Ċ class ĠHttp Manager Ġ: ĠHttp Common Manager () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġcookie Jar : ĠPersistent Cookie Jar Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠPersistent Cookie Jar ( Set Cookie Cache (), ĠShared Prefs Cookie Pers istor ( app Context )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ// åįķ ä¾ĭ ĊĠĠĠĠĠĠĠ Ġval ĠINSTANCE : ĠHttp Manager Ġby Ġlazy ( mode Ġ= ĠLazy Thread Safety Mode . SYN CH RON IZED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHttp Manager () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġset HttpClient Builder ( builder : ĠOk HttpClient . Builder ): ĠOk HttpClient . Builder Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// è®¾ç½® ç¼ĵåŃĺ éħįç½® Ġ ç¼ĵåŃĺ æľĢå¤§ 1 0 M ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcache ( Cache ( File ( app Context . cacheDir , Ġ" okhttp "), Ġ 1 0 Ġ* Ġ 1 0 2 4 Ġ* Ġ 1 0 2 4 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// æ·»åĬł Cookies èĩªåĬ¨ æĮģ ä¹ħ åĮĸ , åİ» æİī è¿Ļ è¡Į é»ĺè®¤ No Cookies ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcookie Jar ( cookie Jar ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// æ·»åĬł cache æĭ ¦ æĪª åĻ¨ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Interceptor ( Cache Interceptor ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// æ·»åĬł Header æĭ ¦ æĪª åĻ¨ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Interceptor ( Header Interceptor ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// æ·»åĬł Log æĭ ¦ æĪª åĻ¨ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Interceptor ( Log Interceptor ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ä¹Łåı¯ä»¥ ä½¿çĶ¨ okhttp èĩª å¸¦ çļĦ Http Logging Interceptor ï¼Į ä¸įè¿ĩ æľī æĹ¶åĢĻ æīĵåį° ä¸į åħ¨ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġadd Interceptor ( Http Logging Interceptor ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// å¤ĦçĲĨ èº«ä»½ éªĮè¯ģ è¶ħæĹ¶ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauth enticator ( My Authenticator ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// è®¾ç½® è¶ħæĹ¶ æĹ¶éĹ´ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconnect Timeout ( 1 0 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġread Timeout ( 1 0 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Timeout ( 1 0 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġbuilder ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Ret rofit Builder ( builder : ĠRet rofit . Builder ): ĠRet rofit . Builder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġbuilder . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Converter Factory ( Scalars Converter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Converter Factory ( Gson Converter Factory . create ( Gson Builder (). create ())) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ } Ċ