|
@@ -0,0 +1,287 @@
|
|
|
+import jsonp from 'jsonp'
|
|
|
+function toConfigure() {
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ let name = '新时代网络文明建设展'
|
|
|
+ name = encodeURIComponent(name)
|
|
|
+ let uri = encodeURIComponent(location.href.split('#')[0])
|
|
|
+ jsonp(
|
|
|
+ '//www.4dage.com/wechat/jssdk/share?name=' + name + '&uri=' + uri,
|
|
|
+ {
|
|
|
+ param: 'callback',
|
|
|
+ },
|
|
|
+ function (err, data) {
|
|
|
+ console.log(data, '-------------------------------------=========')
|
|
|
+ wx.config({
|
|
|
+ debug: false,
|
|
|
+ appId: data.appId,
|
|
|
+ timestamp: data.timestamp,
|
|
|
+ nonceStr: data.nonceStr,
|
|
|
+ signature: data.signature,
|
|
|
+ jsApiList: [
|
|
|
+ 'checkJsApi',
|
|
|
+ 'onMenuShareTimeline',
|
|
|
+ 'onMenuShareAppMessage',
|
|
|
+ 'updateTimelineShareData',
|
|
|
+ 'updateAppMessageShareData',
|
|
|
+ 'onMenuShareQQ',
|
|
|
+ 'onMenuShareWeibo',
|
|
|
+ 'hideMenuItems',
|
|
|
+ 'showMenuItems',
|
|
|
+ 'hideAllNonBaseMenuItem',
|
|
|
+ 'showAllNonBaseMenuItem',
|
|
|
+ 'translateVoice',
|
|
|
+ 'startRecord',
|
|
|
+ 'stopRecord',
|
|
|
+ 'onRecordEnd',
|
|
|
+ 'playVoice',
|
|
|
+ 'pauseVoice',
|
|
|
+ 'stopVoice',
|
|
|
+ 'uploadVoice',
|
|
|
+ 'downloadVoice',
|
|
|
+ 'chooseImage',
|
|
|
+ 'previewImage',
|
|
|
+ 'uploadImage',
|
|
|
+ 'downloadImage',
|
|
|
+ 'getNetworkType',
|
|
|
+ 'openLocation',
|
|
|
+ 'getLocation',
|
|
|
+ 'hideOptionMenu',
|
|
|
+ 'showOptionMenu',
|
|
|
+ 'closeWindow',
|
|
|
+ 'scanQRCode',
|
|
|
+ 'chooseWXPay',
|
|
|
+ 'openProductSpecificView',
|
|
|
+ 'addCard',
|
|
|
+ 'chooseCard',
|
|
|
+ 'openCard',
|
|
|
+ ],
|
|
|
+ })
|
|
|
+ resolve()
|
|
|
+ }
|
|
|
+ )
|
|
|
+
|
|
|
+ // jsonp({
|
|
|
+ // url: '//www.4dage.com/wechat/jssdk/share',
|
|
|
+ // data: {
|
|
|
+ // name: name,
|
|
|
+ // uri: location.href.split('#')[0],
|
|
|
+ // },
|
|
|
+ // // 把前端方法作为参数传递给服务器
|
|
|
+ // success: function (data) {
|
|
|
+ // console.log(data)
|
|
|
+ // wx.config({
|
|
|
+ // debug: false,
|
|
|
+ // appId: data.appId,
|
|
|
+ // timestamp: data.timestamp,
|
|
|
+ // nonceStr: data.nonceStr,
|
|
|
+ // signature: data.signature,
|
|
|
+ // jsApiList: [
|
|
|
+ // 'checkJsApi',
|
|
|
+ // 'onMenuShareTimeline',
|
|
|
+ // 'onMenuShareAppMessage',
|
|
|
+ // 'updateTimelineShareData',
|
|
|
+ // 'updateAppMessageShareData',
|
|
|
+ // 'onMenuShareQQ',
|
|
|
+ // 'onMenuShareWeibo',
|
|
|
+ // 'hideMenuItems',
|
|
|
+ // 'showMenuItems',
|
|
|
+ // 'hideAllNonBaseMenuItem',
|
|
|
+ // 'showAllNonBaseMenuItem',
|
|
|
+ // 'translateVoice',
|
|
|
+ // 'startRecord',
|
|
|
+ // 'stopRecord',
|
|
|
+ // 'onRecordEnd',
|
|
|
+ // 'playVoice',
|
|
|
+ // 'pauseVoice',
|
|
|
+ // 'stopVoice',
|
|
|
+ // 'uploadVoice',
|
|
|
+ // 'downloadVoice',
|
|
|
+ // 'chooseImage',
|
|
|
+ // 'previewImage',
|
|
|
+ // 'uploadImage',
|
|
|
+ // 'downloadImage',
|
|
|
+ // 'getNetworkType',
|
|
|
+ // 'openLocation',
|
|
|
+ // 'getLocation',
|
|
|
+ // 'hideOptionMenu',
|
|
|
+ // 'showOptionMenu',
|
|
|
+ // 'closeWindow',
|
|
|
+ // 'scanQRCode',
|
|
|
+ // 'chooseWXPay',
|
|
|
+ // 'openProductSpecificView',
|
|
|
+ // 'addCard',
|
|
|
+ // 'chooseCard',
|
|
|
+ // 'openCard',
|
|
|
+ // ],
|
|
|
+ // })
|
|
|
+ // resolve()
|
|
|
+ // },
|
|
|
+ // })
|
|
|
+
|
|
|
+ // $.ajax({
|
|
|
+ // url: '//www.4dage.com/wechat/jssdk/share',
|
|
|
+ // type: 'get',
|
|
|
+ // data: {
|
|
|
+ // uri: location.href.split('#')[0],
|
|
|
+ // name: '厦门四维时代微信公众号',
|
|
|
+ // },
|
|
|
+ // dataType: 'jsonp',
|
|
|
+ // //jsonpCallback: "success_jsonp",
|
|
|
+ // success: function (data, textStatus) {
|
|
|
+ // console.log(data)
|
|
|
+ // wx.config({
|
|
|
+ // debug: false,
|
|
|
+ // appId: data.appId,
|
|
|
+ // timestamp: data.timestamp,
|
|
|
+ // nonceStr: data.nonceStr,
|
|
|
+ // signature: data.signature,
|
|
|
+ // jsApiList: [
|
|
|
+ // 'checkJsApi',
|
|
|
+ // 'onMenuShareTimeline',
|
|
|
+ // 'onMenuShareAppMessage',
|
|
|
+ // 'onMenuShareQQ',
|
|
|
+ // 'onMenuShareWeibo',
|
|
|
+ // 'hideMenuItems',
|
|
|
+ // 'showMenuItems',
|
|
|
+ // 'hideAllNonBaseMenuItem',
|
|
|
+ // 'showAllNonBaseMenuItem',
|
|
|
+ // 'translateVoice',
|
|
|
+ // 'startRecord',
|
|
|
+ // 'stopRecord',
|
|
|
+ // 'onRecordEnd',
|
|
|
+ // 'playVoice',
|
|
|
+ // 'pauseVoice',
|
|
|
+ // 'stopVoice',
|
|
|
+ // 'uploadVoice',
|
|
|
+ // 'downloadVoice',
|
|
|
+ // 'chooseImage',
|
|
|
+ // 'previewImage',
|
|
|
+ // 'uploadImage',
|
|
|
+ // 'downloadImage',
|
|
|
+ // 'getNetworkType',
|
|
|
+ // 'openLocation',
|
|
|
+ // 'getLocation',
|
|
|
+ // 'hideOptionMenu',
|
|
|
+ // 'showOptionMenu',
|
|
|
+ // 'closeWindow',
|
|
|
+ // 'scanQRCode',
|
|
|
+ // 'chooseWXPay',
|
|
|
+ // 'openProductSpecificView',
|
|
|
+ // 'addCard',
|
|
|
+ // 'chooseCard',
|
|
|
+ // 'openCard',
|
|
|
+ // ],
|
|
|
+ // })
|
|
|
+ // resolve()
|
|
|
+ // },
|
|
|
+ // error: function (XMLHttpRequest, textStatus, errorThrown) {
|
|
|
+ // reject('jsonp.error:' + textStatus)
|
|
|
+ // },
|
|
|
+ // })
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+function strToJSON(search) {
|
|
|
+ let args = search.substr(1).split('&')
|
|
|
+ let obj = {}
|
|
|
+ args.forEach(arg => {
|
|
|
+ let index = arg.indexOf('=')
|
|
|
+ if (!~index) {
|
|
|
+ obj[arg] = null
|
|
|
+ } else {
|
|
|
+ obj[arg.substr(0, index)] = arg.substr(index + 1)
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ return obj
|
|
|
+}
|
|
|
+
|
|
|
+function jsonToStr(data) {
|
|
|
+ let strs = []
|
|
|
+ Object.keys(data).forEach(k => {
|
|
|
+ if (data[k] !== null) {
|
|
|
+ strs.push(`${k}=${data[k]}`)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ return '?' + strs.join('&')
|
|
|
+}
|
|
|
+
|
|
|
+function setup({ title, link, imgUrl, desc }) {
|
|
|
+ let defaultFn = () => { }
|
|
|
+ let defaultChar = ''
|
|
|
+ let search = link.substr(link.indexOf('?'))
|
|
|
+ let path = link.substr(0, link.indexOf('?'))
|
|
|
+ let data = strToJSON(search)
|
|
|
+ wx.ready(function () {
|
|
|
+ // 微信朋友圈
|
|
|
+ data.open = 'wx_friends'
|
|
|
+ wx.onMenuShareTimeline({ title, link: path + jsonToStr(data), imgUrl, desc })
|
|
|
+ // 微信好友
|
|
|
+ data.open = 'wx_friend'
|
|
|
+ wx.onMenuShareAppMessage({ title, desc, link: path + jsonToStr(data), imgUrl, type: defaultChar, dataUrl: defaultChar })
|
|
|
+ // 微博
|
|
|
+ data.open = 'weibo'
|
|
|
+ wx.onMenuShareWeibo({ title, desc, link: path + jsonToStr(data), imgUrl, success: defaultFn, cancel: defaultFn })
|
|
|
+ // 空间
|
|
|
+ data.open = 'qq_zone'
|
|
|
+ wx.onMenuShareQZone({ title, desc, link: path + jsonToStr(data), imgUrl, success: defaultFn, cancel: defaultFn })
|
|
|
+ // QQ好友
|
|
|
+ data.open = 'qq'
|
|
|
+ wx.onMenuShareQQ({ title, desc, link: path + jsonToStr(data), imgUrl, success: defaultFn, cancel: defaultFn })
|
|
|
+
|
|
|
+ wx.hideMenuItems({
|
|
|
+ menuList: [
|
|
|
+ 'menuItem:copyUrl',
|
|
|
+ 'menuItem:openWithQQBrowser',
|
|
|
+ 'menuItem:openWithSafari',
|
|
|
+ 'menuItem:originPage',
|
|
|
+ ]
|
|
|
+ });
|
|
|
+ wx.error(function (e) {
|
|
|
+ console.log(e)
|
|
|
+ })
|
|
|
+ })
|
|
|
+}
|
|
|
+// // 封装JSONP方法
|
|
|
+// function jsonp(options) {
|
|
|
+// // 创建一个script标签
|
|
|
+// var script = document.createElement('script')
|
|
|
+
|
|
|
+// // 随机生成一个函数名
|
|
|
+// /* Math.random() 随机生成小数 0.123
|
|
|
+// toString() 转换为字符串
|
|
|
+// replace('.','') 把点替换 0123
|
|
|
+// 最后随机生成的funName是 myJSONP0123 这种格式 */
|
|
|
+// var funName = 'myJSONP' + Math.random().toString().replace('.', '')
|
|
|
+
|
|
|
+// // 多个参数进行拼接
|
|
|
+// var param = ''
|
|
|
+// for (var arr in options.data) {
|
|
|
+// param += '&' + arr + '=' + options.data[arr]
|
|
|
+// }
|
|
|
+
|
|
|
+// // 把这个客户传过来的函数设置为全局函数
|
|
|
+// // . 后面不能跟变量,所以只能用[]
|
|
|
+// window[funName] = options.success
|
|
|
+
|
|
|
+// // 给script中的src属性赋值
|
|
|
+// script.src = options.url + '?callback=' + funName + param
|
|
|
+// // 放到body容器里面
|
|
|
+// document.body.appendChild(script)
|
|
|
+
|
|
|
+// // 等script标签加载完之后,清除标签
|
|
|
+// script.onload = function () {
|
|
|
+// document.body.removeChild(script)
|
|
|
+// }
|
|
|
+// }
|
|
|
+
|
|
|
+export default async args => {
|
|
|
+
|
|
|
+ if (typeof wx != 'undefined' && window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == "micromessenger") {
|
|
|
+ // if (typeof wx != 'undefined') {
|
|
|
+ //需要引入 https://res.wx.qq.com/open/js/jweixin-1.2.0.js
|
|
|
+ !args.donotconfig && await toConfigure()
|
|
|
+ setup(args)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|