From ea6ce17bf3272259295adccbad85583079b5bac0 Mon Sep 17 00:00:00 2001
From: Runt <qingingrunt2010@qq.com>
Date: Wed, 22 Feb 2023 14:14:41 +0000
Subject: [PATCH] api调用

---
 app/src/main/java/com/auto/lyric/vm/MainViewModel.java |  100 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 100 insertions(+), 0 deletions(-)

diff --git a/app/src/main/java/com/auto/lyric/vm/MainViewModel.java b/app/src/main/java/com/auto/lyric/vm/MainViewModel.java
index 395a607..4a024fd 100644
--- a/app/src/main/java/com/auto/lyric/vm/MainViewModel.java
+++ b/app/src/main/java/com/auto/lyric/vm/MainViewModel.java
@@ -1,9 +1,109 @@
 package com.auto.lyric.vm;
 
 import com.auto.lyric.base.model.BaseViewModel;
+import com.auto.lyric.data.ActiveResult;
+import com.auto.lyric.data.BaseApiResult;
+import com.auto.lyric.data.DeviceInfo;
+import com.auto.lyric.retrofit.api.CollectApiCenter;
+import com.auto.lyric.retrofit.api.CommonApiCenter;
+import com.auto.lyric.retrofit.observable.HttpObserver;
+import com.auto.lyric.retrofit.observable.LoadingHttpObserver;
+import com.auto.lyric.retrofit.utils.RetrofitUtils;
+import com.google.gson.Gson;
+
+import java.io.File;
+import java.util.Date;
+
+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;
+    CommonApiCenter commonApi;
+
+    public MainViewModel(){
+        apiCenter = RetrofitUtils.getInstance().getRetrofit(CollectApiCenter.class);
+        commonApi = RetrofitUtils.getInstance().getRetrofit(CommonApiCenter.class);
+    }
+
+    public void checkActive(String userId,String activeKey,LoadingHttpObserver<ActiveResult> observer){
+        Observable<ActiveResult> observable = apiCenter.loginCheck(getApiFileds(userId,activeKey));
+        httpObserverOn(observable,observer);
+    }
+
+    public void registerDevice(){
+        httpObserverOn(commonApi.registerDevice("https://api.hefan.space/autolyric/registerDevice",createJsonBody(DeviceInfo.getInstance(activity))), new HttpObserver() {
+            @Override
+            public void onError(BaseApiResult result) {
+
+            }
+
+            @Override
+            public void onComplete(BaseApiResult error) {
+
+            }
+
+            @Override
+            public void onComplete() {
+                super.onComplete();
+                activity.putStringProjectPrefrence("deviceInfo",new Gson().toJson(DeviceInfo.getInstance(activity)));
+            }
+        });
+    }
+
+    public void launchApp(){
+        httpObserverOn(commonApi.launchApp("https://api.hefan.space/autolyric/launchApp",createJsonBody(DeviceInfo.getInstance(activity))), new HttpObserver() {
+            @Override
+            public void onError(BaseApiResult result) {
+
+            }
+
+            @Override
+            public void onComplete(BaseApiResult error) {
+
+            }
+
+            @Override
+            public void onComplete() {
+                super.onComplete();
+                activity.putLongProjectPrefrence("launchApp",new Date().getTime());
+            }
+        });
+    }
+
+    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);
+    }
+
 }

--
Gitblit v1.9.1