package com.tejia.lijin.app.model;
|
|
import android.content.Context;
|
|
import com.google.gson.Gson;
|
import com.google.gson.GsonBuilder;
|
import com.google.gson.reflect.TypeToken;
|
import com.tejia.lijin.app.BasicTextHttpResponseHandler;
|
import com.tejia.lijin.app.contract.SearchContract;
|
import com.tejia.lijin.app.ShoppingApi;
|
|
import org.apache.http.Header;
|
import org.json.JSONObject;
|
|
import java.util.List;
|
|
public class SearchModel {
|
private Context mContext;
|
|
public SearchModel(Context mContext) {
|
this.mContext = mContext;
|
}
|
|
/**
|
* 网络请求搜索方法
|
*
|
* @param key 搜索词
|
* @param page 搜索淘宝 1 京东2 拼多多3
|
* @param callBack
|
*/
|
public void Search(String key, int page, final SearchContract.SearchCallBack callBack) {
|
ShoppingApi.getSuggestSearch(mContext, key, String.valueOf((page + 1)), new BasicTextHttpResponseHandler() {
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
if (jsonObject.optString("code").equalsIgnoreCase("0")) {
|
Gson gson = new GsonBuilder().serializeNulls().create();
|
List<String> list = gson.fromJson(
|
jsonObject.optJSONArray("data").toString(),
|
new TypeToken<List<String>>() {
|
}.getType());
|
callBack.onSuccess(list);
|
}
|
}
|
|
@Override
|
public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
|
super.onFailure(statusCode, headers, responseString, throwable);
|
callBack.onFail("");
|
}
|
});
|
}
|
}
|