@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.
Files changed (109) hide show
  1. package/package.json +2 -2
  2. package/src/common/js/ToPromise.js +25 -0
  3. package/src/common/js/index.js +1 -0
  4. package/src/common/js/utils.js +1 -32
  5. package/src/index.js +75 -4
  6. package/src/index.web.js +24 -0
  7. package/src/mini/platform/wxToAli.js +667 -0
  8. package/src/mini/platform/wxToQq.js +20 -0
  9. package/src/mini/platform/wxToTt.js +9 -0
  10. package/src/{common/js → mini}/promisify.js +3 -4
  11. package/src/mini/transform.js +71 -0
  12. package/src/{platform → web}/api/action-sheet/ActionSheet.js +6 -6
  13. package/src/web/api/index.js +68 -0
  14. package/src/{platform → web}/api/modal/Modal.js +7 -2
  15. package/src/{platform/api/pull-down/index.web.js → web/api/pull-down/index.js} +22 -14
  16. package/src/{platform/api/request/index.web.js → web/api/request/index.js} +5 -2
  17. package/src/{platform/api/route/index.web.js → web/api/route/index.js} +80 -59
  18. package/src/{platform/api/set-navigation-bar/index.web.js → web/api/set-navigation-bar/index.js} +1 -0
  19. package/src/{platform → web}/api/socket/SocketTask.js +1 -1
  20. package/src/{platform/api/storage/index.web.js → web/api/storage/index.js} +10 -0
  21. package/src/{platform/api/system/index.web.js → web/api/system/index.js} +1 -0
  22. package/src/{platform/api/tab-bar/index.web.js → web/api/tab-bar/index.js} +8 -0
  23. package/src/{platform → web}/api/toast/Toast.js +3 -1
  24. package/src/install.js +0 -62
  25. package/src/platform/api/action-sheet/index.ali.js +0 -28
  26. package/src/platform/api/action-sheet/index.js +0 -9
  27. package/src/platform/api/add-phone-contact/index.ali.js +0 -13
  28. package/src/platform/api/add-phone-contact/index.js +0 -9
  29. package/src/platform/api/animation/index.js +0 -9
  30. package/src/platform/api/app/index.js +0 -24
  31. package/src/platform/api/audio/index.js +0 -9
  32. package/src/platform/api/base/index.js +0 -12
  33. package/src/platform/api/ble-connection/index.ali.js +0 -17
  34. package/src/platform/api/ble-connection/index.js +0 -15
  35. package/src/platform/api/canvas/index.ali.js +0 -16
  36. package/src/platform/api/canvas/index.js +0 -15
  37. package/src/platform/api/check-session/index.js +0 -9
  38. package/src/platform/api/clipboard-data/index.ali.js +0 -30
  39. package/src/platform/api/clipboard-data/index.js +0 -12
  40. package/src/platform/api/create-intersection-observer/index.ali.js +0 -7
  41. package/src/platform/api/create-intersection-observer/index.js +0 -9
  42. package/src/platform/api/create-selector-query/index.ali.js +0 -35
  43. package/src/platform/api/create-selector-query/index.js +0 -9
  44. package/src/platform/api/device/network/index.js +0 -15
  45. package/src/platform/api/file/index.ali.js +0 -35
  46. package/src/platform/api/file/index.js +0 -12
  47. package/src/platform/api/get-user-info/index.ali.js +0 -18
  48. package/src/platform/api/get-user-info/index.js +0 -9
  49. package/src/platform/api/image/index.ali.js +0 -36
  50. package/src/platform/api/image/index.js +0 -12
  51. package/src/platform/api/login/index.ali.js +0 -15
  52. package/src/platform/api/login/index.js +0 -9
  53. package/src/platform/api/make-phone-call/index.ali.js +0 -12
  54. package/src/platform/api/make-phone-call/index.js +0 -9
  55. package/src/platform/api/modal/index.ali.js +0 -32
  56. package/src/platform/api/modal/index.js +0 -9
  57. package/src/platform/api/next-tick/index.ali.js +0 -7
  58. package/src/platform/api/next-tick/index.js +0 -9
  59. package/src/platform/api/next-tick/index.tt.js +0 -7
  60. package/src/platform/api/page-scroll-to/index.js +0 -9
  61. package/src/platform/api/pull-down/index.js +0 -12
  62. package/src/platform/api/request/index.ali.js +0 -26
  63. package/src/platform/api/request/index.js +0 -9
  64. package/src/platform/api/request-payment/index.ali.js +0 -45
  65. package/src/platform/api/request-payment/index.js +0 -9
  66. package/src/platform/api/route/index.js +0 -21
  67. package/src/platform/api/scan-code/index.ali.js +0 -17
  68. package/src/platform/api/scan-code/index.js +0 -9
  69. package/src/platform/api/screen-brightness/index.ali.js +0 -26
  70. package/src/platform/api/screen-brightness/index.js +0 -12
  71. package/src/platform/api/set-navigation-bar/index.ali.js +0 -25
  72. package/src/platform/api/set-navigation-bar/index.js +0 -12
  73. package/src/platform/api/socket/index.js +0 -9
  74. package/src/platform/api/storage/index.ali.js +0 -59
  75. package/src/platform/api/storage/index.js +0 -36
  76. package/src/platform/api/system/index.ali.js +0 -38
  77. package/src/platform/api/system/index.js +0 -12
  78. package/src/platform/api/tab-bar/index.js +0 -18
  79. package/src/platform/api/toast/index.ali.js +0 -39
  80. package/src/platform/api/toast/index.js +0 -18
  81. package/src/platform/api/video/index.js +0 -9
  82. package/src/platform/api/window/index.js +0 -12
  83. package/src/platform/index.js +0 -106
  84. /package/src/{platform/api/action-sheet/index.web.js → web/api/action-sheet/index.js} +0 -0
  85. /package/src/{platform → web}/api/animation/animation.js +0 -0
  86. /package/src/{platform/api/animation/index.web.js → web/api/animation/index.js} +0 -0
  87. /package/src/{platform/api/app/index.web.js → web/api/app/index.js} +0 -0
  88. /package/src/{platform/api/audio/index.web.js → web/api/audio/index.js} +0 -0
  89. /package/src/{platform → web}/api/base/base64.js +0 -0
  90. /package/src/{platform/api/base/index.web.js → web/api/base/index.js} +0 -0
  91. /package/src/{platform → web}/api/create-intersection-observer/IntersectionObserver.js +0 -0
  92. /package/src/{platform/api/create-intersection-observer/index.web.js → web/api/create-intersection-observer/index.js} +0 -0
  93. /package/src/{platform → web}/api/create-selector-query/NodesRef.js +0 -0
  94. /package/src/{platform → web}/api/create-selector-query/SelectQuery.js +0 -0
  95. /package/src/{platform/api/create-selector-query/index.web.js → web/api/create-selector-query/index.js} +0 -0
  96. /package/src/{platform → web}/api/device/network/getNetworkType.js +0 -0
  97. /package/src/{platform/api/device/network/index.web.js → web/api/device/network/index.js} +0 -0
  98. /package/src/{platform → web}/api/device/network/onNetworkStatusChange.js +0 -0
  99. /package/src/{platform/api/event-channel/index.web.js → web/api/event-channel/index.js} +0 -0
  100. /package/src/{platform/api/modal/index.web.js → web/api/modal/index.js} +0 -0
  101. /package/src/{platform/api/next-tick/index.web.js → web/api/next-tick/index.js} +0 -0
  102. /package/src/{platform/api/page-scroll-to/index.web.js → web/api/page-scroll-to/index.js} +0 -0
  103. /package/src/{platform/api/image → web/api/preview-image}/Preview.js +0 -0
  104. /package/src/{platform/api/image/index.web.js → web/api/preview-image/index.js} +0 -0
  105. /package/src/{platform → web}/api/request/RequestTask.js +0 -0
  106. /package/src/{platform/api/socket/index.web.js → web/api/socket/index.js} +0 -0
  107. /package/src/{platform/api/toast/index.web.js → web/api/toast/index.js} +0 -0
  108. /package/src/{platform/api/video/index.web.js → web/api/video/index.js} +0 -0
  109. /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
- // super()
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
- // this.toPromiseResolve(res)
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
- // !opts.fail && this.toPromiseReject(err)
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
- // return this.toPromiseInitPromise()
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
- if (err) {
24
- const res = { errMsg: `stopPullDownRefresh:fail ${err}` }
25
- webHandleFail(res, options.fail, options.complete)
26
- } else {
27
- const res = { errMsg: 'stopPullDownRefresh:ok' }
28
- webHandleSuccess(res, options.success, options.complete)
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
- if (err) {
54
- const res = { errMsg: `startPullDownRefresh:fail ${err}` }
55
- webHandleFail(res, options.fail, options.complete)
56
- } else {
57
- const res = { errMsg: 'startPullDownRefresh:ok' }
58
- webHandleSuccess(res, options.success, options.complete)
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
- axios(rOptions).then(res => {
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
- return requestTask
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 = { type: 'redirect' }
18
+ router.__mpxAction = {
19
+ type: 'redirect'
20
+ }
19
21
  if (routeCount === 0 && router.currentRoute.query.routeCount) routeCount = router.currentRoute.query.routeCount
20
- router.replace(
21
- {
22
- path: options.url,
23
- query: {
24
- routeCount: ++routeCount
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
- router.push(
61
- {
62
- path: options.url,
63
- query: {
64
- routeCount: ++routeCount
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
- router.replace(
122
- {
123
- path: options.url,
124
- query: {
125
- routeCount
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
- router.replace(
169
- {
170
- path: options.url
171
- },
172
- () => {
173
- const res = { errMsg: 'switchTab:ok' }
174
- webHandleSuccess(res, options.success, options.complete)
175
- },
176
- err => {
177
- const res = { errMsg: err }
178
- webHandleFail(res, options.fail, options.complete)
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
 
@@ -6,6 +6,7 @@ function setNavigationBarTitle (options = {}) {
6
6
  return
7
7
  }
8
8
  const { title, success, complete } = options
9
+
9
10
  if (document.title !== title) {
10
11
  document.title = title
11
12
  }
@@ -56,7 +56,7 @@ class SocketTask {
56
56
  }
57
57
  }
58
58
 
59
- close (options = {}) {
59
+ close (options) {
60
60
  const { code = 1000, reason = '', success, fail, complete } = options
61
61
  this._closeData = {
62
62
  code,
@@ -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
 
@@ -77,6 +77,7 @@ function getSystemInfo (options = {}) {
77
77
  const info = getSystemInfoSync()
78
78
  const res = Object.assign({ errMsg: 'getSystemInfo:ok' }, info)
79
79
  webHandleSuccess(res, options.success, options.complete)
80
+ return Promise.resolve(res)
80
81
  }
81
82
 
82
83
  export {
@@ -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
- // return Promise.resolve({ errMsg }) todo 验证一下
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
- }