import config from '@/config.js'
import {
	AESDecrypt,
	AESEncypt,
	RSAEncrypt,
	RSADecrypt,
	createKey
} from '@/utils/dataParams.js'

// 上传地址
const serverAddress = uni.getStorageSync("serverAddress");
const baseUrlIp = serverAddress ? serverAddress : config.baseUrl;
const uploadUrl = baseUrlIp + "/projects/outApi/file/upload";
// token
const token = uni.getStorageSync("App-Token")

export function uploadFilePromise(url) {
	return new Promise((resolve, reject) => {
		let pwdConfig = {}
		pwdConfig.encryptKey = createKey()
		let a = uni.uploadFile({
			url: uploadUrl,
			filePath: url,
			name: 'file',
			header: {
				"Access-Control-Allow-Origin": "*",
				"token": token,
				"GoWork": RSAEncrypt(pwdConfig.encryptKey)
			},
			success: (res) => {
				console.log('upload', res);
				setTimeout(() => {
					let resObject = JSON.parse(res.data)
					if (resObject.encrypt) {
						if (pwdConfig.encryptKey == null) {
							pwdConfig.encryptKey = RSADecrypt(resObject.GoWork)
						}
						resObject.data = JSON.parse(AESDecrypt(resObject.data, pwdConfig.encryptKey))
					}
					resolve(resObject)
				}, 1000)
			},
			fail: (err) => {
				console.log(err);
			}
		});
	})
}