package com.bestapp.yikuair.utils;
import java.net.URLEncoder;
import java.util.ArrayList;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.AsyncHttpResponseHandler;
import com.loopj.android.http.RequestParams;
//import com.bestapp.yikuair.utils.Client;
import com.bestapp.yikuair.utils.DBlog;
import com.bestapp.yikuair.utils.DataUtil;
import com.bestapp.yikuair.utils.DesECBUtil;
import com.bestapp.yikuair.utils.UserInfo;
public class MenuHttp {
private static AsyncHttpClient client = new AsyncHttpClient();
private static final String BASE_URL = "192.168.1.2:8080/yikuairAPI/a/star/list?";
private static final String Menu_URL = "192.168.1.2:8080/yikuairAPI/a/star/button/list?";
private static final String Menu_USE_URL = "192.168.1.2:8080/yikuairAPI/a/star/button/message?";
private static final String SUB_USE_URL = "192.168.1.2:8080/yikuairAPI/a/star/attention/list?";
private static final String OFF_LINE_MESSAGE = "192.168.1.2:8080/yikuairAPI/a/message/list?";
public void getMenuList(String toId,
AsyncHttpResponseHandler ResponseHandler) throws Exception {
String request = "username=" + UserInfo.id + "&password="
+ UserInfo.cipher_password + "&to=" + toId;
String afterurl = null;
String data = DataUtil.encodeECBAsBase64String(DesECBUtil.key,
request.trim());
afterurl = URLEncoder.encode(data, "utf-8");
RequestParams params = new RequestParams();
params.put("__", afterurl);
DBlog.e("params", params.toString());
getMenu(params, ResponseHandler);
}
public static void getMenu(RequestParams params,
AsyncHttpResponseHandler responseHandler) {
String urlString = Menu_URL + params.toString();
DBlog.e("url", urlString);
client.get(urlString, responseHandler);
}
public ArrayList<MenuData> getMenuList(String josn) throws JSONException {
JSONObject jsonObject = new JSONObject(josn.toString());
JSONArray jsonArray = jsonObject.getJSONArray("data");
ArrayList<MenuData> list = new ArrayList<MenuHttp.MenuData>();
for (int i = 0; i < jsonArray.length(); i++) {
MenuData menu = new MenuData();
JSONObject jsonObject2 = (JSONObject) jsonArray.opt(i);
menu.callbackurl = jsonObject2.getString("callbackurl");
menu.msguuid = jsonObject2.getString("msguuid");
menu.buttonText = new String(DataUtil.decodeBase64(jsonObject2
.getString("buttonText")));
list.add(menu);
}
return list;
}
public void getMenuBackInfo(String josn) throws JSONException {
JSONObject jsonObject = new JSONObject(josn.toString());
String token = jsonObject.getString("token");
if (token.equals("1")) {
String content = new String(DataUtil.decodeBase64(jsonObject
.getString("content")));
} else if (token.equals("2")) {
String smallImgPath = jsonObject.getString("smallImgPath");
String filePath = jsonObject.getString("filePath");
} else if (token.equals("3")) {
String filePath = jsonObject.getString("filePath");
} else if (token.equals("4")) {
String imgpath = jsonObject.getString("imgpath");
String title = new String(DataUtil.decodeBase64(jsonObject
.getString("title")));
String content = new String(DataUtil.decodeBase64(jsonObject
.getString("content")));
}
}
public void useMenu(String toId, MenuData menuData,
AsyncHttpResponseHandler ResponseHandler) throws Exception {
String request = "username=" + UserInfo.id + "&password="
+ UserInfo.cipher_password + "&callbackurl="
+ menuData.callbackurl + "&msguuid=" + menuData.msguuid
+ "&id=" + menuData.msguuid + "&content=&to=" + toId;
String afterurl = null;
String data = DataUtil.encodeECBAsBase64String(DesECBUtil.key,
request.trim());
afterurl = URLEncoder.encode(data, "utf-8");
RequestParams params = new RequestParams();
params.put("__", afterurl);
DBlog.e("params", params.toString());
UseMenu(params, ResponseHandler);
}
public void getOffTimeMessage(AsyncHttpResponseHandler ResponseHandler)
throws Exception {
if (UserInfo.id == null) {
return;
}
String request = "username=" + UserInfo.id + "&password="
+ UserInfo.cipher_password + "&from=" + "&to=" + UserInfo.db_id;
String afterurl = null;
DBlog.e("ss", request);
String data = DataUtil.encodeECBAsBase64String(DesECBUtil.key,
request.trim());
afterurl = URLEncoder.encode(data, "utf-8");
RequestParams params = new RequestParams();
params.put("__", afterurl);
DBlog.e("params", params.toString());
getOffTimeMessage(params, ResponseHandler);
}
public static void getOffTimeMessage(RequestParams params,
AsyncHttpResponseHandler responseHandler) {
String urlString = "192.168.1.2:8080/yikuairAPI/a/message/list?" + params.toString();
DBlog.e("sdasdasdasd", urlString);
client.get(urlString, responseHandler);
}
public void sendMessageBefore(String toId, String content,
AsyncHttpResponseHandler ResponseHandler) throws Exception {
String request = "username="
+ UserInfo.id
+ "&password="
+ UserInfo.cipher_password
+ "&callbackurl=http%3A%2F%2F192.168.1.2:8080%2FyikuairAPI%2Fa%2Ftest%2Fcallback&msz"
+ "&id=-1&content=" + URLEncoder.encode(DataUtil.ecodeBase64(content.getBytes()))
+ "&to=" + toId;
String afterurl = null;
String data = DataUtil.encodeECBAsBase64String(DesECBUtil.key,
request.trim());
afterurl = URLEncoder.encode(data, "utf-8");
RequestParams params = new RequestParams();
params.put("__", afterurl);
UseMenu(params, ResponseHandler);
}
public static void UseMenu(RequestParams params,
AsyncHttpResponseHandler responseHandler) {
String urlString = Menu_USE_URL + params.toString();
DBlog.e("url", urlString);
client.get(urlString, responseHandler);
}
public class MenuData {
public String callbackurl;
public String msguuid;
public String buttonText;
}
}