记录微信分享方法

明月
• 阅读 642

1.安装weixin-js-sdk(目前使用的是1.6.0) 2.新建一个js文件,在main.js中引入** **3.封装方法****

  wxShare.share = function (appId, timestamp, nonceStr, signature, options,callBack) {
    console.log('9999', appId, timestamp, nonceStr, signature, options);
    wx.config({
      // 微信签名
      debug: false,
      appId: appId,
      timestamp: timestamp,
      nonceStr: nonceStr,
      signature: signature,
      jsApiList: ["onMenuShareAppMessage","onMenuShareTimeline"],
      // 下面的是新的微信分享接口,不支持回调
      // jsApiList: ["updateAppMessageShareData","updateTimelineShareData"],
    });
    // "onMenuShareAppMessage", "onMenuShareTimeline", "showAllNonBaseMenuItem"

    wx.ready(function () {
      console.log('readyreadyready');
      wx.showOptionMenu();
      // 2. 分享接口
      // 2.1 监听“分享给朋友”,按钮点击、自定义分享内容及分享结果接口
      // onMenuShareAppMessage
      wx.onMenuShareAppMessage({
        title: options.title, //分享标题
        desc: options.desc, // 分享描述
        link: options.link, // 分享链接
        imgUrl: options.imgUrl, // 分享图标
        success: function (res) {
          //  分享成功的回调;用户分享后记录用户分享动作
          console.log("微信分享成功");
        },
        cancel: function (res) {
          console.log("微信分享已取消");
        },
        fail: function (res) {
        },
      });

      // //分享给朋友圈onMenuShareTimeline
      wx.onMenuShareTimeline({
        title: options.title,
        link: options.link,
        imgUrl: options.imgUrl,
        success: function (res) {
          //  分享成功的回调;用户分享后记录用户分享动作
          //alert('已分享');
        },
        cancel: function (res) {
          //alert('已取消');
        },
        fail: function (res) {
        },
      });
    });
  }
// 隐藏分享方法
   wxShare.notShare = function (appId, timestamp, nonceStr, signature) {
    console.log('隐藏分享', appId, timestamp, nonceStr, signature);
    wx.config({
      debug: false,
      appId: appId,
      timestamp: timestamp,
      nonceStr: nonceStr,
      signature: signature,
      jsApiList: ["hideMenuItems"],
    });
    wx.ready(function () {
      wx.hideMenuItems({
        menuList: ['menuItem:share:appMessage', 'menuItem:share:timeline', 'menuItem:share:qq', 'menuItem:share:QZone', 'menuItem:openWithSafari', 'menuItem:openWithQQBrowser', 'menuItem:favorite']
      })
    });
    wx.error(function (res) {
      console.log(res, "分享-错误信息");
    });
  }

4.在需要分享的页面调用**** 调用接口,拿到签名,appId,timestamp,nonceStr,signature; options:微信分享的内容(标题,描述,链接,图标)

wxShare.share(this.wxParams.appId, this.wxParams.timestamp, this.wxParams.nonceStr, this.wxParams.signature, options,()=>{
// 回调
});
点赞
收藏
评论区
推荐文章
郜小超 郜小超
3年前
前端vue中常用的插件
一.moment时间库1.安装npminstallmomentsave2.在main.js中引入importmomentfrom'moment';//导入模块moment.locale('zhcn');//设置语言或moment.lang('zhcn');Vue.prototype.$momentmoment;//赋值使用3.
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Jacquelyn38 Jacquelyn38
2年前
手写一个仿微信登录的nodejs程序
前言首先,我们看一下微信开放文档中的一张图:上面的一幅图中清楚地介绍了微信登录整个过程,下面对图上所示进行总结:一、二维码的获得1.用户打开登录网页后,登录网页后台根据微信OAuth2.0协议向微信开发平台请求授权登录,并传递事先在微信开发平台中审核通过的AppID和AppSecrect等参数;2.微信开发平台对AppID等参数进行验证,并向
Souleigh ✨ Souleigh ✨
3年前
前端性能优化 - 雅虎军规
无论是在工作中,还是在面试中,web前端性能的优化都是很重要的,那么我们进行优化需要从哪些方面入手呢?可以遵循雅虎的前端优化35条军规,这样对于优化有一个比较清晰的方向.35条军规1.尽量减少HTTP请求个数——须权衡2.使用CDN(内容分发网络)3.为文件头指定Expires或CacheControl,使内容具有缓存性。4.避免空的
Wesley13 Wesley13
2年前
PHP微信小程序支付——签名错误
!(https://static.oschina.net/uploads/space/2018/0509/141657_Tqix_3477605.png)先分清几个概念:微信公众平台、微信开放平台、微信商户平台1.微信公众平台、微信开放平台、微信商户平台是三个不同的平台2.微信公众平台:用于公众号、小程序等等的设置平台,包括APPID、APP
Stella981 Stella981
2年前
HotApp小程序统计云后台 免费的Https云后台服务器
小程序学习有些地方需要后台,比如需要存储数据到服务器,比如微信登录。hotapp有免费的小程序云后台包含基本的新增,查询,修改,删除操作,方便于学习,而且不需要微信appid也可使用。小程序微信手机调试appid,简单解决办法:http://www.wxappunion.com/forum.
Wesley13 Wesley13
2年前
mysql中时间比较的实现
MySql中时间比较的实现unix\_timestamp()unix\_timestamp函数可以接受一个参数,也可以不使用参数。它的返回值是一个无符号的整数。不使用参数,它返回自1970年1月1日0时0分0秒到现在所经过的秒数,如果使用参数,参数的类型为时间类型或者时间类型的字符串表示,则是从1970010100:00:0
Wesley13 Wesley13
2年前
mysql5.6 分页查询优化
mysql5.6分页查询优化场景:表结构:主键(非自增)contentCode(varchar),过滤条件列为updateTime(timeStamp),已经为timestamp建立索引。搜索sql为:SELECTFROMmy_hello_tableWHEREupdat
Wesley13 Wesley13
2年前
C#开发——网站应用微信登录开发
1\.在微信开放平台注册开发者账号,并有一个审核已通过的网站应用,并获得相对应的AppID和AppSecret,申请通过登陆后,方可开始接入流程。2.微信OAuth2.0授权登录目前支持authorization\_code模式,适用于拥有server端的应用授权。该模式整体流程为:1.第三方发起微信授权登录请求,微信用户允许授权第三方应
Stella981 Stella981
2年前
Impala常用函数索引
增加X自然天selectdays_add(now(),2)字符串转Timestampselectto\_timestamp('2019101420:00:01','yyyyMMddHH:mm:ss');注意,Impala的timestamp的标准是ISO8601 参考:https://en.wiki