ai-assistant-pro 0.0.2 → 0.0.4
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/components/demo/api/index.js +7 -0
- package/components/demo/src/chat.vue +2 -0
- package/components/demo/src/main.vue +52 -21
- package/dist/ai-assistant-pro.common.js +40 -16
- package/dist/ai-assistant-pro.common.js.map +1 -1
- package/dist/ai-assistant-pro.css +1 -1
- package/dist/ai-assistant-pro.umd.js +40 -16
- package/dist/ai-assistant-pro.umd.js.map +1 -1
- package/dist/ai-assistant-pro.umd.min.js +4 -4
- package/dist/ai-assistant-pro.umd.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -86,6 +86,13 @@ export const countAccess = (resId) => {
|
|
|
86
86
|
});
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
+
export const checkCourseIdIsExist = (resId) => {
|
|
90
|
+
return request({
|
|
91
|
+
url: prefix + `/ia/hasPermission?courseId=${resId}`,
|
|
92
|
+
method: 'get',
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
|
|
89
96
|
export async function sendMessageEventSource(params, signal, onmessage) {
|
|
90
97
|
return fetchEventSource(`${baseURL}${prefix}/assistant/conversation`, {
|
|
91
98
|
method: 'POST',
|
|
@@ -250,6 +250,7 @@ export default {
|
|
|
250
250
|
padding: 24px 24px;
|
|
251
251
|
margin-left: 16px;
|
|
252
252
|
line-height: 24px;
|
|
253
|
+
flex: 1;
|
|
253
254
|
}
|
|
254
255
|
|
|
255
256
|
.user-info {
|
|
@@ -257,6 +258,7 @@ export default {
|
|
|
257
258
|
border-radius: 12px;
|
|
258
259
|
border-top-right-radius: 0;
|
|
259
260
|
background: linear-gradient(90deg, rgba(130, 136, 220, 1) 0%, rgba(48, 90, 220, 1) 100%);
|
|
261
|
+
flex: inherit;
|
|
260
262
|
}
|
|
261
263
|
|
|
262
264
|
.link {
|
|
@@ -10,33 +10,39 @@
|
|
|
10
10
|
<i class="el-icon-close"></i>
|
|
11
11
|
</div>
|
|
12
12
|
</div>
|
|
13
|
+
<template v-if="courseFlag">
|
|
13
14
|
<div class="ai-main-content">
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
15
|
+
<hot-search v-if="!chatShow" @select-module="selectModule"></hot-search>
|
|
16
|
+
<chat v-if="chatShow"
|
|
17
|
+
ref="chatRef"
|
|
18
|
+
:resId="resId"
|
|
19
|
+
:chatId="chatId"
|
|
20
|
+
:key-word="aiMessageKeyWord"
|
|
21
|
+
:message-data="messageList"
|
|
22
|
+
@on-reanser="reanserMethod"
|
|
23
|
+
@on-message-finish="messageFinish"
|
|
24
|
+
/>
|
|
24
25
|
</div>
|
|
25
26
|
<div class="tools-wrap">
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
<span @click="addNewChat">新增对话</span>
|
|
28
|
+
<span @click="clearChat">清空对话</span>
|
|
28
29
|
</div>
|
|
29
30
|
<div class="ai-message-send" @keyup.enter="goChat">
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
<el-input v-model="aiMessage"
|
|
32
|
+
placeholder="可以提出问题...">
|
|
33
|
+
</el-input>
|
|
34
|
+
<div class="ai-send-icon" @click="goChat">
|
|
35
|
+
<img src="../static/send-icon.png" alt="" style="width: 24px; height: 24px">
|
|
36
|
+
</div>
|
|
36
37
|
</div>
|
|
37
38
|
<p class="disclaimer">
|
|
38
|
-
|
|
39
|
+
此功能公测期间对正式版用户开放
|
|
39
40
|
</p>
|
|
41
|
+
</template>
|
|
42
|
+
<div v-if="!courseFlag" class="message-wrap">
|
|
43
|
+
<div class="message-line">{{message}}</div>
|
|
44
|
+
<div class="message-line">不能交流</div>
|
|
45
|
+
</div>
|
|
40
46
|
</div>
|
|
41
47
|
</template>
|
|
42
48
|
<script>
|
|
@@ -44,7 +50,7 @@ import HotSearch from './hot-search.vue';
|
|
|
44
50
|
import Chat from './chat.vue';
|
|
45
51
|
import Cookies from "js-cookie";
|
|
46
52
|
import { getUserInfo } from '../utils/config';
|
|
47
|
-
import { newChat, chartClear, getDetailList, countAccess } from '../api/index';
|
|
53
|
+
import { newChat, chartClear, getDetailList, countAccess,checkCourseIdIsExist } from '../api/index';
|
|
48
54
|
export default {
|
|
49
55
|
name: 'AiAssistant',
|
|
50
56
|
components: {
|
|
@@ -60,7 +66,18 @@ export default {
|
|
|
60
66
|
},
|
|
61
67
|
watch: {
|
|
62
68
|
visible() {
|
|
63
|
-
|
|
69
|
+
if (this.visible){
|
|
70
|
+
checkCourseIdIsExist(this.resId).then(res=>{
|
|
71
|
+
if (res.flag ==true){
|
|
72
|
+
this.courseFlag = true;
|
|
73
|
+
this.queryList();
|
|
74
|
+
}else{
|
|
75
|
+
this.courseFlag = false;
|
|
76
|
+
this.message = res.message;
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
|
|
64
81
|
},
|
|
65
82
|
},
|
|
66
83
|
data() {
|
|
@@ -68,6 +85,8 @@ export default {
|
|
|
68
85
|
aiMessage: '', // 页面显示值
|
|
69
86
|
aiMessageKeyWord: '', // 传入组件值
|
|
70
87
|
chatShow: false,
|
|
88
|
+
courseFlag: false,
|
|
89
|
+
message:'',
|
|
71
90
|
messageList: [],
|
|
72
91
|
chatId: undefined, // 对话id
|
|
73
92
|
stop: false
|
|
@@ -289,4 +308,16 @@ export default {
|
|
|
289
308
|
}
|
|
290
309
|
}
|
|
291
310
|
}
|
|
311
|
+
.message-wrap {
|
|
312
|
+
height: calc(100% - 53px );
|
|
313
|
+
align-items: center;
|
|
314
|
+
justify-content: center;
|
|
315
|
+
display: flex;
|
|
316
|
+
flex-direction: column;
|
|
317
|
+
}
|
|
318
|
+
.message-line {
|
|
319
|
+
color: red;
|
|
320
|
+
font-size: 25px;
|
|
321
|
+
margin: 8px 0; /* 上下各 8px 的间距 */
|
|
322
|
+
}
|
|
292
323
|
</style>
|
|
@@ -7428,7 +7428,7 @@ if (typeof window !== 'undefined') {
|
|
|
7428
7428
|
// Indicate to webpack that this file can be concatenated
|
|
7429
7429
|
/* harmony default export */ var setPublicPath = (null);
|
|
7430
7430
|
|
|
7431
|
-
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/main.vue?vue&type=template&id=
|
|
7431
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/main.vue?vue&type=template&id=dc7af4b6&scoped=true
|
|
7432
7432
|
var render = function render() {
|
|
7433
7433
|
var _vm = this,
|
|
7434
7434
|
_c = _vm._self._c;
|
|
@@ -7461,7 +7461,7 @@ var render = function render() {
|
|
|
7461
7461
|
}
|
|
7462
7462
|
}, [_c('i', {
|
|
7463
7463
|
staticClass: "el-icon-close"
|
|
7464
|
-
})])]), _c('div', {
|
|
7464
|
+
})])]), _vm.courseFlag ? [_c('div', {
|
|
7465
7465
|
staticClass: "ai-main-content"
|
|
7466
7466
|
}, [!_vm.chatShow ? _c('hot-search', {
|
|
7467
7467
|
on: {
|
|
@@ -7524,11 +7524,17 @@ var render = function render() {
|
|
|
7524
7524
|
}
|
|
7525
7525
|
})])], 1), _c('p', {
|
|
7526
7526
|
staticClass: "disclaimer"
|
|
7527
|
-
}, [_vm._v(" 此功能公测期间对正式版用户开放 ")])]
|
|
7527
|
+
}, [_vm._v(" 此功能公测期间对正式版用户开放 ")])] : _vm._e(), !_vm.courseFlag ? _c('div', {
|
|
7528
|
+
staticClass: "message-wrap"
|
|
7529
|
+
}, [_c('div', {
|
|
7530
|
+
staticClass: "message-line"
|
|
7531
|
+
}, [_vm._v(_vm._s(_vm.message))]), _c('div', {
|
|
7532
|
+
staticClass: "message-line"
|
|
7533
|
+
}, [_vm._v("不能交流")])]) : _vm._e()], 2) : _vm._e();
|
|
7528
7534
|
};
|
|
7529
7535
|
var staticRenderFns = [];
|
|
7530
7536
|
|
|
7531
|
-
;// CONCATENATED MODULE: ./components/demo/src/main.vue?vue&type=template&id=
|
|
7537
|
+
;// CONCATENATED MODULE: ./components/demo/src/main.vue?vue&type=template&id=dc7af4b6&scoped=true
|
|
7532
7538
|
|
|
7533
7539
|
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/hot-search.vue?vue&type=template&id=73bfe44c&scoped=true
|
|
7534
7540
|
var hot_searchvue_type_template_id_73bfe44c_scoped_true_render = function render() {
|
|
@@ -7701,8 +7707,8 @@ var component = normalizeComponent(
|
|
|
7701
7707
|
)
|
|
7702
7708
|
|
|
7703
7709
|
/* harmony default export */ var hot_search = (component.exports);
|
|
7704
|
-
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/chat.vue?vue&type=template&id=
|
|
7705
|
-
var
|
|
7710
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/chat.vue?vue&type=template&id=3d58e51b&scoped=true
|
|
7711
|
+
var chatvue_type_template_id_3d58e51b_scoped_true_render = function render() {
|
|
7706
7712
|
var _vm = this,
|
|
7707
7713
|
_c = _vm._self._c;
|
|
7708
7714
|
return _c('div', {
|
|
@@ -7757,7 +7763,7 @@ var chatvue_type_template_id_9027deca_scoped_true_render = function render() {
|
|
|
7757
7763
|
}) : _vm._e()], 1)]);
|
|
7758
7764
|
}), 0);
|
|
7759
7765
|
};
|
|
7760
|
-
var
|
|
7766
|
+
var chatvue_type_template_id_3d58e51b_scoped_true_staticRenderFns = [];
|
|
7761
7767
|
|
|
7762
7768
|
;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/bind.js
|
|
7763
7769
|
|
|
@@ -12526,6 +12532,12 @@ const countAccess = resId => {
|
|
|
12526
12532
|
}
|
|
12527
12533
|
});
|
|
12528
12534
|
};
|
|
12535
|
+
const checkCourseIdIsExist = resId => {
|
|
12536
|
+
return request({
|
|
12537
|
+
url: prefix + `/ia/hasPermission?courseId=${resId}`,
|
|
12538
|
+
method: 'get'
|
|
12539
|
+
});
|
|
12540
|
+
};
|
|
12529
12541
|
async function sendMessageEventSource(params, signal, onmessage) {
|
|
12530
12542
|
return fetchEventSource(`${baseURL}${prefix}/assistant/conversation`, {
|
|
12531
12543
|
method: 'POST',
|
|
@@ -13030,10 +13042,10 @@ const signal = controller.signal;
|
|
|
13030
13042
|
});
|
|
13031
13043
|
;// CONCATENATED MODULE: ./components/demo/src/chat.vue?vue&type=script&lang=js
|
|
13032
13044
|
/* harmony default export */ var src_chatvue_type_script_lang_js = (chatvue_type_script_lang_js);
|
|
13033
|
-
;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/chat.vue?vue&type=style&index=0&id=
|
|
13045
|
+
;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/chat.vue?vue&type=style&index=0&id=3d58e51b&prod&lang=scss&scoped=true
|
|
13034
13046
|
// extracted by mini-css-extract-plugin
|
|
13035
13047
|
|
|
13036
|
-
;// CONCATENATED MODULE: ./components/demo/src/chat.vue?vue&type=style&index=0&id=
|
|
13048
|
+
;// CONCATENATED MODULE: ./components/demo/src/chat.vue?vue&type=style&index=0&id=3d58e51b&prod&lang=scss&scoped=true
|
|
13037
13049
|
|
|
13038
13050
|
;// CONCATENATED MODULE: ./components/demo/src/chat.vue
|
|
13039
13051
|
|
|
@@ -13046,11 +13058,11 @@ const signal = controller.signal;
|
|
|
13046
13058
|
|
|
13047
13059
|
var chat_component = normalizeComponent(
|
|
13048
13060
|
src_chatvue_type_script_lang_js,
|
|
13049
|
-
|
|
13050
|
-
|
|
13061
|
+
chatvue_type_template_id_3d58e51b_scoped_true_render,
|
|
13062
|
+
chatvue_type_template_id_3d58e51b_scoped_true_staticRenderFns,
|
|
13051
13063
|
false,
|
|
13052
13064
|
null,
|
|
13053
|
-
"
|
|
13065
|
+
"3d58e51b",
|
|
13054
13066
|
null
|
|
13055
13067
|
|
|
13056
13068
|
)
|
|
@@ -13213,7 +13225,17 @@ var api = init(defaultConverter, { path: '/' });
|
|
|
13213
13225
|
},
|
|
13214
13226
|
watch: {
|
|
13215
13227
|
visible() {
|
|
13216
|
-
if (this.visible)
|
|
13228
|
+
if (this.visible) {
|
|
13229
|
+
checkCourseIdIsExist(this.resId).then(res => {
|
|
13230
|
+
if (res.flag == true) {
|
|
13231
|
+
this.courseFlag = true;
|
|
13232
|
+
this.queryList();
|
|
13233
|
+
} else {
|
|
13234
|
+
this.courseFlag = false;
|
|
13235
|
+
this.message = res.message;
|
|
13236
|
+
}
|
|
13237
|
+
});
|
|
13238
|
+
}
|
|
13217
13239
|
}
|
|
13218
13240
|
},
|
|
13219
13241
|
data() {
|
|
@@ -13223,6 +13245,8 @@ var api = init(defaultConverter, { path: '/' });
|
|
|
13223
13245
|
aiMessageKeyWord: '',
|
|
13224
13246
|
// 传入组件值
|
|
13225
13247
|
chatShow: false,
|
|
13248
|
+
courseFlag: false,
|
|
13249
|
+
message: '',
|
|
13226
13250
|
messageList: [],
|
|
13227
13251
|
chatId: undefined,
|
|
13228
13252
|
// 对话id
|
|
@@ -13331,10 +13355,10 @@ var api = init(defaultConverter, { path: '/' });
|
|
|
13331
13355
|
});
|
|
13332
13356
|
;// CONCATENATED MODULE: ./components/demo/src/main.vue?vue&type=script&lang=js
|
|
13333
13357
|
/* harmony default export */ var src_mainvue_type_script_lang_js = (mainvue_type_script_lang_js);
|
|
13334
|
-
;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/main.vue?vue&type=style&index=0&id=
|
|
13358
|
+
;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/main.vue?vue&type=style&index=0&id=dc7af4b6&prod&lang=scss&scoped=true
|
|
13335
13359
|
// extracted by mini-css-extract-plugin
|
|
13336
13360
|
|
|
13337
|
-
;// CONCATENATED MODULE: ./components/demo/src/main.vue?vue&type=style&index=0&id=
|
|
13361
|
+
;// CONCATENATED MODULE: ./components/demo/src/main.vue?vue&type=style&index=0&id=dc7af4b6&prod&lang=scss&scoped=true
|
|
13338
13362
|
|
|
13339
13363
|
;// CONCATENATED MODULE: ./components/demo/src/main.vue
|
|
13340
13364
|
|
|
@@ -13351,7 +13375,7 @@ var main_component = normalizeComponent(
|
|
|
13351
13375
|
staticRenderFns,
|
|
13352
13376
|
false,
|
|
13353
13377
|
null,
|
|
13354
|
-
"
|
|
13378
|
+
"dc7af4b6",
|
|
13355
13379
|
null
|
|
13356
13380
|
|
|
13357
13381
|
)
|