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<ActiveResult> observer){
|
Observable<ActiveResult> observable = apiCenter.loginCheck(getApiFileds(userId,activeKey));
|
httpObserverOn(observable,observer);
|
}
|
|
public void register(String activeKey,LoadingHttpObserver<ActiveResult> observer){
|
Observable<ActiveResult> 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<ActiveResult>(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<ActiveResult> observer){
|
httpObserverOn(apiCenter.addLrcToCollect(title,lrc,getApiFileds(userId,activeKey)),observer);
|
}
|
|
}
|