import config from "config"
var jweixin = require('jweixin-module') // 微信sdk库
// http请求的公共方法
export default function getWeixinSdk() {
	const token = uni.getStorageSync('token')
	return new Promise((resolve, reject) => {
		try{
			uni.request({
				url: config.domain + '/api/ajax/jssdk',
				method: 'GET',
				header: {
					"token":token || ''
				},
				success: (res) => {
					// console.log(res)
					// statusCode是200，code为1是成功 code为0是参数不对
					// code不是200，代表请求成功，但是返回失败
					// 可能是参数不对，可能是参数没传
					const weixinSdk = res.data.data
					if (res.statusCode === 200 && res.data.code === 1) {
						jweixin.config({
							debug: true, // 开启调试模式,调用的所有 api 的返回值会在客户端 alert 出来，若要查看传入的参数，可以在 pc 端打开，参数信息会通过 log 打出，仅在 pc 端时才会打印。
							appId: weixinSdk.appId, // 必填，公众号的唯一标识
							timestamp: weixinSdk.timestamp, // 必填，生成签名的时间戳
							nonceStr: weixinSdk.nonceStr, // 必填，生成签名的随机串
							signature: weixinSdk.signature, // 必填，签名
							jsApiList: ['getLocation', 'updateAppMessageShareData'], // 必填，需要使用的 JS 接口列表
							openTagList: ['wx-open-launch-weapp'] // 可选，需要使用的开放标签列表，例如['wx-open-launch-weapp']
						});
						resolve(res.data)
					} else if(res.statusCode === 401){ // 未登录,或登录过期
						uni.$u.toast('登录过期')
					} else {
						reject(res.data || {})
					}
				},
				fail: (err) => {
					reject(err || {})
				}
			})
		}catch(err) {
			reject(err)
		}
	})
}