@mpxjs/api-proxy 2.9.69 → 2.9.70-alpha.1

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mpxjs/api-proxy",
3
- "version": "2.9.69",
3
+ "version": "2.9.70-alpha.1",
4
4
  "description": "convert miniprogram API at each end",
5
5
  "module": "src/index.js",
6
6
  "types": "@types/index.d.ts",
@@ -37,7 +37,7 @@
37
37
  },
38
38
  "homepage": "https://github.com/didi/mpx#readme",
39
39
  "dependencies": {
40
- "@mpxjs/utils": "^2.9.69",
40
+ "@mpxjs/utils": ">=2.9.69-alpha",
41
41
  "axios": "^1.7.3"
42
42
  },
43
43
  "peerDependencies": {
@@ -71,6 +71,5 @@
71
71
  "react-native-haptic-feedback": {
72
72
  "optional": true
73
73
  }
74
- },
75
- "gitHead": "e23c51acc4c2ffdd31fcc6c27aae1aed42d1ade2"
74
+ }
76
75
  }
@@ -0,0 +1,25 @@
1
+ class ToPromise {
2
+ constructor () {
3
+ this._resolve = null
4
+ this._reject = null
5
+ }
6
+
7
+ toPromiseInitPromise () {
8
+ return new Promise((resolve, reject) => {
9
+ this._resolve = resolve
10
+ this._reject = reject
11
+ })
12
+ }
13
+
14
+ toPromiseResolve (res) {
15
+ this._resolve(res)
16
+ }
17
+
18
+ toPromiseReject (err) {
19
+ this._reject(err)
20
+ }
21
+ }
22
+
23
+ export {
24
+ ToPromise
25
+ }
@@ -1,2 +1,3 @@
1
1
  export * from './web'
2
2
  export * from './utils'
3
+ export * from './toPromise'
@@ -45,6 +45,15 @@ const handleSuccess = (opts, getOptions = noop, thisObj) => {
45
45
  }
46
46
  }
47
47
 
48
+ function genFromMap () {
49
+ const result = {}
50
+ const platforms = ['wx', 'ali', 'swan', 'qq', 'tt', 'web', 'tenon', 'qa', 'jd', 'dd']
51
+ platforms.forEach((platform) => {
52
+ result[`__mpx_src_mode_${platform}__`] = platform
53
+ })
54
+ return result
55
+ }
56
+
48
57
  function warn (msg) {
49
58
  console.warn && console.warn(`[@mpxjs/api-proxy warn]:\n ${msg}`)
50
59
  }
@@ -101,5 +110,6 @@ export {
101
110
  defineUnsupportedProps,
102
111
  successHandle,
103
112
  failHandle,
104
- getFocusedNavigation
113
+ getFocusedNavigation,
114
+ genFromMap
105
115
  }
@@ -0,0 +1,42 @@
1
+ .__mpx_modal_box__
2
+ width 80%
3
+ max-width 600hm
4
+ background #FFFFFF
5
+ overflow hidden
6
+ text-align center
7
+ padding-top 30hm
8
+ border-radius 15px
9
+ .__mpx_modal_title_view__
10
+ padding-left 20hm
11
+ padding-right 20hm
12
+ .__mpx_modal_title__
13
+ font-size 26hm
14
+ text-align center
15
+ color #000000
16
+ .__mpx_modal_content_view__
17
+ padding-top 10hm
18
+ padding-left 20hm
19
+ padding-right 20hm
20
+ .__mpx_modal_content__
21
+ font-size 24hm
22
+ color #808080
23
+ text-line-clamp 3
24
+ text-align center
25
+ line-spacing-multi 1.2
26
+ .__mpx_modal_btns__
27
+ display flex
28
+ height: 80hm
29
+ margin-top 25hm
30
+ border-top 1px solid rgba(0,0,0,0.2)
31
+ .__mpx_modal_cancel__
32
+ flex 1
33
+ font-size 26hm
34
+ text-align center
35
+ font-weight bold
36
+ .__mpx_modal_confirm__
37
+ flex 1
38
+ font-size 26hm
39
+ text-align center
40
+ font-weight bold
41
+ .__mpx_modal_hide__
42
+ display none
@@ -0,0 +1,56 @@
1
+
2
+ .__mpx_toast__
3
+ .__mpx_mask__
4
+ z-index 1000
5
+ top 0
6
+ right 0
7
+ left 0
8
+ bottom 0
9
+ display none
10
+ &.show
11
+ display block
12
+ .__mpx_toast_box__
13
+ // position: absolute
14
+ // top 50%
15
+ // left 50%
16
+ z-index 2000
17
+ box-sizing border-box
18
+ display flex
19
+ flex-direction column
20
+ justify-content center
21
+ width 200hm
22
+ overflow hidden
23
+ word-break normal
24
+ padding 30hm 12hm
25
+ border-radius 10hm
26
+ background rgba(20, 20, 20, 0.7)
27
+ .__mpx_toast_icon__
28
+ width 80hm
29
+ height 80hm
30
+ background-size 100%
31
+ background-color rgba(0,0,0,0)
32
+ background-repeat no-repeat
33
+ background-position-y center
34
+ margin 12hm auto
35
+
36
+ .__mpx_toast_title__
37
+ text-align center
38
+ line-height 1.6
39
+ font-size 24hm
40
+ color #fff
41
+ margin 0
42
+ overflow hidden
43
+ max-width 100%
44
+ text-overflow ellipsis
45
+ display -webkit-box
46
+ -webkit-line-clamp 2
47
+ -webkit-box-orient vertical
48
+
49
+ .__hide_icon
50
+ display none
51
+ height 0
52
+ margin 0
53
+ .__success_icon
54
+ background-image url("data:image/png;base64,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")
55
+ .__error_icon
56
+ background-image url("data:image/png;base64,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")
@@ -0,0 +1,27 @@
1
+ import * as allApi from './platform/index'
2
+ import { EventChannel } from './platform/api/event-channel'
3
+ import { genFromMap } from './common/js'
4
+
5
+ export default function install (target) {
6
+ const fromMap = genFromMap()
7
+
8
+ global.EventChannel = new EventChannel()
9
+
10
+ Object.keys(allApi).forEach(api => {
11
+ target[api] = function (...args) {
12
+ if (args.length > 0) {
13
+ const from = args.pop()
14
+ if (typeof from !== 'string' || !fromMap[from]) {
15
+ args.push(from)
16
+ }
17
+ }
18
+
19
+ return allApi[api].apply(target, args)
20
+ }
21
+ })
22
+ }
23
+ export function getProxy () {
24
+ const apiProxy = {}
25
+ install(apiProxy)
26
+ return apiProxy
27
+ }
@@ -0,0 +1,225 @@
1
+ import { warn } from '../../../common/js'
2
+ class Animation {
3
+ constructor (options) {
4
+ this._actions = []
5
+ this._propMaps = {}
6
+ this._options = options
7
+ }
8
+
9
+ // 处理size
10
+ _processSize (size) {
11
+ if (typeof size === 'number') {
12
+ return `${size}hm`
13
+ } else {
14
+ return size
15
+ }
16
+ }
17
+
18
+ _collectData (type, value) {
19
+ this._propMaps[type] = {
20
+ type: type,
21
+ value: value
22
+ }
23
+ }
24
+
25
+ // 不支持
26
+ right (value) {
27
+ warn('不支持right方法')
28
+ return this
29
+ }
30
+
31
+ // 不支持
32
+ left (value) {
33
+ warn('不支持left方法')
34
+ return this
35
+ }
36
+
37
+ // 不支持
38
+ top (value) {
39
+ warn('不支持top方法')
40
+ return this
41
+ }
42
+
43
+ // 不支持
44
+ bottom (value) {
45
+ warn('不支持bottom方法')
46
+ return this
47
+ }
48
+
49
+ width (value) {
50
+ this._collectData('width', value)
51
+ return this
52
+ }
53
+
54
+ height (value) {
55
+ this._collectData('height', value)
56
+ return this
57
+ }
58
+
59
+ opacity (value) {
60
+ this._collectData('opacity', parseFloat(value))
61
+ return this
62
+ }
63
+
64
+ backgroundColor (color) {
65
+ this._collectData('backgroundColor', color)
66
+ return this
67
+ }
68
+
69
+ // 不支持
70
+ matrix (...value) {
71
+ warn('不支持matrix方法')
72
+ return this
73
+ }
74
+
75
+ // 不支持
76
+ matrix3d (...value) {
77
+ warn('不支持matrix3d方法')
78
+ return this
79
+ }
80
+
81
+ // 不支持
82
+ rotate (...value) {
83
+ warn('不支持rotate方法')
84
+ return this
85
+ }
86
+
87
+ // 不支持
88
+ rotate3d (...value) {
89
+ warn('不支持rotate3d方法')
90
+ return this
91
+ }
92
+
93
+ rotateX (value) {
94
+ this._collectData('rotationX', `${parseFloat(value)}deg`)
95
+ return this
96
+ }
97
+
98
+ rotateY (value) {
99
+ this._collectData('rotationY', `${parseFloat(value)}deg`)
100
+ return this
101
+ }
102
+
103
+ rotateZ (value) {
104
+ this._collectData('rotationZ', `${parseFloat(value)}deg`)
105
+ return this
106
+ }
107
+
108
+ scale (...value) {
109
+ const [x, y = x] = value
110
+ this._collectData('scaleX', x)
111
+ this._collectData('scaleY', y)
112
+ return this
113
+ }
114
+
115
+ // 不支持
116
+ scale3d (...value) {
117
+ warn('不支持scale3d方法')
118
+ return this
119
+ }
120
+
121
+ scaleX (value) {
122
+ this._collectData('scaleX', value)
123
+ return this
124
+ }
125
+
126
+ scaleY (value) {
127
+ this._collectData('scaleY', value)
128
+ return this
129
+ }
130
+
131
+ // 不支持
132
+ scaleZ (value) {
133
+ warn('不支持scaleZ方法')
134
+ return this
135
+ }
136
+
137
+ // 不支持
138
+ skew (...value) {
139
+ warn('不支持skew方法')
140
+ return this
141
+ }
142
+
143
+ // 不支持
144
+ skewX (value) {
145
+ warn('不支持skewX方法')
146
+ return this
147
+ }
148
+
149
+ // 不支持
150
+ skewY (value) {
151
+ warn('不支持skewY方法')
152
+ return this
153
+ }
154
+
155
+ translate (...value) {
156
+ const [x = 0, y = 0] = value
157
+ this._collectData('position', {
158
+ x: `${parseFloat(x)}hm`,
159
+ y: `${parseFloat(y)}hm`
160
+ })
161
+ return this
162
+ }
163
+
164
+ // 不支持
165
+ translate3d (...value) {
166
+ warn('不支持translate3d方法')
167
+ return this
168
+ }
169
+
170
+ translateX (value) {
171
+ this._collectData('position', { x: `${parseFloat(value)}hm`, y: 0 })
172
+ return this
173
+ }
174
+
175
+ translateY (value) {
176
+ this._collectData('position', { x: `${parseFloat(value)}hm`, y: 0 })
177
+ return this
178
+ }
179
+
180
+ // 不支持
181
+ translateZ (value) {
182
+ warn('不支持tranlateZ方法')
183
+ return this
184
+ }
185
+
186
+ step (opt) {
187
+ const option = {}
188
+ const animates = []
189
+ if (opt) {
190
+ Object.assign(option, this._options, opt)
191
+ } else {
192
+ Object.assign(option, this._options)
193
+ }
194
+ Object.keys(this._propMaps).forEach((item) => {
195
+ animates.push(this._propMaps[item])
196
+ })
197
+ // action 
198
+ this._actions.push({
199
+ animates,
200
+ option
201
+ })
202
+ return this
203
+ }
204
+
205
+ export () {
206
+ const actions = this._actions.slice(0)
207
+ this._actions.length = 0
208
+ // 一个action就是一个step
209
+ const steps = actions.map((v) => {
210
+ const styles = {}
211
+ v.animates.forEach(animate => {
212
+ styles[animate.type] = animate.value
213
+ })
214
+ return {
215
+ ...v.option,
216
+ styles
217
+ }
218
+ })
219
+ return {
220
+ steps
221
+ }
222
+ }
223
+ }
224
+
225
+ export default Animation
@@ -0,0 +1,89 @@
1
+ import Animation from './animation'
2
+
3
+ const createAnimation = function (options = {}) {
4
+ // timingFunction 修改为easing
5
+ options = Object.assign({
6
+ duration: 400,
7
+ timingFunction: 'linear',
8
+ delay: 0,
9
+ transformOrigin: '50% 50% 0'
10
+ }, options)
11
+ return new Animation(options)
12
+ }
13
+ // tennon需要返回的是一个对象
14
+ // 基础动画
15
+ // {
16
+ // duration: 5000,
17
+ // repeatCount: -1,
18
+ // easing: "linear",
19
+ // onStart: () => {console.log('Basic Animation Start!')},
20
+ // onEnd: () => {console.log('Basic Animation End!')},
21
+ // styles: {
22
+ // position: {
23
+ // x: '100hm',
24
+ // y: 0
25
+ // },
26
+ // opacity: 0.8
27
+ // }
28
+ // }
29
+ // 关键帧动画
30
+ // {
31
+ // duration: 5000, // 动画持续时间,单位 ms
32
+ // repeatCount: -1, // 重复的次数
33
+ // easing: "linear",
34
+ // onStart: () => {console.log('Frame Animation Start!')},
35
+ // onEnd: () => {console.log('Frame Animation End!')},
36
+ // keyframes: [{
37
+ // styles: {
38
+ // position: {
39
+ // x: '100hm',
40
+ // y: 0
41
+ // },
42
+ // opacity: 0.8
43
+ // },
44
+ // percent: 0.5
45
+ // }, {
46
+ // styles: {
47
+ // position: {
48
+ // x: '200hm',
49
+ // y: 0
50
+ // },
51
+ // opacity: 1
52
+ // },
53
+ // percent: 1
54
+ // }]
55
+ // }
56
+ // 次序动画
57
+ // {
58
+ // steps: [{
59
+ // duration: 5000,
60
+ // repeatCount: 1,
61
+ // easing: "linear",
62
+ // onStart: () => {console.log('Animation Start!')},
63
+ // onEnd: () => {console.log('Animation End!')},
64
+ // styles: {
65
+ // position: {
66
+ // x: '100hm',
67
+ // y: 0
68
+ // },
69
+ // opacity: 0.8
70
+ // }
71
+ // }, {
72
+ // duration: 5000,
73
+ // repeatCount: 1,
74
+ // easing: "linear",
75
+ // onStart: () => {console.log('Animation Start!')},
76
+ // onEnd: () => {console.log('Animation End!')},
77
+ // styles: {
78
+ // position: {
79
+ // x: '200hm',
80
+ // y: 0
81
+ // },
82
+ // opacity: 0.8
83
+ // }
84
+ // }]
85
+ // }
86
+
87
+ export {
88
+ createAnimation
89
+ }
@@ -84,12 +84,7 @@ const getComputedStyle = (config = []) => {
84
84
  return wrapFn((nodeInstance, resolve) => {
85
85
  config = new Set(config)
86
86
  const res = {}
87
- const styles = nodeInstance.props.current.style || {}
88
- const defaultStyle = nodeInstance.instance.defaultStyle || {}
89
- const computedStyle = {
90
- ...defaultStyle,
91
- ...styles
92
- }
87
+ const computedStyle = nodeInstance.instance.style || {}
93
88
  config.forEach((key) => {
94
89
  const humpKey = dash2hump(key)
95
90
  // 取 style 的 key 是根据传入的 key 来设置,传什么设置什么 key,只不过取值需要做兼容
@@ -0,0 +1,52 @@
1
+ const notifyCenter = Hummer.notifyCenter
2
+ const { Memory } = __GLOBAL__
3
+ // 通过Memory 和 notifyCenter实现跨页面事件通道
4
+ // FIXME:可能存在的问题once订阅的移除 emit事件传参数量
5
+ class EventChannel {
6
+ emit (eventName, ...args) {
7
+ notifyCenter.triggerEvent(eventName, args)
8
+ if (Memory.exist(`_ENENT_ONCE_${eventName}`)) {
9
+ // 订阅和发送可能不是一个上下文 暂时只能全部移除
10
+ this.off(eventName)
11
+ Memory.remove(`_ENENT_ONCE_${eventName}`)
12
+ }
13
+ }
14
+
15
+ off (eventName, EventCallback) {
16
+ notifyCenter.removeEventListener(eventName, EventCallback)
17
+ }
18
+
19
+ on (eventName, EventCallback) {
20
+ notifyCenter.addEventListener(eventName, EventCallback)
21
+ }
22
+
23
+ once (eventName, EventCallback) {
24
+ notifyCenter.addEventListener(eventName, EventCallback)
25
+ Memory.set(`_ENENT_ONCE_${eventName}`, 1)
26
+ }
27
+
28
+ _addListener (eventName, EventCallback, type) {
29
+ switch (type) {
30
+ case 'on':
31
+ this.on(eventName, EventCallback)
32
+ break
33
+ case 'once':
34
+ this.once(eventName, EventCallback)
35
+ break
36
+ default:
37
+ this.on(eventName, EventCallback)
38
+ break
39
+ }
40
+ }
41
+
42
+ _addListeners (events) {
43
+ if (Object.prototype.toString.call(events) === '[object Object]') {
44
+ Object.keys(events).forEach((eventName) => {
45
+ this.on(eventName, events[eventName])
46
+ })
47
+ }
48
+ }
49
+ }
50
+ export {
51
+ EventChannel
52
+ }
@@ -0,0 +1,12 @@
1
+ import Modal from './tenonModal'
2
+
3
+ let modal = null
4
+
5
+ function showModal (options = {}) {
6
+ if (!modal) { modal = new Modal() }
7
+ return modal.show(options)
8
+ }
9
+
10
+ export {
11
+ showModal
12
+ }