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/base/model/BaseViewModel.java |   39 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 39 insertions(+), 0 deletions(-)

diff --git a/app/src/main/java/com/auto/lyric/base/model/BaseViewModel.java b/app/src/main/java/com/auto/lyric/base/model/BaseViewModel.java
index 83badfd..d0c186f 100644
--- a/app/src/main/java/com/auto/lyric/base/model/BaseViewModel.java
+++ b/app/src/main/java/com/auto/lyric/base/model/BaseViewModel.java
@@ -4,10 +4,23 @@
 
 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.
@@ -18,6 +31,10 @@
 
     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));
     }
 
     /**
@@ -32,6 +49,28 @@
                 .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;
+    }
 
 
 }

--
Gitblit v1.9.1