提交 8b362370 编写于 作者: X xiaoyucoding

perf: 优化 API 兼容性的处理

上级 8c2cdc58
......@@ -18,7 +18,18 @@ import * as extraApi from './extra'
import * as api from 'uni-platform/service/api/index.js'
import protocols from 'uni-platform/service/api/protocols'
import { protocols, todos, canIUses } from 'uni-platform/service/api/protocols'
todos.forEach(todoApi => {
protocols[todoApi] = false
})
canIUses.forEach(canIUseApi => {
const apiName = protocols[canIUseApi] && protocols[canIUseApi].name ? protocols[canIUseApi].name : canIUseApi
if (!__GLOBAL__.canIUse(apiName)) {
protocols[canIUseApi] = false
}
})
let uni = {}
......
......@@ -10,7 +10,7 @@ import {
isContextApi
} from '../helpers/promise'
import protocols from 'uni-platform/service/api/protocols'
import { protocols } from 'uni-platform/service/api/protocols'
const CALLBACKS = ['success', 'fail', 'cancel', 'complete']
......
export default {}
export const protocols = {}
export const todos = []
export const canIUses = []
// 不支持的 API 列表
const TODOS = [
const todos = [
'saveImageToPhotosAlbum',
'getRecorderManager',
'getBackgroundAudioManager',
......@@ -24,7 +24,6 @@ const TODOS = [
'hideTabBarRedDot',
'setBackgroundColor',
'setBackgroundTextStyle',
'startPullDownRefresh',
'createIntersectionObserver',
'authorize',
'openSetting',
......@@ -45,6 +44,11 @@ const TODOS = [
'offWindowResize'
]
// 存在兼容性的 API 列表
const canIUses = [
'startPullDownRefresh'
]
function _handleNetworkInfo (result) {
switch (result.networkType) {
case 'NOTREACHABLE':
......@@ -359,8 +363,8 @@ const protocols = { // 需要做转换的 API 列表
}
}
TODOS.forEach(todoApi => {
protocols[todoApi] = false
})
export default protocols
export {
protocols,
todos,
canIUses
}
// 不支持的 API 列表
const TODOS = [
const todos = [
'hideKeyboard',
'onGyroscopeChange',
'startGyroscope',
......@@ -32,6 +32,9 @@ const TODOS = [
'offWindowResize'
]
// 存在兼容性的 API 列表
const canIUses = []
function createTodoMethod (contextName, methodName) {
return function unsupported () {
console.error(`__PLATFORM_TITLE__ ${contextName}暂不支持${methodName}`)
......@@ -93,8 +96,8 @@ const protocols = {
}
}
TODOS.forEach(todoApi => {
protocols[todoApi] = false
})
export default protocols
export {
protocols,
todos,
canIUses
}
// 不支持的 API 列表
const TODOS = [
const todos = [
'hideKeyboard',
'onSocketOpen',
'onSocketError',
......@@ -81,6 +81,9 @@ const TODOS = [
'offWindowResize'
]
// 存在兼容性的 API 列表
const canIUses = []
// 需要做转换的 API 列表
const protocols = {
chooseImage: {
......@@ -154,8 +157,8 @@ const protocols = {
}
}
TODOS.forEach(todoApi => {
protocols[todoApi] = false
})
export default protocols
export {
protocols,
todos,
canIUses
}
export default {}
export const protocols = {}
export const todos = []
export const canIUses = []
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册