/** 爱山东网管请求封装
 * 请求拦截、相应拦截、错误统一处理
 */
const BASE_URL = 'https://gqyjpt.weihai.cn'
// var errors = []
// if(localStorage.getItem('wenti')){
// 	errors = JSON.parse(localStorage.getItem('wenti'))
// }
// localStorage.setItem('wenti', JSON.stringify(errors))
var http2 = {
	post: function(params, fn) {
		// console.log('中台错误信息', JSON.stringify(localStorage.getItem('wenti')))
		/**
		 * 网关验签接口
		 * @param {1}  = appid应用唯一标识
		 * @param {2}  = interfaceid接口唯一标识
		 * @param {3}  = data接口参数,请使用json格式, 例如:{"siteid":"2","cateid":"1"}
		 * @param {4}  = fromport端口来源"0"：PC；"1"：APP；"2"：支付宝；"3"：微信
		 * @param {5}  = extraData 额外参数,附件,请求头一类的参数
		 * 
		 */
		const data = SM.encrypt(JSON.stringify(params.reqParams), params.interfacePublicKey)
		// console.log('http请求普通参数前', params.reqParams)
		// console.log('http请求参数加密后', data)
		const extraData = { // 公共请求头设置
			// header: {
			// 	// Authorization: "Bearer eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiI0ODA3ODFkZmQxYmE0MmM0OGQyZDQ5NTllYzcyYTUwNCIsInVzZXIiOiJqYyIsInN1YiI6ImpjIn0.WfLq11T7iWPiMuzqDY2N54aIqdv-ciYCe6pINqQAeBdqlMiJmkufsqlD2YMmUzsHA-o4WerkiSYnPzexEMiAJA"
			// 	// Authorization: localStorage.getItem('token')
			// 	Authorization: gemhoUtil.getCookie('token')
			// },
			verificationHeaders: { // 二次核验请求头
				interfaceTicket: gemhoUtil.getCookie('ticket'),
			}
		}
		if(gemhoUtil.getCookie('token')){
			extraData.header = {
				Authorization: gemhoUtil.getCookie('token')
			}
		}

		if(params.fileList){ // 用于接口传递的额外参数 如文件流等){
			extraData.fileList = params.fileList
		}
		// console.log('http请求额外参数', JSON.stringify(extraData))
		// console.log('http2方法进来了~extraData', extraData)
		
		// vaildInterfacefn("gqyjglptxiefn", params.serviceId, data, "1", "https://" + urldomaincreatesign, "https://" + urldomaingateway).then((value) => {
		vaildInterfacefn("gqyjglptxiefn", params.serviceId, data, "1", extraData).then((value) => {
			// console.log('vaildInterfacefn响应value', value)
			/**
			 * code: 200
			   data: "048b04671ad85e52e" // value 值就是接口返回的data值
			   msg: "请求成功"
			   success: true
		    */
			if(!value){
				// var errors = JSON.parse(localStorage.getItem('wenti'))
				// errors.push('中台发生了错误-中台value为undefined')
				// localStorage.setItem('wenti', JSON.stringify(errors))
				// vant.Dialog.alert({
				// 	title: '信息提示',
				// 	message: '网络异常, 请重试',
				// 	// message: '请求异常'
				// })
				fn && fn(null)
				return
			}
			
		
			let sm2_encrypt_result = value // 后台返回待解密内容
			let sm2_decrypt_result = sm2_Decrypt(sm2_encrypt_result, params.interfacePrivateKey)
			
			// console.log('vaildInterfacefn响应解密', sm2_decrypt_result)
			if(!sm2_decrypt_result){ // 解密为空字符串
				// var errors = JSON.parse(localStorage.getItem('wenti'))
				// errors.push('中台发生了错误-解密为空')
				// localStorage.setItem('wenti', JSON.stringify(errors))
				fn && fn(null, 'decrypt')
				return
			}
			
			const decryptRes = JSON.parse(sm2_decrypt_result)
			if(decryptRes.code === 400 || decryptRes.code === 401 || decryptRes.status === 401){
				gemhoUtil.setCookie('token', '') // 清空token
				vant.Dialog.alert({
					title: '信息提示',
					message: decryptRes.msg || decryptRes.message,
				}).then(() => { // confirm按钮回调
					if(gemhoUtil.getPageName() === 'index'){
						lightAppJssdk.navigation.close({
							success:function(data){
								//成功回调
								console.log('关闭页面')
							},fail:function(data){
								console.log('关闭失败')
							}
						});
					}else{
						gemhoUtil.navigatePage('../index.html')
					}
				});
				return
			}
			
			fn && fn(sm2_decrypt_result)
			
		})
	},

}