package com.auto.lyric.vm; import com.auto.lyric.base.model.BaseViewModel; import com.auto.lyric.data.ActiveResult; import com.auto.lyric.retrofit.api.CollectApiCenter; import com.auto.lyric.retrofit.observable.LoadingHttpObserver; import com.auto.lyric.retrofit.utils.RetrofitUtils; import com.auto.lyric.util.DeviceIdUtils; import com.auto.lyric.util.NetWorkUtils; import com.auto.lyric.util.SHA1UTIL; import java.util.Date; import java.util.UUID; import io.reactivex.Observable; /** * Created by Runt (qingingrunt2010@qq.com) on 2022/3/20. */ public class MainViewModel extends BaseViewModel { CollectApiCenter apiCenter; public MainViewModel(){ apiCenter = RetrofitUtils.getInstance().getRetrofit(CollectApiCenter.class); } public void checkActive(String userId,String activeKey,LoadingHttpObserver observer){ String ip = NetWorkUtils.getNetIp(); String random = UUID.randomUUID().toString(); long time = new Date().getTime()/1000; String deviceId = DeviceIdUtils.getAndroidId(activity); String sign = String.format("%s%s%s%s%s%s",activeKey,ip,deviceId ,random,time,userId); Observable observable = apiCenter.loginCheck(activeKey, ip,deviceId, random, time, userId, SHA1UTIL.MD5(SHA1UTIL.getSHA(sign))); httpObserverOn(observable,observer); } public void register(String activeKey,LoadingHttpObserver observer){ String ip = NetWorkUtils.getNetIp(); String random = UUID.randomUUID().toString(); long time = new Date().getTime()/1000; int userId = 0; String deviceId = DeviceIdUtils.getAndroidId(activity); String sign = String.format("%s%s%s%s%s%s",activeKey,ip,deviceId ,random,time,userId); Observable observable = apiCenter.register(activeKey, ip,deviceId, random, time, userId, SHA1UTIL.MD5(SHA1UTIL.getSHA(sign))); httpObserverOn(observable,observer); } }