有赞新零售社区

发帖
分销业务使用问题»微商城:点击商品时一直显示“登录跳转中。。。”

微商城:点击商品时一直显示“登录跳转中。。。”

仗剑江湖 2015-10-20 1470 浏览 11 评论 | 只看楼主 [打印]
我是分销商
店铺名称: 仗剑江湖行
隐私信息(如订单流水号等信息,只有客服能看见): 隐藏内容
店铺名称:爱加健康
问题描述:安卓app中使用微商城,点击商品时一直显示“登录跳转中。。。”
  1. public static void showWebViewForYouZan(WebView webView, String url,
  2.                         final Activity context,YouzanJsBridge youzanJsBridge ) {

  3.                 String APP_VERSION = AppApplication.getIns().getResources()
  4.                                 .getString(R.string.version); // App 版本号
  5.                 String APP_YOUZAN_UA = "aijia"; // 第三方App注册的特定的UA标识(没有的话页面不会显示微信支付按钮)

  6.                 webView.addJavascriptInterface(youzanJsBridge,
  7.                                 YouzanJsBridge.JS_INTERFACE);
  8.                 webView.getSettings().setJavaScriptEnabled(true); // 设置支持Javascript
  9.                 webView.requestFocus(); // 触摸焦点起作用.如果不设置,则在点击网页文本输入框时,不能弹出软键盘及不响应其他的一些事件。

  10.                 String us = webView.getSettings().getUserAgentString() + " "
  11.                                 + APP_YOUZAN_UA + " " + APP_VERSION;
  12.                 webView.getSettings().setUserAgentString(us);
  13.                 webView.loadUrl(url);// 互联网
  14.                
  15.                 // 显示网页加载进度
  16.                 webView.setWebChromeClient(new WebChromeClient() {
  17.                         public void onProgressChanged(WebView view, int progress) {
  18.                                 context.setTitle("页面加载中 ... " + progress + "%");
  19.                                 context.setProgress(progress * 100);
  20.                                 if (progress == 100) {
  21.                                         context.setTitle(R.string.app_name);
  22.                                 }
  23.                         }
  24.                 });

  25.                 // 点击链接由自己处理,而不是新开Android的系统browser响应该链接。
  26.                 webView.setWebViewClient(new WebViewClient() {
  27.                         @Override
  28.                         public void onPageFinished(WebView view, String url) {
  29.                                 super.onPageFinished(view, url);
  30.                                 // 这个方法必须写,否则无法进行 JS 交互
  31.                                 YouzanJsHelper.setWebReady(view);
  32.                         }

  33.                         @Override
  34.                         public boolean shouldOverrideUrlLoading(WebView view, String url) {
  35.                                 // 这个方法用来处理 wap 微信支付
  36.                                 if (YouzanJsHelper.handlerWapWeixinPay(context, url)) {
  37.                                         return true;
  38.                                 }
  39.                                 return super.shouldOverrideUrlLoading(view, url);
  40.                         }

  41.                 });
  42.                
  43.         }
复制代码


用手机打开
收藏 ··· 回复
    亲您好,请问您现在还有这样的问题么?

      仗剑江湖 青铜   2015-10-20 | 只看该作者
      有赞—188 发表于 2015-10-19 19:35
      亲您好,请问您现在还有这样的问题么?


      有的呀,不知道还需要配置什么,我的ua_name应该没错吧

        仗剑江湖 青铜   2015-10-20 | 只看该作者
        有赞—188 发表于 2015-10-19 19:35
        亲您好,请问您现在还有这样的问题么?


        我发现了,是需要重写下面的onCheckUserInfo这个方法,这样就不会再出现“登录跳转中。。。”的问题,但是这里的登录信息怎么弄,怎么使微商城出现登录的界面,我发现微商城里没有退出登录的按键啊??

        @Override
                public void onCheckUserInfo() {
                        // TODO Auto-generated method stub
                        // 获取登录信息之后调用 parseDataToJs() 方法,JS来操作保存登录态
                        String userId = "XXXX"; // 当前平台的用户ID
                        String userName = "XXX"; // 用户名
                        String nickName = "XXX"; // 昵称
                        String telephone = "123123123"; // 手机号
                        int gender = 1; // 性别,1为男,2为女
                        String avatar = "http://........"; // 头像链接地址
                        parseDataToJs(userId, nickName, userName, gender, telephone, avatar);
                }

          仗剑江湖 发表于 2015-10-20 09:41
          我发现了,是需要重写下面的onCheckUserInfo这个方法,这样就不会再出现“登录跳转中。。。”的问题,但 ...


          您好, 您进入的页面是需要用户信息的, 所以需要实现YouzanJsHandler这个接口, SDK会回调onCheckUserInfo这个方法来获取(只有在有用户信息返回才能够进入下一步). 并注意userId是当前平台的用户ID

            仗剑江湖 青铜   2015-10-20 | 只看该作者
            好多鹅的 发表于 2015-10-20 09:49
            您好, 您进入的页面是需要用户信息的, 所以需要实现YouzanJsHandler这个接口, SDK会回调onCheckUserInfo ...


            然而并不是的,我要进入的只是单个商品的购买页面,并不需要登录信息。
            我在手机浏览器里操作了一遍,看一下图的顺序:



            图1:商铺首页;
            图2:商品购买页;
            图3:点击立即购买后跳出的页面;
            图4:点击下一步后,这时候才验证的登录状态

              仗剑江湖 发表于 2015-10-20 10:08
              然而并不是的,我要进入的只是单个商品的购买页面,并不需要登录信息。
              我在手机浏览器里操作了一遍,看 ...


              您好, 使用我们的sdk中会设置一个我们提供给您的UA, 服务器会根据不同的UA对相同的url会有不同的页面配置.

                仗剑江湖 青铜   2015-10-20 | 只看该作者
                好多鹅的 发表于 2015-10-20 10:52
                您好, 使用我们的sdk中会设置一个我们提供给您的UA, 服务器会根据不同的UA对相同的url会有不同的页面配置. ...


                我用了呀
                String APP_YOUZAN_UA = "aijia"

                  仗剑江湖 发表于 2015-10-20 10:58
                  我用了呀
                  String APP_YOUZAN_UA = "aijia"


                  所以在浏览器里看到是没有"登录跳转中...", 但在使用SDK中设置了UA, 那您就一定要实现YouzanJsHandler这个接口并回传,否则就会一直显示"登录跳转中...",  具体您可以参考demo

                    仗剑江湖 青铜   2015-10-20 | 只看该作者
                    好多鹅的 发表于 2015-10-20 11:41
                    所以在浏览器里看到是没有"登录跳转中...", 但在使用SDK中设置了UA, 那您就一定要实现YouzanJsHandler这个 ...


                    我加你Q吧

                      仗剑江湖 青铜   2015-10-20 | 只看该作者
                      好多鹅的 发表于 2015-10-20 11:41
                      所以在浏览器里看到是没有"登录跳转中...", 但在使用SDK中设置了UA, 那您就一定要实现YouzanJsHandler这个 ...


                      目前还是有不少问题,
                      即使我在onCheckUserInfo方法中传了app登录用户的用户信息(事实上,微商城也没啥用),点击“微信支付”的时候,先会提示“处理中”,然后软件就崩溃了

                        12跳至
                        复制链接
                        新浪微博
                        QQ空间
                        微信扫码
                        • 回复

                        • 评分

                        客服工作时间是9:00-18:00,客服妹子当前不在线,若不能及时回复请谅解。试试右上角的搜索吧,论坛有丰富的经验贴、公告贴,相信一定能够帮到您~

                        复制成功