1 | var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
2 |
|
3 | import jsonp from './../jsonp';
|
4 | import DB from './../DB';
|
5 | import Device from './../Device';
|
6 | import Toast from './../Toast/instance.js';
|
7 | import Alert from './../Alert/instance.js';
|
8 | import Loading from './../Loading/instance.js';
|
9 | import Preview from './../Preview/instance.js';
|
10 | import MediaUtil from './../MediaUtil';
|
11 | import FullScreen from './../FullScreen';
|
12 |
|
13 | if (!window._seeds_lang) window._seeds_lang = {};
|
14 |
|
15 | var Bridge = {
|
16 | |
17 |
|
18 |
|
19 | debug: false,
|
20 |
|
21 | tel: function tel(number) {
|
22 | if (Device.device === 'pc') {
|
23 | this.showToast(window._seeds_lang['hint_only_mobile'] || '此功能仅可在手机中使用', { mask: false });
|
24 | return;
|
25 | }
|
26 | if (isNaN(number)) return;
|
27 | window.location.href = 'tel:' + number;
|
28 | },
|
29 |
|
30 | toast: null,
|
31 | showToast: function showToast(msg) {
|
32 | var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
33 |
|
34 | if (!msg) return;
|
35 | if (!this.toast) {
|
36 |
|
37 | this.toast = new Toast({
|
38 | parent: document.body,
|
39 | maskClass: 'mask toast-mask' + (params.mask === false ? ' toast-propagation' : ''),
|
40 | toastClass: 'toast ' + (params.position ? params.position : 'middle'),
|
41 | icon: params.icon || '',
|
42 | html: msg,
|
43 | delay: params.delay || 2000
|
44 | });
|
45 | } else {
|
46 | this.toast.setHTML(msg);
|
47 | this.toast.setMaskClassName('mask toast-mask' + (params.mask === false ? ' toast-propagation' : ''));
|
48 | this.toast.setToastClassName('toast ' + (params.position ? params.position : 'middle'));
|
49 | this.toast.setIcon(params.icon || '');
|
50 | this.toast.setDelay(params.delay || 2000);
|
51 | }
|
52 | this.toast.show();
|
53 | if (params.success) {
|
54 | setTimeout(function () {
|
55 | params.success();
|
56 | }, params.delay ? Math.round(params.delay / 2) : 1000);
|
57 | }
|
58 | },
|
59 |
|
60 | loading: null,
|
61 | showLoading: function showLoading() {
|
62 | var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
63 |
|
64 | if (!this.loading) {
|
65 | this.loading = new Loading({
|
66 | caption: params.caption || window._seeds_lang['loading'] || '正在加载...',
|
67 | type: params.type,
|
68 | icon: params.icon || '',
|
69 | maskCss: params.css || null
|
70 | });
|
71 | } else {
|
72 | if (params.caption) this.loading.setCaption(params.caption);
|
73 | if (params.type) this.loading.setType(params.type);
|
74 | if (params.css) this.loading.setMaskCss(params.css);
|
75 | if (params.icon) this.toast.setIcon(params.icon || '');
|
76 | if (params.mask) this.loading.setMaskClassName('mask loading-mask ' + (params.mask === false ? ' loading-propagation' : ''));
|
77 | }
|
78 | this.loading.show();
|
79 | },
|
80 | hideLoading: function hideLoading() {
|
81 | if (!this.loading) {
|
82 | this.toast.showToast(window._seeds_lang['hint_hideloading_after_showloading'] || 'showLoading后才能hideLoading');
|
83 | } else {
|
84 | this.loading.hide();
|
85 | }
|
86 | },
|
87 |
|
88 | alert: null,
|
89 | showAlert: function showAlert(msg) {
|
90 | var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
91 |
|
92 | if (!this.alert) {
|
93 | this.alert = new Alert(_extends({}, params, {
|
94 | html: msg,
|
95 | onClickSubmit: function onClickSubmit(e) {
|
96 | if (params.success) params.success(e);else e.hide();
|
97 | }
|
98 | }));
|
99 | } else {
|
100 | if (params) {
|
101 | this.alert.reset();
|
102 | for (var n in params) {
|
103 | this.alert.params[n] = params[n];
|
104 | }
|
105 | this.alert.updateDOM();
|
106 | this.alert.setHTML(msg);
|
107 | }
|
108 | }
|
109 | this.alert.show();
|
110 | },
|
111 |
|
112 | confirm: null,
|
113 | showConfirm: function showConfirm(msg) {
|
114 | var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
115 |
|
116 | if (!this.confirm) {
|
117 | this.confirm = new Alert(_extends({}, params, {
|
118 | html: msg,
|
119 | onClickSubmit: function onClickSubmit(e) {
|
120 | if (params.success) params.success(e);
|
121 | },
|
122 | onClickCancel: function onClickCancel(e) {
|
123 | if (params.fail) params.fail(e);else e.hide();
|
124 | }
|
125 | }));
|
126 | } else {
|
127 | if (params) {
|
128 | this.confirm.reset();
|
129 | for (var n in params) {
|
130 | this.confirm.params[n] = params[n];
|
131 | }
|
132 | this.confirm.updateDOM();
|
133 | if (params.success) this.confirm.setOnClickSubmit(params.success);
|
134 | if (params.fail) this.confirm.setOnClickCancel(params.fail);
|
135 | }
|
136 | this.confirm.setHTML(msg);
|
137 | }
|
138 | this.confirm.show();
|
139 | },
|
140 | |
141 |
|
142 |
|
143 |
|
144 |
|
145 | getAddress: function getAddress() {
|
146 | var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
147 |
|
148 | var url = 'https://api.map.baidu.com/geocoder/v2/?callback=renderReverse&location=' + params.latitude + ',' + params.longitude + '&output=json&pois=1&ak=IlfRglMOvFxapn5eGrmAj65H&ret_coordtype=gcj02ll';
|
149 | jsonp(url, null, function (err, data) {
|
150 | if (err) {
|
151 | if (params.fail) params.fail({ errMsg: 'getAddress:' + (window._seeds_lang['hint_address_failed'] || '获取地址失败, 请稍后重试') + err });
|
152 | } else {
|
153 | var addrs = {};
|
154 | if (data.result && data.result.formatted_address) {
|
155 | addrs.address = data.result.formatted_address;
|
156 | if (params.success) params.success(addrs);
|
157 | } else {
|
158 | if (params.fail) params.fail({ errMsg: 'getAddress:' + (window._seeds_lang['hint_address_failed'] || '获取地址失败, 请稍后重试') });
|
159 | }
|
160 | }
|
161 | });
|
162 | },
|
163 | |
164 |
|
165 |
|
166 |
|
167 |
|
168 | getWeather: function getWeather() {
|
169 | var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
170 |
|
171 | var url = 'http://api.map.baidu.com/telematics/v3/weather?location=' + (params.location || '南京市') + '&output=json&ak=IlfRglMOvFxapn5eGrmAj65H';
|
172 | jsonp(url, null, function (err, data) {
|
173 | if (err) {
|
174 | if (params.fail) params.fail({ errMsg: 'getWeather:' + (window._seeds_lang['hint_weather_failed'] || '获取天气失败, 请稍后重试') + err });
|
175 | } else {
|
176 | if (data.results && data.results.length) {
|
177 | if (params.success) params.success(data.results);
|
178 | } else {
|
179 | if (params.fail) params.fail({ errMsg: 'getWeather:' + (window._seeds_lang['hint_weather_failed'] || '获取天气失败, 请稍后重试') });
|
180 | }
|
181 | }
|
182 | });
|
183 | },
|
184 |
|
185 | back: function back(argHistory, argBackLvl) {
|
186 |
|
187 | var _history = window.history;
|
188 | if (argHistory && argHistory.go) _history = argHistory;
|
189 | var _backLvl = argBackLvl || -1;
|
190 |
|
191 |
|
192 | var isFromApp = Device.getUrlParameter('isFromApp', location.search) || '';
|
193 | if (isFromApp === '1') {
|
194 |
|
195 | try {
|
196 | Bridge.closeWindow();
|
197 | } catch (error) {
|
198 | console.log(error);
|
199 | }
|
200 | } else if (isFromApp === 'home') {
|
201 |
|
202 | try {
|
203 | Bridge.goHome();
|
204 | } catch (error) {
|
205 | console.log(error);
|
206 | }
|
207 | } else if (isFromApp === 'confirm') {
|
208 |
|
209 | Bridge.showConfirm(Bridge.confirmCaption || window._seeds_lang['confirm_quit_page'] || '您确定要离开此页面吗?', {
|
210 | success: function success(e) {
|
211 | e.hide();
|
212 | _history.go(_backLvl);
|
213 | }
|
214 | });
|
215 | } else if (isFromApp === 'confirm-close') {
|
216 |
|
217 | Bridge.showConfirm(Bridge.confirmCaption || window._seeds_lang['confirm_quit_page'] || '您确定要离开此页面吗?', {
|
218 | success: function success(e) {
|
219 | e.hide();
|
220 | Bridge.closeWindow();
|
221 | }
|
222 | });
|
223 | } else if (isFromApp === 'custom') {
|
224 | console.log('自定义');
|
225 | } else {
|
226 |
|
227 | _history.go(_backLvl);
|
228 | }
|
229 | },
|
230 |
|
231 | isHomePage: function isHomePage(callback, rule) {
|
232 | if (rule && window.location.href.indexOf(rule) >= 0) {
|
233 | callback(true);
|
234 | return;
|
235 | }
|
236 | callback(false);
|
237 | },
|
238 |
|
239 | getAppVersion: function getAppVersion() {
|
240 | return window.navigator.appVersion;
|
241 | },
|
242 |
|
243 | logOut: function logOut() {
|
244 | console.log('logOut方法仅在app上工作');
|
245 | },
|
246 |
|
247 | goHome: function goHome() {
|
248 | window.history.go(-1);
|
249 | },
|
250 |
|
251 | openWindow: function openWindow() {
|
252 | var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
253 |
|
254 | if (params.url) window.location.href = params.url;
|
255 | },
|
256 |
|
257 | closeWindow: function closeWindow() {
|
258 | window.history.go(-1);
|
259 | },
|
260 |
|
261 | addBackPress: function addBackPress() {
|
262 | console.log('addBackPress方法在浏览器上无法运行');
|
263 | },
|
264 |
|
265 | removeBackPress: function removeBackPress() {
|
266 | console.log('removeBackPress方法在浏览器上无法运行');
|
267 | },
|
268 | |
269 |
|
270 |
|
271 |
|
272 | |
273 |
|
274 |
|
275 | platform: 'browser',
|
276 |
|
277 | config: function config() {
|
278 | var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
279 |
|
280 | if (params.debug) this.debug = params.debug;
|
281 | if (!this.debug) {
|
282 | console.log('config方法仅在微信上工作');
|
283 | return;
|
284 | }
|
285 | DB.setSession('bridge_isready', '1');
|
286 | if (params.success) params.success();
|
287 | },
|
288 |
|
289 | previewVideo: function previewVideo() {
|
290 | var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
291 |
|
292 | var target = document.getElementById('seedsui_preview_video');
|
293 | if (!target) {
|
294 | target = MediaUtil.video(params.src);
|
295 | target.id = 'seedsui_preview_video';
|
296 | target.style = 'position:absolute;top:-1000px;left:-1000px;width:100;height:100px;';
|
297 | document.body.appendChild(target);
|
298 | }
|
299 | if (target) {
|
300 | FullScreen.enter(target);
|
301 | setTimeout(function () {
|
302 | target.play();
|
303 | }, 500);
|
304 | }
|
305 | },
|
306 | |
307 |
|
308 |
|
309 |
|
310 | chooseImage: function chooseImage() {
|
311 | var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
312 |
|
313 | if (!this.debug) {
|
314 | this.showToast(window._seeds_lang['hint_only_app_and_wx'] || '此功能仅可在微信或APP中使用', { mask: false });
|
315 | return;
|
316 | }
|
317 | var res = {
|
318 | sourceType: 'camera',
|
319 | errMsg: 'chooseImage:ok',
|
320 | localIds: ['https://static.zcool.cn/git_z/z/common/images/svg/logo.svg', 'https://static.zcool.cn/v3.5.180706.5/zcool/client/image/logo.png']
|
321 | };
|
322 | if (params.success) params.success(res);
|
323 | },
|
324 |
|
325 | uploadImage: function uploadImage() {
|
326 | var _this = this;
|
327 |
|
328 | var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
329 |
|
330 | if (!this.debug) {
|
331 | this.showToast(window._seeds_lang['hint_only_app_and_wx'] || '此功能仅可在微信或APP中使用', { mask: false });
|
332 | return;
|
333 | }
|
334 | this.showLoading();
|
335 | setTimeout(function () {
|
336 | _this.hideLoading();
|
337 | _this.showToast(window._seeds_lang['uploaded_completed'] || '上传完成', { mask: false });
|
338 | var res = {
|
339 | errMsg: 'uploadImage:ok',
|
340 | mediaUrl: '',
|
341 | serverId: new Date().getTime()
|
342 | };
|
343 | if (params.success) params.success(res);
|
344 |
|
345 | }, 1000);
|
346 | },
|
347 |
|
348 |
|
349 | preview: null,
|
350 | previewImage: function previewImage() {
|
351 | var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
352 |
|
353 | if (!params.urls || !params.urls.length) {
|
354 | Bridge.showToast('urls' + (window._seeds_lang['wrong_parameter'] || '参数不正确') + ', ' + (window._seeds_lang['cannot_preview'] || '无法预览'), { mask: false });
|
355 | return;
|
356 | }
|
357 | var src = params.urls[params.index || 0];
|
358 | if (!src) {
|
359 | Bridge.showToast('index' + (window._seeds_lang['wrong_parameter'] || '参数不正确') + ', ' + (window._seeds_lang['cannot_preview'] || '无法预览'), { mask: false });
|
360 | return;
|
361 | }
|
362 | var layerHTML = params.layerHTML || '';
|
363 | if (!this.preview) {
|
364 | this.preview = new Preview({
|
365 | src: src,
|
366 | layerHTML: layerHTML,
|
367 | onSuccess: function onSuccess(s) {
|
368 | s.show();
|
369 | },
|
370 | onError: function onError() {
|
371 | Bridge.showToast('' + (window._seeds_lang['invalid_image_src'] || '图片地址无效'), { mask: false });
|
372 | }
|
373 | });
|
374 | } else {
|
375 | this.preview.setSrc(src);
|
376 | this.preview.setLayerHTML(layerHTML);
|
377 | this.preview.update();
|
378 | }
|
379 | },
|
380 | |
381 |
|
382 |
|
383 |
|
384 | chooseVideo: function chooseVideo() {
|
385 | var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
386 |
|
387 | console.log('chooseVideo方法在浏览器上无法运行');
|
388 | var res = {
|
389 | sourceType: 'camera',
|
390 | errMsg: 'chooseVideo:ok',
|
391 | tempFilePath: 'http://res.waiqin365.com/video/v2001.MP4',
|
392 | duration: '',
|
393 | size: '',
|
394 | height: '',
|
395 | width: ''
|
396 | };
|
397 | if (params.success) params.success(res);
|
398 | },
|
399 | |
400 |
|
401 |
|
402 | getContactMore: function getContactMore() {
|
403 | var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
404 |
|
405 | if (!this.debug) {
|
406 | this.showToast(window._seeds_lang['hint_only_wqapp'] || '此功能仅可在外勤客户端中使用', { mask: false });
|
407 | return;
|
408 | }
|
409 | if (params.success) params.success([{
|
410 | id: '4655721687632479006',
|
411 | name: '员工1'
|
412 | }, {
|
413 | id: '4655721687632479007',
|
414 | name: '员工2'
|
415 | }]);
|
416 | },
|
417 | getContact: function getContact() {
|
418 | var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
419 |
|
420 | if (!this.debug) {
|
421 | this.showToast(window._seeds_lang['hint_only_wqapp'] || '此功能仅可在外勤客户端中使用', { mask: false });
|
422 | return;
|
423 | }
|
424 | if (params.success) params.success({
|
425 | id: '4655721687632479006',
|
426 | name: '员工1'
|
427 | });
|
428 | },
|
429 | |
430 |
|
431 |
|
432 | customerMore: [{
|
433 | "check": true,
|
434 | "distance": 31,
|
435 | "labelType": 0,
|
436 | "addr": "南京市建邺区康文路康缘智汇港附近",
|
437 | "approval_status": "3",
|
438 | "code": "20180403004",
|
439 | "cooperate_status": "1",
|
440 | "district_id": "",
|
441 | "id": "5330457627710680963",
|
442 | "lat": "",
|
443 | "location": "31.983362,118.73069",
|
444 | "lon": "",
|
445 | "manager_name": "",
|
446 | "name": "客户门店经销商1",
|
447 | "name_py": "20180403004 20180403004",
|
448 | "trade_type": "3",
|
449 | "type_id": "",
|
450 | "type_image": ""
|
451 | }, {
|
452 | "check": true,
|
453 | "distance": 5,
|
454 | "labelType": 0,
|
455 | "addr": "江苏省南京市建邺区康文路康缘智汇港附近",
|
456 | "approval_status": "3",
|
457 | "code": "storethree",
|
458 | "cooperate_status": "1",
|
459 | "district_id": "",
|
460 | "id": "8834765014408029232",
|
461 | "lat": "",
|
462 | "location": "31.983679,118.730766",
|
463 | "lon": "",
|
464 | "manager_name": "",
|
465 | "name": "客户门店经销商2",
|
466 | "name_py": "mendian3 md3",
|
467 | "trade_type": "3",
|
468 | "type_id": "",
|
469 | "type_image": ""
|
470 | }, {
|
471 | "addr": "南京市建邺区康文路南京金贝网络科技有限公司附近",
|
472 | "approval_status": "3",
|
473 | "check": false,
|
474 | "code": "CUS000084",
|
475 | "cooperate_status": "1",
|
476 | "distance": -1,
|
477 | "district_id": "-1",
|
478 | "id": "8045732772848971055",
|
479 | "labelType": 2,
|
480 | "lat": "31.983311",
|
481 | "location": "31.983311,118.730527",
|
482 | "lon": "118.730527",
|
483 | "manager_name": "大表哥",
|
484 | "name": "客户门店经销商3",
|
485 | "name_py": "201801171557 201801171557",
|
486 | "trade_type": "3",
|
487 | "type_id": "-1",
|
488 | "type_image": ""
|
489 | }, {
|
490 | "addr": "南京市建邺区康文路南京金贝网络科技有限公司附近",
|
491 | "approval_status": "3",
|
492 | "check": true,
|
493 | "code": "CUS000085",
|
494 | "cooperate_status": "1",
|
495 | "distance": 46,
|
496 | "district_id": "",
|
497 | "id": "8353170616312361122",
|
498 | "labelType": 0,
|
499 | "lat": "",
|
500 | "location": "31.983301,118.730517",
|
501 | "lon": "",
|
502 | "manager_name": "",
|
503 | "name": "客户门店经销商4",
|
504 | "name_py": "201801171624 201801171624",
|
505 | "trade_type": "3",
|
506 | "type_id": "",
|
507 | "type_image": ""
|
508 | }],
|
509 | customerMoreLen: 1,
|
510 | getCustomerMore: function getCustomerMore() {
|
511 | var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
512 |
|
513 | if (!this.debug) {
|
514 | this.showToast(window._seeds_lang['hint_only_wqapp'] || '此功能仅可在外勤客户端中使用', { mask: false });
|
515 | return;
|
516 | }
|
517 | var result = [];
|
518 | for (var i = 0; i < this.customerMoreLen; i++) {
|
519 | result.push(this.customerMore[i]);
|
520 | }
|
521 | this.customerMoreLen++;
|
522 | if (this.customerMoreLen > this.customerMore.length) {
|
523 | this.customerMoreLen = 1;
|
524 | }
|
525 | if (params.success) params.success(result);
|
526 | },
|
527 | getCustomer: function getCustomer() {
|
528 | var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
529 |
|
530 | if (!this.debug) {
|
531 | this.showToast(window._seeds_lang['hint_only_wqapp'] || '此功能仅可在外勤客户端中使用', { mask: false });
|
532 | return;
|
533 | }
|
534 | if (params.success) params.success({
|
535 | id: '6468207804099075062',
|
536 | name: '客户门店经销商1'
|
537 | });
|
538 | },
|
539 | getCustomerType: function getCustomerType() {
|
540 | var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
541 |
|
542 | if (!this.debug) {
|
543 | this.showToast(window._seeds_lang['hint_only_wqapp'] || '此功能仅可在外勤客户端中使用', { mask: false });
|
544 | return;
|
545 | }
|
546 | if (params.success) params.success({
|
547 | id: '5365268129453435373',
|
548 | name: '客户类型1'
|
549 | });
|
550 | },
|
551 | getCustomerAreaMore: function getCustomerAreaMore() {
|
552 | var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
553 |
|
554 | if (!this.debug) {
|
555 | this.showToast(window._seeds_lang['hint_only_wqapp'] || '此功能仅可在外勤客户端中使用', { mask: false });
|
556 | return;
|
557 | }
|
558 | if (params.success) params.success([{
|
559 | id: '5365268129453435373',
|
560 | name: '客户区域1'
|
561 | }, {
|
562 | id: '5365268129453435374',
|
563 | name: '客户区域2'
|
564 | }]);
|
565 | },
|
566 | getCustomerArea: function getCustomerArea() {
|
567 | var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
568 |
|
569 | if (!this.debug) {
|
570 | this.showToast(window._seeds_lang['hint_only_wqapp'] || '此功能仅可在外勤客户端中使用', { mask: false });
|
571 | return;
|
572 | }
|
573 | if (params.success) params.success({
|
574 | id: '5365268129453435373',
|
575 | name: '客户区域1'
|
576 | });
|
577 | },
|
578 |
|
579 | getDepartmentMore: function getDepartmentMore(params) {
|
580 | this.showToast(window._seeds_lang['hint_only_wqapp'] || '此功能仅可在外勤客户端中使用', { mask: false });
|
581 | },
|
582 | getDepartment: function getDepartment() {
|
583 | var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
584 |
|
585 | if (!this.debug) {
|
586 | this.showToast(window._seeds_lang['hint_only_wqapp'] || '此功能仅可在外勤客户端中使用', { mask: false });
|
587 | return;
|
588 | }
|
589 | params.success({
|
590 | id: '5343180131602024954',
|
591 | name: '开发一部'
|
592 | });
|
593 | },
|
594 |
|
595 | getGoods: function getGoods() {
|
596 | var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
597 |
|
598 | if (!this.debug) {
|
599 | this.showToast(window._seeds_lang['hint_only_wqapp'] || '此功能仅可在外勤客户端中使用', { mask: false });
|
600 | return;
|
601 | }
|
602 | if (params.success) params.success({
|
603 | id: '5343180131602024954',
|
604 | name: '商品1',
|
605 | propvalues: '',
|
606 | nameSpec: '',
|
607 | productRemarks: '',
|
608 | props: '',
|
609 | propDetail: '',
|
610 | reportUnitName: '',
|
611 | reportUnitID: '',
|
612 | reportUnitRatio: ''
|
613 | });
|
614 | },
|
615 |
|
616 | |
617 |
|
618 |
|
619 |
|
620 |
|
621 |
|
622 |
|
623 |
|
624 |
|
625 |
|
626 | getLocation: function getLocation() {
|
627 | var _this2 = this;
|
628 |
|
629 | var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
630 |
|
631 | if (!this.debug) {
|
632 | this.showToast(window._seeds_lang['hint_only_app_and_wx'] || '此功能仅可在微信或APP中使用', { mask: false });
|
633 | setTimeout(function () {
|
634 | if (params.fail) params.fail({ errMsg: 'getLocation:' + (window._seeds_lang['hint_only_app_and_wx'] || '此功能仅可在微信或APP中使用') });
|
635 | }, 1000);
|
636 | return;
|
637 | }
|
638 |
|
639 | var appLocation = DB.getCookie('app_location');
|
640 | if (appLocation === 'undefined') {
|
641 | DB.removeCookie('app_location');
|
642 | appLocation = '';
|
643 | }
|
644 | try {
|
645 | if (appLocation) appLocation = JSON.parse(appLocation);
|
646 | } catch (error) {
|
647 | appLocation = '';
|
648 | }
|
649 | if (appLocation) {
|
650 | if (params.success) params.success(appLocation);
|
651 | return;
|
652 | }
|
653 |
|
654 | if (this.locating) return;
|
655 | this.locating = true;
|
656 | console.log('调用定位...');
|
657 | setTimeout(function () {
|
658 | _this2.locating = false;
|
659 | var res = { longitude: '118.730515', latitude: '31.982473', speed: '0.0', accuracy: '3.0.0'
|
660 |
|
661 | };if (params.cache) DB.setCookie('app_location', JSON.stringify(res), params.cache || 60);
|
662 | if (params.success) params.success(res);
|
663 | }, 2000);
|
664 | },
|
665 |
|
666 | getLocationMap: function getLocationMap() {
|
667 | var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
668 |
|
669 | if (!this.debug) {
|
670 | this.showToast(window._seeds_lang['hint_only_wqapp'] || '此功能仅可在微信或APP中使用', { mask: false });
|
671 | if (params.fail) params.fail({ errMsg: 'getLocationMap:' + (window._seeds_lang['hint_only_wqapp'] || '此功能仅可在微信或APP中使用') });
|
672 | return;
|
673 | }
|
674 | setTimeout(function () {
|
675 | if (params.success) params.success({ longitude: '118.730515', latitude: '31.982473', speed: '0.0', accuracy: '3.0.0', address: '江苏省南京市新城科技园' });
|
676 | }, 500);
|
677 | },
|
678 |
|
679 | |
680 |
|
681 |
|
682 |
|
683 | scanQRCode: function scanQRCode() {
|
684 | var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
685 |
|
686 | if (!this.debug) {
|
687 | this.showToast(window._seeds_lang['hint_only_app_and_wx'] || '此功能仅可在微信或APP中使用', { mask: false });
|
688 | if (params.fail) params.fail({ errMsg: 'scanQRCode:' + (window._seeds_lang['hint_scan_failed'] || '扫码失败') + ', ' + (window._seeds_lang['hint_try_again_later'] || '请稍后重试') });
|
689 | return;
|
690 | }
|
691 | setTimeout(function () {
|
692 | if (params.success) params.success({ resultStr: '504823170310092750280333' });
|
693 | }, 500);
|
694 | },
|
695 | |
696 |
|
697 |
|
698 |
|
699 |
|
700 |
|
701 |
|
702 |
|
703 | Image: function Image() {
|
704 | var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
705 |
|
706 | var s = this;
|
707 | var msg = '';
|
708 |
|
709 | s.choose = function () {
|
710 | var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
711 |
|
712 | if (!Bridge.debug) {
|
713 | if (params.onChooseFail) params.onChooseFail({ errMsg: 'chooseImage:' + (window._seeds_lang['hint_only_app_and_wx'] || '此功能仅可在微信或APP中使用') });else Bridge.showToast(window._seeds_lang['hint_only_app_and_wx'] || '此功能仅可在微信或APP中使用', { mask: false });
|
714 | return;
|
715 | }
|
716 | var option = {
|
717 | enableSafe: args.enableSafe || false,
|
718 | max: args.max || 5,
|
719 | currentCount: args.currentCount || 0,
|
720 | sourceType: args.sourceType || ['album', 'camera'],
|
721 | sizeType: args.sizeType || ['original', 'compressed'],
|
722 | chooseOptions: args.chooseOptions || {},
|
723 | localIds: args.localIds || []
|
724 | };
|
725 | var count = option.max - option.currentCount;
|
726 | if (count <= 0) {
|
727 | msg = (window._seeds_lang['hint_max_upload'] || '最多只能传') + option.max + (window._seeds_lang['photos'] || '张照片');
|
728 | Bridge.showToast(msg);
|
729 | return;
|
730 | }
|
731 |
|
732 | if (option.enableSafe) count = 1;
|
733 | Bridge.chooseImage(Object.assign({
|
734 | count: count,
|
735 | sizeType: option.sizeType,
|
736 | sourceType: option.sourceType,
|
737 | success: function success(res) {
|
738 | var imgMap = {};
|
739 | for (var i = 0, localId; localId = res.localIds[i++];) {
|
740 |
|
741 | if (option.localIds.indexOf(localId) === -1) {
|
742 | imgMap[localId] = {
|
743 | serverId: '',
|
744 | sourceType: res.sourceType
|
745 | };
|
746 | }
|
747 | }
|
748 | if (params.onChooseSuccess) params.onChooseSuccess(imgMap, res);
|
749 | s.upload(imgMap);
|
750 | },
|
751 | fail: function fail(res) {
|
752 | Bridge.showToast(window._seeds_lang['hint_choose_image_failed'] || '选择图片失败, 请稍后再试', { mask: false });
|
753 | },
|
754 | cancel: function cancel() {},
|
755 | complete: function complete() {}
|
756 | }, option.chooseOptions));
|
757 | };
|
758 |
|
759 | s.upload = function (imgMap) {
|
760 | var imgs = Object.keys(imgMap);
|
761 | var loop = function loop(index) {
|
762 | if (index >= imgs.length) {
|
763 | return;
|
764 | }
|
765 | var img = imgs[index];
|
766 | if (imgMap[img].serverId) {
|
767 | loop(++index);
|
768 | return;
|
769 | }
|
770 | Bridge.uploadImage({
|
771 | localId: img,
|
772 | isShowProgressTips: 1,
|
773 | success: function success(res) {
|
774 | var serverId = res.serverId;
|
775 | imgMap[img].serverId = serverId;
|
776 | if (params.onUploadSuccess) params.onUploadSuccess(imgMap, res);
|
777 | if (index >= imgs.length - 1 && params.onUploadsSuccess) params.onUploadsSuccess(imgMap);
|
778 | loop(++index);
|
779 | },
|
780 | fail: function fail() {
|
781 | var deleteItem = imgMap[img];
|
782 | if (params.onUploadFail) params.onUploadFail(imgMap, { id: img, index: index, item: deleteItem, errMsg: 'uploadImage:' + msg });
|
783 | if (index >= imgs.length - 1 && params.onUploadsSuccess) params.onUploadsSuccess(imgMap);
|
784 | loop(++index);
|
785 | }
|
786 | });
|
787 | };
|
788 | loop(0);
|
789 | };
|
790 | }
|
791 | };
|
792 | export default Bridge; |
\ | No newline at end of file |