package Ġcom . mo eg irl viewer . api . account Ċ Ċ import Ġcom . mo eg irl viewer . Constants Ċ import Ġcom . mo eg irl viewer . api . account . bean . Login Result Bean Ċ import Ġcom . mo eg irl viewer . api . account . bean . Login Token Bean Ċ import Ġcom . mo eg irl viewer . api . account . bean . Thank Result Bean Ċ import Ġcom . mo eg irl viewer . api . account . bean . UserInfo Bean Ċ import Ġcom . mo eg irl viewer . api . edit . Edit Api Ċ import Ġcom . mo eg irl viewer . request . Mo e Request Method Ċ import Ġcom . mo eg irl viewer . request . moe Request Ċ Ċ object ĠAccount Api Ġ{ ĊĠ Ġsuspend Ġfun Ġget Login Token (): ĠString Ġ{ ĊĠĠĠ Ġval Ġres Ġ= Ġmo e Request ( ĊĠĠĠĠĠ Ġentity Ġ= ĠLogin Token Bean :: class . java , ĊĠĠĠĠĠ Ġmethod Ġ= ĠMo e Request Method . POST , ĊĠĠĠĠĠ Ġparams Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠ Ġ" action " Ġto Ġ" query ", ĊĠĠĠĠĠĠĠ Ġ" meta " Ġto Ġ" tokens ", ĊĠĠĠĠĠĠĠ Ġ" type " Ġto Ġ" login " ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġreturn Ġres . query . tokens . log into ken ĊĠ Ġ} ĊĊĠ Ġsuspend Ġfun Ġlogin ( userName : ĠString , Ġpassword : ĠString ): ĠLogin Result Bean Ġ{ ĊĠĠĠ Ġval Ġtoken Ġ= Ġget Login Token () ĊĠĠĠ Ġreturn Ġlogin ( token , ĠuserName , Ġpassword ) ĊĠ Ġ} ĊĊĠ Ġsuspend Ġfun Ġlogout () Ġ{ ĊĠĠĠ Ġval Ġcsrf Token Ġ= ĠEdit Api . getC s rf Token () ĊĠĠĠ Ġmo e Request ( ĊĠĠĠĠĠ Ġentity Ġ= ĠAny :: class . java , ĊĠĠĠĠĠ Ġmethod Ġ= ĠMo e Request Method . POST , ĊĠĠĠĠĠ Ġparams Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠ Ġ" action " Ġto Ġ" logout ", ĊĠĠĠĠĠĠĠ Ġ" token " Ġto Ġcsrf Token ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġsuspend Ġfun Ġget Info (): ĠUserInfo Bean Ġ{ ĊĠĠĠ Ġreturn Ġmo e Request ( ĊĠĠĠĠĠ Ġentity Ġ= ĠUserInfo Bean :: class . java , ĊĠĠĠĠĠ Ġparams Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠ Ġ" action " Ġto Ġ" query ", ĊĠĠĠĠĠĠĠ Ġ" meta " Ġto Ġ" userinfo ", ĊĠĠĠĠĠĠĠ Ġ" ui prop " Ġto Ġ" groups | block info " ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġsuspend Ġfun Ġpoll ( poll Id : ĠString , Ġanswer : ĠString , Ġtoken : ĠString ): ĠString Ġ{ ĊĠĠĠ Ġreturn Ġmo e Request ( ĊĠĠĠĠĠ Ġentity Ġ= ĠString :: class . java , ĊĠĠĠĠĠ ĠbaseUrl Ġ= Ġ"${ Constants . main Url }/ index . php ", ĊĠĠĠĠĠ Ġparams Ġ= Ġmutable Map Of < String , ĠAny >(). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġthis [" action "] Ġ= Ġ" ajax " ĊĠĠĠĠĠĠĠ Ġthis [" rs "] Ġ= Ġ" AJ AX Poll :: submit Vote " ĊĠĠĠĠĠĠĠ Ġthis [" rs args "] Ġ= ĠlistOf ( poll Id , Ġanswer , Ġtoken ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġsuspend Ġfun Ġthank ( rev Id : ĠInt ) Ġ= Ġmo e Request ( ĊĠĠĠ Ġentity Ġ= ĠThank Result Bean :: class . java , ĊĠĠĠ Ġmethod Ġ= ĠMo e Request Method . POST , ĊĠĠĠ Ġparams Ġ= Ġmap Of ( ĊĠĠĠĠĠ Ġ" action " Ġto Ġ" th ank ", ĊĠĠĠĠĠ Ġ" token " Ġto ĠEdit Api . getC s rf Token (), ĊĠĠĠĠĠ Ġ" rev " Ġto Ġrev Id ĊĠĠĠ Ġ) ĊĠ Ġ) Ċ } Ċ Ċ private Ġsuspend Ġfun Ġlogin ( token : ĠString , ĠuserName : ĠString , Ġpassword : ĠString ) Ġ= ĊĠ Ġmo e Request ( ĊĠĠĠ Ġentity Ġ= ĠLogin Result Bean :: class . java , ĊĠĠĠ Ġmethod Ġ= ĠMo e Request Method . POST , ĊĠĠĠ Ġparams Ġ= Ġmutable Map Of < String , ĠAny >(). apply Ġ{ ĊĠĠĠĠĠ Ġthis [" action "] Ġ= Ġ" client login " ĊĠĠĠĠĠ Ġthis [" login message format "] Ġ= Ġ" html " ĊĠĠĠĠĠ Ġthis [" login return url "] Ġ= Ġ" https :// zh . mo eg irl . org . cn / Main page " ĊĠĠĠĠĠ Ġthis [" username "] Ġ= ĠuserName ĊĠĠĠĠĠ Ġthis [" password "] Ġ= Ġpassword ĊĠĠĠĠĠ Ġthis [" remember Me "] Ġ= Ġtrue ĊĠĠĠĠĠ Ġthis [" log into ken "] Ġ= Ġtoken ĊĠĠĠ Ġ} ĊĠ Ġ)