@mpxjs/api-proxy 2.9.11-test.0 → 2.9.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/src/common/js/ToPromise.js +25 -0
- package/src/common/js/index.js +1 -0
- package/src/common/js/utils.js +1 -32
- package/src/index.js +75 -4
- package/src/index.web.js +24 -0
- package/src/mini/platform/wxToAli.js +667 -0
- package/src/mini/platform/wxToQq.js +20 -0
- package/src/mini/platform/wxToTt.js +9 -0
- package/src/{common/js → mini}/promisify.js +3 -4
- package/src/mini/transform.js +71 -0
- package/src/{platform → web}/api/action-sheet/ActionSheet.js +6 -6
- package/src/web/api/index.js +68 -0
- package/src/{platform → web}/api/modal/Modal.js +7 -2
- package/src/{platform/api/pull-down/index.web.js → web/api/pull-down/index.js} +22 -14
- package/src/{platform/api/request/index.web.js → web/api/request/index.js} +5 -2
- package/src/{platform/api/route/index.web.js → web/api/route/index.js} +80 -59
- package/src/{platform/api/set-navigation-bar/index.web.js → web/api/set-navigation-bar/index.js} +1 -0
- package/src/{platform → web}/api/socket/SocketTask.js +1 -1
- package/src/{platform/api/storage/index.web.js → web/api/storage/index.js} +10 -0
- package/src/{platform/api/system/index.web.js → web/api/system/index.js} +1 -0
- package/src/{platform/api/tab-bar/index.web.js → web/api/tab-bar/index.js} +8 -0
- package/src/{platform → web}/api/toast/Toast.js +3 -1
- package/src/install.js +0 -62
- package/src/platform/api/action-sheet/index.ali.js +0 -28
- package/src/platform/api/action-sheet/index.js +0 -9
- package/src/platform/api/add-phone-contact/index.ali.js +0 -13
- package/src/platform/api/add-phone-contact/index.js +0 -9
- package/src/platform/api/animation/index.js +0 -9
- package/src/platform/api/app/index.js +0 -24
- package/src/platform/api/audio/index.js +0 -9
- package/src/platform/api/base/index.js +0 -12
- package/src/platform/api/ble-connection/index.ali.js +0 -17
- package/src/platform/api/ble-connection/index.js +0 -15
- package/src/platform/api/canvas/index.ali.js +0 -16
- package/src/platform/api/canvas/index.js +0 -15
- package/src/platform/api/check-session/index.js +0 -9
- package/src/platform/api/clipboard-data/index.ali.js +0 -30
- package/src/platform/api/clipboard-data/index.js +0 -12
- package/src/platform/api/create-intersection-observer/index.ali.js +0 -7
- package/src/platform/api/create-intersection-observer/index.js +0 -9
- package/src/platform/api/create-selector-query/index.ali.js +0 -35
- package/src/platform/api/create-selector-query/index.js +0 -9
- package/src/platform/api/device/network/index.js +0 -15
- package/src/platform/api/file/index.ali.js +0 -35
- package/src/platform/api/file/index.js +0 -12
- package/src/platform/api/get-user-info/index.ali.js +0 -18
- package/src/platform/api/get-user-info/index.js +0 -9
- package/src/platform/api/image/index.ali.js +0 -36
- package/src/platform/api/image/index.js +0 -12
- package/src/platform/api/login/index.ali.js +0 -15
- package/src/platform/api/login/index.js +0 -9
- package/src/platform/api/make-phone-call/index.ali.js +0 -12
- package/src/platform/api/make-phone-call/index.js +0 -9
- package/src/platform/api/modal/index.ali.js +0 -32
- package/src/platform/api/modal/index.js +0 -9
- package/src/platform/api/next-tick/index.ali.js +0 -7
- package/src/platform/api/next-tick/index.js +0 -9
- package/src/platform/api/next-tick/index.tt.js +0 -7
- package/src/platform/api/page-scroll-to/index.js +0 -9
- package/src/platform/api/pull-down/index.js +0 -12
- package/src/platform/api/request/index.ali.js +0 -26
- package/src/platform/api/request/index.js +0 -9
- package/src/platform/api/request-payment/index.ali.js +0 -45
- package/src/platform/api/request-payment/index.js +0 -9
- package/src/platform/api/route/index.js +0 -21
- package/src/platform/api/scan-code/index.ali.js +0 -17
- package/src/platform/api/scan-code/index.js +0 -9
- package/src/platform/api/screen-brightness/index.ali.js +0 -26
- package/src/platform/api/screen-brightness/index.js +0 -12
- package/src/platform/api/set-navigation-bar/index.ali.js +0 -25
- package/src/platform/api/set-navigation-bar/index.js +0 -12
- package/src/platform/api/socket/index.js +0 -9
- package/src/platform/api/storage/index.ali.js +0 -59
- package/src/platform/api/storage/index.js +0 -36
- package/src/platform/api/system/index.ali.js +0 -38
- package/src/platform/api/system/index.js +0 -12
- package/src/platform/api/tab-bar/index.js +0 -18
- package/src/platform/api/toast/index.ali.js +0 -39
- package/src/platform/api/toast/index.js +0 -18
- package/src/platform/api/video/index.js +0 -9
- package/src/platform/api/window/index.js +0 -12
- package/src/platform/index.js +0 -106
- /package/src/{platform/api/action-sheet/index.web.js → web/api/action-sheet/index.js} +0 -0
- /package/src/{platform → web}/api/animation/animation.js +0 -0
- /package/src/{platform/api/animation/index.web.js → web/api/animation/index.js} +0 -0
- /package/src/{platform/api/app/index.web.js → web/api/app/index.js} +0 -0
- /package/src/{platform/api/audio/index.web.js → web/api/audio/index.js} +0 -0
- /package/src/{platform → web}/api/base/base64.js +0 -0
- /package/src/{platform/api/base/index.web.js → web/api/base/index.js} +0 -0
- /package/src/{platform → web}/api/create-intersection-observer/IntersectionObserver.js +0 -0
- /package/src/{platform/api/create-intersection-observer/index.web.js → web/api/create-intersection-observer/index.js} +0 -0
- /package/src/{platform → web}/api/create-selector-query/NodesRef.js +0 -0
- /package/src/{platform → web}/api/create-selector-query/SelectQuery.js +0 -0
- /package/src/{platform/api/create-selector-query/index.web.js → web/api/create-selector-query/index.js} +0 -0
- /package/src/{platform → web}/api/device/network/getNetworkType.js +0 -0
- /package/src/{platform/api/device/network/index.web.js → web/api/device/network/index.js} +0 -0
- /package/src/{platform → web}/api/device/network/onNetworkStatusChange.js +0 -0
- /package/src/{platform/api/event-channel/index.web.js → web/api/event-channel/index.js} +0 -0
- /package/src/{platform/api/modal/index.web.js → web/api/modal/index.js} +0 -0
- /package/src/{platform/api/next-tick/index.web.js → web/api/next-tick/index.js} +0 -0
- /package/src/{platform/api/page-scroll-to/index.web.js → web/api/page-scroll-to/index.js} +0 -0
- /package/src/{platform/api/image → web/api/preview-image}/Preview.js +0 -0
- /package/src/{platform/api/image/index.web.js → web/api/preview-image/index.js} +0 -0
- /package/src/{platform → web}/api/request/RequestTask.js +0 -0
- /package/src/{platform/api/socket/index.web.js → web/api/socket/index.js} +0 -0
- /package/src/{platform/api/toast/index.web.js → web/api/toast/index.js} +0 -0
- /package/src/{platform/api/video/index.web.js → web/api/video/index.js} +0 -0
- /package/src/{platform/api/window/index.web.js → web/api/window/index.js} +0 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { error, getEnvObj, genFromMap, makeMap } from '../common/js'
|
|
2
|
+
import getWxToAliApi from './platform/wxToAli'
|
|
3
|
+
import getWxToQqApi from './platform/wxToQq'
|
|
4
|
+
import getWxToTtApi from './platform/wxToTt'
|
|
5
|
+
|
|
6
|
+
const fromMap = genFromMap()
|
|
7
|
+
|
|
8
|
+
function joinName (from = '', to = '') {
|
|
9
|
+
return `${fromMap[from]}_${to}`
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function transformApi (options) {
|
|
13
|
+
const envObj = getEnvObj()
|
|
14
|
+
const from = options.from
|
|
15
|
+
const to = options.to
|
|
16
|
+
const fromTo = joinName(from, to)
|
|
17
|
+
const wxToAliApi = getWxToAliApi()
|
|
18
|
+
const wxToQqApi = getWxToQqApi()
|
|
19
|
+
const wxToTtApi = getWxToTtApi()
|
|
20
|
+
const platformMap = {
|
|
21
|
+
wx_ali: wxToAliApi,
|
|
22
|
+
wx_qq: wxToQqApi,
|
|
23
|
+
wx_tt: wxToTtApi
|
|
24
|
+
}
|
|
25
|
+
const needProxy = Object.create(null)
|
|
26
|
+
const excludeMap = makeMap(options.exclude)
|
|
27
|
+
const platformApi = platformMap[fromTo] || {}
|
|
28
|
+
Object.keys(envObj).concat(Object.keys(platformApi)).forEach((key) => {
|
|
29
|
+
if (!excludeMap[key]) {
|
|
30
|
+
needProxy[key] = envObj[key] || platformApi[key]
|
|
31
|
+
}
|
|
32
|
+
})
|
|
33
|
+
const result = Object.create(null)
|
|
34
|
+
Object.keys(needProxy).forEach(api => {
|
|
35
|
+
// 非函数不做转换
|
|
36
|
+
if (typeof needProxy[api] !== 'function') {
|
|
37
|
+
result[api] = needProxy[api]
|
|
38
|
+
return
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
result[api] = (...args) => {
|
|
42
|
+
let from = options.from
|
|
43
|
+
const to = options.to
|
|
44
|
+
if (args.length > 0) {
|
|
45
|
+
from = args.pop()
|
|
46
|
+
if (typeof from !== 'string' || !fromMap[from]) {
|
|
47
|
+
args.push(from)
|
|
48
|
+
from = options.from
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const fromTo = joinName(from, to)
|
|
53
|
+
if (options.custom[fromTo] && options.custom[fromTo][api]) {
|
|
54
|
+
return options.custom[fromTo][api].apply(this, args)
|
|
55
|
+
} else if (
|
|
56
|
+
platformMap[fromTo] &&
|
|
57
|
+
platformMap[fromTo][api]
|
|
58
|
+
) {
|
|
59
|
+
return platformMap[fromTo][api].apply(this, args)
|
|
60
|
+
} else if (envObj[api]) {
|
|
61
|
+
return envObj[api].apply(this, args)
|
|
62
|
+
} else {
|
|
63
|
+
error(`当前环境不存在 ${api} 方法`)
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
})
|
|
67
|
+
|
|
68
|
+
return result
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export default transformApi
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { webHandleSuccess, webHandleFail, createDom, bindTap, getRootElement } from '../../../common/js'
|
|
1
|
+
import { ToPromise, webHandleSuccess, webHandleFail, createDom, bindTap, getRootElement } from '../../../common/js'
|
|
2
2
|
import '../../../common/stylus/ActionSheet.styl'
|
|
3
3
|
|
|
4
|
-
export default class ActionSheet {
|
|
4
|
+
export default class ActionSheet extends ToPromise {
|
|
5
5
|
constructor () {
|
|
6
|
-
|
|
6
|
+
super()
|
|
7
7
|
this.defaultOpts = {
|
|
8
8
|
itemList: [],
|
|
9
9
|
itemColor: '#000000',
|
|
@@ -45,7 +45,7 @@ export default class ActionSheet {
|
|
|
45
45
|
tapIndex: index
|
|
46
46
|
}
|
|
47
47
|
webHandleSuccess(res, opts.success, opts.complete)
|
|
48
|
-
|
|
48
|
+
this.toPromiseResolve(res)
|
|
49
49
|
}))
|
|
50
50
|
list.appendChild(sheet)
|
|
51
51
|
})
|
|
@@ -58,7 +58,7 @@ export default class ActionSheet {
|
|
|
58
58
|
this.hide()
|
|
59
59
|
const err = { errMsg: 'showActionSheet:fail cancel' }
|
|
60
60
|
webHandleFail(err, opts.fail, opts.complete)
|
|
61
|
-
|
|
61
|
+
!opts.fail && this.toPromiseReject(err)
|
|
62
62
|
}))
|
|
63
63
|
// make transition next frame
|
|
64
64
|
this.actionSheet.classList.add('show')
|
|
@@ -67,7 +67,7 @@ export default class ActionSheet {
|
|
|
67
67
|
this.box.classList.add('show')
|
|
68
68
|
}, 17)
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
return this.toPromiseInitPromise()
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
hide () {
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
// base64ToArrayBuffer, arrayBufferToBase64
|
|
2
|
+
export * from './base'
|
|
3
|
+
|
|
4
|
+
// createSelectorQuery
|
|
5
|
+
export * from './create-selector-query'
|
|
6
|
+
|
|
7
|
+
// showActionSheet
|
|
8
|
+
export * from './action-sheet'
|
|
9
|
+
|
|
10
|
+
// showToast, hideToast, showLoading, hideLoading
|
|
11
|
+
export * from './toast'
|
|
12
|
+
|
|
13
|
+
// previewImage
|
|
14
|
+
export * from './preview-image'
|
|
15
|
+
|
|
16
|
+
// showModal
|
|
17
|
+
export * from './modal'
|
|
18
|
+
|
|
19
|
+
// setStorage, setStorageSync, getStorage, getStorageSync
|
|
20
|
+
// getStorageInfo, getStorageInfoSync, removeStorage, removeStorageSync
|
|
21
|
+
// clearStorage, clearStorageSync
|
|
22
|
+
export * from './storage'
|
|
23
|
+
|
|
24
|
+
// getSystemInfo, getSystemInfoSync
|
|
25
|
+
export * from './system'
|
|
26
|
+
|
|
27
|
+
// getNetworkType, onNetworkStatusChange, offNetworkStatusChange
|
|
28
|
+
export * from './device/network'
|
|
29
|
+
|
|
30
|
+
// request
|
|
31
|
+
export * from './request'
|
|
32
|
+
|
|
33
|
+
// redirectTo, navigateTo, navigateBack, reLaunch, switchTab
|
|
34
|
+
export * from './route'
|
|
35
|
+
|
|
36
|
+
// connectSocket, sendSocketMessage, closeSocket
|
|
37
|
+
// onSocketOpen, onSocketError, onSocketMessage, onSocketClose
|
|
38
|
+
export * from './socket'
|
|
39
|
+
|
|
40
|
+
// setNavigationBarTitle setNavigationBarColor
|
|
41
|
+
export * from './set-navigation-bar'
|
|
42
|
+
|
|
43
|
+
// nextTick
|
|
44
|
+
export * from './next-tick'
|
|
45
|
+
|
|
46
|
+
// onWindowResize offWindowResize
|
|
47
|
+
export * from './window'
|
|
48
|
+
|
|
49
|
+
// stopPullDownRefresh startPullDownRefresh
|
|
50
|
+
export * from './pull-down'
|
|
51
|
+
|
|
52
|
+
// createInnerAudioContext
|
|
53
|
+
export * from './audio'
|
|
54
|
+
|
|
55
|
+
// createVideoContext
|
|
56
|
+
export * from './video'
|
|
57
|
+
|
|
58
|
+
export * from './page-scroll-to'
|
|
59
|
+
|
|
60
|
+
export * from './tab-bar'
|
|
61
|
+
|
|
62
|
+
export * from './app'
|
|
63
|
+
|
|
64
|
+
// createAnimation
|
|
65
|
+
export * from './animation'
|
|
66
|
+
|
|
67
|
+
// createIntersectionObserver
|
|
68
|
+
export * from './create-intersection-observer'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createDom, getRootElement, webHandleSuccess } from '../../../common/js'
|
|
1
|
+
import { ToPromise, createDom, getRootElement, webHandleSuccess } from '../../../common/js'
|
|
2
2
|
import '../../../common/stylus/Modal.styl'
|
|
3
3
|
// import { forEach } from '@didi/mpx-fetch/src/util'
|
|
4
4
|
// 汉字为两个字符,字母/数字为一个字符
|
|
@@ -13,8 +13,9 @@ const _getLength = (t) => {
|
|
|
13
13
|
}
|
|
14
14
|
return len
|
|
15
15
|
}
|
|
16
|
-
export default class Modal {
|
|
16
|
+
export default class Modal extends ToPromise {
|
|
17
17
|
constructor () {
|
|
18
|
+
super()
|
|
18
19
|
this.defaultOpts = {
|
|
19
20
|
title: '',
|
|
20
21
|
content: '',
|
|
@@ -81,6 +82,7 @@ export default class Modal {
|
|
|
81
82
|
confirm: false
|
|
82
83
|
}
|
|
83
84
|
webHandleSuccess(result, opts.success, opts.complete)
|
|
85
|
+
this.toPromiseResolve(result)
|
|
84
86
|
}
|
|
85
87
|
this.confirmBtn.onclick = () => {
|
|
86
88
|
this.hide()
|
|
@@ -90,9 +92,12 @@ export default class Modal {
|
|
|
90
92
|
confirm: true
|
|
91
93
|
}
|
|
92
94
|
webHandleSuccess(result, opts.success, opts.complete)
|
|
95
|
+
this.toPromiseResolve(result)
|
|
93
96
|
}
|
|
94
97
|
|
|
95
98
|
this.modal.classList.add('show')
|
|
99
|
+
|
|
100
|
+
return this.toPromiseInitPromise()
|
|
96
101
|
}
|
|
97
102
|
|
|
98
103
|
hide () {
|
|
@@ -20,13 +20,17 @@ function stopPullDownRefresh (options = {}) {
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
23
|
+
return new Promise((resolve, reject) => {
|
|
24
|
+
if (err) {
|
|
25
|
+
const res = { errMsg: `stopPullDownRefresh:fail ${err}` }
|
|
26
|
+
webHandleFail(res, options.fail, options.complete)
|
|
27
|
+
reject(res)
|
|
28
|
+
} else {
|
|
29
|
+
const res = { errMsg: 'stopPullDownRefresh:ok' }
|
|
30
|
+
webHandleSuccess(res, options.success, options.complete)
|
|
31
|
+
resolve(res)
|
|
32
|
+
}
|
|
33
|
+
})
|
|
30
34
|
}
|
|
31
35
|
}
|
|
32
36
|
|
|
@@ -50,13 +54,17 @@ function startPullDownRefresh (options = {}) {
|
|
|
50
54
|
}
|
|
51
55
|
}
|
|
52
56
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
57
|
+
return new Promise((resolve, reject) => {
|
|
58
|
+
if (err) {
|
|
59
|
+
const res = { errMsg: `startPullDownRefresh:fail ${err}` }
|
|
60
|
+
webHandleFail(res, options.fail, options.complete)
|
|
61
|
+
reject(res)
|
|
62
|
+
} else {
|
|
63
|
+
const res = { errMsg: 'startPullDownRefresh:ok' }
|
|
64
|
+
webHandleSuccess(res, options.success, options.complete)
|
|
65
|
+
resolve(res)
|
|
66
|
+
}
|
|
67
|
+
})
|
|
60
68
|
}
|
|
61
69
|
}
|
|
62
70
|
|
|
@@ -51,11 +51,13 @@ function request (options = { url: '' }) {
|
|
|
51
51
|
clarifyTimeoutError: false
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
+
|
|
54
55
|
if (method === 'GET') {
|
|
55
56
|
rOptions.params = rOptions.data || {}
|
|
56
57
|
delete rOptions.data
|
|
57
58
|
}
|
|
58
|
-
|
|
59
|
+
|
|
60
|
+
const promise = axios(rOptions).then(res => {
|
|
59
61
|
let data = res.data
|
|
60
62
|
if (dataType === 'json' && typeof data === 'string') {
|
|
61
63
|
try {
|
|
@@ -79,7 +81,8 @@ function request (options = { url: '' }) {
|
|
|
79
81
|
}
|
|
80
82
|
})
|
|
81
83
|
|
|
82
|
-
|
|
84
|
+
promise.__returned = requestTask
|
|
85
|
+
return promise
|
|
83
86
|
}
|
|
84
87
|
|
|
85
88
|
export {
|
|
@@ -15,24 +15,30 @@ function redirectTo (options = {}) {
|
|
|
15
15
|
webHandleFail(res, options.fail, options.complete)
|
|
16
16
|
return Promise.reject(res)
|
|
17
17
|
}
|
|
18
|
-
router.__mpxAction = {
|
|
18
|
+
router.__mpxAction = {
|
|
19
|
+
type: 'redirect'
|
|
20
|
+
}
|
|
19
21
|
if (routeCount === 0 && router.currentRoute.query.routeCount) routeCount = router.currentRoute.query.routeCount
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
return new Promise((resolve, reject) => {
|
|
23
|
+
router.replace(
|
|
24
|
+
{
|
|
25
|
+
path: options.url,
|
|
26
|
+
query: {
|
|
27
|
+
routeCount: ++routeCount
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
() => {
|
|
31
|
+
const res = { errMsg: 'redirectTo:ok' }
|
|
32
|
+
webHandleSuccess(res, options.success, options.complete)
|
|
33
|
+
resolve(res)
|
|
34
|
+
},
|
|
35
|
+
err => {
|
|
36
|
+
const res = { errMsg: `redirectTo:fail ${err}` }
|
|
37
|
+
webHandleFail(res, options.fail, options.complete)
|
|
38
|
+
reject(res)
|
|
25
39
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
const res = { errMsg: 'redirectTo:ok' }
|
|
29
|
-
webHandleSuccess(res, options.success, options.complete)
|
|
30
|
-
},
|
|
31
|
-
err => {
|
|
32
|
-
const res = { errMsg: `redirectTo:fail ${err}` }
|
|
33
|
-
webHandleFail(res, options.fail, options.complete)
|
|
34
|
-
}
|
|
35
|
-
)
|
|
40
|
+
)
|
|
41
|
+
})
|
|
36
42
|
}
|
|
37
43
|
}
|
|
38
44
|
|
|
@@ -57,22 +63,26 @@ function navigateTo (options = {}) {
|
|
|
57
63
|
eventChannel._addListeners(options.events)
|
|
58
64
|
}
|
|
59
65
|
if (routeCount === 0 && router.currentRoute.query.routeCount) routeCount = router.currentRoute.query.routeCount
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
66
|
+
return new Promise((resolve, reject) => {
|
|
67
|
+
router.push(
|
|
68
|
+
{
|
|
69
|
+
path: options.url,
|
|
70
|
+
query: {
|
|
71
|
+
routeCount: ++routeCount
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
() => {
|
|
75
|
+
const res = { errMsg: 'navigateTo:ok', eventChannel }
|
|
76
|
+
webHandleSuccess(res, options.success, options.complete)
|
|
77
|
+
resolve(res)
|
|
78
|
+
},
|
|
79
|
+
err => {
|
|
80
|
+
const res = { errMsg: err }
|
|
81
|
+
webHandleFail(res, options.fail, options.complete)
|
|
82
|
+
reject(res)
|
|
65
83
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
const res = { errMsg: 'navigateTo:ok', eventChannel }
|
|
69
|
-
webHandleSuccess(res, options.success, options.complete)
|
|
70
|
-
},
|
|
71
|
-
err => {
|
|
72
|
-
const res = { errMsg: err }
|
|
73
|
-
webHandleFail(res, options.fail, options.complete)
|
|
74
|
-
}
|
|
75
|
-
)
|
|
84
|
+
)
|
|
85
|
+
})
|
|
76
86
|
}
|
|
77
87
|
}
|
|
78
88
|
|
|
@@ -95,6 +105,7 @@ function navigateBack (options = {}) {
|
|
|
95
105
|
router.go(-delta)
|
|
96
106
|
const res = { errMsg: 'navigateBack:ok' }
|
|
97
107
|
webHandleSuccess(res, options.success, options.complete)
|
|
108
|
+
return Promise.resolve(res)
|
|
98
109
|
}
|
|
99
110
|
}
|
|
100
111
|
|
|
@@ -118,25 +129,30 @@ function reLaunch (options = {}) {
|
|
|
118
129
|
router.go(-delta)
|
|
119
130
|
} else {
|
|
120
131
|
router.__mpxAction.replaced = true
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
132
|
+
return new Promise((resolve, reject) => {
|
|
133
|
+
router.replace(
|
|
134
|
+
{
|
|
135
|
+
path: options.url,
|
|
136
|
+
query: {
|
|
137
|
+
routeCount
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
() => {
|
|
141
|
+
const res = { errMsg: 'reLaunch:ok' }
|
|
142
|
+
webHandleSuccess(res, options.success, options.complete)
|
|
143
|
+
resolve(res)
|
|
144
|
+
},
|
|
145
|
+
err => {
|
|
146
|
+
const res = { errMsg: err }
|
|
147
|
+
webHandleFail(res, options.fail, options.complete)
|
|
148
|
+
!options.fail && reject(res)
|
|
126
149
|
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
const res = { errMsg: 'reLaunch:ok' }
|
|
130
|
-
webHandleSuccess(res, options.success, options.complete)
|
|
131
|
-
},
|
|
132
|
-
err => {
|
|
133
|
-
const res = { errMsg: err }
|
|
134
|
-
webHandleFail(res, options.fail, options.complete)
|
|
135
|
-
}
|
|
136
|
-
)
|
|
150
|
+
)
|
|
151
|
+
})
|
|
137
152
|
}
|
|
138
153
|
const res = { errMsg: 'reLaunch:ok' }
|
|
139
154
|
webHandleSuccess(res, options.success, options.complete)
|
|
155
|
+
return Promise.resolve(res)
|
|
140
156
|
}
|
|
141
157
|
}
|
|
142
158
|
|
|
@@ -165,23 +181,28 @@ function switchTab (options = {}) {
|
|
|
165
181
|
router.go(-delta)
|
|
166
182
|
} else {
|
|
167
183
|
router.__mpxAction.replaced = true
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
184
|
+
return new Promise((resolve, reject) => {
|
|
185
|
+
router.replace(
|
|
186
|
+
{
|
|
187
|
+
path: options.url
|
|
188
|
+
},
|
|
189
|
+
() => {
|
|
190
|
+
const res = { errMsg: 'switchTab:ok' }
|
|
191
|
+
webHandleSuccess(res, options.success, options.complete)
|
|
192
|
+
resolve(res)
|
|
193
|
+
},
|
|
194
|
+
err => {
|
|
195
|
+
const res = { errMsg: err }
|
|
196
|
+
webHandleFail(res, options.fail, options.complete)
|
|
197
|
+
!options.fail && reject(res)
|
|
198
|
+
}
|
|
199
|
+
)
|
|
200
|
+
})
|
|
181
201
|
}
|
|
182
202
|
}
|
|
183
203
|
const res = { errMsg: 'switchTab:ok' }
|
|
184
204
|
webHandleSuccess(res, options.success, options.complete)
|
|
205
|
+
return Promise.resolve(res)
|
|
185
206
|
}
|
|
186
207
|
}
|
|
187
208
|
|
|
@@ -12,9 +12,11 @@ function setStorage (options = {}) {
|
|
|
12
12
|
|
|
13
13
|
const res = { errMsg: 'setStorage:ok' }
|
|
14
14
|
webHandleSuccess(res, success, complete)
|
|
15
|
+
return Promise.resolve(res)
|
|
15
16
|
} catch (err) {
|
|
16
17
|
const res = { errMsg: `setStorage:fail ${err}` }
|
|
17
18
|
webHandleFail(res, fail, complete)
|
|
19
|
+
return Promise.reject(res)
|
|
18
20
|
}
|
|
19
21
|
}
|
|
20
22
|
|
|
@@ -44,9 +46,11 @@ function getStorage (options = {}) {
|
|
|
44
46
|
if (result) {
|
|
45
47
|
const res = { errMsg: 'getStorage:ok', data: data }
|
|
46
48
|
webHandleSuccess(res, success, complete)
|
|
49
|
+
return Promise.resolve(res)
|
|
47
50
|
} else {
|
|
48
51
|
const res = { errMsg: 'getStorage:fail', data: null }
|
|
49
52
|
webHandleFail(res, fail, complete)
|
|
53
|
+
return Promise.reject(res)
|
|
50
54
|
}
|
|
51
55
|
}
|
|
52
56
|
|
|
@@ -87,9 +91,11 @@ function getStorageInfo (options = {}) {
|
|
|
87
91
|
|
|
88
92
|
const res = Object.assign({}, { errMsg: 'getStorageInfo:ok' }, info)
|
|
89
93
|
webHandleSuccess(res, success, complete)
|
|
94
|
+
return Promise.resolve(res)
|
|
90
95
|
} catch (err) {
|
|
91
96
|
const res = { errMsg: `getStorageInfo:fail ${err}` }
|
|
92
97
|
webHandleFail(res, fail, complete)
|
|
98
|
+
return Promise.reject(res)
|
|
93
99
|
}
|
|
94
100
|
}
|
|
95
101
|
|
|
@@ -117,9 +123,11 @@ function removeStorage (options = { key: '' }) {
|
|
|
117
123
|
|
|
118
124
|
const res = { errMsg: 'removeStorage:ok' }
|
|
119
125
|
webHandleSuccess(res, success, complete)
|
|
126
|
+
return Promise.resolve(res)
|
|
120
127
|
} catch (err) {
|
|
121
128
|
const res = { errMsg: `removeStorage:fail ${err}` }
|
|
122
129
|
webHandleFail(res, fail, complete)
|
|
130
|
+
return Promise.reject(res)
|
|
123
131
|
}
|
|
124
132
|
}
|
|
125
133
|
|
|
@@ -143,9 +151,11 @@ function clearStorage (options = {}) {
|
|
|
143
151
|
|
|
144
152
|
const res = { errMsg: 'clearStorage:ok' }
|
|
145
153
|
webHandleSuccess(res, success, complete)
|
|
154
|
+
return Promise.resolve(res)
|
|
146
155
|
} catch (err) {
|
|
147
156
|
const res = { errMsg: `clearStorage:fail ${err}` }
|
|
148
157
|
webHandleFail(res, fail, complete)
|
|
158
|
+
return Promise.reject(res)
|
|
149
159
|
}
|
|
150
160
|
}
|
|
151
161
|
|
|
@@ -21,8 +21,10 @@ function setTabBarStyle (options = {}) {
|
|
|
21
21
|
|
|
22
22
|
if (resolved) {
|
|
23
23
|
webHandleSuccess(resolved, options.success, options.complete)
|
|
24
|
+
return Promise.resolve(resolved)
|
|
24
25
|
}
|
|
25
26
|
webHandleFail(rejected, options.fail, options.complete)
|
|
27
|
+
return Promise.reject(rejected)
|
|
26
28
|
}
|
|
27
29
|
|
|
28
30
|
function setTabBarItem (options = {}) {
|
|
@@ -50,8 +52,10 @@ function setTabBarItem (options = {}) {
|
|
|
50
52
|
|
|
51
53
|
if (resolved) {
|
|
52
54
|
webHandleSuccess(resolved, options.success, options.complete)
|
|
55
|
+
return Promise.resolve(resolved)
|
|
53
56
|
}
|
|
54
57
|
webHandleFail(rejected, options.fail, options.complete)
|
|
58
|
+
return Promise.reject(rejected)
|
|
55
59
|
}
|
|
56
60
|
|
|
57
61
|
function showTabBar (options = {}) {
|
|
@@ -66,8 +70,10 @@ function showTabBar (options = {}) {
|
|
|
66
70
|
|
|
67
71
|
if (resolved) {
|
|
68
72
|
webHandleSuccess(resolved, options.success, options.complete)
|
|
73
|
+
return Promise.resolve(resolved)
|
|
69
74
|
}
|
|
70
75
|
webHandleFail(rejected, options.fail, options.complete)
|
|
76
|
+
return Promise.reject(rejected)
|
|
71
77
|
}
|
|
72
78
|
|
|
73
79
|
function hideTabBar (options = {}) {
|
|
@@ -82,8 +88,10 @@ function hideTabBar (options = {}) {
|
|
|
82
88
|
|
|
83
89
|
if (resolved) {
|
|
84
90
|
webHandleSuccess(resolved, options.success, options.complete)
|
|
91
|
+
return Promise.resolve(resolved)
|
|
85
92
|
}
|
|
86
93
|
webHandleFail(rejected, options.fail, options.complete)
|
|
94
|
+
return Promise.reject(rejected)
|
|
87
95
|
}
|
|
88
96
|
|
|
89
97
|
export {
|
|
@@ -76,6 +76,7 @@ export default class Toast {
|
|
|
76
76
|
|
|
77
77
|
const errMsg = type === 'loading' ? 'showLoading:ok' : 'showToast:ok'
|
|
78
78
|
webHandleSuccess({ errMsg }, opts.success, opts.complete)
|
|
79
|
+
return Promise.resolve({ errMsg })
|
|
79
80
|
}
|
|
80
81
|
|
|
81
82
|
hide (options = {}, type) {
|
|
@@ -89,10 +90,11 @@ export default class Toast {
|
|
|
89
90
|
clearTimeout(this.hideTimer)
|
|
90
91
|
this.hideTimer = null
|
|
91
92
|
}
|
|
93
|
+
|
|
92
94
|
this.hideTimer = setTimeout(() => {
|
|
93
95
|
this.toast.classList.remove('show')
|
|
94
96
|
this.toast.remove() // hide 则卸载
|
|
95
97
|
}, duration)
|
|
96
|
-
|
|
98
|
+
return Promise.resolve({ errMsg })
|
|
97
99
|
}
|
|
98
100
|
}
|
package/src/install.js
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import * as platformApi from './platform'
|
|
2
|
-
import { getEnvObj, getEnvStr } from './common/js'
|
|
3
|
-
import promisify from './common/js/promisify'
|
|
4
|
-
|
|
5
|
-
export default function install (target, options = {}) {
|
|
6
|
-
const {
|
|
7
|
-
usePromise = false, // 是否转为 promise 格式
|
|
8
|
-
whiteList = [], // 强制变成 promise 格式的 api
|
|
9
|
-
blackList = [], // 强制不变成 promise 格式的 api
|
|
10
|
-
custom = {}, // 自定义转化规则
|
|
11
|
-
fallbackMap = {} // 对于不支持的API,允许配置一个映射表,接管不存在的API
|
|
12
|
-
} = options
|
|
13
|
-
|
|
14
|
-
let transedApi = {}
|
|
15
|
-
const envStr = getEnvStr()
|
|
16
|
-
|
|
17
|
-
if (__mpx_env__ === 'web') {
|
|
18
|
-
transedApi = platformApi
|
|
19
|
-
} else {
|
|
20
|
-
const envObj = getEnvObj()
|
|
21
|
-
Object.keys(envObj).concat(Object.keys(platformApi)).forEach((key) => {
|
|
22
|
-
transedApi[key] = platformApi[key] || envObj[key]
|
|
23
|
-
})
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
const promisedApi = usePromise ? promisify(transedApi, whiteList, blackList) : {}
|
|
27
|
-
const allApi = Object.assign({}, transedApi, promisedApi)
|
|
28
|
-
|
|
29
|
-
Object.keys(allApi).forEach(api => {
|
|
30
|
-
try {
|
|
31
|
-
if (typeof allApi[api] !== 'function') {
|
|
32
|
-
target[api] = allApi[api]
|
|
33
|
-
return
|
|
34
|
-
}
|
|
35
|
-
target[api] = (...args) => {
|
|
36
|
-
return allApi[api].apply(target, args)
|
|
37
|
-
}
|
|
38
|
-
} catch (e) {
|
|
39
|
-
} // 支付宝不支持重写 call 方法
|
|
40
|
-
})
|
|
41
|
-
if (custom[envStr]) {
|
|
42
|
-
Object.keys(custom[envStr])
|
|
43
|
-
.forEach(k => {
|
|
44
|
-
target[k] = (...args) => {
|
|
45
|
-
return custom[envStr][k].apply(target, args)
|
|
46
|
-
}
|
|
47
|
-
})
|
|
48
|
-
}
|
|
49
|
-
// Fallback Map option
|
|
50
|
-
Object.keys(fallbackMap)
|
|
51
|
-
.forEach(k => {
|
|
52
|
-
if (!target[k]) {
|
|
53
|
-
target[k] = fallbackMap[k]
|
|
54
|
-
}
|
|
55
|
-
})
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
export function getProxy (options = {}) {
|
|
59
|
-
const apiProxy = {}
|
|
60
|
-
install(apiProxy, options)
|
|
61
|
-
return apiProxy
|
|
62
|
-
}
|