askbot-dragon 1.7.15-beta → 1.7.16-beta
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 +1 -1
- package/src/assets/js/AliyunlssUtil.js +50 -26
- package/src/components/AiGuide.vue +119 -154
- package/src/components/ConversationContainer.vue +6 -6
- package/src/components/MyEditor.vue +1 -1
- package/src/components/formTemplate.vue +1 -1
- package/src/components/utils/ckeditor.js +1 -1
- package/src/components/utils/AliyunIssUtil.js +0 -81
package/package.json
CHANGED
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
+
|
|
3
4
|
const OSS = require('ali-oss');
|
|
4
5
|
|
|
5
|
-
const ossConfig={
|
|
6
|
+
const ossConfig = {
|
|
6
7
|
region: "oss-cn-zhangjiakou",
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
//云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用STS方式来进行API访问
|
|
9
|
+
accessKeyId: "LTAI4G3QtdEdwkEbihBngAsK",
|
|
10
|
+
accessKeySecret: "OwgdVfc5PeCkIgqIdug660xmiSPchn",
|
|
11
|
+
// stsToken: '<Your securityToken(STS)>',
|
|
12
|
+
bucket: "guoranopen-zjk",
|
|
12
13
|
};
|
|
13
14
|
|
|
14
15
|
let IDX = 256, HEX = [], SIZE = 256, BUFFER;
|
|
15
16
|
while (IDX--) HEX[IDX] = (IDX + 256).toString(16).substring(1);
|
|
16
17
|
let mainId = sessionStorage.getItem('_mainId') ? sessionStorage.getItem('_mainId') : "";
|
|
17
|
-
function uid(len) {
|
|
18
|
+
function uid (len) {
|
|
18
19
|
let i = 0, tmp = (len || 11);
|
|
19
20
|
if (!BUFFER || ((IDX + tmp) > SIZE * 2)) {
|
|
20
21
|
for (BUFFER = '', IDX = 0; i < SIZE; i++) {
|
|
@@ -25,7 +26,7 @@ function uid(len) {
|
|
|
25
26
|
return BUFFER.substring(IDX, IDX++ + tmp);
|
|
26
27
|
}
|
|
27
28
|
|
|
28
|
-
function dataFormat(fmt, date = new Date()) {
|
|
29
|
+
function dataFormat (fmt, date = new Date()) {
|
|
29
30
|
const o = {
|
|
30
31
|
"M+": date.getMonth() + 1, //月份
|
|
31
32
|
"d+": date.getDate(), //日
|
|
@@ -41,12 +42,12 @@ function dataFormat(fmt, date = new Date()) {
|
|
|
41
42
|
return fmt;
|
|
42
43
|
}
|
|
43
44
|
|
|
44
|
-
function pathGenerate(filename) {
|
|
45
|
+
function pathGenerate (filename) {
|
|
45
46
|
return "front-oss/" + mainId + '/' + dataFormat("yyyy/MM/dd/hh/mm/") + uid(32) + "/" + filename;
|
|
46
47
|
}
|
|
47
48
|
|
|
48
49
|
|
|
49
|
-
async function upload(ossConfig, data) {
|
|
50
|
+
async function upload (ossConfig, data) {
|
|
50
51
|
let ossClient = new OSS(ossConfig);
|
|
51
52
|
// object-key可以自定义为文件名(例如file.txt)或目录(例如abc/test/file.txt)的形式,实现将文件上传至当前Bucket或Bucket下的指定目录。
|
|
52
53
|
let objectKey = pathGenerate(data.name);
|
|
@@ -55,23 +56,46 @@ async function upload(ossConfig, data) {
|
|
|
55
56
|
return result;
|
|
56
57
|
}
|
|
57
58
|
|
|
58
|
-
async function multipartUpload(ossConfig, data, callback,extCallback) {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
59
|
+
async function multipartUpload (ossConfig, data, callback, extCallback) {
|
|
60
|
+
if (process.env.VUE_APP_UPLOAD_PRIVATE) {
|
|
61
|
+
return new Promise((resolve) => {
|
|
62
|
+
let url = process.env.VUE_APP_UPLOAD_PRIVATE
|
|
63
|
+
let xhr = new XMLHttpRequest()
|
|
64
|
+
const formData = new FormData()
|
|
65
|
+
formData.append('file', data)
|
|
66
|
+
xhr.open("POST", url, true);
|
|
67
|
+
// xhr.setRequestHeader("Content-Type", "multipart/form-data")
|
|
68
|
+
xhr.onload = (res) => {
|
|
69
|
+
let reslout = JSON.parse(res.target.response)
|
|
70
|
+
resolve({
|
|
71
|
+
code: reslout.code,
|
|
72
|
+
res: {
|
|
73
|
+
requestUrls: [reslout.data]
|
|
74
|
+
},
|
|
75
|
+
name: reslout.data
|
|
76
|
+
})
|
|
68
77
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
78
|
+
xhr.send(formData)
|
|
79
|
+
})
|
|
80
|
+
|
|
81
|
+
} else {
|
|
82
|
+
let ossClient = new OSS(ossConfig);
|
|
83
|
+
// object-key可以自定义为文件名(例如file.txt)或目录(例如abc/test/file.txt)的形式,实现将文件上传至当前Bucket或Bucket下的指定目录。
|
|
84
|
+
let objectKey = pathGenerate(data.name);
|
|
85
|
+
let res = await ossClient.multipartUpload(objectKey, data, {
|
|
86
|
+
progress: function (p, checkpoint) {
|
|
87
|
+
console.debug('progress callback', p, checkpoint);
|
|
88
|
+
// 断点记录点。浏览器重启后无法直接继续上传,您需要手动触发上传操作。
|
|
89
|
+
if (callback && callback instanceof Function) {
|
|
90
|
+
callback(p, checkpoint, data, extCallback);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
return res;
|
|
95
|
+
}
|
|
72
96
|
}
|
|
73
97
|
|
|
74
|
-
function ossFileUrl(ossConfig, path, cname) {
|
|
98
|
+
function ossFileUrl (ossConfig, path, cname) {
|
|
75
99
|
if (cname == null) {
|
|
76
100
|
return '//' + ossConfig.bucket + '.' + ossConfig.region + '.aliyuncs.com/' + path;
|
|
77
101
|
} else {
|
|
@@ -79,7 +103,7 @@ function ossFileUrl(ossConfig, path, cname) {
|
|
|
79
103
|
}
|
|
80
104
|
}
|
|
81
105
|
|
|
82
|
-
function uploadImageByBase64(ossConfig,blob) {
|
|
106
|
+
function uploadImageByBase64 (ossConfig, blob) {
|
|
83
107
|
let ossClient = new OSS(ossConfig);
|
|
84
108
|
|
|
85
109
|
// object-key可以自定义为文件名(例如file.txt)或目录(例如abc/test/file.txt)的形 式,实现将文件上传至当前Bucket或Bucket下的指定目录。
|
|
@@ -89,4 +113,4 @@ function uploadImageByBase64(ossConfig,blob) {
|
|
|
89
113
|
return result;
|
|
90
114
|
}
|
|
91
115
|
|
|
92
|
-
export {upload, multipartUpload, ossFileUrl,uploadImageByBase64,ossConfig}
|
|
116
|
+
export { upload, multipartUpload, ossFileUrl, uploadImageByBase64, ossConfig }
|
|
@@ -1,196 +1,140 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
phoneClass: isPhone,
|
|
7
|
-
companyClass: isPC,
|
|
8
|
-
}"
|
|
9
|
-
>
|
|
2
|
+
<div id="ai-guide" class="ai-guide" :class="{
|
|
3
|
+
phoneClass: isPhone,
|
|
4
|
+
companyClass: isPC,
|
|
5
|
+
}">
|
|
10
6
|
<div class="ig-view-cli">
|
|
11
7
|
<!-- 描述 -->
|
|
12
|
-
<div
|
|
13
|
-
v-show="aiGuide.content.descriptionVisible && aiGuide.content.description !== ''"
|
|
14
|
-
class="ig-types-des"
|
|
15
|
-
>
|
|
8
|
+
<div v-show="aiGuide.content.descriptionVisible && aiGuide.content.description !== ''" class="ig-types-des">
|
|
16
9
|
<span v-html="aiGuide.content.description"></span>
|
|
17
10
|
</div>
|
|
18
11
|
<!-- 一级分类 -->
|
|
19
|
-
<div v-show="aiGuide.content.typesVisible && aiGuide.content.options && aiGuide.content.options.length > 0"
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
@click="changeFirstType(fTypeIndex)"
|
|
24
|
-
:class="[
|
|
12
|
+
<div v-show="aiGuide.content.typesVisible && aiGuide.content.options && aiGuide.content.options.length > 0"
|
|
13
|
+
class="ig-types-f">
|
|
14
|
+
<span v-for="(fType, fTypeIndex) in aiGuide.content.options" :key="`f_${fTypeIndex}`"
|
|
15
|
+
@click="changeFirstType(fTypeIndex)" :class="[
|
|
25
16
|
'ig-types-f-cell',
|
|
26
17
|
activeFirstTypeIndex === fTypeIndex
|
|
27
18
|
? 'ig-types-f-cell-active'
|
|
28
19
|
: '',
|
|
29
|
-
]"
|
|
30
|
-
>{{ fType.name }}</span
|
|
31
|
-
>
|
|
20
|
+
]">{{ fType.name }}</span>
|
|
32
21
|
</div>
|
|
33
22
|
<!-- 二级分类 -->
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
? 'ig-types-s-cell-active'
|
|
45
|
-
: '',
|
|
46
|
-
]"
|
|
47
|
-
>{{ sType.name }}</span
|
|
48
|
-
>
|
|
23
|
+
<div v-if="aiGuide.content.typesVisible && aiGuide.content.options[activeFirstTypeIndex] && aiGuide.content.options[activeFirstTypeIndex].types && aiGuide.content.options[activeFirstTypeIndex].types.length !== 0"
|
|
24
|
+
class="ig-types-s">
|
|
25
|
+
<span v-for="(sType, sTypeIndex) in aiGuide.content.options[
|
|
26
|
+
activeFirstTypeIndex
|
|
27
|
+
].types" :key="`s_${sTypeIndex}`" @click="changeLastType(sTypeIndex)" :class="[
|
|
28
|
+
'ig-types-s-cell',
|
|
29
|
+
activeSecondTypeIndex === sTypeIndex
|
|
30
|
+
? 'ig-types-s-cell-active'
|
|
31
|
+
: '',
|
|
32
|
+
]">{{ sType.name }}</span>
|
|
49
33
|
</div>
|
|
50
34
|
<!-- 横向排版 -->
|
|
51
|
-
<div
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
"
|
|
56
|
-
class="ig-types-tags"
|
|
57
|
-
>
|
|
58
|
-
<span
|
|
59
|
-
v-for="(
|
|
35
|
+
<div v-show="activeOtherObj.recommendType == 0 &&
|
|
36
|
+
aiGuide.content.typesetting === 'horizontal'
|
|
37
|
+
" class="ig-types-tags">
|
|
38
|
+
<span v-for="(
|
|
60
39
|
intentCell, intentCellIndex
|
|
61
|
-
) in recommendIntentPageList(activeOtherObj)"
|
|
62
|
-
@click="
|
|
40
|
+
) in recommendIntentPageList(activeOtherObj)" @click="
|
|
63
41
|
sendAiGuideInfo(
|
|
64
42
|
activeOtherObj.recommendType,
|
|
65
43
|
intentCell
|
|
66
44
|
)
|
|
67
|
-
|
|
68
|
-
:key="`i_${intentCellIndex}`"
|
|
69
|
-
class="ig-types-tags-cell"
|
|
70
|
-
>{{ intentCell.questionName }}</span
|
|
71
|
-
>
|
|
45
|
+
" :key="`i_${intentCellIndex}`" class="ig-types-tags-cell">{{ intentCell.questionName }}</span>
|
|
72
46
|
</div>
|
|
73
47
|
<!-- 竖向排版 -->
|
|
74
|
-
<div
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
"
|
|
79
|
-
class="ig-types-list"
|
|
80
|
-
>
|
|
81
|
-
<span
|
|
82
|
-
v-for="(
|
|
48
|
+
<div v-show="activeOtherObj.recommendType == 0 &&
|
|
49
|
+
aiGuide.content.typesetting === 'vertical'
|
|
50
|
+
" class="ig-types-list">
|
|
51
|
+
<span v-for="(
|
|
83
52
|
intentCell, intentCellIndex
|
|
84
|
-
) in recommendIntentPageList(activeOtherObj)"
|
|
85
|
-
@click="
|
|
53
|
+
) in recommendIntentPageList(activeOtherObj)" @click="
|
|
86
54
|
sendAiGuideInfo(
|
|
87
55
|
activeOtherObj.recommendType,
|
|
88
56
|
intentCell
|
|
89
57
|
)
|
|
90
|
-
|
|
91
|
-
:key="`i_${intentCellIndex}`"
|
|
92
|
-
class="ig-types-list-cell"
|
|
93
|
-
>
|
|
58
|
+
" :key="`i_${intentCellIndex}`" class="ig-types-list-cell">
|
|
94
59
|
<span>{{ intentCell.questionName }}</span>
|
|
95
|
-
<span><svg t="1720148108415" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
|
96
|
-
|
|
60
|
+
<span><svg t="1720148108415" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
|
61
|
+
xmlns="http://www.w3.org/2000/svg" p-id="96725" width="12" height="12">
|
|
62
|
+
<path
|
|
63
|
+
d="M246.728409 927.106061l414.195993-414.195993-409.542106-417.779487A57.615128 57.615128 0 0 1 256.036184 16.247187a49.377747 49.377747 0 0 1 37.2311-16.335145 48.02812 48.02812 0 0 1 37.231101 16.893611l446.773206 457.616765a57.568589 57.568589 0 0 1-4.653887 78.883394c0 1.489244 0 2.792333-4.653888 4.095421L325.844497 1006.408305a56.218962 56.218962 0 0 1-79.116088-0.605005 62.687865 62.687865 0 0 1 0-78.697239z"
|
|
64
|
+
p-id="96726" fill="#366aff"></path>
|
|
65
|
+
</svg></span></span>
|
|
97
66
|
</div>
|
|
98
67
|
<!-- 横向排版 -->
|
|
99
|
-
<div
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
class="ig-types-tags"
|
|
105
|
-
>
|
|
106
|
-
<span
|
|
107
|
-
v-for="(intentCell, intentCellIndex) in recommendIntentPageList(activeOtherObj)"
|
|
108
|
-
:key="`i_${intentCellIndex}`"
|
|
109
|
-
@click="
|
|
68
|
+
<div v-show="activeOtherObj.recommendType == 1 &&
|
|
69
|
+
aiGuide.content.typesetting === 'horizontal'
|
|
70
|
+
" class="ig-types-tags">
|
|
71
|
+
<span v-for="(intentCell, intentCellIndex) in recommendIntentPageList(activeOtherObj)"
|
|
72
|
+
:key="`i_${intentCellIndex}`" @click="
|
|
110
73
|
sendAiGuideInfo(
|
|
111
74
|
activeOtherObj.recommendType,
|
|
112
75
|
intentCell
|
|
113
76
|
)
|
|
114
|
-
|
|
115
|
-
class="ig-types-tags-cell"
|
|
116
|
-
>{{ intentCell.exampleQuestion }}</span
|
|
117
|
-
>
|
|
77
|
+
" class="ig-types-tags-cell">{{ intentCell.exampleQuestion }}</span>
|
|
118
78
|
</div>
|
|
119
79
|
<!-- 竖向排版 -->
|
|
120
|
-
<div
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
class="ig-types-list"
|
|
126
|
-
>
|
|
127
|
-
<span
|
|
128
|
-
v-for="(intentCell, intentCellIndex) in recommendIntentPageList(activeOtherObj)"
|
|
129
|
-
:key="`i_${intentCellIndex}`"
|
|
130
|
-
@click="
|
|
80
|
+
<div v-show="activeOtherObj.recommendType == 1 &&
|
|
81
|
+
aiGuide.content.typesetting === 'vertical'
|
|
82
|
+
" class="ig-types-list">
|
|
83
|
+
<span v-for="(intentCell, intentCellIndex) in recommendIntentPageList(activeOtherObj)"
|
|
84
|
+
:key="`i_${intentCellIndex}`" @click="
|
|
131
85
|
sendAiGuideInfo(
|
|
132
86
|
activeOtherObj.recommendType,
|
|
133
87
|
intentCell
|
|
134
88
|
)
|
|
135
|
-
|
|
136
|
-
class="ig-types-list-cell"
|
|
137
|
-
>
|
|
89
|
+
" class="ig-types-list-cell">
|
|
138
90
|
<span>{{ intentCell.exampleQuestion }}</span>
|
|
139
|
-
<span><svg t="1720148108415" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
|
140
|
-
|
|
91
|
+
<span><svg t="1720148108415" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
|
92
|
+
xmlns="http://www.w3.org/2000/svg" p-id="96725" width="12" height="12">
|
|
93
|
+
<path
|
|
94
|
+
d="M246.728409 927.106061l414.195993-414.195993-409.542106-417.779487A57.615128 57.615128 0 0 1 256.036184 16.247187a49.377747 49.377747 0 0 1 37.2311-16.335145 48.02812 48.02812 0 0 1 37.231101 16.893611l446.773206 457.616765a57.568589 57.568589 0 0 1-4.653887 78.883394c0 1.489244 0 2.792333-4.653888 4.095421L325.844497 1006.408305a56.218962 56.218962 0 0 1-79.116088-0.605005 62.687865 62.687865 0 0 1 0-78.697239z"
|
|
95
|
+
p-id="96726" fill="#366aff"></path>
|
|
96
|
+
</svg></span></span>
|
|
141
97
|
</div>
|
|
142
98
|
<!-- 横向排版 -->
|
|
143
|
-
<div
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
class="ig-types-tags"
|
|
149
|
-
>
|
|
150
|
-
<span
|
|
151
|
-
v-for="(intentCell, intentCellIndex) in recommendIntentPageList(activeOtherObj)"
|
|
152
|
-
:key="`i_${intentCellIndex}`"
|
|
153
|
-
@click="
|
|
99
|
+
<div v-show="activeOtherObj.recommendType == 2 &&
|
|
100
|
+
aiGuide.content.typesetting === 'horizontal'
|
|
101
|
+
" class="ig-types-tags">
|
|
102
|
+
<span v-for="(intentCell, intentCellIndex) in recommendIntentPageList(activeOtherObj)"
|
|
103
|
+
:key="`i_${intentCellIndex}`" @click="
|
|
154
104
|
sendAiGuideInfo(
|
|
155
105
|
activeOtherObj.recommendType,
|
|
156
106
|
intentCell
|
|
157
107
|
)
|
|
158
|
-
|
|
159
|
-
class="ig-types-tags-cell"
|
|
160
|
-
>{{ intentCell.exampleQuestion }}</span
|
|
161
|
-
>
|
|
108
|
+
" class="ig-types-tags-cell">{{ intentCell.exampleQuestion }}</span>
|
|
162
109
|
</div>
|
|
163
110
|
<!-- 竖向排版 -->
|
|
164
|
-
<div
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
class="ig-types-list"
|
|
170
|
-
>
|
|
171
|
-
<span
|
|
172
|
-
v-for="(intentCell, intentCellIndex) in recommendIntentPageList(activeOtherObj)"
|
|
173
|
-
:key="`i_${intentCellIndex}`"
|
|
174
|
-
@click="
|
|
111
|
+
<div v-show="activeOtherObj.recommendType == 2 &&
|
|
112
|
+
aiGuide.content.typesetting === 'vertical'
|
|
113
|
+
" class="ig-types-list">
|
|
114
|
+
<span v-for="(intentCell, intentCellIndex) in recommendIntentPageList(activeOtherObj)"
|
|
115
|
+
:key="`i_${intentCellIndex}`" @click="
|
|
175
116
|
sendAiGuideInfo(
|
|
176
117
|
activeOtherObj.recommendType,
|
|
177
118
|
intentCell
|
|
178
119
|
)
|
|
179
|
-
|
|
180
|
-
class="ig-types-list-cell"
|
|
181
|
-
>
|
|
120
|
+
" class="ig-types-list-cell">
|
|
182
121
|
<span>{{ intentCell.exampleQuestion }}</span>
|
|
183
|
-
<span><svg t="1720148108415" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
|
184
|
-
|
|
122
|
+
<span><svg t="1720148108415" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
|
123
|
+
xmlns="http://www.w3.org/2000/svg" p-id="96725" width="12" height="12">
|
|
124
|
+
<path
|
|
125
|
+
d="M246.728409 927.106061l414.195993-414.195993-409.542106-417.779487A57.615128 57.615128 0 0 1 256.036184 16.247187a49.377747 49.377747 0 0 1 37.2311-16.335145 48.02812 48.02812 0 0 1 37.231101 16.893611l446.773206 457.616765a57.568589 57.568589 0 0 1-4.653887 78.883394c0 1.489244 0 2.792333-4.653888 4.095421L325.844497 1006.408305a56.218962 56.218962 0 0 1-79.116088-0.605005 62.687865 62.687865 0 0 1 0-78.697239z"
|
|
126
|
+
p-id="96726" fill="#366aff"></path>
|
|
127
|
+
</svg></span></span>
|
|
185
128
|
</div>
|
|
186
|
-
<div
|
|
187
|
-
v-if="aiGuide.content.groupVisible && totalPage > 1"
|
|
188
|
-
class="ig-change-list"
|
|
189
|
-
>
|
|
129
|
+
<div v-if="aiGuide.content.groupVisible && totalPage > 1" class="ig-change-list">
|
|
190
130
|
<span @click="changeIntellectGuide" class="ig-change-list-btn">
|
|
191
|
-
<svg t="1720148246364" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
|
192
|
-
|
|
193
|
-
|
|
131
|
+
<svg t="1720148246364" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
|
132
|
+
xmlns="http://www.w3.org/2000/svg" p-id="136175" width="16" height="16">
|
|
133
|
+
<path
|
|
134
|
+
d="M225.6 540.8C240 686.4 363.2 800 512 800c76.8 0 150.4-30.4 203.2-84.8 12.8-12.8 32-12.8 44.8 0s12.8 32 0 44.8c-64 65.6-153.6 104-248 104-184 0-336-142.4-350.4-323.2l-43.2 41.6c-12.8 12.8-33.6 11.2-44.8 0s-11.2-33.6 0-44.8l99.2-96c12.8-12.8 33.6-11.2 44.8 0l92.8 96c12.8 12.8 11.2 33.6-1.6 44.8-12.8 12.8-33.6 11.2-44.8-1.6l-38.4-40zM800 497.6C792 345.6 665.6 224 512 224c-76.8 0-148.8 30.4-203.2 83.2-12.8 12.8-33.6 12.8-44.8 0-12.8-12.8-12.8-33.6 0-44.8 65.6-64 153.6-102.4 248-102.4 192 0 347.2 153.6 352 342.4l41.6-40c12.8-12.8 33.6-11.2 44.8 1.6 12.8 12.8 11.2 33.6-1.6 44.8l-94.4 89.6c-12.8 11.2-32 11.2-44.8 0l-97.6-96c-12.8-12.8-12.8-32 0-44.8 12.8-12.8 32-12.8 44.8 0l43.2 40z"
|
|
135
|
+
p-id="136176" fill="#366aff"></path>
|
|
136
|
+
</svg>
|
|
137
|
+
{{ $t('common.changeBatch') }}</span>
|
|
194
138
|
</div>
|
|
195
139
|
</div>
|
|
196
140
|
</div>
|
|
@@ -198,7 +142,7 @@
|
|
|
198
142
|
<script>
|
|
199
143
|
export default {
|
|
200
144
|
name: "aiGuide",
|
|
201
|
-
data() {
|
|
145
|
+
data () {
|
|
202
146
|
return {
|
|
203
147
|
isPhone: false,
|
|
204
148
|
isPC: false,
|
|
@@ -229,13 +173,13 @@ export default {
|
|
|
229
173
|
},
|
|
230
174
|
props: {
|
|
231
175
|
aiGuide: Object,
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
176
|
+
language: {
|
|
177
|
+
type: String,
|
|
178
|
+
default: "cn"
|
|
179
|
+
}
|
|
236
180
|
},
|
|
237
|
-
beforeMount() {},
|
|
238
|
-
mounted() {
|
|
181
|
+
beforeMount () { },
|
|
182
|
+
mounted () {
|
|
239
183
|
this.isMobile();
|
|
240
184
|
if (this.aiGuide.content.options[0] && this.aiGuide.content.options[0] && this.aiGuide.content.options[0].types && this.aiGuide.content.options[0].types.length === 0) {
|
|
241
185
|
this.activeOtherObj = this.aiGuide.content.options[0];
|
|
@@ -245,7 +189,7 @@ export default {
|
|
|
245
189
|
}
|
|
246
190
|
},
|
|
247
191
|
methods: {
|
|
248
|
-
isMobile() {
|
|
192
|
+
isMobile () {
|
|
249
193
|
let flag = navigator.userAgent.match(
|
|
250
194
|
/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i
|
|
251
195
|
);
|
|
@@ -255,14 +199,14 @@ export default {
|
|
|
255
199
|
this.isPC = true;
|
|
256
200
|
}
|
|
257
201
|
},
|
|
258
|
-
changeIntellectGuide() {
|
|
202
|
+
changeIntellectGuide () {
|
|
259
203
|
if (this.activePage === this.totalPage) {
|
|
260
204
|
this.activePage = 1;
|
|
261
205
|
} else {
|
|
262
206
|
this.activePage++;
|
|
263
207
|
}
|
|
264
208
|
},
|
|
265
|
-
changeFirstType(fTypeIndex) {
|
|
209
|
+
changeFirstType (fTypeIndex) {
|
|
266
210
|
this.activeFirstTypeIndex = fTypeIndex;
|
|
267
211
|
if (this.aiGuide.content.options[fTypeIndex].types.length === 0) {
|
|
268
212
|
this.activeOtherObj = this.aiGuide.content.options[fTypeIndex];
|
|
@@ -273,16 +217,16 @@ export default {
|
|
|
273
217
|
}
|
|
274
218
|
this.activePage = 1;
|
|
275
219
|
},
|
|
276
|
-
changeLastType(sTypeIndex) {
|
|
220
|
+
changeLastType (sTypeIndex) {
|
|
277
221
|
this.activeSecondTypeIndex = sTypeIndex;
|
|
278
222
|
this.activeOtherObj =
|
|
279
223
|
this.aiGuide.content.options[this.activeFirstTypeIndex].types[
|
|
280
|
-
|
|
224
|
+
sTypeIndex
|
|
281
225
|
];
|
|
282
226
|
this.activePage = 1;
|
|
283
227
|
},
|
|
284
228
|
// 根据当前分组数页数返回展示列表
|
|
285
|
-
recommendIntentPageList(obj) {
|
|
229
|
+
recommendIntentPageList (obj) {
|
|
286
230
|
let list = [];
|
|
287
231
|
if (obj.recommendType === 0) {
|
|
288
232
|
list = obj.recommendIntentList;
|
|
@@ -313,9 +257,9 @@ export default {
|
|
|
313
257
|
}
|
|
314
258
|
return arr;
|
|
315
259
|
},
|
|
316
|
-
sendAiGuideInfo(recommendType, cell) {
|
|
317
|
-
|
|
318
|
-
|
|
260
|
+
sendAiGuideInfo (recommendType, cell) {
|
|
261
|
+
console.log("组件-312-3", recommendType, cell);
|
|
262
|
+
this.$emit('sendAiGuide', recommendType, cell);
|
|
319
263
|
},
|
|
320
264
|
},
|
|
321
265
|
};
|
|
@@ -327,24 +271,29 @@ export default {
|
|
|
327
271
|
font-size: 0.9em;
|
|
328
272
|
border-radius: 5px;
|
|
329
273
|
position: relative;
|
|
274
|
+
|
|
330
275
|
.ig-view-example {
|
|
331
276
|
position: absolute;
|
|
332
277
|
right: -10px;
|
|
333
278
|
top: -10px;
|
|
334
279
|
opacity: 0.5;
|
|
280
|
+
|
|
335
281
|
img {
|
|
336
282
|
height: 50px;
|
|
337
283
|
}
|
|
338
284
|
}
|
|
285
|
+
|
|
339
286
|
.ig-types-des {
|
|
340
287
|
padding: 12px 16px 0px;
|
|
341
288
|
text-align: left;
|
|
342
289
|
}
|
|
290
|
+
|
|
343
291
|
.ig-types-f {
|
|
344
292
|
display: flex;
|
|
345
293
|
justify-content: flex-start;
|
|
346
294
|
flex-wrap: wrap;
|
|
347
295
|
padding: 4px 8px;
|
|
296
|
+
|
|
348
297
|
.ig-types-f-cell {
|
|
349
298
|
height: 1.8em;
|
|
350
299
|
line-height: 1.8em;
|
|
@@ -360,28 +309,33 @@ export default {
|
|
|
360
309
|
overflow: hidden;
|
|
361
310
|
text-overflow: ellipsis;
|
|
362
311
|
white-space: nowrap;
|
|
312
|
+
|
|
363
313
|
&:hover {
|
|
364
314
|
border: 1px solid #366aff;
|
|
365
315
|
color: #366aff;
|
|
366
316
|
}
|
|
317
|
+
|
|
367
318
|
&-active {
|
|
368
319
|
background-color: #366aff;
|
|
369
320
|
border: 1px solid #366aff;
|
|
370
321
|
color: white;
|
|
371
322
|
}
|
|
372
323
|
}
|
|
324
|
+
|
|
373
325
|
.ig-types-f-cell-active {
|
|
374
326
|
&:hover {
|
|
375
327
|
color: white;
|
|
376
328
|
}
|
|
377
329
|
}
|
|
378
330
|
}
|
|
331
|
+
|
|
379
332
|
.ig-types-s {
|
|
380
333
|
display: flex;
|
|
381
334
|
justify-content: flex-start;
|
|
382
335
|
flex-wrap: wrap;
|
|
383
336
|
margin: 0px 16px 4px;
|
|
384
337
|
border-bottom: solid 1px #e0e6f7;
|
|
338
|
+
|
|
385
339
|
.ig-types-s-cell {
|
|
386
340
|
height: 2.2em;
|
|
387
341
|
line-height: 2.2em;
|
|
@@ -392,21 +346,25 @@ export default {
|
|
|
392
346
|
overflow: hidden;
|
|
393
347
|
text-overflow: ellipsis;
|
|
394
348
|
white-space: nowrap;
|
|
349
|
+
|
|
395
350
|
&:hover {
|
|
396
351
|
color: #366aff;
|
|
397
352
|
}
|
|
353
|
+
|
|
398
354
|
&-active {
|
|
399
355
|
border-bottom: 2px solid #366aff;
|
|
400
356
|
color: #366aff;
|
|
401
357
|
}
|
|
402
358
|
}
|
|
403
359
|
}
|
|
360
|
+
|
|
404
361
|
.ig-types-tags {
|
|
405
362
|
margin: 0 16px;
|
|
406
363
|
padding: 0 0 12px;
|
|
407
364
|
display: flex;
|
|
408
365
|
justify-content: flex-start;
|
|
409
366
|
flex-wrap: wrap;
|
|
367
|
+
|
|
410
368
|
.ig-types-tags-cell {
|
|
411
369
|
line-height: 1.4em;
|
|
412
370
|
padding: 2px 8px;
|
|
@@ -419,6 +377,7 @@ export default {
|
|
|
419
377
|
cursor: pointer;
|
|
420
378
|
}
|
|
421
379
|
}
|
|
380
|
+
|
|
422
381
|
.ig-high-frequency-empty {
|
|
423
382
|
margin: 6px 15px;
|
|
424
383
|
height: 40px;
|
|
@@ -429,12 +388,14 @@ export default {
|
|
|
429
388
|
padding: 0 12px;
|
|
430
389
|
text-align: left;
|
|
431
390
|
}
|
|
391
|
+
|
|
432
392
|
.ig-types-list {
|
|
433
393
|
margin: 0 16px;
|
|
434
394
|
padding: 0 0 8px 0;
|
|
435
395
|
display: flex;
|
|
436
396
|
flex-direction: column;
|
|
437
397
|
justify-content: flex-start;
|
|
398
|
+
|
|
438
399
|
.ig-types-list-cell {
|
|
439
400
|
line-height: 1.1em;
|
|
440
401
|
padding: 8px 0;
|
|
@@ -445,16 +406,19 @@ export default {
|
|
|
445
406
|
cursor: pointer;
|
|
446
407
|
align-items: center;
|
|
447
408
|
text-align: left;
|
|
409
|
+
|
|
448
410
|
span {
|
|
449
411
|
display: flex;
|
|
450
412
|
align-items: center;
|
|
451
413
|
flex-direction: column;
|
|
414
|
+
|
|
452
415
|
i {
|
|
453
416
|
// margin-top: 12px;
|
|
454
417
|
}
|
|
455
418
|
}
|
|
456
419
|
}
|
|
457
420
|
}
|
|
421
|
+
|
|
458
422
|
.ig-change-list {
|
|
459
423
|
padding: 8px 0;
|
|
460
424
|
margin-top: 4px;
|
|
@@ -462,6 +426,7 @@ export default {
|
|
|
462
426
|
flex-direction: column;
|
|
463
427
|
align-items: center;
|
|
464
428
|
border-top: 1px solid #eeeeee;
|
|
429
|
+
|
|
465
430
|
.ig-change-list-btn {
|
|
466
431
|
font-weight: 600;
|
|
467
432
|
color: #366aff;
|
|
@@ -17,22 +17,22 @@
|
|
|
17
17
|
</div>
|
|
18
18
|
</div> -->
|
|
19
19
|
<!-- <MyEditor></MyEditor> -->
|
|
20
|
-
|
|
20
|
+
<form-template
|
|
21
21
|
:formList="formList2"
|
|
22
22
|
@submitClick="submitClick"
|
|
23
|
-
></form-template>
|
|
24
|
-
|
|
23
|
+
></form-template>
|
|
24
|
+
<form-template
|
|
25
25
|
:formList="formList"
|
|
26
26
|
@submitClick="submitClick"
|
|
27
|
-
></form-template>
|
|
28
|
-
|
|
27
|
+
></form-template>
|
|
28
|
+
<form-template
|
|
29
29
|
:formList="formList3"
|
|
30
30
|
@submitClick="submitClick"
|
|
31
31
|
></form-template>
|
|
32
32
|
<form-template
|
|
33
33
|
:formList="formList4"
|
|
34
34
|
@submitClick="submitClick"
|
|
35
|
-
></form-template>
|
|
35
|
+
></form-template>
|
|
36
36
|
<!-- <div style="max-width: 450px;overflow-x: auto;">
|
|
37
37
|
<action-alert :actionAlertIframe="actionAlertIframeObj" :phoneWidth100="true"></action-alert>
|
|
38
38
|
</div> -->
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
|
|
37
37
|
<script>
|
|
38
38
|
import { v4 as uuidv4 } from "uuid";
|
|
39
|
-
import { multipartUpload, ossFileUrl } from "
|
|
39
|
+
import { multipartUpload, ossFileUrl } from "../assets/js/AliyunlssUtil";
|
|
40
40
|
|
|
41
41
|
export default {
|
|
42
42
|
props: ["value", "placeholder", "havToolbar"],
|
|
@@ -862,7 +862,7 @@
|
|
|
862
862
|
/* eslint-disable */
|
|
863
863
|
import { forMatTime } from "./utils/format_date";
|
|
864
864
|
let that
|
|
865
|
-
import {multipartUpload,ossFileUrl} from "
|
|
865
|
+
import {multipartUpload,ossFileUrl} from "../assets/js/AliyunlssUtil";
|
|
866
866
|
import MyEditor from './MyEditor'
|
|
867
867
|
import myPopup from "./myPopup.vue";
|
|
868
868
|
import Tree from '../components/tree'
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
const OSS = require('ali-oss');
|
|
2
|
-
|
|
3
|
-
let IDX = 256, HEX = [], SIZE = 256, BUFFER;
|
|
4
|
-
while (IDX--) HEX[IDX] = (IDX + 256).toString(16).substring(1);
|
|
5
|
-
let mainId = sessionStorage.getItem('_mainId') ? sessionStorage.getItem('_mainId') : "";
|
|
6
|
-
function uid(len) {
|
|
7
|
-
let i = 0, tmp = (len || 11);
|
|
8
|
-
if (!BUFFER || ((IDX + tmp) > SIZE * 2)) {
|
|
9
|
-
for (BUFFER = '', IDX = 0; i < SIZE; i++) {
|
|
10
|
-
BUFFER += HEX[Math.random() * 256 | 0];
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
return BUFFER.substring(IDX, IDX++ + tmp);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
function dataFormat(fmt, date = new Date()) {
|
|
18
|
-
const o = {
|
|
19
|
-
"M+": date.getMonth() + 1, //月份
|
|
20
|
-
"d+": date.getDate(), //日
|
|
21
|
-
"h+": date.getHours(), //小时
|
|
22
|
-
"m+": date.getMinutes(), //分
|
|
23
|
-
"s+": date.getSeconds(), //秒
|
|
24
|
-
"q+": Math.floor((date.getMonth() + 3) / 3), //季度
|
|
25
|
-
"S": date.getMilliseconds() //毫秒
|
|
26
|
-
};
|
|
27
|
-
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
|
|
28
|
-
for (const k in o)
|
|
29
|
-
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
|
|
30
|
-
return fmt;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
function pathGenerate(filename) {
|
|
34
|
-
return "front-oss/" + mainId + '/' + dataFormat("yyyy/MM/dd/hh/mm/") + uid(32) + "/" + filename;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
function upload(ossConfig, data) {
|
|
39
|
-
let ossClient = new OSS(ossConfig);
|
|
40
|
-
// object-key可以自定义为文件名(例如file.txt)或目录(例如abc/test/file.txt)的形式,实现将文件上传至当前Bucket或Bucket下的指定目录。
|
|
41
|
-
let objectKey = pathGenerate(data.name);
|
|
42
|
-
let result = ossClient.put(objectKey, data, {
|
|
43
|
-
headers:{
|
|
44
|
-
// 通过文件URL访问文件时,指定以附件形式下载文件,下载后的文件名称定义为example.jpg。
|
|
45
|
-
'Content-Disposition': `attachment; filename="${encodeURIComponent(data.name)}"`
|
|
46
|
-
},
|
|
47
|
-
});
|
|
48
|
-
console.debug(result);
|
|
49
|
-
return result;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
function multipartUpload(ossConfig, data, callback,extCallback) {
|
|
53
|
-
let ossClient = new OSS(ossConfig);
|
|
54
|
-
// object-key可以自定义为文件名(例如file.txt)或目录(例如abc/test/file.txt)的形式,实现将文件上传至当前Bucket或Bucket下的指定目录。
|
|
55
|
-
let objectKey = pathGenerate(data.name);
|
|
56
|
-
|
|
57
|
-
let res = ossClient.multipartUpload(objectKey, data, {
|
|
58
|
-
headers:{
|
|
59
|
-
// 通过文件URL访问文件时,指定以附件形式下载文件,下载后的文件名称定义为example.jpg。
|
|
60
|
-
'Content-Disposition': `attachment; filename="${encodeURIComponent(data.name)}"`
|
|
61
|
-
},
|
|
62
|
-
progress: function (p, checkpoint) {
|
|
63
|
-
console.debug('progress callback', p, checkpoint);
|
|
64
|
-
// 断点记录点。浏览器重启后无法直接继续上传,您需要手动触发上传操作。
|
|
65
|
-
if (callback && callback instanceof Function) {
|
|
66
|
-
callback(p, checkpoint,data,extCallback);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
})
|
|
70
|
-
return res;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
function ossFileUrl(ossConfig, path, cname) {
|
|
74
|
-
if (cname == null) {
|
|
75
|
-
return 'https://' + ossConfig.bucket + '.' + ossConfig.region + '.aliyuncs.com/' + path;
|
|
76
|
-
} else {
|
|
77
|
-
return cname + '/' + path;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
export {upload, multipartUpload, ossFileUrl}
|