@neysf/qiyu-web-sdk 1.1.1 → 1.1.2
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/dist/index.d.ts +48 -3
- package/dist/index.js +29 -28
- package/es/index.d.ts +48 -3
- package/es/index.js +26 -25
- package/package.json +1 -1
- package/static/demo.d389deb7.js +2 -0
- package/static/index.html +1 -1
- package/static/demo.40afc4a1.js +0 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,49 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export interface objParamsTyoe {
|
|
2
|
+
templateId?: string | number;
|
|
3
|
+
shuntId?: Number;
|
|
4
|
+
sessionInvite?: Boolean;
|
|
5
|
+
hidden?: Boolean;
|
|
6
|
+
}
|
|
7
|
+
type apiTypes = 'onready' | 'product' | 'logoff' | 'open' | 'url' | 'onunread' | 'getUnreadMsg' | 'getConversation' | 'onConversation' | 'onSessionMessage' | 'config';
|
|
8
|
+
export interface OptionsType {
|
|
9
|
+
uid?: string;
|
|
10
|
+
name?: string;
|
|
11
|
+
email?: string;
|
|
12
|
+
mobile?: string;
|
|
13
|
+
bid?: string;
|
|
14
|
+
data?: string;
|
|
15
|
+
staffid?: string;
|
|
16
|
+
groupid?: string;
|
|
17
|
+
shuntId?: string;
|
|
18
|
+
robotShuntSwitch?: 1 | 0;
|
|
19
|
+
level?: number;
|
|
20
|
+
qtype?: number;
|
|
21
|
+
welcomeTemplateId?: number;
|
|
22
|
+
success?: () => void;
|
|
23
|
+
error?: () => void;
|
|
24
|
+
connectYunxin?: boolean;
|
|
25
|
+
wxworkAppId?: string;
|
|
26
|
+
spkf?: 1 | 0;
|
|
27
|
+
isShowBack?: 1 | 0;
|
|
28
|
+
language?: string;
|
|
29
|
+
shortcutTemplateId?: number;
|
|
30
|
+
layerSize?: {
|
|
31
|
+
width?: number;
|
|
32
|
+
height?: number;
|
|
33
|
+
inputHeight?: number;
|
|
34
|
+
};
|
|
35
|
+
[string: string]: any;
|
|
36
|
+
}
|
|
37
|
+
export type YsfSdk = (key: apiTypes, options?: OptionsType) => void;
|
|
38
|
+
export type EnvType = 'test' | 'release' | 'online' | 'overseas';
|
|
39
|
+
export interface YSFType {
|
|
40
|
+
init: (appKey: string, objParams?: objParamsTyoe, env?: EnvType) => Promise<YsfSdk>;
|
|
4
41
|
}
|
|
42
|
+
declare global {
|
|
43
|
+
interface Window {
|
|
44
|
+
ysf: Function;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
declare const YSF: YSFType;
|
|
49
|
+
export default YSF;
|
package/dist/index.js
CHANGED
|
@@ -7,49 +7,54 @@ exports.default = void 0;
|
|
|
7
7
|
var mapEnv = {
|
|
8
8
|
test: 'qytest.netease.com',
|
|
9
9
|
release: 'qiyukf.netease.com',
|
|
10
|
-
online: 'qiyukf.com'
|
|
10
|
+
online: 'qiyukf.com',
|
|
11
|
+
overseas: 'servehub.aiconn.com'
|
|
11
12
|
};
|
|
12
13
|
var TIMEOUT = 30000;
|
|
13
14
|
var YSF = {};
|
|
14
|
-
|
|
15
15
|
YSF.init = function (appKey, objParams, env) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
try {
|
|
17
|
+
// 日志上报
|
|
18
|
+
var img = new Image();
|
|
19
|
+
// ua信息在request headers中有带过去,不需要在链接重新传了~
|
|
20
|
+
img.src = "https://qiyukf.com/sdk/res/img/loading.gif?t=" + new Date().getTime() + "&k=" + appKey;
|
|
21
|
+
} catch (error) {
|
|
22
|
+
console.log(error);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// eslint-disable-next-line compat/compat
|
|
20
26
|
var promise = new Promise(function (resolve, reject) {
|
|
21
27
|
if (!appKey) {
|
|
22
28
|
reject(new Error('appKey必填'));
|
|
23
29
|
}
|
|
24
|
-
|
|
25
30
|
if (Object.prototype.toString.call(objParams) !== '[object Object]') {
|
|
26
31
|
reject(new Error('参数类型错误,第二个参数应该是object'));
|
|
27
32
|
}
|
|
28
|
-
|
|
29
33
|
var ret = [];
|
|
30
|
-
|
|
31
34
|
if (objParams) {
|
|
32
35
|
for (var item in objParams) {
|
|
33
36
|
console.log(item);
|
|
34
37
|
ret.push(item + "=" + objParams[item]);
|
|
35
38
|
}
|
|
36
39
|
}
|
|
37
|
-
|
|
38
40
|
var params = ret.length ? "?" + ret.join('&') : '';
|
|
39
41
|
var head = document.getElementsByTagName('head')[0];
|
|
40
42
|
var script = document.createElement('script');
|
|
41
43
|
script.type = 'text/javascript';
|
|
42
44
|
script.async = true;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
+
if (env && !mapEnv[env]) {
|
|
46
|
+
script.src = "//" + env + "/script/" + appKey + ".js" + params;
|
|
47
|
+
} else {
|
|
48
|
+
script.src = "//" + mapEnv[env || 'online'] + "/script/" + appKey + ".js" + params;
|
|
49
|
+
}
|
|
50
|
+
// eslint-disable-next-line prefer-const
|
|
45
51
|
var timeout;
|
|
46
|
-
|
|
47
52
|
function onScriptComplete(errType, event) {
|
|
48
53
|
script.onerror = null;
|
|
49
54
|
script.onload = null;
|
|
50
55
|
var errorMsg = '';
|
|
51
|
-
clearTimeout(timeout);
|
|
52
|
-
|
|
56
|
+
clearTimeout(timeout);
|
|
57
|
+
// 加载成功
|
|
53
58
|
if (window.ysf) {
|
|
54
59
|
window.ysf('onready', function () {
|
|
55
60
|
// sdk执行完成
|
|
@@ -64,32 +69,28 @@ YSF.init = function (appKey, objParams, env) {
|
|
|
64
69
|
} else {
|
|
65
70
|
// timeout error
|
|
66
71
|
errorMsg = 'SDK_LOADING_TIMEOUT';
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
72
|
+
}
|
|
73
|
+
// 上报错误信息
|
|
74
|
+
try {
|
|
75
|
+
var _img = new Image();
|
|
76
|
+
_img.src = "https://qiyukf.com/sdk/res/img/loading.gif?t=" + new Date().getTime() + "&k=" + appKey + "&error=" + errorMsg;
|
|
77
|
+
} catch (error) {
|
|
78
|
+
console.log(error);
|
|
79
|
+
}
|
|
73
80
|
reject(new Error(errorMsg));
|
|
74
81
|
}
|
|
75
82
|
}
|
|
76
|
-
|
|
77
83
|
timeout = setTimeout(function () {
|
|
78
84
|
return onScriptComplete('timeout');
|
|
79
85
|
}, TIMEOUT);
|
|
80
|
-
|
|
81
86
|
script.onerror = function (event) {
|
|
82
87
|
return onScriptComplete('loaderror', event);
|
|
83
88
|
};
|
|
84
|
-
|
|
85
89
|
script.onload = function (event) {
|
|
86
90
|
return onScriptComplete('onload', event);
|
|
87
91
|
};
|
|
88
|
-
|
|
89
92
|
head.appendChild(script);
|
|
90
93
|
});
|
|
91
94
|
return promise;
|
|
92
95
|
};
|
|
93
|
-
|
|
94
|
-
var _default = YSF;
|
|
95
|
-
exports.default = _default;
|
|
96
|
+
var _default = exports.default = YSF;
|
package/es/index.d.ts
CHANGED
|
@@ -1,4 +1,49 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export interface objParamsTyoe {
|
|
2
|
+
templateId?: string | number;
|
|
3
|
+
shuntId?: Number;
|
|
4
|
+
sessionInvite?: Boolean;
|
|
5
|
+
hidden?: Boolean;
|
|
6
|
+
}
|
|
7
|
+
type apiTypes = 'onready' | 'product' | 'logoff' | 'open' | 'url' | 'onunread' | 'getUnreadMsg' | 'getConversation' | 'onConversation' | 'onSessionMessage' | 'config';
|
|
8
|
+
export interface OptionsType {
|
|
9
|
+
uid?: string;
|
|
10
|
+
name?: string;
|
|
11
|
+
email?: string;
|
|
12
|
+
mobile?: string;
|
|
13
|
+
bid?: string;
|
|
14
|
+
data?: string;
|
|
15
|
+
staffid?: string;
|
|
16
|
+
groupid?: string;
|
|
17
|
+
shuntId?: string;
|
|
18
|
+
robotShuntSwitch?: 1 | 0;
|
|
19
|
+
level?: number;
|
|
20
|
+
qtype?: number;
|
|
21
|
+
welcomeTemplateId?: number;
|
|
22
|
+
success?: () => void;
|
|
23
|
+
error?: () => void;
|
|
24
|
+
connectYunxin?: boolean;
|
|
25
|
+
wxworkAppId?: string;
|
|
26
|
+
spkf?: 1 | 0;
|
|
27
|
+
isShowBack?: 1 | 0;
|
|
28
|
+
language?: string;
|
|
29
|
+
shortcutTemplateId?: number;
|
|
30
|
+
layerSize?: {
|
|
31
|
+
width?: number;
|
|
32
|
+
height?: number;
|
|
33
|
+
inputHeight?: number;
|
|
34
|
+
};
|
|
35
|
+
[string: string]: any;
|
|
36
|
+
}
|
|
37
|
+
export type YsfSdk = (key: apiTypes, options?: OptionsType) => void;
|
|
38
|
+
export type EnvType = 'test' | 'release' | 'online' | 'overseas';
|
|
39
|
+
export interface YSFType {
|
|
40
|
+
init: (appKey: string, objParams?: objParamsTyoe, env?: EnvType) => Promise<YsfSdk>;
|
|
4
41
|
}
|
|
42
|
+
declare global {
|
|
43
|
+
interface Window {
|
|
44
|
+
ysf: Function;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
declare const YSF: YSFType;
|
|
49
|
+
export default YSF;
|
package/es/index.js
CHANGED
|
@@ -6,45 +6,49 @@ var mapEnv = {
|
|
|
6
6
|
};
|
|
7
7
|
var TIMEOUT = 30000;
|
|
8
8
|
var YSF = {};
|
|
9
|
-
|
|
10
9
|
YSF.init = function (appKey, objParams, env) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
try {
|
|
11
|
+
// 日志上报
|
|
12
|
+
var img = new Image();
|
|
13
|
+
// ua信息在request headers中有带过去,不需要在链接重新传了~
|
|
14
|
+
img.src = "https://qiyukf.com/sdk/res/img/loading.gif?t=" + new Date().getTime() + "&k=" + appKey;
|
|
15
|
+
} catch (error) {
|
|
16
|
+
console.log(error);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// eslint-disable-next-line compat/compat
|
|
15
20
|
var promise = new Promise(function (resolve, reject) {
|
|
16
21
|
if (!appKey) {
|
|
17
22
|
reject(new Error('appKey必填'));
|
|
18
23
|
}
|
|
19
|
-
|
|
20
24
|
if (Object.prototype.toString.call(objParams) !== '[object Object]') {
|
|
21
25
|
reject(new Error('参数类型错误,第二个参数应该是object'));
|
|
22
26
|
}
|
|
23
|
-
|
|
24
27
|
var ret = [];
|
|
25
|
-
|
|
26
28
|
if (objParams) {
|
|
27
29
|
for (var item in objParams) {
|
|
28
30
|
console.log(item);
|
|
29
31
|
ret.push(item + "=" + objParams[item]);
|
|
30
32
|
}
|
|
31
33
|
}
|
|
32
|
-
|
|
33
34
|
var params = ret.length ? "?" + ret.join('&') : '';
|
|
34
35
|
var head = document.getElementsByTagName('head')[0];
|
|
35
36
|
var script = document.createElement('script');
|
|
36
37
|
script.type = 'text/javascript';
|
|
37
38
|
script.async = true;
|
|
38
|
-
|
|
39
|
-
|
|
39
|
+
if (env && !mapEnv[env]) {
|
|
40
|
+
script.src = "//" + env + "/script/" + appKey + ".js" + params;
|
|
41
|
+
} else {
|
|
42
|
+
script.src = "//" + mapEnv[env || 'online'] + "/script/" + appKey + ".js" + params;
|
|
43
|
+
}
|
|
44
|
+
// eslint-disable-next-line prefer-const
|
|
40
45
|
var timeout;
|
|
41
|
-
|
|
42
46
|
function onScriptComplete(errType, event) {
|
|
43
47
|
script.onerror = null;
|
|
44
48
|
script.onload = null;
|
|
45
49
|
var errorMsg = '';
|
|
46
|
-
clearTimeout(timeout);
|
|
47
|
-
|
|
50
|
+
clearTimeout(timeout);
|
|
51
|
+
// 加载成功
|
|
48
52
|
if (window.ysf) {
|
|
49
53
|
window.ysf('onready', function () {
|
|
50
54
|
// sdk执行完成
|
|
@@ -59,31 +63,28 @@ YSF.init = function (appKey, objParams, env) {
|
|
|
59
63
|
} else {
|
|
60
64
|
// timeout error
|
|
61
65
|
errorMsg = 'SDK_LOADING_TIMEOUT';
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
}
|
|
67
|
+
// 上报错误信息
|
|
68
|
+
try {
|
|
69
|
+
var _img = new Image();
|
|
70
|
+
_img.src = "https://qiyukf.com/sdk/res/img/loading.gif?t=" + new Date().getTime() + "&k=" + appKey + "&error=" + errorMsg;
|
|
71
|
+
} catch (error) {
|
|
72
|
+
console.log(error);
|
|
73
|
+
}
|
|
68
74
|
reject(new Error(errorMsg));
|
|
69
75
|
}
|
|
70
76
|
}
|
|
71
|
-
|
|
72
77
|
timeout = setTimeout(function () {
|
|
73
78
|
return onScriptComplete('timeout');
|
|
74
79
|
}, TIMEOUT);
|
|
75
|
-
|
|
76
80
|
script.onerror = function (event) {
|
|
77
81
|
return onScriptComplete('loaderror', event);
|
|
78
82
|
};
|
|
79
|
-
|
|
80
83
|
script.onload = function (event) {
|
|
81
84
|
return onScriptComplete('onload', event);
|
|
82
85
|
};
|
|
83
|
-
|
|
84
86
|
head.appendChild(script);
|
|
85
87
|
});
|
|
86
88
|
return promise;
|
|
87
89
|
};
|
|
88
|
-
|
|
89
90
|
export default YSF;
|