企业微信的分享/转发功能

一.首先呢肯定是要参考企业微信的客户端API

1.JS-SDK里面的使用说明

引入js文件<script src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>

通过config接口注入权限验证配置

  1. wx.config({
  2. beta: true,// 必须这么写,否则wx.invoke调用形式的jsapi会有问题
  3. debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
  4. appId: '', // 必填,企业微信的corpID
  5. timestamp: , // 必填,生成签名的时间戳
  6. nonceStr: '', // 必填,生成签名的随机串
  7. signature: '',// 必填,签名,见 附录-JS-SDK使用权限签名算法
  8. jsApiList: [] // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
  9. });

注:里面的appId,timestamp,nonceStr,signature都是通过后台接口返回的 给后台传的参 一定要传对 不然签名拿到就是错的

sharecode.vue

//1、从微信分享中过来的,会携带工单ID等参数
    //2、截取短链中的参数,拼接oauth2URL参数
    //let that=this;
    //console.log('hhhh',window.location.href)
    let shareurl=window.location.href.split('=')[1];
    const urls = 'http%3a%2f%2ffstatic.deppon.com%2fdpm%2fbacklogsystem%2findex.html';  // 
                  生产
    let url= `https://open.weixin.qq.com/connect/oauth2/authorize? 
 appid=wx55b0c14412683cbb&redirect_uri=${urls}&response_type=code&scope=snsapi_base&agentid=0&state=share/${shareurl}&connect_redirect=1#wechat_redirect`;
  
    window.location.href=url;

二:前面的准备工作做好之后呢  现在来说说我要做的功能,是企业微信里面嵌套H5页面,页面里有循环列表,每一个列表都有一个分享按钮,点击分享按钮可以把里面的内容分享出去,我也是初次接触企业微信分享功能,我原先想的方法是点击分享按钮直接调起企业微信的原生方法就是右上角的按钮弹出弹框,但这样想未免太天真了些,这样会诱导用户从而封号,虽然说企业微信也不是说会不会封号,但这样做不好,最后我是用 点击分享按钮 弹出弹框 请手动点击右上角按钮 让用户手动点击,那接下来如何做呢 

1. 我要把分享的东西 抽出来 弄成一个页面  因为要隐藏 关键词 share.vue

2.在分享的方法里面

 toggle(item,index){
    let that=this;
    that.currentindexs = index;
    that.questionshare=item.question;//问题点
    Toast('请手动点击右上角按钮转发');
    wx.ready(function(){
      var shareUrl='';
      var shareimgurl='';
      console.log('路径啊',window.location.origin);
      shareUrl= window.location.origin + '你的路径
                gtaskMark=' + item.gtaskMark;//通过gtaskMark 可以在分享的页面拿到详情
      shareimgurl= window.location.origin + '图片的路径';
      wx.onMenuShareAppMessage({
         title:'****',
         desc:that.questionshare, // 分享描述
         link: shareUrl, // 分享链接;在微信上分享时,该链接的域名必须与企业某个应用的可信 
                            域名一致
         imgUrl: shareimgurl, // 分享图标
         success: function () {
           // 用户确认分享后执行的回调函数
           alert('分享成功')
         },
      })
      wx.hideMenuItems({menuList:["menuItem:openWithSafari","menuItem:share:timeline","menuItem:favorite","menuItem:share:brand"] // 要隐藏的菜单项,只能隐藏“传播类”和“保护类”按钮
          });
        })
    }

3.再来一个虚拟的vue文件,sharecode.vue用来转换一个  把 share.vue里面的短链接 转换成长链接

share.vue文件内容

let shareUrl= window.location.origin + '/#/sharecode?gtaskMark=' + that.gtaskMark;
   let shareimgurl= window.location.origin + '图片路径';
   wx.onMenuShareAppMessage({
     title:'****',
     desc:that.questionshare, // 分享描述
     link: shareUrl, // 分享链接;在微信上分享时,该链接的域名必须与企业某个应用的可信域名一致
     imgUrl: shareimgurl, // 分享图标
     success: function () {
       // 用户确认分享后执行的回调函数
       alert('分享成功')
     },
   })

4.这是第一次转发  但还有第二次 第三次~~~~,那我们应该怎么办呢

在登录的时候把这段代码加进去  通过share来判断 

 console.log('h',that.getQueryValue('state').indexOf('share')!=-1);
 if(that.getQueryValue('state').indexOf('share')!=-1){
    let shareId =that.getQueryValue('state').split('/')[1];
    that.$router.push({
       name: 'Share',
       params: {
         shareId: shareId
       }
    })
    }else{
       that.roleList();
    }

Vue.js是一个前端JavaScript框架,主要用于构建用户界面。要监测企业微信的内容转发功能,通常需要结合企业微信提供的开发者API以及Vue组件的事件监听机制。 首先,你需要注册成为企业微信开放平台的开发者,获取相关的JS-SDK(JavaScript SDK)。企业微信提供了一个`WechatJSBridge`,允许你在H5页面中调用原生功能,包括分享转发等。 在Vue项目中,可以创建一个自定义的组件,并在其对应的生命周期钩子(如`mounted()`)里,通过`WechatJSBridge.call('sendAppMessage', { ... })`来触发分享操作。当用户转发内容时,这个函数会被调用,你可以在这里添加你想要执行的逻辑,比如记录转发次数或者更新数据状态。 以下是简单的示例: ```javascript export default { mounted() { this.$once('jsbridgeReady', () => { this.$emit('triggerShare', 'contentToShare'); }); }, methods: { triggerShare(content) { WechatJSBridge.call('sendAppMessage', { title: '分享标题', desc: '分享描述', link: 'https://your-link.com', imgUrl: 'http://your-image-url.com', success: function (res) { // 转发成功后的处理 console.log('转发成功', res); }, fail: function (err) { // 转发失败后的处理 console.error('转发失败', err); } }, content); } } } ``` 在这个例子中,当你在组件上触发`triggerShare`方法时,会尝试转发指定的内容到企业微信。然后你可以监听`success`和`fail`事件来响应用户的操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值