前端代码:
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;
}