package com.yuyh.sprintnba.http.utils;
import android.content.Context;
import com.yuyh.library.utils.data.safe.MD5;
import com.yuyh.library.utils.log.LogUtils;
import com.yuyh.sprintnba.app.Constant;
import com.yuyh.sprintnba.utils.SettingPrefUtils;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Map;
/**
* @author yuyh.
* @date 16/6/25.
*/
public class RequestHelper {
public Context mContext;
public RequestHelper(Context mContext) {
this.mContext = mContext;
}
public static HashMap<String, String> getRequsetMap() {
HashMap<String, String> map = new HashMap<>();
map.put("client", Constant.deviceId);
map.put("night", "0");
try {
map.put("token", URLEncoder.encode(SettingPrefUtils.getToken(), "UTF-8"));
LogUtils.i("token="+URLEncoder.encode(SettingPrefUtils.getToken(), "UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return map;
}
/**
* 虎扑url sign生成
*
* @param map url参数,按字典序拼接key和value
* @return sign值
*/
public static String getRequestSign(Map<String, String> map) {
ArrayList<Map.Entry<String, String>> list = new ArrayList<>(map.entrySet());
Collections.sort(list, new Comparator<Map.Entry<String, String>>() { // 字典序
@Override
public int compare(Map.Entry<String, String> lhs, Map.Entry<String, String> rhs) {
return lhs.getKey().compareTo(rhs.getKey());
}
});
StringBuilder builder = new StringBuilder();
for (int i = 0; i < list.size(); i = i + 1) {
if (builder.length() > 0) {
builder.append("&");
}
Map.Entry<String, String> map1 = list.get(i);
builder.append(map1.getKey()).append("=").append(map1.getValue());
}
builder.append("HUPU_SALT_AKJfoiwer394Jeiow4u309");
return MD5.getMD5(builder.toString());
}
}