import Ajax from './ajax'
import api from './api'

function wxsdk (params, config) {
  const wx = require('weixin-js-sdk')
  console.log(config)
  const shareData = {
    title: config.title, // 分享标题
    desc: config.desc, // 分享标题
    link: config.link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
    imgUrl: config.thu_image // 分享图标
  }
  // 初始化
  return new Promise(function (resolve, reject) {
    Ajax(api.share.share.url, {
      method: api.share.share.method,
      queryData: {
        ...params
      }
    }).then(result => {
      console.log(result)
      let time = parseInt(result.timestamp)
      wx.config({
        debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
        appId: result.appId, // 必填，公众号的唯一标识
        timestamp: time, // 必填，生成签名的时间戳
        nonceStr: result.noncestr, // 必填，生成签名的随机串
        signature: result.signature, // 必填，签名，见附录1
        jsApiList: [
          'onMenuShareTimeline',
          'onMenuShareAppMessage',
          'onMenuShareQQ',
          'onMenuShareWeibo',
          'onMenuShareQZone',
          'openLocation',
          'getLocation'
        ]
      })
      wx.ready(function () {
        wx.onMenuShareTimeline(shareData)
        wx.onMenuShareAppMessage(shareData)
        resolve('success')
      })
    }).catch((err) => {
      reject(err)
    })

    // axios.post(api.share.share.url + '?url=' + params.url)
    //   .then(function (res) {
    //     let result = JSON.parse(res.data)
    //     wx.config({
    //       debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
    //       appId: result.appId, // 必填，公众号的唯一标识
    //       timestamp: result.timestamp, // 必填，生成签名的时间戳
    //       nonceStr: result.noncestr, // 必填，生成签名的随机串
    //       signature: result.signature, // 必填，签名，见附录1
    //       jsApiList: [
    //         'onMenuShareTimeline',
    //         'onMenuShareAppMessage',
    //         'onMenuShareQQ',
    //         'onMenuShareWeibo',
    //         'onMenuShareQZone',
    //         'openLocation'
    //       ]
    //     })
    //     wx.ready(function () {
    //       wx.onMenuShareTimeline(shareData)
    //       wx.onMenuShareAppMessage(shareData)
    //       // resolve()
    //     })
    //   })
    //   .catch(function (error) {
    //     console.log(error)
    //   })
  })
}

export default wxsdk
