提交 7c0d0c99 作者: test

feat: 封装 sendRequest 代替 axios 在地图 renderjs 中使用网络请求

上级 5be070b1
......@@ -792,6 +792,25 @@ export function getImageSource(map: mapboxgl.Map, sourceName: string): mapboxgl.
export const EmptyImage =
'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAABlBMVEXMzMz/+v+u+uEzAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAACklEQVQImWNgAAAAAgAB9HFkpgAAAABJRU5ErkJggg=='
export function sendRequest(url: string, method = 'GET', data = {}) {
return new Promise((resolve, reject) => {
const xhr = new XMLHttpRequest()
xhr.open(method, url)
xhr.setRequestHeader('Content-Type', 'application/json')
xhr.onload = function () {
if (xhr.status >= 200 && xhr.status < 300) {
resolve(JSON.parse(xhr.responseText))
} else {
reject(new Error(xhr.statusText))
}
}
xhr.onerror = function () {
reject(new Error('Network error'))
}
xhr.send(JSON.stringify(data))
})
}
/**
* Mapbox 组件配置参数类型定义
*/
......
import axios from 'axios'
import { merge, omit } from 'lodash-es'
import { HandlerUtil, defaultStyle, loadMapControl, loadMapboxLibs } from '/@/components/Map/Mapbox'
import { HandlerUtil, defaultStyle, loadMapControl, loadMapboxLibs, sendRequest } from '/@/components/Map/Mapbox'
// renderjs 官方文档
// https://uniapp.dcloud.io/tutorial/renderjs.html
......@@ -8,7 +7,7 @@ import { HandlerUtil, defaultStyle, loadMapControl, loadMapboxLibs } from '/@/co
// https://juejin.cn/post/7049185827582115870
async function request(url, handler) {
const { data } = await axios.get(url)
const data = await sendRequest(url)
if (data.status !== 200) {
throw new Error(data.message)
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论