NetRequestApi.java 36 KB

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