123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287 |
- 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)
- }
- }
|