123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- import {getWxSign} from '@/api/api';
- import { Toast } from 'vant';
- // import utils from '@/utils/utils';
- export default function wxShare(shareurl,title,desc,imgurl,hide){
- getWxSign({
- // Url: decodeURIComponent(utils.isIos() ? window.entryUrl : window.location.href)
- Url:window.location.href
- }).then((res)=>{
- if( res.Ret===200 ){
- wx.config({
- debug:false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
- appId:res.Data.AppId, // 必填,企业号的唯一标识,此处填写企业号corpid
- timestamp:res.Data.Timestamp, // 必填,生成签名的时间戳
- nonceStr:res.Data.NonceStr, // 必填,生成签名的随机串
- signature:res.Data.Signature,// 必填,签名,见附录1
- jsApiList:['updateTimelineShareData',//1.4.0的分享接口,注意:使用新版本的分享功能,一定要在该列表加上对应的老版本功能接口,否则新接口不起作用
- 'updateAppMessageShareData',//1.4.0的分享接口,注意:使用新版本的分享功能,一定要在该列表加上对应的老版本功能接口,否则新接口不起作用
- 'onMenuShareAppMessage',//老版本分享接口。
- 'onMenuShareTimeline',
- 'hideOptionMenu',
- 'showOptionMenu',
- 'hideMenuItems']
- });
- }else {
- console.log(res)
- Toast('获取签名失败,请刷新重试!')
- //如果需要强制刷新
- //window.location.reload()
- return
- }
- if( hide==1 ){
- wx.ready(function(){
- wx.hideOptionMenu();
- });
- }else{
-
- wx.ready(function(){
- // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
-
- wx.showOptionMenu();
- wx.onMenuShareTimeline({
- title:title, // 分享标题
- link:shareurl, // 分享链接,该链接域名必须与当前企业的可信域名一致
- imgUrl:imgurl, // 分享图标
- success: function () {
- // 用户确认分享后执行的回调函数
- console.log('分享成功,地址:'+shareurl)
- },
- cancel: function () {
- // 用户取消分享后执行的回调函数
- console.log('取消分享')
- }
- });
- wx.onMenuShareAppMessage({
- title:title, // 分享标题
- desc:desc, // 分享描述
- link:shareurl, // 分享链接,该链接域名必须与当前企业的可信域名一致
- imgUrl:imgurl, // 分享图标
- type:'', // 分享类型,music、video或link,不填默认为link
- dataUrl:'', // 如果type是music或video,则要提供数据链接,默认为空
- success:function () {
- // 用户确认分享后执行的回调函数
- console.log( "分享成功,当前链接:"+shareurl );
- },
- cancel: function () {
- // 用户取消分享后执行的回调函数
- console.log('取消分享')
- }
- });
- wx.hideMenuItems({
- menuList: ['menuItem:share:qq','menuItem:share:weiboApp','menuItem:share:facebook','menuItem:share:QZone','menuItem:openWithSafari','menuItem:share:email'] // 要隐藏的菜单项,只能隐藏“传播类”和“保护类”按钮,所有menu项见附录3
- });
- });
-
- wx.error(function(res){
- console.log(res);
- });
- }
- });
- }
|