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 java.io.File; import io.reactivex.Observable; import okhttp3.MediaType; import okhttp3.MultipartBody; import okhttp3.RequestBody; /** * 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){ Observable observable = apiCenter.loginCheck(getApiFileds(userId,activeKey)); httpObserverOn(observable,observer); } public void register(String activeKey,LoadingHttpObserver observer){ Observable observable = apiCenter.register(getApiFileds("0",activeKey)); httpObserverOn(observable,observer); } public void uploadFile(String userId,String activeKey,File file){ RequestBody body = RequestBody.create(MediaType.parse("text/plain; charset=utf-8"),file); MultipartBody.Part part = MultipartBody.Part.createFormData("file", file.getName(), body); httpObserverOn(apiCenter.uploadLrc(part, getApiMultiFileds(userId, activeKey)), new LoadingHttpObserver(activity) { @Override public void onComplete(ActiveResult error) { } }); } /** * * @param userId * @param activeKey * @param title 歌词标题 * @param lrc 歌词内容 * @param observer */ public void addToCollect(String userId,String activeKey,String title,String lrc,LoadingHttpObserver observer){ httpObserverOn(apiCenter.addLrcToCollect(title,lrc,getApiFileds(userId,activeKey)),observer); } }