兼容后台接口不规范
This commit is contained in:
parent
b64a200deb
commit
1dae6c840f
@ -6,13 +6,13 @@ package com.dhsd.glowner.bean
|
|||||||
* @Date 2024/10/16 09:58
|
* @Date 2024/10/16 09:58
|
||||||
* @Description TODO
|
* @Description TODO
|
||||||
*/
|
*/
|
||||||
data class CodeBean(
|
//data class CodeBean(
|
||||||
val captchaEnabled: Boolean,
|
// val captchaEnabled: Boolean,
|
||||||
val code: Int,
|
// val code: Int,
|
||||||
val img: String,
|
// val img: String,
|
||||||
val msg: String,
|
// val msg: String,
|
||||||
val uuid: String
|
// val uuid: String
|
||||||
)
|
//)
|
||||||
|
|
||||||
data class LoginBean(
|
data class LoginBean(
|
||||||
var username: String,
|
var username: String,
|
||||||
|
@ -6,6 +6,10 @@ package com.dahe.glex.bean
|
|||||||
* @Date 2023/9/21 10:22
|
* @Date 2023/9/21 10:22
|
||||||
* @Description TODO
|
* @Description TODO
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
data class OrderListBean(
|
||||||
|
var rows: List<OrderBean>
|
||||||
|
)
|
||||||
data class OrderBean(
|
data class OrderBean(
|
||||||
var orderId: String,
|
var orderId: String,
|
||||||
var waybillId: String,
|
var waybillId: String,
|
||||||
|
@ -28,4 +28,10 @@ data class UserBean(
|
|||||||
var credit :String
|
var credit :String
|
||||||
)
|
)
|
||||||
|
|
||||||
|
data class CodeBean(
|
||||||
|
val captchaEnabled:Boolean,
|
||||||
|
val img:String,
|
||||||
|
val uuid:String
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@ interface Api {
|
|||||||
* @return Observable<CommonResponseBean<CodeBean>>
|
* @return Observable<CommonResponseBean<CodeBean>>
|
||||||
*/
|
*/
|
||||||
@GET(BASE_URL+"devApi/code")
|
@GET(BASE_URL+"devApi/code")
|
||||||
fun getCode(): Observable<CommonResponseBean<Any>>
|
fun getCode(): Observable<CommonResponseBean<CodeBean>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否需要验证码登录
|
* 是否需要验证码登录
|
||||||
@ -49,5 +49,8 @@ interface Api {
|
|||||||
@GET(BASE_URL+"devApi/business/shipper/order/list")
|
@GET(BASE_URL+"devApi/business/shipper/order/list")
|
||||||
fun getOrderList(): Observable<CommonResponseBean<MutableList<OrderBean>>>
|
fun getOrderList(): Observable<CommonResponseBean<MutableList<OrderBean>>>
|
||||||
|
|
||||||
|
@GET(BASE_URL+"devApi/business/shipper/order/list")
|
||||||
|
fun getOrderList2(): Observable<CommonResponseBean<OrderListBean>>
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
@ -12,6 +12,7 @@ import android.text.style.ClickableSpan
|
|||||||
import android.view.View
|
import android.view.View
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import androidx.core.text.toSpannable
|
import androidx.core.text.toSpannable
|
||||||
|
import com.dahe.glex.bean.CodeBean
|
||||||
import com.dahe.glex.bean.UserBean
|
import com.dahe.glex.bean.UserBean
|
||||||
import com.dahe.mylibrary.base.BaseActivity
|
import com.dahe.mylibrary.base.BaseActivity
|
||||||
import com.dahe.mylibrary.net.CommonResponseBean
|
import com.dahe.mylibrary.net.CommonResponseBean
|
||||||
@ -138,15 +139,15 @@ class LoginActivity : BaseActivity<ActivityLoginBinding>(), View.OnClickListener
|
|||||||
private fun getCode() {
|
private fun getCode() {
|
||||||
DataManager.getInstance().getCode().subscribeOn(Schedulers.io())
|
DataManager.getInstance().getCode().subscribeOn(Schedulers.io())
|
||||||
.observeOn(AndroidSchedulers.mainThread())
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
.subscribe(BaseObserver(mContext, object : RxHttpCallBack<Any>() {
|
.subscribe(BaseObserver(mContext, object : RxHttpCallBack<CodeBean>() {
|
||||||
override fun onSuccess(t: CommonResponseBean<Any>) {
|
override fun onSuccess(t: CommonResponseBean<CodeBean>) {
|
||||||
super.onSuccess(t)
|
super.onSuccess(t)
|
||||||
isNeedCode = t.isCaptchaEnabled
|
isNeedCode = t.data.captchaEnabled
|
||||||
if (isNeedCode) {
|
if (isNeedCode) {
|
||||||
binding.run {
|
binding.run {
|
||||||
ivCode.setImageBitmap(Base64Utils.base64ToBitmap(t.img))
|
ivCode.setImageBitmap(Base64Utils.base64ToBitmap(t.data.img))
|
||||||
}
|
}
|
||||||
uuid = t.uuid
|
uuid = t.data.uuid
|
||||||
}
|
}
|
||||||
binding.llCode.visibility = if (isNeedCode) View.VISIBLE else View.GONE
|
binding.llCode.visibility = if (isNeedCode) View.VISIBLE else View.GONE
|
||||||
}
|
}
|
||||||
|
@ -3,12 +3,14 @@ package com.dhsd.glowner.ui.home
|
|||||||
import BaseObserver
|
import BaseObserver
|
||||||
import DataManager
|
import DataManager
|
||||||
import RxHttpCallBack
|
import RxHttpCallBack
|
||||||
|
import android.content.Context
|
||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
import android.widget.LinearLayout
|
import android.widget.LinearLayout
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import com.dahe.gldriver.bean.GridBean
|
import com.dahe.gldriver.bean.GridBean
|
||||||
import com.dahe.glex.bean.OrderBean
|
import com.dahe.glex.bean.OrderBean
|
||||||
|
import com.dahe.glex.bean.OrderListBean
|
||||||
import com.dahe.glex.bean.WayBillBean
|
import com.dahe.glex.bean.WayBillBean
|
||||||
import com.dahe.mylibrary.base.BaseFragment
|
import com.dahe.mylibrary.base.BaseFragment
|
||||||
import com.dahe.mylibrary.callback.RefreshCallBack
|
import com.dahe.mylibrary.callback.RefreshCallBack
|
||||||
@ -97,13 +99,43 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(), RefreshCallBack {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun initData() {
|
private fun initData() {
|
||||||
DataManager.getInstance().getOrderList()
|
// DataManager.getInstance().getOrderList()
|
||||||
|
// .subscribeOn(Schedulers.io())
|
||||||
|
// .observeOn(AndroidSchedulers.mainThread())
|
||||||
|
// .subscribe(BaseObserver(mContext,object :RxHttpCallBack<MutableList<OrderBean>>(){
|
||||||
|
// override fun onSuccess(t: CommonResponseBean<MutableList<OrderBean>>) {
|
||||||
|
// super.onSuccess(t)
|
||||||
|
// showToast(t.rows.size.toString())
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// override fun onCodeError(
|
||||||
|
// mContext: Context?,
|
||||||
|
// t: CommonResponseBean<MutableList<OrderBean>>
|
||||||
|
// ) {
|
||||||
|
// super.onCodeError(mContext, t)
|
||||||
|
// binding.refresh.finishRefresh()
|
||||||
|
// binding.refresh.finishLoadMore()
|
||||||
|
// }
|
||||||
|
// }))
|
||||||
|
|
||||||
|
DataManager.getInstance().getOrderList2()
|
||||||
.subscribeOn(Schedulers.io())
|
.subscribeOn(Schedulers.io())
|
||||||
.observeOn(AndroidSchedulers.mainThread())
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
.subscribe(BaseObserver(mContext,object :RxHttpCallBack<MutableList<OrderBean>>(){
|
.subscribe(BaseObserver(mContext,object :RxHttpCallBack<OrderListBean>(){
|
||||||
override fun onSuccess(t: CommonResponseBean<MutableList<OrderBean>>) {
|
override fun onSuccess(t: CommonResponseBean<OrderListBean>) {
|
||||||
super.onSuccess(t)
|
super.onSuccess(t)
|
||||||
showToast(t.rows.size.toString())
|
showToast(t.data.rows.size.toString())
|
||||||
|
binding.refresh.finishRefresh()
|
||||||
|
binding.refresh.finishLoadMore()
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onCodeError(
|
||||||
|
mContext: Context?,
|
||||||
|
t: CommonResponseBean<OrderListBean>
|
||||||
|
) {
|
||||||
|
super.onCodeError(mContext, t)
|
||||||
|
binding.refresh.finishRefresh()
|
||||||
|
binding.refresh.finishLoadMore()
|
||||||
}
|
}
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,7 @@ import com.github.gzuliyujiang.wheelpicker.entity.ProvinceEntity
|
|||||||
* @ClassName AddresEditActivity
|
* @ClassName AddresEditActivity
|
||||||
* @Author john
|
* @Author john
|
||||||
* @Date 2024/2/4 10:44
|
* @Date 2024/2/4 10:44
|
||||||
* @Description TODO
|
* @Description 选择地址
|
||||||
*/
|
*/
|
||||||
class AddressEditActivity : BaseActivity<ActivityAddressEditBinding>(), View.OnClickListener {
|
class AddressEditActivity : BaseActivity<ActivityAddressEditBinding>(), View.OnClickListener {
|
||||||
override fun initView(savedInstanceState: Bundle?) {
|
override fun initView(savedInstanceState: Bundle?) {
|
||||||
|
@ -12,54 +12,6 @@ public class CommonResponseBean<T> implements Serializable {
|
|||||||
private int code;
|
private int code;
|
||||||
private String msg;
|
private String msg;
|
||||||
|
|
||||||
// 数据未封装 无奈呀
|
|
||||||
private boolean captchaEnabled;
|
|
||||||
private String img;
|
|
||||||
private String uuid;
|
|
||||||
|
|
||||||
private int total;
|
|
||||||
|
|
||||||
private T rows;
|
|
||||||
|
|
||||||
public int getTotal() {
|
|
||||||
return total;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTotal(int total) {
|
|
||||||
this.total = total;
|
|
||||||
}
|
|
||||||
|
|
||||||
public T getRows() {
|
|
||||||
return rows;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRows(T rows) {
|
|
||||||
this.rows = rows;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isCaptchaEnabled() {
|
|
||||||
return captchaEnabled;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCaptchaEnabled(boolean captchaEnabled) {
|
|
||||||
this.captchaEnabled = captchaEnabled;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getImg() {
|
|
||||||
return img;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setImg(String img) {
|
|
||||||
this.img = img;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getUuid() {
|
|
||||||
return uuid;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUuid(String uuid) {
|
|
||||||
this.uuid = uuid;
|
|
||||||
}
|
|
||||||
|
|
||||||
public T getData() {
|
public T getData() {
|
||||||
return data;
|
return data;
|
||||||
|
@ -1,30 +0,0 @@
|
|||||||
package com.dahe.mylibrary.net
|
|
||||||
|
|
||||||
import java.io.Serializable
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 返回通用的实体类
|
|
||||||
*/
|
|
||||||
class CommonResponseBean2<T> : Serializable {
|
|
||||||
var data : T? = null
|
|
||||||
|
|
||||||
|
|
||||||
var code = 0
|
|
||||||
var msg: String? = null
|
|
||||||
|
|
||||||
// 数据未封装 无奈呀
|
|
||||||
var isCaptchaEnabled = false
|
|
||||||
var img: String? = null
|
|
||||||
var uuid: String? = null
|
|
||||||
var total = 0
|
|
||||||
var rows: T? = null
|
|
||||||
private set
|
|
||||||
|
|
||||||
fun setRows(rows: T) {
|
|
||||||
this.rows = rows
|
|
||||||
}
|
|
||||||
|
|
||||||
fun setData(data: T) {
|
|
||||||
this.data = data
|
|
||||||
}
|
|
||||||
}
|
|
@ -4,13 +4,19 @@ import android.text.TextUtils;
|
|||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
|
|
||||||
import com.google.zxing.common.StringUtils;
|
import com.google.gson.JsonNull;
|
||||||
|
|
||||||
import org.json.JSONArray;
|
import org.json.JSONArray;
|
||||||
|
import org.json.JSONException;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
import org.json.JSONTokener;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
|
import java.security.spec.KeySpec;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import okhttp3.Interceptor;
|
import okhttp3.Interceptor;
|
||||||
import okhttp3.MediaType;
|
import okhttp3.MediaType;
|
||||||
@ -45,16 +51,34 @@ public class JsonInterceptor implements Interceptor {
|
|||||||
Log.i(TAG, "result-body= " + responseBodyStr);
|
Log.i(TAG, "result-body= " + responseBodyStr);
|
||||||
try {
|
try {
|
||||||
JSONObject jsonObject = new JSONObject(responseBodyStr);
|
JSONObject jsonObject = new JSONObject(responseBodyStr);
|
||||||
String str = jsonObject.optString("data");
|
boolean hasData = jsonObject.has("data");
|
||||||
int code = jsonObject.optInt("code");
|
if (!hasData) {
|
||||||
// if (-1 == code) {
|
//兼容后台接口,重新封装一下data
|
||||||
// jsonObject.put("data", new JSONObject());
|
JSONObject toData = new JSONObject();
|
||||||
// throw new ResultException();
|
Iterator<String> keys = jsonObject.keys();
|
||||||
// } else {
|
// 标记需要删除的key
|
||||||
// if (TextUtils.isEmpty(str)) {
|
ArrayList<String> strings = new ArrayList<>();
|
||||||
// jsonObject.put("data", new JSONObject());
|
while (keys.hasNext()) {
|
||||||
// }
|
String key = keys.next();
|
||||||
// }
|
if ("code".equals(key) || "msg".equals(key) ) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
Object o = jsonObject.get(key);
|
||||||
|
if (o instanceof JSONObject) {
|
||||||
|
toData.putOpt(key, new JSONObject(o.toString()));
|
||||||
|
} else if (o instanceof JSONArray) {
|
||||||
|
toData.putOpt(key, new JSONArray(o.toString()));
|
||||||
|
}else {
|
||||||
|
toData.putOpt(key, o);
|
||||||
|
}
|
||||||
|
strings.add(key);
|
||||||
|
}
|
||||||
|
for (String s : strings) {
|
||||||
|
jsonObject.remove(s);
|
||||||
|
}
|
||||||
|
jsonObject.put("data", toData);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
String data = jsonObject.toString();
|
String data = jsonObject.toString();
|
||||||
responseBody = ResponseBody.create(MediaType.parse("application/json; charset=utf-8"), data);
|
responseBody = ResponseBody.create(MediaType.parse("application/json; charset=utf-8"), data);
|
||||||
|
Loading…
Reference in New Issue
Block a user