| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- function toConfigure() {
- return new Promise((resolve, reject) => {
- $.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) {
- 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.error(function(e) {})
- })
- }
- export default async (args) => {
- if (typeof wx != "undefined") { //需要引入 https://res.wx.qq.com/open/js/jweixin-1.2.0.js
- await toConfigure()
- setup(args)
- }
- }
|