| | |
| | | |
| | | import androidx.lifecycle.ViewModel; |
| | | |
| | | import com.auto.lyric.base.activities.BaseActivity; |
| | | import com.auto.lyric.retrofit.AndroidScheduler; |
| | | import com.auto.lyric.retrofit.api.FieldData; |
| | | import com.auto.lyric.retrofit.observable.HttpObserver; |
| | | import com.auto.lyric.util.DeviceIdUtils; |
| | | import com.auto.lyric.util.NetWorkUtils; |
| | | import com.auto.lyric.util.SHA1UTIL; |
| | | import com.google.gson.Gson; |
| | | |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | import java.util.UUID; |
| | | |
| | | import io.reactivex.Observable; |
| | | import io.reactivex.schedulers.Schedulers; |
| | | import okhttp3.FormBody; |
| | | import okhttp3.MediaType; |
| | | import okhttp3.RequestBody; |
| | | |
| | | /** |
| | | * Created by Administrator on 2021/11/11 0011. |
| | | */ |
| | | public class BaseViewModel extends ViewModel { |
| | | |
| | | protected BaseActivity activity; |
| | | |
| | | public void onCreate(BaseActivity activity){ |
| | | this.activity = activity; |
| | | } |
| | | |
| | | protected RequestBody createJsonBody(Object obj){ |
| | | return FormBody.create(MediaType.parse("application/json; charset=utf-8"),obj instanceof String?obj.toString(): new Gson().toJson(obj)); |
| | | } |
| | | |
| | | /** |
| | | * 网络请求观察 |
| | |
| | | .subscribe(observer); |
| | | } |
| | | |
| | | public Map getApiFileds(String userId,String activeKey){ |
| | | FieldData data = new FieldData(); |
| | | data.userID = userId; |
| | | data.ip = NetWorkUtils.getNetIp(); |
| | | data.random = UUID.randomUUID().toString(); |
| | | data.timeStamp = new Date().getTime()/1000+""; |
| | | data.phoneID = DeviceIdUtils.getAndroidId(activity); |
| | | data.activeKey = activeKey; |
| | | String sign = String.format("%s%s%s%s%s%s",activeKey,data.ip,data.phoneID ,data.random,data.timeStamp,userId); |
| | | data.sign = SHA1UTIL.MD5(SHA1UTIL.getSHA(sign)); |
| | | Gson gson = new Gson(); |
| | | return gson.fromJson(gson.toJson(data), Map.class); |
| | | } |
| | | |
| | | public Map<String, RequestBody> getApiMultiFileds(String userId, String activeKey){ |
| | | Map<String,String> fileds = getApiFileds(userId,activeKey); |
| | | Map<String, RequestBody> multiMap = new HashMap<>(); |
| | | for(String key : fileds.keySet()){ |
| | | multiMap.put(key,RequestBody.create(fileds.get(key),null)); |
| | | } |
| | | return multiMap; |
| | | } |
| | | |
| | | |
| | | } |