|
@@ -1,35 +1,33 @@
|
|
|
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)
|
|
|
- if(res.Ret!==4003){
|
|
|
- Toast('获取签名失败,请刷新重试!')
|
|
|
- }
|
|
|
- //如果需要强制刷新
|
|
|
- //window.location.reload()
|
|
|
- return
|
|
|
- }
|
|
|
+export function wxShare(shareurl,title,desc,imgurl,hide){
|
|
|
+ // getWxSign({
|
|
|
+ // Url:window.location.href.split('#')[0]
|
|
|
+ // }).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的分享接口,注意:使用新版本的分享功能,一定要在该列表加上对应的老版本功能接口,否则新接口不起作用
|
|
|
+ // 'hideOptionMenu',
|
|
|
+ // 'showOptionMenu',
|
|
|
+ // 'hideMenuItems']
|
|
|
+ // // 'onMenuShareAppMessage',//老版本分享接口。
|
|
|
+ // // 'onMenuShareTimeline',
|
|
|
+ // });
|
|
|
+ // }else {
|
|
|
+ // console.log(res)
|
|
|
+ // if(res.Ret!==4003){
|
|
|
+ // Toast('获取签名失败,请刷新重试!')
|
|
|
+ // }
|
|
|
+
|
|
|
+ // return
|
|
|
+ // }
|
|
|
if( hide==1 ){
|
|
|
wx.ready(function(){
|
|
|
wx.hideOptionMenu();
|
|
@@ -39,28 +37,13 @@ export default function wxShare(shareurl,title,desc,imgurl,hide){
|
|
|
wx.ready(function(){
|
|
|
// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
|
|
|
|
|
|
- wx.showOptionMenu();
|
|
|
+ // 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, // 分享描述
|
|
|
+ let shareData = {
|
|
|
+ title, // 分享标题
|
|
|
+ desc, // 分享描述
|
|
|
link:shareurl, // 分享链接,该链接域名必须与当前企业的可信域名一致
|
|
|
imgUrl:imgurl, // 分享图标
|
|
|
- type:'', // 分享类型,music、video或link,不填默认为link
|
|
|
- dataUrl:'', // 如果type是music或video,则要提供数据链接,默认为空
|
|
|
success:function () {
|
|
|
// 用户确认分享后执行的回调函数
|
|
|
console.log( "分享成功,当前链接:"+shareurl );
|
|
@@ -69,15 +52,67 @@ export default function wxShare(shareurl,title,desc,imgurl,hide){
|
|
|
// 用户取消分享后执行的回调函数
|
|
|
console.log('取消分享')
|
|
|
}
|
|
|
- });
|
|
|
+ }
|
|
|
+
|
|
|
+ wx.updateAppMessageShareData(shareData)
|
|
|
+
|
|
|
+ wx.updateTimelineShareData(shareData)
|
|
|
+
|
|
|
+ wx.onMenuShareTimeline(shareData);
|
|
|
+
|
|
|
+ wx.onMenuShareAppMessage(shareData);
|
|
|
+
|
|
|
wx.hideMenuItems({
|
|
|
menuList: ['menuItem:share:qq','menuItem:share:weiboApp','menuItem:share:facebook','menuItem:share:QZone','menuItem:openWithSafari','menuItem:share:email'] // 要隐藏的菜单项,只能隐藏“传播类”和“保护类”按钮,所有menu项见附录3
|
|
|
});
|
|
|
+
|
|
|
+ setTimeout(() => {
|
|
|
+ wx.showOptionMenu();
|
|
|
+ },2000)
|
|
|
});
|
|
|
|
|
|
wx.error(function(res){
|
|
|
console.log(res);
|
|
|
});
|
|
|
}
|
|
|
- });
|
|
|
+ // });
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+export function injectSdk() {
|
|
|
+ return new Promise((resove,reject) => {
|
|
|
+ getWxSign({
|
|
|
+ Url:window.location.href.split('#')[0]
|
|
|
+ }).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的分享接口,注意:使用新版本的分享功能,一定要在该列表加上对应的老版本功能接口,否则新接口不起作用
|
|
|
+ 'hideOptionMenu',
|
|
|
+ 'showOptionMenu',
|
|
|
+ 'hideMenuItems']
|
|
|
+ // 'onMenuShareAppMessage',//老版本分享接口。
|
|
|
+ // 'onMenuShareTimeline',
|
|
|
+ });
|
|
|
+
|
|
|
+ resove(res)
|
|
|
+
|
|
|
+ wx.ready(function(){
|
|
|
+ wx.hideOptionMenu();
|
|
|
+ });
|
|
|
+ }else {
|
|
|
+ console.log(res)
|
|
|
+ if(res.Ret!==4003){
|
|
|
+ Toast('获取签名失败,请刷新重试!')
|
|
|
+ }
|
|
|
+
|
|
|
+ reject(res)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ })
|
|
|
+}
|