47 lines
892 B
TypeScript
47 lines
892 B
TypeScript
/*
|
|
* @Author: early-autumn
|
|
* @Date: 2020-04-17 12:18:25
|
|
* @LastEditors: early-autumn
|
|
* @LastEditTime: 2020-04-23 10:53:50
|
|
*/
|
|
import { Adapter, Platform } from './types';
|
|
|
|
// uniapp
|
|
declare let uni: Platform;
|
|
// 微信小程序
|
|
declare let wx: Platform;
|
|
// 支付宝小程序
|
|
declare let my: Platform;
|
|
// 百度小程序
|
|
declare let swan: Platform;
|
|
// 字节跳动小程序
|
|
declare let tt: Platform;
|
|
// QQ 小程序
|
|
declare let qq: Platform;
|
|
|
|
/**
|
|
* 自适应当前平台
|
|
*/
|
|
function adaptive(): Adapter | undefined {
|
|
const stack = [
|
|
() => uni.request,
|
|
() => wx.request,
|
|
() => my.request,
|
|
() => swan.request,
|
|
() => tt.request,
|
|
() => qq.request,
|
|
];
|
|
|
|
let adapter: Adapter | undefined;
|
|
|
|
while (stack.length !== 0 && adapter === undefined) {
|
|
try {
|
|
adapter = stack.shift()?.();
|
|
} catch (err) {}
|
|
}
|
|
|
|
return adapter;
|
|
}
|
|
|
|
export default adaptive;
|