1 | var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2 | function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3 | return new (P || (P = Promise))(function (resolve, reject) {
|
4 | function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
5 | function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
6 | function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
7 | step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8 | });
|
9 | };
|
10 | import MobileDetect from 'mobile-detect';
|
11 | let md;
|
12 | let preTitle = document.title;
|
13 | let isLoadDdEntry = false;
|
14 | export function getMobileDetect() {
|
15 | if (!md) {
|
16 | md = new MobileDetect(navigator.userAgent);
|
17 | }
|
18 | return md;
|
19 | }
|
20 | export function setTitle(title) {
|
21 | return __awaiter(this, void 0, void 0, function* () {
|
22 | if (preTitle === title)
|
23 | return title;
|
24 | document.title = title;
|
25 | preTitle = title;
|
26 | if (process.env.SUPPORT_DINGTALK_NAVIGATE !== 'disabled' && isDingTalk()) {
|
27 | if (!isLoadDdEntry) {
|
28 | isLoadDdEntry = true;
|
29 | require('dingtalk-jsapi/platform');
|
30 | }
|
31 | const setDingTitle = require('dingtalk-jsapi/api/biz/navigation/setTitle').default;
|
32 | setDingTitle({ title });
|
33 | }
|
34 | return title;
|
35 | });
|
36 | }
|
37 | export function isWeixin() {
|
38 | const md = getMobileDetect();
|
39 | return md.match(/MicroMessenger/ig);
|
40 | }
|
41 | export function isDingTalk() {
|
42 | const md = getMobileDetect();
|
43 | return md.match(/DingTalk/ig);
|
44 | }
|