JSP完美解决微信分享无法传参问题

前端代码:

  wx.ready(function () {
        // wx.ready(function () {      //需在用户可能点击分享按钮前就先调用
        wx.onMenuShareTimeline({
            title: ''+vm.tradeName, // 分享标题
            link: location.protocol+'//'+location.host+'/wechat/shareServer/collageDetail/'+vm.shareOrdId+'/'+storeId+'/'+userId, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
            imgUrl: '<%=imgBasePath%>'+vm.journeyUrl, // 分享图标
            success: function () {
                // 设置成功
                // alert("设置成功");
            }
        }, function(res) {
            //这里是回调函数
            alert("分享成功");
        })
        // });

        wx.onMenuShareAppMessage({
            title: ''+vm.tradeName, // 分享标题
            desc: "目的地:"+vm.destination, // 分享描述
            link: location.protocol+'//'+location.host+'/wechat/shareServer/collageDetail/'+vm.shareOrdId+'/'+storeId+'/'+userId, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
            imgUrl: '<%=imgBasePath%>'+vm.journeyUrl, // 分享图标
            type: 'link', // 分享类型,music、video或link,不填默认为link
            dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
            success: function () {
                // 用户点击了分享后执行的回调函数
                // alert("设置成功");
            }
        }, function(res) {
            //这里是回调函数
            alert("分享成功");
        })
    });

 

后端代码:

 


  
    //办事处拼单列表-详情-分享跳转(解决微信分享不能带参问题)
    @RequestMapping("collageDetail/{id}/{storeId}/{userId}")
    public ModelAndView collageDetailPush(@PathVariable("id") Long id
            ,@PathVariable("storeId")String storeId,@PathVariable("userId")String userId
            ,String code, String state, HttpServletRequest request, HttpServletResponse response){
        ModelAndView mv = new ModelAndView("wechat/shareServer/shareOrd/collageDetail");
        try {
            User user = this.getUserByUserIdInSession(request,  response);
            if(user==null){
                wxAuthorize(code,state,request,response);
            }
                String contextPath = request.getContextPath();
            ShareOrd shareOrd = shareOrdService.selectByPrimaryKey(id);
            if(shareOrd.getIsLocal()==1){
                response.sendRedirect(contextPath+"/wechat/shareServer/collageDetail?id="+id+"&userId="+userId+"&storeId="+storeId);
            }else{
                response.sendRedirect(contextPath+"/wechat/shareServer/distributorCollageDetail?id="+id+"&userId="+userId+"&storeId="+storeId);
            }
//            request.getRequestDispatcher("collageDetail?id="+id).forward(request,response);

        }catch (Exception e){
            LOGGER.error("release--error",e);
        }
        return mv;
    }

  @RequestMapping("collageDetail")
    public ModelAndView collageDetail(String code, String state, HttpServletRequest request, HttpServletResponse response,String userId,String storeId){
        ModelAndView mv = new ModelAndView("wechat/shareServer/shareOrd/collageDetail");
        try {
            User user = this.getUserByUserIdInSession(request,  response);
            if(user==null){
                wxAuthorize(code,state,request,response);
            }
//            mv.addObject("user", user);
            if(StringUtils.isNotEmpty(userId)&&StringUtils.isNotEmpty(storeId)){
                User user1 =userService.selectUserById(Long.valueOf(userId));
                Store store=storeService.selectStoreById(Long.valueOf(storeId));
                mv.addObject("name",store.getName());
                mv.addObject("manager",store.getManager());
                mv.addObject("phone",store.getPhone());
                mv.addObject("headImg",user1.getHeadImgUrl());
            }
        }catch (Exception e){
            LOGGER.error("release--error",e);
        }
        return mv;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值