// const wxjssdk = require('jweixin-module')
import { getSignatureApi } from '@/services/gzh_home'
import wxjssdk from 'weixin-js-sdk'
import { appId } from '@/utils/http'
//调用 返回的接口

//获取签名--添加微信配置
export const wxconfig = async () => {
  // const currenturl = encodeURIComponent(location.href.split('#')[0])
  const currenturl = location.href.split('#')[0]
  alert(currenturl)
  const response = await getSignatureApi({ url: currenturl })
  //将值装进微信的配置
  wxjssdk.config({
    debug: true,
    appId: appId,
    timestamp: response.data.timestamp,
    nonceStr: response.data.nonceStr,
    signature: response.data.signature,
    jsApiList: [
      // 'checkJsApi', //判断当前客户端版本是否支持指定JS接口
      'chooseImage',
      // 'updateAppMessageShareData', //分享接口
      // // 'chooseImageApi', //扫一扫接口
      // 'chooseWXPay', //微信支付
    ],
  })
}

// 选择图片方法
export const chooseImageApi = () => {
  return new Promise((resolve, reject) => {
    wxconfig()
    wxjssdk.ready(() => {
      console.log('微信验证')
      wxjssdk.chooseImage({
        count: 1, // 默认9
        sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图，默认二者都有
        sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机，默认二者都有
        success: function (res) {
          console.log(res)
          resolve(res)
          // var localIds = res.localIds; // 返回选定照片的本地ID列表，localId可以作为img标签的src属性显示图片
        },
        cancel: function (): void {
          console.log('用户取消了')
          // throw new Error('Function not implemented.')
          // throw new Error('Function not implemented.')
        },
      })
    }),
      wxjssdk.error((res) => {
        console.log('config fail:', res)
        //config fail，抛出失败原因
        console.log('-------------失败------------')
        reject(res)
      })
  })
}
//分享方法
const shareAppApi = () => {
  return new Promise((resolve, reject) => {
    //注意----需在用户可能点击分享按钮前就先调用
    wxjssdk.ready(() => {
      //需在用户可能点击分享按钮前就先调用
      wxjssdk.updateAppMessageShareData({
        title: '', // 分享标题
        desc: '', // 分享描述
        link: '', // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
        imgUrl: '', // 分享图标
        success: function () {
          resolve('分享成功')
          // 设置成功
        },
      })
    })
  })
}
// wxjssdk.checkJsApi({
//   jsApiList: ['chooseImage'], // 需要检测的JS接口列表，所有JS接口列表见附录2,
//   success: function (res) {
//     // 以键值对的形式返回，可用的api值true，不可用为false
//     // 如：{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
//   },
// })

//

// wxjssdk.ready(function () {
//   //微信config正确性验证通过了
//   console.log('微信验证通过了')
//   // config信息验证后会执行ready方法，所有接口调用都必须在config接口获得结果之后，config是一个客户端的异步操作，所以如果需要在页面加载时就调用相关接口，则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口，则可以直接调用，不需要放在ready函数中。
// })

wxjssdk.error(function (res) {
  console.log('微信验证没有通过了')
  // config信息验证失败会执行error函数，如签名过期导致验证失败，具体错误信息可以打开config的debug模式查看，也可以在返回的res参数中查看，对于SPA可以在这里更新签名。
})
