verce-vue-test 0.0.33 → 0.0.35
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.
|
@@ -0,0 +1,515 @@
|
|
|
1
|
+
function MXApi(callbacks = {}) {
|
|
2
|
+
let deviceReady = false
|
|
3
|
+
const taskQueue = []
|
|
4
|
+
|
|
5
|
+
document.addEventListener(
|
|
6
|
+
'deviceready',
|
|
7
|
+
function deviceReadyHandler() {
|
|
8
|
+
deviceReady = true
|
|
9
|
+
|
|
10
|
+
taskQueue.forEach(function (task) {
|
|
11
|
+
applyApi.apply(null, task)
|
|
12
|
+
})
|
|
13
|
+
|
|
14
|
+
taskQueue.length = 0
|
|
15
|
+
|
|
16
|
+
callbacks.ready && callbacks.ready()
|
|
17
|
+
document.removeEventListener('deviceready', deviceReadyHandler, false)
|
|
18
|
+
},
|
|
19
|
+
false,
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
function applyApi(namespace, api, args = []) {
|
|
23
|
+
if (window[namespace] && window[namespace][api]) {
|
|
24
|
+
callbacks.beforeApply && callbacks.beforeApply(namespace, api, args)
|
|
25
|
+
return window[namespace][api].apply(null, args)
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
if (!deviceReady) {
|
|
29
|
+
taskQueue.push([namespace, api, args])
|
|
30
|
+
return
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const message = ['该终端没有', namespace, '.', api, '方法!'].join('')
|
|
34
|
+
callbacks.error && callbacks.error(message, namespace, api)
|
|
35
|
+
throw new Error(message)
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return applyApi
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const applyApi = MXApi({
|
|
42
|
+
ready() {
|
|
43
|
+
console.log('device ready!!')
|
|
44
|
+
},
|
|
45
|
+
error(err) {
|
|
46
|
+
console.log(err)
|
|
47
|
+
},
|
|
48
|
+
beforeApply(namespace, api, args) {
|
|
49
|
+
// do nothing
|
|
50
|
+
},
|
|
51
|
+
})
|
|
52
|
+
|
|
53
|
+
const makeApi =
|
|
54
|
+
(namespace) =>
|
|
55
|
+
(api, ...args) =>
|
|
56
|
+
applyApi(namespace, api, args)
|
|
57
|
+
|
|
58
|
+
const MXCommon = makeApi('MXCommon')
|
|
59
|
+
const MXWebui = makeApi('MXWebui')
|
|
60
|
+
const MXContacts = makeApi('MXContacts')
|
|
61
|
+
const MXLocation = makeApi('MXLocation')
|
|
62
|
+
const MXCloudWalkFace = makeApi('MXCloudWalkFace')
|
|
63
|
+
const MXMedal = makeApi('MXMedal')
|
|
64
|
+
const MXChat = makeApi('MXChat')
|
|
65
|
+
const MXCircle = makeApi('MXCircle')
|
|
66
|
+
const MXShare = makeApi('MXShare')
|
|
67
|
+
|
|
68
|
+
export const showOptionMenu = () => MXWebui('showOptionMenu')
|
|
69
|
+
|
|
70
|
+
export const iphoneXBottomSetAside = (...args) => {
|
|
71
|
+
return MXWebui('iphoneXBottomSetAside', ...args)
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export const hideOptionMenu = () => {
|
|
75
|
+
return MXWebui('hideOptionMenu')
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export const setCustomHeaderMenu = (...args) => {
|
|
79
|
+
return MXWebui('setCustomHeaderMenu', ...args)
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export const setWebViewTitle = (...args) => {
|
|
83
|
+
return MXWebui('setWebViewTitle', ...args)
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export const showWebViewTitle = (...args) => {
|
|
87
|
+
return MXWebui('showWebViewTitle', ...args)
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export const closeWindow = (...args) => {
|
|
91
|
+
return MXWebui('closeWindow', ...args)
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export const call = (...args) => {
|
|
95
|
+
return MXCommon('call', ...args)
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export const hideWebViewTitle = (...args) => {
|
|
99
|
+
return MXWebui('hideWebViewTitle', ...args)
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// 沉浸式头部
|
|
103
|
+
export const enableTranslucentHeader = (...args) => {
|
|
104
|
+
return MXWebui('enableTranslucentHeader', ...args)
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export const getCurrentUser = () => {
|
|
108
|
+
return new Promise((resolve, reject) => {
|
|
109
|
+
MXCommon('getCurrentUser', resolve, reject)
|
|
110
|
+
})
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
export const MXSelectUsers = (userIds) => {
|
|
114
|
+
return new Promise((resolve, reject) => {
|
|
115
|
+
MXContacts(
|
|
116
|
+
'selectUsers',
|
|
117
|
+
resolve,
|
|
118
|
+
{
|
|
119
|
+
customUserIDS: userIds,
|
|
120
|
+
enableSelectDept: false,
|
|
121
|
+
canSelectSelf: true,
|
|
122
|
+
},
|
|
123
|
+
reject,
|
|
124
|
+
)
|
|
125
|
+
})
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export const MXSelectUser = () => {
|
|
129
|
+
return new Promise((resolve, reject) => {
|
|
130
|
+
MXContacts('selectUser', resolve, {}, reject)
|
|
131
|
+
})
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
export const MXBrowseImages = (...args) => {
|
|
135
|
+
return MXCommon('browseImages', ...args)
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export const MXDownload = (...args) => {
|
|
139
|
+
return MXCommon('download', ...args)
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
export const MXOpenUrlPage = (...args) => {
|
|
143
|
+
return MXCommon('openUrlPage', ...args)
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
const safeJsonParse = (data) => {
|
|
147
|
+
if (typeof data !== 'string') return data
|
|
148
|
+
|
|
149
|
+
try {
|
|
150
|
+
return JSON.parse(data)
|
|
151
|
+
} catch (error) {
|
|
152
|
+
return data
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
export const ajax = (params) => {
|
|
157
|
+
return new Promise((resolve, reject) => {
|
|
158
|
+
params = Object.assign({}, params, {
|
|
159
|
+
url: `${params.url}`,
|
|
160
|
+
async: true,
|
|
161
|
+
success(data, status, xhr) {
|
|
162
|
+
console.log(data, status, xhr)
|
|
163
|
+
resolve({
|
|
164
|
+
data: safeJsonParse(data),
|
|
165
|
+
status,
|
|
166
|
+
xhr,
|
|
167
|
+
})
|
|
168
|
+
},
|
|
169
|
+
error(data, status, xhr) {
|
|
170
|
+
reject({
|
|
171
|
+
data,
|
|
172
|
+
status,
|
|
173
|
+
xhr,
|
|
174
|
+
})
|
|
175
|
+
},
|
|
176
|
+
})
|
|
177
|
+
|
|
178
|
+
console.log('params_url==>>', params.url)
|
|
179
|
+
console.log('params_data==>>', params.data)
|
|
180
|
+
|
|
181
|
+
MXCommon('ajax', params)
|
|
182
|
+
})
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
const queryString = (obj) => {
|
|
186
|
+
if (!obj) return ''
|
|
187
|
+
|
|
188
|
+
return Object.keys(obj)
|
|
189
|
+
.map((key) => `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`)
|
|
190
|
+
.join('&')
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
export const ajaxGet = (url, query) => {
|
|
194
|
+
url = query ? `${url}?${queryString(query)}` : url
|
|
195
|
+
|
|
196
|
+
return ajax({
|
|
197
|
+
type: 'GET',
|
|
198
|
+
url,
|
|
199
|
+
})
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
export const ajaxPost = (url, data, param = {}) => {
|
|
203
|
+
return ajax({
|
|
204
|
+
type: 'POST',
|
|
205
|
+
url,
|
|
206
|
+
data,
|
|
207
|
+
...param,
|
|
208
|
+
})
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
export const ajaxPut = (url, data) => {
|
|
212
|
+
return ajax({
|
|
213
|
+
type: 'PUT',
|
|
214
|
+
url,
|
|
215
|
+
data,
|
|
216
|
+
})
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
export const ajaxDelete = (url, id) => {
|
|
220
|
+
return ajax({
|
|
221
|
+
type: 'DELETE',
|
|
222
|
+
url: `${url}/${id}`,
|
|
223
|
+
})
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
export const chooseFile = (count, options) => {
|
|
227
|
+
return new Promise((resolve, reject) => {
|
|
228
|
+
MXCommon('chooseFile', count, options, resolve, reject)
|
|
229
|
+
})
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
export const chooseImage = (count, options) => {
|
|
233
|
+
return new Promise((resolve, reject) => {
|
|
234
|
+
MXCommon('chooseImage', count, options, resolve, reject)
|
|
235
|
+
})
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
export const getLocation = (gpsOnly) => {
|
|
239
|
+
return new Promise((resolve, reject) => {
|
|
240
|
+
MXLocation('getLocation', resolve, reject, gpsOnly)
|
|
241
|
+
})
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
export const getMapScreenShot = () => {
|
|
245
|
+
return new Promise((resolve, reject) => {
|
|
246
|
+
MXLocation('getMapScreenShot', {
|
|
247
|
+
onSuccess: resolve,
|
|
248
|
+
onFail: reject,
|
|
249
|
+
})
|
|
250
|
+
})
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
// 获取服务器地址
|
|
254
|
+
export const getServerUrl = () => {
|
|
255
|
+
return new Promise((resolve, reject) => {
|
|
256
|
+
MXCommon('getServerUrl', resolve, reject)
|
|
257
|
+
})
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
// 获取水印
|
|
261
|
+
export const getWaterMarkUrl = () => {
|
|
262
|
+
return new Promise((resolve, reject) => {
|
|
263
|
+
MXCommon('getWaterMarkUrl', resolve, reject)
|
|
264
|
+
})
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
// 身份证读取
|
|
268
|
+
export const iDCardRecognize = (params) => {
|
|
269
|
+
return new Promise((resolve, reject) => {
|
|
270
|
+
MXCloudWalkFace('iDCardRecognize', {
|
|
271
|
+
type: params.type,
|
|
272
|
+
onSuccess: resolve,
|
|
273
|
+
onFail: reject,
|
|
274
|
+
})
|
|
275
|
+
})
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
// 人脸识别
|
|
279
|
+
export const faceRecognize = () => {
|
|
280
|
+
return new Promise((resolve, reject) => {
|
|
281
|
+
MXCloudWalkFace('faceRecognize', {
|
|
282
|
+
onSuccess: resolve,
|
|
283
|
+
onFail: reject,
|
|
284
|
+
})
|
|
285
|
+
})
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
// base64图片保存到本地
|
|
289
|
+
export const saveImageToAlbum = (url) => {
|
|
290
|
+
return MXMedal('saveImageToAlbum', {
|
|
291
|
+
base64: url,
|
|
292
|
+
})
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
// 根据appid获取sso_token
|
|
296
|
+
export const getSSOToken = (appId) => {
|
|
297
|
+
return new Promise((resolve, reject) => {
|
|
298
|
+
MXCommon('getSSOToken', appId, resolve, reject)
|
|
299
|
+
})
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
// 佩戴取消佩戴头饰
|
|
303
|
+
export const mxWearMedal = (param) => {
|
|
304
|
+
return new Promise((resolve, reject) => {
|
|
305
|
+
MXMedal('wearMedal', {
|
|
306
|
+
onSuccess: resolve,
|
|
307
|
+
onFail: reject,
|
|
308
|
+
isWear: param.isWear,
|
|
309
|
+
isCancelWear: param.isCancelWear,
|
|
310
|
+
ornamentUrl: param.ornamentUrl,
|
|
311
|
+
})
|
|
312
|
+
})
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
/**
|
|
316
|
+
* 判断是否是PC端
|
|
317
|
+
*/
|
|
318
|
+
export const judgePlat = () => {
|
|
319
|
+
const userAgentInfo = navigator.userAgent
|
|
320
|
+
const agents = ['Android', 'iPhone', 'SymbianOS', 'Windows Phone']
|
|
321
|
+
|
|
322
|
+
for (let v = 0; v < agents.length; v++) {
|
|
323
|
+
if (userAgentInfo.indexOf(agents[v]) > 0) {
|
|
324
|
+
return false
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
return true
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
// 根据用户id获取头像
|
|
332
|
+
export const getUserAvatars = (param) => {
|
|
333
|
+
return new Promise((resolve, reject) => {
|
|
334
|
+
MXCommon('getUserAvatars', {
|
|
335
|
+
userIds: param.userIds,
|
|
336
|
+
onSuccess: resolve,
|
|
337
|
+
onFail: reject,
|
|
338
|
+
})
|
|
339
|
+
})
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
// base64图片分享到聊天
|
|
343
|
+
export const shareImageToChat = (url) => {
|
|
344
|
+
return MXChat('chat', {
|
|
345
|
+
message: {
|
|
346
|
+
message_type: 'image',
|
|
347
|
+
body: {
|
|
348
|
+
base64: url,
|
|
349
|
+
},
|
|
350
|
+
},
|
|
351
|
+
})
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
// base64图片分享到朋友圈
|
|
355
|
+
export const shareImageToCircle = (url) => {
|
|
356
|
+
return MXCircle('send', {
|
|
357
|
+
attachments: [
|
|
358
|
+
{
|
|
359
|
+
type: 'image',
|
|
360
|
+
url,
|
|
361
|
+
},
|
|
362
|
+
],
|
|
363
|
+
})
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
// 客户端登出
|
|
367
|
+
export const jumpLogin = () => {
|
|
368
|
+
return MXCommon('jumpLogin')
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
// 客户端登录
|
|
372
|
+
export const loginWithToken = (...args) => {
|
|
373
|
+
return MXCommon('loginWithToken', ...args)
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
// MXCommon.ajaxFormData
|
|
377
|
+
export const ajaxFormData = (params) => {
|
|
378
|
+
return new Promise((resolve, reject) => {
|
|
379
|
+
params = Object.assign({}, params, {
|
|
380
|
+
url: `${params.url}`,
|
|
381
|
+
async: true,
|
|
382
|
+
success(data, status, xhr) {
|
|
383
|
+
console.log(data, status, xhr)
|
|
384
|
+
resolve({
|
|
385
|
+
data: safeJsonParse(data),
|
|
386
|
+
status,
|
|
387
|
+
xhr,
|
|
388
|
+
})
|
|
389
|
+
},
|
|
390
|
+
error(data, status, xhr) {
|
|
391
|
+
reject({
|
|
392
|
+
data,
|
|
393
|
+
status,
|
|
394
|
+
xhr,
|
|
395
|
+
})
|
|
396
|
+
},
|
|
397
|
+
})
|
|
398
|
+
|
|
399
|
+
console.log('params_url==>>', params.url)
|
|
400
|
+
console.log('params_data==>>', params.data)
|
|
401
|
+
|
|
402
|
+
MXCommon('ajaxFormData', params)
|
|
403
|
+
})
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
export const addEventListener = (params) => {
|
|
407
|
+
return MXCommon('addEventListener', params)
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
export const removeEventListener = (params) => {
|
|
411
|
+
return MXCommon('removeEventListener', params)
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
// 允许截屏
|
|
415
|
+
export const enableWebViewScreenShot = (params) => {
|
|
416
|
+
return MXCommon('enableWebViewScreenShot', params)
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
// 禁止截屏
|
|
420
|
+
export const disableWebViewScreenShot = (params) => {
|
|
421
|
+
return MXCommon('disableWebViewScreenShot', params)
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
// 开始录音
|
|
425
|
+
export const startRecord = (params) => {
|
|
426
|
+
return MXCommon('startRecord', params)
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
// 暂停录音
|
|
430
|
+
export const pauseRecord = (params) => {
|
|
431
|
+
return MXCommon('pauseRecord', params)
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
// 停止录音
|
|
435
|
+
export const stopRecord = (...params) => {
|
|
436
|
+
return MXCommon('stopRecord', ...params)
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
// 获取录音时长
|
|
440
|
+
export const getRecordDuration = (params) => {
|
|
441
|
+
return MXCommon('getRecordDuration', params)
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
// 播放录音
|
|
445
|
+
export const playVoice = (...params) => {
|
|
446
|
+
return MXCommon('playVoice', ...params)
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
// 暂停播放
|
|
450
|
+
export const pauseVoice = (...params) => {
|
|
451
|
+
return MXCommon('pauseVoice', ...params)
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
// 停止播放
|
|
455
|
+
export const stopVoice = (...params) => {
|
|
456
|
+
return MXCommon('stopVoice', ...params)
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
// 身份证拍照
|
|
460
|
+
export const onlyTakeIdCardPhoto = (params) => {
|
|
461
|
+
return MXCommon('onlyTakeIdCardPhoto', params)
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
// base64 分享到工作圈
|
|
465
|
+
export const base64SendToCircle = (params) => {
|
|
466
|
+
return MXCommon('base64SendToCircle', params)
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
// 地理逆编码
|
|
470
|
+
export const regeocode = (params) => {
|
|
471
|
+
return MXLocation('regeocode', params)
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
export const newChooseFile = (params) => {
|
|
475
|
+
return MXCommon('chooseFile', params)
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
export const newChooseFile02 = (...params) => {
|
|
479
|
+
return MXCommon('chooseFile', ...params)
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
// 根据appid启动应用
|
|
483
|
+
export const lanuchApp = (...params) => {
|
|
484
|
+
return MXCommon('launchApp', ...params)
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
// 打开协议
|
|
488
|
+
export const launchAnyUrl = (params) => {
|
|
489
|
+
return MXCommon('launchAnyUrl', params)
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
// 设置应用未读数
|
|
493
|
+
export const setAppUnreadCount = (...params) => {
|
|
494
|
+
return MXCommon('setAppUnreadCount', ...params)
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
// 设置应用在聊天列表中的未读数
|
|
498
|
+
export const setAppChatUnreadCount = (...params) => {
|
|
499
|
+
return MXCommon('setAppChatUnreadCount', ...params)
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
// 设置导航栏背景颜色
|
|
503
|
+
export const setNavBgColor = (...params) => {
|
|
504
|
+
return MXWebui('setNavBgColor', ...params)
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
// 设置右上角菜单颜色
|
|
508
|
+
export const setPopupMenuBgColor = (...params) => {
|
|
509
|
+
return MXWebui('setPopupMenuBgColor', ...params)
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
// 分享到微信或者微信朋友圈
|
|
513
|
+
export const share = (params) => {
|
|
514
|
+
return MXShare('share', params)
|
|
515
|
+
}
|