NetRequestApi.java 36 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067
  1. package com.yyrh.networking;
  2. import android.app.Activity;
  3. import android.os.Message;
  4. import android.widget.Toast;
  5. import com.yyrh.pay.PaymentNotify;
  6. import com.yyrh.sdk.SDKEntry;
  7. import com.yyrh.sdk.callback.ShowPolicyCallback;
  8. import com.yyrh.ui.fragment.UserPhoneLoginFragment;
  9. import com.yyrh.ui.fragment.UserRetrievePwdFragment;
  10. import com.yyrh.utils.ResourceUtil;
  11. import com.yyrh.utils.SignUtils;
  12. import com.yyrh.utils.SwitchUtil;
  13. import com.yyrh.utils.TosUtil;
  14. import com.yyrh.utils.Utils;
  15. import com.yyrh.utils.YYLog;
  16. import com.yyrh.constant.Constants;
  17. import com.yyrh.constant.SDKSettings;
  18. import com.yyrh.networking.urlhttp.CallBackUtil;
  19. import com.yyrh.networking.urlhttp.UrlHttpUtil;
  20. import com.yyrh.sdk.callback.InitCallback;
  21. import com.yyrh.sdk.callback.LoginCallback;
  22. import com.yyrh.sdk.callback.PayOrderCallback;
  23. import com.yyrh.sdk.callback.RegisterCallback;
  24. import com.yyrh.ui.ProgressDialogUtils;
  25. import com.yythird.sdk.ChannelSDK;
  26. import org.json.JSONArray;
  27. import org.json.JSONException;
  28. import org.json.JSONObject;
  29. import java.util.HashMap;
  30. import java.util.List;
  31. import java.util.Map;
  32. import static com.yyrh.constant.Constants.LOGIN;
  33. import static com.yyrh.constant.SDKSettings.channelTag;
  34. import static com.yyrh.constant.SDKSettings.isThirdLogin;
  35. import static com.yyrh.constant.SDKSettings.isThirdPay;
  36. import static com.yyrh.constant.SDKSettings.order_ext;
  37. import static com.yyrh.constant.URLConstants.AGREEMENTINIT;
  38. import static com.yyrh.constant.URLConstants.BASEURL;
  39. import static com.yyrh.constant.URLConstants.CHANNELLOGIN;
  40. import static com.yyrh.constant.URLConstants.CHANNELZTAG;
  41. import static com.yyrh.constant.URLConstants.FASTREGISTER;
  42. import static com.yyrh.constant.URLConstants.GETCAPTCHA;
  43. import static com.yyrh.constant.URLConstants.INIT;
  44. import static com.yyrh.constant.URLConstants.QUERYORDER;
  45. import static com.yyrh.constant.URLConstants.REALNAMERECORD;
  46. import static com.yyrh.constant.URLConstants.RECHARGEINT;
  47. import static com.yyrh.constant.URLConstants.REGISTERWITHPHONE;
  48. import static com.yyrh.constant.URLConstants.RESETPWDWITHPHONE;
  49. import static com.yyrh.constant.URLConstants.RSAKEY;
  50. import static com.yyrh.constant.URLConstants.UPLOADROLEINFO;
  51. import static com.yyrh.constant.URLConstants.USERLOGIN;
  52. public class NetRequestApi {
  53. public static void init(final Activity activity, final InitCallback initCallback) {
  54. ProgressDialogUtils.show(activity, activity.getString(ResourceUtil.getStringId(activity, "qj_initing")));
  55. HashMap<String, String> map = getCommonParams();
  56. String time = SignUtils.toURLEncoded(System.currentTimeMillis() / 1000 + "");
  57. String paramSign = SignUtils.paramSign(map, time);
  58. map.put("time", time);
  59. map.put("sign", paramSign);
  60. String url = BASEURL + INIT;
  61. if (BASEURL.equals("http://testsdkapi.yyxxgame.com")) {
  62. Toast.makeText(activity, "正在使用测试环境,请勿上线" + BASEURL, Toast.LENGTH_SHORT).show();
  63. }
  64. UrlHttpUtil.post(url, map, new CallBackUtil.CallBackString() {
  65. @Override
  66. public void onFailure(int code, String errorMessage) {
  67. ProgressDialogUtils.dismiss();
  68. YYLog.i(errorMessage);
  69. initCallback.onInitError(activity.getString(ResourceUtil.getStringId(activity, "qj_network_error_tip")));
  70. }
  71. @Override
  72. public void onResponse(String response) {
  73. ProgressDialogUtils.dismiss();
  74. try {
  75. JSONObject json = new JSONObject(response);
  76. int code = json.optInt("code", -1);
  77. String msg = json.optString("msg", "");
  78. if (code != 1) {
  79. initCallback.onInitFailed(msg);
  80. return;
  81. }
  82. JSONObject data = json.getJSONObject("data");
  83. int state = data.optInt("sdk_login", 100);
  84. if (state == 1) {
  85. if (channelTag.equals(CHANNELZTAG)) {
  86. isThirdLogin = false;
  87. } else {
  88. isThirdLogin = true;
  89. }
  90. } else {
  91. SDKSettings.UserCentUrl = data.optString("h5_web_host", "");
  92. SDKSettings.customer_service_url = data.optString("customer_service_url", "");
  93. isThirdLogin = false;
  94. }
  95. SwitchUtil.ControlKFSwitch(data.optInt("bswitch"));
  96. SwitchUtil.saveInitData(data.optJSONArray("reg_tabs"));
  97. YYLog.i("初始化成功。");
  98. initCallback.onInitSuccess("init success");
  99. } catch (JSONException e) {
  100. // TODO Auto-generated catch block
  101. e.printStackTrace();
  102. }
  103. }
  104. });
  105. }
  106. public static void loginWithYy(boolean isShowPrg, final Activity activity, String account, String password, final LoginCallback loginCallback) {
  107. if (isShowPrg){
  108. ProgressDialogUtils.show(activity, activity.getString(ResourceUtil.getStringId(activity, "qj_logging")));
  109. }
  110. HashMap<String, String> map = getCommonParams();
  111. map.put("smt_type", SignUtils.toURLEncoded(SDKSettings.isSimulator));
  112. String uname_pwd = null;
  113. try {
  114. uname_pwd = SignUtils.encryptRsaByPublicKey(RSAKEY, account + "|" + password);
  115. } catch (Exception e) {
  116. // TODO Auto-generated catch block
  117. e.printStackTrace();
  118. }
  119. map.put("uname_pwd", uname_pwd);
  120. map.put("package_name", SDKSettings.package_name);
  121. String time = SignUtils.toURLEncoded(System.currentTimeMillis() / 1000 + "");
  122. String paramSign = SignUtils.paramSign(map, time);
  123. map.put("time", time);
  124. map.put("sign", paramSign);
  125. String url = BASEURL + USERLOGIN;
  126. UrlHttpUtil.post(url, map, new CallBackUtil.CallBackString() {
  127. @Override
  128. public void onFailure(int code, String errorMessage) {
  129. ProgressDialogUtils.dismiss();
  130. new TosUtil(activity, TosUtil.TOAST_ERROR, activity.getString(ResourceUtil.getStringId(activity, "qj_network_error_tip"))).show();
  131. loginCallback.onLoginError(activity.getString(ResourceUtil.getStringId(activity, "qj_network_error_tip")));
  132. }
  133. @Override
  134. public void onResponse(String response) {
  135. ProgressDialogUtils.dismiss();
  136. JSONObject json = null;
  137. JSONObject data = null;
  138. try {
  139. json = new JSONObject(response);
  140. data = json.getJSONObject("data");
  141. } catch (JSONException e) {
  142. e.printStackTrace();
  143. }
  144. int code = json.optInt("code", -1);
  145. if (code != 1) {
  146. YYLog.i("登录失败:" + json.optString("msg", "登录失败"));
  147. loginCallback.onLoginFailed(json.optString("msg", "登录失败"));
  148. return;
  149. }
  150. String token = data.optString("token", "");
  151. SDKSettings.UNAME = data.optString("uname", "");
  152. SDKSettings.CHANNELUID = data.optString("channel_uid", "");
  153. SDKSettings.USER_BIRTHDAY = data.optString("rn_bd", "");
  154. SDKSettings.LOGINTAG = LOGIN;
  155. int is_rn = data.optInt("is_rn");
  156. if (is_rn == 0) {
  157. SDKSettings.isVefityRealName = false;
  158. } else {
  159. SDKSettings.isVefityRealName = true;
  160. }
  161. YYLog.i("登录成功。+ token:" + token);
  162. loginCallback.onLoginSuccess(token);
  163. }
  164. });
  165. }
  166. public static void registerWithYy(final Activity activity, String account, String password, final RegisterCallback registerCallback) {
  167. if (ProgressDialogUtils.isShowing()) {
  168. return;
  169. }
  170. ProgressDialogUtils.show(activity, activity.getString(ResourceUtil.getStringId(activity, "qj_registering")));
  171. HashMap<String, String> map = getCommonParams();
  172. map.put("smt_type", SignUtils.toURLEncoded(SDKSettings.isSimulator));
  173. String uname_pwd = null;
  174. try {
  175. uname_pwd = SignUtils.encryptRsaByPublicKey(RSAKEY, account + "|" + password);
  176. } catch (Exception e) {
  177. // TODO Auto-generated catch block
  178. e.printStackTrace();
  179. }
  180. map.put("uname_pwd", uname_pwd);
  181. map.put("package_name", SDKSettings.package_name);
  182. String time = SignUtils.toURLEncoded(System.currentTimeMillis() / 1000 + "");
  183. String paramSign = SignUtils.paramSign(map, time);
  184. map.put("time", time);
  185. map.put("sign", paramSign);
  186. String url = BASEURL + FASTREGISTER;
  187. UrlHttpUtil.post(url, map, new CallBackUtil.CallBackString() {
  188. @Override
  189. public void onFailure(int code, String errorMessage) {
  190. ProgressDialogUtils.dismiss();
  191. registerCallback.onRegisterFailed(activity.getString(ResourceUtil.getStringId(activity, "qj_network_error_tip")));
  192. }
  193. @Override
  194. public void onResponse(String response) {
  195. ProgressDialogUtils.dismiss();
  196. JSONObject json = null;
  197. JSONObject data = null;
  198. try {
  199. json = new JSONObject(response);
  200. data = json.getJSONObject("data");
  201. } catch (JSONException e) {
  202. e.printStackTrace();
  203. }
  204. int code = json.optInt("code", -1);
  205. if (code != 1) {
  206. YYLog.i("注册账号失败:" + json.optString("msg", "注册失败"));
  207. registerCallback.onRegisterFailed(json.optString("msg", "注册失败"));
  208. return;
  209. }
  210. String token = data.optString("token", "");
  211. SDKSettings.UNAME = data.optString("uname", "");
  212. SDKSettings.CHANNELUID = data.optString("channel_uid", "");
  213. YYLog.i("注册账号成功。 token:" + token);
  214. registerCallback.onRegisterSuccess(token);
  215. }
  216. });
  217. }
  218. public static void loginWithChannel(final Activity activity, String channelLoginInfo, final LoginCallback loginCallback) {
  219. ProgressDialogUtils.show(activity, activity.getString(ResourceUtil.getStringId(activity, "qj_logging")));
  220. HashMap<String, String> map = getCommonParams();
  221. map.put("sdk_params", channelLoginInfo);
  222. map.put("package_name", SDKSettings.package_name);
  223. String time = SignUtils.toURLEncoded(System.currentTimeMillis() / 1000 + "");
  224. String paramSign = SignUtils.paramSign(map, time);
  225. map.put("time", time);
  226. map.put("sign", paramSign);
  227. String url = BASEURL + CHANNELLOGIN;
  228. UrlHttpUtil.post(url, map, new CallBackUtil.CallBackString() {
  229. @Override
  230. public void onFailure(int code, String errorMessage) {
  231. ProgressDialogUtils.dismiss();
  232. new TosUtil(activity, TosUtil.TOAST_ERROR, activity.getString(ResourceUtil.getStringId(activity, "qj_network_error_tip"))).show();
  233. loginCallback.onLoginError(activity.getString(ResourceUtil.getStringId(activity, "qj_network_error_tip")));
  234. YYLog.i(errorMessage);
  235. }
  236. @Override
  237. public void onResponse(String response) {
  238. ProgressDialogUtils.dismiss();
  239. JSONObject json = null;
  240. JSONObject data = null;
  241. String errMsg = null;
  242. try {
  243. json = new JSONObject(response);
  244. errMsg = json.optString("msg", "登录验证失败");
  245. data = json.getJSONObject("data");
  246. } catch (JSONException e) {
  247. e.printStackTrace();
  248. SDKEntry.getSdkInstance().tCallBack.onLoginChannelFail(errMsg);
  249. return;
  250. }
  251. int code = json.optInt("code", -1);
  252. if (code != 1) {
  253. YYLog.i("登录验证失败");
  254. String msg = json.optString("msg", "登录验证失败");
  255. loginCallback.onLoginFailed(msg);
  256. SDKEntry.getSdkInstance().tCallBack.onLoginChannelFail(msg);
  257. return;
  258. }
  259. String token = data.optString("token", "");
  260. SDKSettings.UNAME = data.optString("uname", "");
  261. SDKSettings.CHANNELUID = data.optString("channel_uid", "");
  262. SDKSettings.USER_BIRTHDAY = data.optString("rn_bd", "");
  263. SDKEntry.getSdkInstance().tCallBack.onLoginChannelSuccess(data.toString());
  264. YYLog.i("渠道登录验证成功。token:" + token);
  265. loginCallback.onLoginSuccess(token);
  266. }
  267. });
  268. }
  269. public static void upLoadingRoleInfo(String type, Activity activity,
  270. String roleId, String roleName, String roleLevel, String serverId,
  271. String serverName, String hasGold, String vipLevel, String role_power, String partyId, String partyName, String createTime, String charge) {
  272. HashMap<String, String> map = getCommonParams();
  273. if (type.equals(Constants.UPLOADTYPE_CREATEROLE)) {
  274. map.put("report_role_type", "createRole");
  275. } else if (type.equals(Constants.UPLOADTYPE_ENTERGAME)) {
  276. map.put("report_role_type", "enterGame");
  277. } else if (type.equals(Constants.UPLOADTYPE_LEVELUP)) {
  278. map.put("report_role_type", "roleUpgrade");
  279. return;
  280. }
  281. if (partyName.equals("暂无")) {
  282. partyName = "";
  283. }
  284. if (createTime.length() != 10) {
  285. new TosUtil(activity, TosUtil.TOAST_ERROR, activity.getString(ResourceUtil.getStringId(activity, "qj_ctime_format_error"))).show();
  286. return;
  287. }
  288. map.put("uname", SDKSettings.UNAME);
  289. map.put("channel_uid", SDKSettings.CHANNELUID);
  290. map.put("party_id", partyId);
  291. map.put("party_name", partyName);
  292. map.put("server_id", serverId);
  293. map.put("server_name", serverName);
  294. map.put("role_id", roleId);
  295. map.put("role_name", roleName);
  296. map.put("role_level", roleLevel);
  297. map.put("vip_level", vipLevel);
  298. map.put("role_power", role_power);
  299. map.put("role_gold", hasGold);
  300. map.put("role_ctime", createTime);
  301. map.put("role_charge", charge);
  302. String time = SignUtils.toURLEncoded(System.currentTimeMillis() / 1000 + "");
  303. String paramSign = SignUtils.paramSign(map, time);
  304. map.put("time", time);
  305. map.put("sign", paramSign);
  306. String url = BASEURL + UPLOADROLEINFO;
  307. UrlHttpUtil.post(url, map, new CallBackUtil.CallBackString() {
  308. @Override
  309. public void onFailure(int code, String errorMessage) {
  310. YYLog.i(errorMessage);
  311. }
  312. @Override
  313. public void onResponse(String response) {
  314. try {
  315. JSONObject json = new JSONObject(response);
  316. int code = json.optInt("code", -1);
  317. if (code == 1) {
  318. YYLog.i("上传角色信息成功。");
  319. return;
  320. } else {
  321. YYLog.i("上传角色信息失败,请检查参数是否为空。");
  322. }
  323. } catch (JSONException e) {
  324. // TODO Auto-generated catch block
  325. e.printStackTrace();
  326. }
  327. }
  328. });
  329. }
  330. public static void payOrderInit(final HashMap<String, Object> map,
  331. final Activity activity, final PayOrderCallback callback) {
  332. ProgressDialogUtils.show(activity, activity.getString(ResourceUtil.getStringId(activity, "qj_pay_init")));
  333. String cp_order_id = (String) map.get("game_no");
  334. String money = (String) map.get("pay_money");
  335. String server_id = (String) map.get("server_id");
  336. String server_name = (String) map.get("server_name");
  337. String role_id = (String) map.get("role_id");
  338. String role_level = (String) map.get("role_level");
  339. String role_name = (String) map.get("role_name");
  340. String ext = (String) map.get("ext");
  341. String order_name = (String) map.get("order_desc");
  342. String product_id = (String) map.get("productId");
  343. if (Utils.judgeStrNull(cp_order_id) || Utils.judgeStrNull(money)
  344. || Utils.judgeStrNull(server_id)
  345. || Utils.judgeStrNull(server_name)
  346. || Utils.judgeStrNull(role_id)
  347. || Utils.judgeStrNull(role_name)
  348. || Utils.judgeStrNull(ext)
  349. || Utils.judgeStrNull(order_name)
  350. || Utils.judgeStrNull(product_id)
  351. ) {
  352. ProgressDialogUtils.dismiss();
  353. YYLog.i("下单参数有空值,请检查: " + map.toString());
  354. return;
  355. }
  356. YYLog.i("下单参数: " + map.toString());
  357. String app_name = Utils.getApplicationName(activity);
  358. String role_ctime = (String) map.get("role_ctime");
  359. if (Utils.judgeStrNull(role_ctime)) {
  360. new TosUtil(activity, TosUtil.TOAST_ERROR, activity.getString(ResourceUtil.getStringId(activity, "qj_pls_upload_roleinfo_frist"))).show();
  361. ProgressDialogUtils.dismiss();
  362. return;
  363. }
  364. HashMap<String, String> orderMap = getCommonParams();
  365. orderMap.put("uname", SDKSettings.UNAME);
  366. orderMap.put("channel_uid", SDKSettings.CHANNELUID);
  367. orderMap.put("cp_order_id", cp_order_id);
  368. orderMap.put("money", money);
  369. orderMap.put("server_id", server_id);
  370. orderMap.put("server_name", server_name);
  371. orderMap.put("role_id", role_id);
  372. orderMap.put("role_name", role_name);
  373. orderMap.put("role_level", role_level);
  374. orderMap.put("ext", ext);
  375. orderMap.put("order_name", order_name);
  376. orderMap.put("app_name", app_name);
  377. orderMap.put("role_ctime", role_ctime);
  378. orderMap.put("product_id", product_id);
  379. String channelOrderExt = ChannelSDK.getInstance().SDKGetOrderExt();
  380. if (!Utils.judgeStrNull(channelOrderExt)) {
  381. orderMap.put("sdk_params", channelOrderExt);
  382. }
  383. if (!Utils.judgeStrNull(order_ext)) {
  384. orderMap.put("order_ext", SignUtils.toURLEncoded(SDKSettings.order_ext));
  385. }
  386. String url = BASEURL + RECHARGEINT;
  387. String time = SignUtils.toURLEncoded(System.currentTimeMillis() / 1000 + "");
  388. String paramSign = SignUtils.paramSign(orderMap, time);
  389. orderMap.put("time", time);
  390. orderMap.put("sign", paramSign);
  391. UrlHttpUtil.post(url, orderMap, new CallBackUtil.CallBackString() {
  392. @Override
  393. public void onFailure(int code, String errorMessage) {
  394. ProgressDialogUtils.dismiss();
  395. new TosUtil(activity, TosUtil.TOAST_ERROR, activity.getString(ResourceUtil.getStringId(activity, "qj_network_error_tip"))).show();
  396. callback.onPayFailed(activity.getString(ResourceUtil.getStringId(activity, "qj_network_error_tip")));
  397. YYLog.i(errorMessage);
  398. }
  399. @Override
  400. public void onResponse(String response) {
  401. ProgressDialogUtils.dismiss();
  402. try {
  403. JSONObject json = new JSONObject(response);
  404. int code = json.optInt("code", -1);
  405. if (code != 1) {
  406. String msg = json.optString("msg");
  407. callback.onPayFailed(msg);
  408. return;
  409. }
  410. JSONObject data = json.getJSONObject("data");
  411. int state = data.optInt("sdk_pay", 100);
  412. if (state == 1) {
  413. if (channelTag.equals(CHANNELZTAG)) {
  414. map.put("url", data.optString("pay_web_url", ""));
  415. isThirdPay = false;
  416. } else {
  417. isThirdPay = true;
  418. }
  419. } else {
  420. map.put("url", data.optString("pay_web_url", ""));
  421. isThirdPay = false;
  422. }
  423. map.put("order_id", data.optString("order_id", ""));
  424. map.put("3rdext", data.optString("3rdext", ""));
  425. map.put("query_params", data.optString("query_params", ""));
  426. callback.onPaySuccess(map);
  427. } catch (JSONException e) {
  428. // TODO Auto-generated catch block
  429. e.printStackTrace();
  430. }
  431. }
  432. });
  433. }
  434. public static void getPhoneCaptcha(final Activity activity, String phone, String action, final UserPhoneLoginFragment.CaptchaCallback captchaCallback) {
  435. ProgressDialogUtils.show(activity, activity.getString(ResourceUtil.getStringId(activity, "qj_get_code")));
  436. HashMap<String, String> map = getCommonParams();
  437. map.put("phone", SignUtils.toURLEncoded(phone));
  438. map.put("action", SignUtils.toURLEncoded(action));
  439. String time = SignUtils.toURLEncoded(System.currentTimeMillis() / 1000 + "");
  440. String paramSign = SignUtils.paramSign(map, time);
  441. map.put("time", time);
  442. map.put("sign", paramSign);
  443. String url = BASEURL + GETCAPTCHA;
  444. UrlHttpUtil.post(url, map, new CallBackUtil.CallBackString() {
  445. @Override
  446. public void onFailure(int code, String errorMessage) {
  447. ProgressDialogUtils.dismiss();
  448. new TosUtil(activity, TosUtil.TOAST_ERROR, activity.getString(ResourceUtil.getStringId(activity, "qj_network_error_tip"))).show();
  449. captchaCallback.onGetFailed(activity.getString(ResourceUtil.getStringId(activity, "qj_network_error_tip")));
  450. YYLog.i(errorMessage);
  451. }
  452. @Override
  453. public void onResponse(String response) {
  454. ProgressDialogUtils.dismiss();
  455. JSONObject json = null;
  456. try {
  457. json = new JSONObject(response);
  458. } catch (JSONException e) {
  459. e.printStackTrace();
  460. return;
  461. }
  462. int code = json.optInt("code", -1);
  463. if (code == 1) {
  464. captchaCallback.onGetSuccess(json.optString("msg", "验证码发送成功"));
  465. } else {
  466. captchaCallback.onGetFailed(json.optString("msg", "验证码发送失败"));
  467. }
  468. }
  469. });
  470. }
  471. public static void registerWithPhone(final Activity activity, String code, String userInfo, final UserPhoneLoginFragment.PhoneRegisterCallback phoneRegisterCallback) {
  472. if (ProgressDialogUtils.isShowing()) {
  473. return;
  474. }
  475. ProgressDialogUtils.show(activity, activity.getString(ResourceUtil.getStringId(activity, "qj_registering")));
  476. HashMap<String, String> map = getCommonParams();
  477. map.put("uname_pwd", userInfo);
  478. map.put("sms", SignUtils.toURLEncoded(code));
  479. map.put("smt_type", SignUtils.toURLEncoded(SDKSettings.isSimulator));
  480. String time = SignUtils.toURLEncoded(System.currentTimeMillis() / 1000 + "");
  481. String paramSign = SignUtils.paramSign(map, time);
  482. map.put("time", time);
  483. map.put("sign", paramSign);
  484. String url = BASEURL + REGISTERWITHPHONE;
  485. UrlHttpUtil.post(url, map, new CallBackUtil.CallBackString() {
  486. @Override
  487. public void onFailure(int code, String errorMessage) {
  488. ProgressDialogUtils.dismiss();
  489. phoneRegisterCallback.onRegisterFailed(activity.getString(ResourceUtil.getStringId(activity, "qj_network_error_tip")));
  490. YYLog.i(errorMessage);
  491. }
  492. @Override
  493. public void onResponse(String response) {
  494. ProgressDialogUtils.dismiss();
  495. JSONObject json = null;
  496. JSONObject data = null;
  497. try {
  498. json = new JSONObject(response);
  499. data = json.getJSONObject("data");
  500. } catch (JSONException e) {
  501. e.printStackTrace();
  502. }
  503. int code = json.optInt("code", -1);
  504. if (code != 1) {
  505. YYLog.i("手机注册失败:" + json.optString("msg", "手机注册失败"));
  506. phoneRegisterCallback.onRegisterFailed(json.optString("msg", "手机注册失败"));
  507. return;
  508. }
  509. String token = data.optString("token", "");
  510. SDKSettings.UNAME = data.optString("uname", "");
  511. SDKSettings.CHANNELUID = data.optString("channel_uid", "");
  512. YYLog.i("手机注册成功,正在登录游戏。+ token:" + token);
  513. phoneRegisterCallback.onRegisterSuccess(token);
  514. }
  515. });
  516. }
  517. /**
  518. * 支付回调通用扩展,目前仅应用宝需要用到
  519. */
  520. public static void payChannelNotify(final HashMap<String, String> payInfo, final String notifyUrl) {
  521. final HashMap<String, String> ntymap = new HashMap();
  522. for (Map.Entry<String, String> entry : payInfo.entrySet()) {
  523. ntymap.put(entry.getKey(), SignUtils.toURLEncoded(entry.getValue()));
  524. }
  525. String url = notifyUrl + "?" + SignUtils.encryptParam(ntymap);
  526. Message payMsg = new Message();
  527. payMsg.what = 1;
  528. HashMap<String, String> paydata = new HashMap<>();
  529. paydata.put("url", url);
  530. payMsg.obj = paydata;
  531. new PaymentNotify().sendMessage(payMsg);
  532. }
  533. public static void resetPwdWithPhone(Activity activity, String phone, String code, String pwd, final UserRetrievePwdFragment.ResetPwdCallback resetPwdCallback) {
  534. ProgressDialogUtils.show(activity, activity.getString(ResourceUtil.getStringId(activity, "qj_resetpwd")));
  535. HashMap<String, String> map = getCommonParams();
  536. String uname_pwd = null;
  537. try {
  538. uname_pwd = SignUtils.encryptRsaByPublicKey(RSAKEY, phone + "|" + pwd + "|" + code);
  539. } catch (Exception e) {
  540. // TODO Auto-generated catch block
  541. e.printStackTrace();
  542. }
  543. map.put("phone_pwd", uname_pwd);
  544. String time = SignUtils.toURLEncoded(System.currentTimeMillis() / 1000 + "");
  545. String paramSign = SignUtils.paramSign(map, time);
  546. map.put("time", time);
  547. map.put("sign", paramSign);
  548. String url = BASEURL + RESETPWDWITHPHONE;
  549. UrlHttpUtil.post(url, map, new CallBackUtil.CallBackString() {
  550. @Override
  551. public void onFailure(int code, String errorMessage) {
  552. ProgressDialogUtils.dismiss();
  553. YYLog.i(errorMessage);
  554. }
  555. @Override
  556. public void onResponse(String response) {
  557. ProgressDialogUtils.dismiss();
  558. JSONObject json = null;
  559. String msg = "";
  560. try {
  561. json = new JSONObject(response);
  562. msg = json.optString("msg");
  563. } catch (JSONException e) {
  564. e.printStackTrace();
  565. }
  566. int code = json.optInt("code", -1);
  567. if (code != 1) {
  568. resetPwdCallback.onResetFailed(msg);
  569. return;
  570. }
  571. resetPwdCallback.onResetSuccess(msg);
  572. }
  573. });
  574. }
  575. public static void upLoadUserRealNameInfo(String report_type, String channelRealNameInfo) {
  576. HashMap<String, String> map = getCommonParams();
  577. map.put("channel_uid", SignUtils.toURLEncoded(SDKSettings.CHANNELUID));
  578. map.put("uname", SignUtils.toURLEncoded(SDKSettings.UNAME));
  579. map.put("report_type", report_type);
  580. map.put("sdk_params", channelRealNameInfo);
  581. String time = SignUtils.toURLEncoded(System.currentTimeMillis() / 1000 + "");
  582. String paramSign = SignUtils.paramSign(map, time);
  583. map.put("time", time);
  584. map.put("sign", paramSign);
  585. String url = BASEURL + REALNAMERECORD;
  586. UrlHttpUtil.post(url, map, new CallBackUtil.CallBackString() {
  587. @Override
  588. public void onFailure(int code, String errorMessage) {
  589. ProgressDialogUtils.dismiss();
  590. YYLog.i(errorMessage);
  591. }
  592. @Override
  593. public void onResponse(String response) {
  594. ProgressDialogUtils.dismiss();
  595. JSONObject json = null;
  596. try {
  597. json = new JSONObject(response);
  598. } catch (JSONException e) {
  599. e.printStackTrace();
  600. }
  601. int code = json.optInt("code", -1);
  602. if (code == 1) {
  603. String rn_bd = "";
  604. try {
  605. JSONObject data = json.getJSONObject("data");
  606. rn_bd = data.optString("rn_bd", "");
  607. } catch (JSONException e) {
  608. e.printStackTrace();
  609. }
  610. SDKSettings.USER_BIRTHDAY = rn_bd;
  611. }
  612. }
  613. });
  614. }
  615. public static void recordUserRealNameInfo(Activity activity, String report_type, String channelRealNameInfo) {
  616. HashMap<String, String> map = getCommonParams();
  617. map.put("channel_uid", SignUtils.toURLEncoded(SDKSettings.CHANNELUID));
  618. map.put("uname", SignUtils.toURLEncoded(SDKSettings.UNAME));
  619. map.put("report_type", report_type);
  620. map.put("sdk_params", channelRealNameInfo);
  621. String time = SignUtils.toURLEncoded(System.currentTimeMillis() / 1000 + "");
  622. String paramSign = SignUtils.paramSign(map, time);
  623. map.put("time", time);
  624. map.put("sign", paramSign);
  625. String url = BASEURL + REALNAMERECORD;
  626. UrlHttpUtil.post(url, map, new CallBackUtil.CallBackString() {
  627. @Override
  628. public void onFailure(int code, String errorMessage) {
  629. ProgressDialogUtils.dismiss();
  630. YYLog.i(errorMessage);
  631. }
  632. @Override
  633. public void onResponse(String response) {
  634. ProgressDialogUtils.dismiss();
  635. JSONObject json = null;
  636. String msg = "";
  637. try {
  638. json = new JSONObject(response);
  639. msg = json.optString("msg");
  640. } catch (JSONException e) {
  641. e.printStackTrace();
  642. }
  643. int code = json.optInt("code", -1);
  644. if (code != 1) {
  645. SDKEntry.getSdkInstance().realNameMsgCallback.onLoadRealNameMsg(false, "");
  646. } else {
  647. String rn_bd = "";
  648. try {
  649. JSONObject data = json.getJSONObject("data");
  650. rn_bd = data.optString("rn_bd", "");
  651. } catch (JSONException e) {
  652. e.printStackTrace();
  653. }
  654. SDKSettings.USER_BIRTHDAY = rn_bd;
  655. SDKEntry.getSdkInstance().realNameMsgCallback.onLoadRealNameMsg(true, rn_bd);
  656. }
  657. }
  658. });
  659. }
  660. public static void queryOrder(String order_id, final HashMap<String, Object> payMap) {
  661. HashMap<String, String> map = getCommonParams();
  662. String query_params = (String) payMap.get("query_params");
  663. YYLog.i("begin query order,order_id:" + order_id + "---- and query_params:" + query_params);
  664. if (Utils.judgeStrNull(query_params)) {
  665. return;
  666. }
  667. map.put("order_id", SignUtils.toURLEncoded(order_id));
  668. map.put("package_name", SDKSettings.package_name);
  669. map.put("query_params", query_params);
  670. String time = SignUtils.toURLEncoded(System.currentTimeMillis() / 1000 + "");
  671. String paramSign = SignUtils.paramSign(map, time);
  672. map.put("time", time);
  673. map.put("sign", paramSign);
  674. String url = BASEURL + QUERYORDER;
  675. UrlHttpUtil.post(url, map, new CallBackUtil.CallBackString() {
  676. @Override
  677. public void onFailure(int code, String errorMessage) {
  678. YYLog.i(errorMessage);
  679. }
  680. @Override
  681. public void onResponse(String response) {
  682. JSONObject json = null;
  683. JSONObject data = null;
  684. try {
  685. json = new JSONObject(response);
  686. data = json.getJSONObject("data");
  687. } catch (JSONException e) {
  688. e.printStackTrace();
  689. }
  690. int code = json.optInt("code", -1);
  691. YYLog.i(response);
  692. if (code == 1) {
  693. int orderStatus = data.optInt("order_status");
  694. if (orderStatus == 1) {
  695. SDKEntry.getSdkInstance().adSdkCallback.onPaySuccess(payMap);
  696. }
  697. }
  698. }
  699. });
  700. }
  701. public static void initAgreement(Activity activity, final ShowPolicyCallback showPolicyCallback) {
  702. HashMap<String, String> map = new HashMap();
  703. String game_code = Utils.GetApplicationMetaData(activity, "yyrh_game_code");
  704. String gcp_code = Utils.getParamCnfValuebyKey(activity, "YyrhParam.cnf",
  705. "GCP_CODE");
  706. map.put("game_code", game_code);
  707. map.put("gcp_code", gcp_code);
  708. String time = SignUtils.toURLEncoded(System.currentTimeMillis() / 1000 + "");
  709. String paramSign = SignUtils.paramSign(map, time);
  710. map.put("time", time);
  711. map.put("sign", paramSign);
  712. String url = BASEURL + AGREEMENTINIT;
  713. UrlHttpUtil.post(url, map, new CallBackUtil.CallBackString() {
  714. @Override
  715. public void onFailure(int code, String errorMessage) {
  716. showPolicyCallback.onError();
  717. }
  718. @Override
  719. public void onResponse(String response) {
  720. ProgressDialogUtils.dismiss();
  721. JSONObject json = null;
  722. JSONObject data = null;
  723. try {
  724. json = new JSONObject(response);
  725. data = json.getJSONObject("data");
  726. } catch (JSONException e) {
  727. e.printStackTrace();
  728. }
  729. int code = json.optInt("code", -1);
  730. YYLog.i(response);
  731. if (code == 1) {
  732. String agreement_url = data.optString("agreement_url");
  733. if (Utils.judgeStrNull(agreement_url)) {
  734. showPolicyCallback.onHide();
  735. } else {
  736. showPolicyCallback.onShow(agreement_url);
  737. }
  738. }
  739. }
  740. });
  741. }
  742. private static HashMap<String, String> getCommonParams() {
  743. HashMap<String, String> map = new HashMap();
  744. map.put("game_code", SignUtils.toURLEncoded(SDKSettings.game_code));
  745. map.put("gcp_code", SignUtils.toURLEncoded(SDKSettings.gcp_code));
  746. map.put("cs_ver", SignUtils.toURLEncoded(SDKSettings.SDK_VERSION));
  747. map.put("system", SignUtils.toURLEncoded(SDKSettings.system));
  748. map.put("ifa", SignUtils.toURLEncoded(SDKSettings.imei));
  749. map.put("device_ver", SignUtils.toURLEncoded(SDKSettings.version));
  750. map.put("sp_code", SignUtils.toURLEncoded(SDKSettings.sp_code));
  751. map.put("device_model", SignUtils.toURLEncoded(SDKSettings.device_model));
  752. map.put("package_name", SDKSettings.package_name);
  753. map.put("ifa_type", SDKSettings.ifa_type);
  754. map.put("android_id", SDKSettings.android_id);
  755. if (!Utils.judgeStrNull(SDKSettings.o_cfg)) {
  756. map.put("o_cfg", SDKSettings.o_cfg);
  757. YYLog.i("o_cfg : " + SDKSettings.o_cfg);
  758. } else {
  759. YYLog.i("o_cfg is null");
  760. }
  761. return map;
  762. }
  763. }