// src/composables/useWeChatAuth.js import { ref } from 'vue'; import request from '@/request/index.js'; //解决跨域 export function proxy(res){ return request({ url: `/api/proxy/get?apiUrl=${res.apiUrl}¶ms=${res.other}`, method: 'get', }) } export const jsonp = function (url, data) { return new Promise((resolve, reject) => { // 1.初始化url let dataString = url.indexOf('?') === -1 ? '?' : '&' let callbackName = `jsonpCB_${Date.now()}`; url += `${dataString}` if (data) { // 2.有请求参数,依次添加到url for (let k in data) { url += `&${k}=${data[k]}` } } let scriptNode = document.createElement('script'); scriptNode.src = url; // 3. callback window[callbackName] = (result) => { result ? resolve(result) : reject('没有返回数据'); delete window[callbackName]; document.body.removeChild(scriptNode); } // 4. 异常情况 scriptNode.addEventListener('error', () => { reject('接口返回数据失败'); delete window[callbackName]; document.body.removeChild(scriptNode); }, false) // 5. 开始请求 document.body.appendChild(scriptNode) }) }