解决wx.onMenuShareTimeline出现的问题

wx.onMenuShareTimeline使用注意事项

我在开发测试过程中,发现使用wx.onMenuShareTimeline无效果,没有显示我定义的图片、title和链接,经过调试发现原因如下:

1.图片大小要大于300pix才能显示

2.这个方法必须先config成功,然后再wx.ready里才能调用。我直接放到$(function(){})里执行,实践证明是不行的。

wx.config({
    debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
    appId: '{$appid}', // 必填,公众号的唯一标识
    timestamp: "{$signPackage.timestamp}", // 必填,生成签名的时间戳
    nonceStr: '{$signPackage.nonceStr}', // 必填,生成签名的随机串
    signature: '{$signPackage.signature}',// 必填,签名,见附录1
    jsApiList: [
      'checkJsApi',
      'onMenuShareTimeline',
      'onMenuShareAppMessage',
      'onMenuShareQQ',
      'onMenuShareWeibo'
    ] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
  });
  wx.ready(function () {
    wx.onMenuShareTimeline({
      title: '--{$info.name}', // 分享标题
      link: '{$url}__URL__/index?pid={$pid}&puid={$uid}', // 分享链接,将当前登录用户转为puid,以便于发展下线
      imgUrl: '{$url}__PUBLIC__/Uploads/{$goodsvo.image}', // 分享图标
      success: function () {
        // 用户确认分享后执行的回调函数
        alert('分享成功');
      },
      cancel: function () {
        // 用户取消分享后执行的回调函数
      }
    });
    wx.error(function(res){
      // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
      alert("errorMSG:"+res);
    });
  });

通过此文希望能帮助遇到同样情况的朋友,谢谢大家对本站的支持!

(0)

相关推荐

  • Android仿微信5实现滑动导航条

    本文实例为大家分享了Android 仿微信5滑动导航效果,供大家参考,具体内容如下 ViewPageAdapter.java package com.rong; import java.util.ArrayList; import java.util.List; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.view.View; publi

  • Android6.0仿微信权限设置

    Android 6.0版本对于程序员兄弟来说最不友好的就是权限的问题,动态权限的设置曾经让我很苦恼,目前大部分关于6.0权限设置的框架基本都是一次性访问多个权限(EasyPermissions),这样导致的问题就是如果我们申请了三种权限,而用户只同意了其中一种,下次再申请权限又是一次性申请三种,很不方便对于用户来说很不友好,偶然情况下发现了安卓猴的这篇文章, http://sunjiajia.com/2016/04/19/android-m-permissions/ 在此基础上做了修改,就实现了

  • Thinkphp微信公众号支付接口

    本文实例为大家分享了Thinkphp微信公众号支付接口,供大家参考,具体内容如下 第一步  先把文件夹的那两个图片 配置成一样的路径 除了域名要改 其他保持一致. 第二步  把 Weixinpay 这个文件夹放在 \ThinkPHP\Library\Vendor  将Weixinpay文件夹放置到这个Vendor文件夹中 第三步  把  WxJsAPIController.class.php 这个php文件  \Home\Controller  这里面 第四步  把 WxJsAPI这个文件夹 

  • JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法

    在实际的应用中,我们常常需要实现在移动app和浏览器中点击返回.后退.上一页等按钮实现自己的关闭页面.调整到指定页面或执行一些其它操作的需求,那在代码中怎样监听当点击微信.支付宝.百度糯米.百度钱包等app的返回按钮或者浏览器的上一页或后退按钮的事件呢. 我相信很多朋友像我一样,在百度.搜狗里面搜索很久都没找到方法. 下面就来告诉大家怎样监听的方法: 首先我们要了解浏览器的history. 大家知道在页面中我们可以使用javascript window history,后退到前面页面,但是由于安

  • php微信开发之带参数二维码的使用

    最近做微信PC端网页微信相关功能的开发,从一个新手的角度来说,微信公众号的文档还是不好理解的,网上找的帖子大都也都基本上是复制微信公众平台上给的文档,开发微信带参数二维码过程中还是遇到不少坑的,在此把我的开发过程比较详细的记录下,希望对大家有所帮助. 我本次开发使用的是认证服务号. 1 接入 首先进入微信公众号 -> 基本配置  下面是基本配置的页面,在URL中填写服务器地址,这个地址就是接受微信推送事件的一个接口,我是使用thinkPHP框架开发的程序,在其中一个Module(Decorati

  • 微信自定义菜单的创建/查询/取消php示例代码

    微信公众帐号 服务号可以使用 自定义菜单功能.之前在创建菜单时一直失败,原因是$data 格式一直没有传正确,后来终于解决了.这里先记录下 顺便封装了一个类,便于自定义菜单的管理.此类仅仅是自定义菜单的管理类,并未涉及微信自定义回复和菜单事件的代码. 代码如下 /** * @author LSH 2013-09-06 * * 微信自定义菜单的创建|查询|取消 */ class weixinMenu { public static $appid = null; // 申请得到的appid publ

  • 微信支付java版本之Native付款

    最近工作中接触到一些关于微信支付方面的东西,看到给的DEMO都是PHP版本的,再加上微信支付文档写的确实不敢恭维,趟过不少坑之后闲下来做个总结. 一.前期准备  做微信开发首先要申请一个公共账号,申请成功后会以邮件形式发给你一些必要信息,公共账号中有开发文档以及开发中必要信息,以及测试的数据查询. 二.工具类 1.MD5加密工具类 package com.pay.utils.weixin; import java.security.MessageDigest; public class MD5U

  • .NET C#使用微信公众号登录网站

    适用于:本文适用于有一定微信开发基础的用户 引言: 花了300大洋申请了微信公众平台后,发现不能使用微信公众号登录网站(非微信打开)获得微信帐号.仔细研究后才发现还要再花300大洋申请微信开放平台才能接入网站的登录.于是做为屌丝程序员的我想到了自己做一个登录接口. 工具和环境: 1. VS2013 .net4.0 C# MVC4.0 Razor 2.插件 A. Microsoft.AspNet.SignalR;时时获取后台数据 B.Gma.QrCodeNet.Encoding;文本生成二维码 实

  • 微信公众号支付(MVC版本)

    一.获取微信支付 MCHID,KEY,APPID,APPSecret 四个支付关键值. 微信支付商户平台 https://pay.weixin.qq.com/index.php/core/home/login?return_url=%2F   1.登录微信支付商户平台获取到商户号(MCHID),   2.在"账号中心"栏目下"API安全"栏目里设置API密钥(KEY) 微信公众号: https://mp.weixin.qq.com/      1.登录微信公众在&q

  • 在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口的方法

    最近在使用微信.支付宝.百度钱包实现网页支付,对支付成功将自动关闭页面,对于支付失败,将显示错误信息.当在错误页面的时候,点击返回或者Android物理按键上一步的时候,将关闭页面. 在微信.支付宝.百度钱包中,他们对页面关闭进行了封装,传统的window.close()是无效的,必须要使用它们的js代码才能关闭. 下面是三种移动app的关闭方式: WeixinJSBridge.call('closeWindow');//微信 AlipayJSBridge.call('closeWebview'

随机推荐