WebActivityJsInterfaces.java 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package com.edufound.reader.jsinterfaces;
  2. import android.content.Intent;
  3. import android.webkit.JavascriptInterface;
  4. import com.edufound.reader.activity.payactivity.EventPayActivity;
  5. import com.edufound.reader.bean.ChannelCodeEnum;
  6. import com.edufound.reader.bean.HttpResultBean;
  7. import com.edufound.reader.contract.WebContract;
  8. import com.edufound.reader.util.tmailsdk.TMailSDKUtil;
  9. import com.edufound.reader.util.Consts;
  10. import com.edufound.reader.util.DeviceUtil;
  11. import com.edufound.reader.util.OkHttpClient;
  12. import com.google.gson.Gson;
  13. import com.google.gson.reflect.TypeToken;
  14. import com.okhttplib.HttpInfo;
  15. import com.okhttplib.callback.Callback;
  16. import com.orhanobut.logger.Logger;
  17. import java.io.IOException;
  18. import java.util.HashMap;
  19. import java.util.Map;
  20. public class WebActivityJsInterfaces {
  21. WebContract.View mView;
  22. public WebActivityJsInterfaces(WebContract.View view) {
  23. mView = view;
  24. }
  25. @JavascriptInterface
  26. public void toPayActivity() {
  27. Intent intent = new Intent(mView.getActivity(), EventPayActivity.class);
  28. mView.getActivity().startActivity(intent);
  29. }
  30. @JavascriptInterface
  31. public void closeWebActivity() {
  32. mView.closeWebActivity();
  33. }
  34. @JavascriptInterface
  35. public void toTMailPay(String json) {
  36. if (Consts.getUMengChannel().equals(ChannelCodeEnum.TMAIL.getChannelCode())) {
  37. //去天猫支付
  38. TMailSDKUtil.tmailPay(mView.getActivity(), json.toString());
  39. }
  40. }
  41. @JavascriptInterface
  42. public void efunboxQRPay(String productId, String orderId) {
  43. Logger.e("webview调用支付");
  44. OkHttpClient.doGetAsync(mView.getActivity(), new HttpInfo.Builder().setUrl(Consts.getFinalApi() + "/pay/efun/qrCode")
  45. .addParam("channel", Consts.getUMengChannel()).addParam("productId", productId).addParam("activityId", mView.getActivityId()), new Callback() {
  46. @Override
  47. public void onSuccess(HttpInfo info) throws IOException {
  48. HttpResultBean<String> bean = info.getRetDetail(new TypeToken<HttpResultBean<String>>() {
  49. }.getType());
  50. mView.setQrCode(bean.getData().toString(), orderId);
  51. }
  52. @Override
  53. public void onFailure(HttpInfo info) throws IOException {
  54. }
  55. });
  56. }
  57. @JavascriptInterface
  58. public String getParamsJson() {
  59. Map<String, String> map = new HashMap<>();
  60. map.put("uid", Consts.getUID());
  61. map.put("channelCode", Consts.getUMengChannel());
  62. map.put("versionCode", DeviceUtil.getVersionCode(mView.getActivity()));
  63. return new Gson().toJson(map);
  64. }
  65. }