askbot-dragon 1.5.17 → 1.5.18-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.
Files changed (86) hide show
  1. package/README.md +27 -27
  2. package/babel.config.js +6 -6
  3. package/dragon.iml +7 -7
  4. package/package.json +58 -58
  5. package/public/index.html +74 -74
  6. package/src/App.vue +31 -31
  7. package/src/api/index.js +1 -1
  8. package/src/api/mock.http +2 -2
  9. package/src/api/requestUrl.js +185 -185
  10. package/src/assets/js/AliyunlssUtil.js +92 -92
  11. package/src/assets/js/Base64Util.js +22 -22
  12. package/src/assets/js/common.js +11 -11
  13. package/src/assets/js/hammer.js +89 -89
  14. package/src/assets/js/script.js +36 -36
  15. package/src/assets/less/common.css +6773 -6773
  16. package/src/assets/less/converSationContainer/common.less +192 -192
  17. package/src/assets/less/converSationContainer/converSatonContainer.less +493 -493
  18. package/src/assets/less/iconfont.css +37 -37
  19. package/src/assets/less/ticketMessage.less +287 -211
  20. package/src/components/ActionAlertIframe.vue +112 -112
  21. package/src/components/AiGuide.vue +467 -467
  22. package/src/components/AnswerDocknowledge.vue +492 -492
  23. package/src/components/AnswerVoice.vue +285 -285
  24. package/src/components/AskIFrame.vue +15 -15
  25. package/src/components/ConversationContainer.vue +4974 -4660
  26. package/src/components/FileType.vue +86 -86
  27. package/src/components/Message.vue +27 -27
  28. package/src/components/actionSatisfaction.vue +107 -107
  29. package/src/components/actionSendToBot.vue +62 -62
  30. package/src/components/answerDissatisfaction.vue +62 -62
  31. package/src/components/answerRadio.vue +131 -131
  32. package/src/components/ask-components/DissatisfactionOptions.vue +57 -57
  33. package/src/components/ask-components/Msgloading.vue +37 -37
  34. package/src/components/ask-components/SatisfactionV2.vue +15 -15
  35. package/src/components/askVideo.vue +138 -138
  36. package/src/components/assetDetails.vue +370 -370
  37. package/src/components/assetMessage.vue +228 -228
  38. package/src/components/associationIntention.vue +349 -349
  39. package/src/components/attachmentPreview.vue +90 -90
  40. package/src/components/botActionSatisfactor.vue +68 -68
  41. package/src/components/chatContent.vue +513 -513
  42. package/src/components/feedBack.vue +136 -136
  43. package/src/components/fielListView.vue +351 -351
  44. package/src/components/file/AliyunOssComponents.vue +108 -108
  45. package/src/components/formTemplate.vue +3557 -3557
  46. package/src/components/kkview.vue +1138 -1138
  47. package/src/components/loadingProcess.vue +164 -164
  48. package/src/components/message/ActionAlertIframe.vue +112 -112
  49. package/src/components/message/ShopMessage.vue +164 -164
  50. package/src/components/message/TextMessage.vue +924 -924
  51. package/src/components/message/TicketMessage.vue +205 -177
  52. package/src/components/message/swiper/index.js +4 -4
  53. package/src/components/message/swiper/ticketSwiper.vue +503 -503
  54. package/src/components/message/swiper/ticketSwiperItem.vue +61 -61
  55. package/src/components/msgLoading.vue +231 -231
  56. package/src/components/myPopup.vue +70 -70
  57. package/src/components/pdfPosition.vue +1552 -1140
  58. package/src/components/popup.vue +227 -227
  59. package/src/components/previewDoc.vue +228 -228
  60. package/src/components/previewPdf.vue +294 -294
  61. package/src/components/receiverMessagePlatform.vue +65 -65
  62. package/src/components/recommend.vue +89 -89
  63. package/src/components/selector/hOption.vue +20 -20
  64. package/src/components/selector/hSelector.vue +199 -199
  65. package/src/components/selector/hWrapper.vue +216 -216
  66. package/src/components/senderMessagePlatform.vue +50 -50
  67. package/src/components/source/BotMessage.vue +24 -24
  68. package/src/components/source/CustomMessage.vue +24 -24
  69. package/src/components/test.vue +260 -260
  70. package/src/components/tree.vue +294 -294
  71. package/src/components/utils/AliyunIssUtil.js +81 -81
  72. package/src/components/utils/ckeditor.js +174 -174
  73. package/src/components/utils/ckeditorImageUpload/command.js +109 -109
  74. package/src/components/utils/ckeditorImageUpload/editing.js +11 -11
  75. package/src/components/utils/ckeditorImageUpload/plugin-image.js +11 -11
  76. package/src/components/utils/ckeditorImageUpload/toolbar-ui.js +40 -40
  77. package/src/components/utils/ckeditorfileUpload/common.js +180 -180
  78. package/src/components/utils/ckeditorfileUpload/editing.js +11 -11
  79. package/src/components/utils/ckeditorfileUpload/plugin_file.js +11 -11
  80. package/src/components/utils/ckeditorfileUpload/toolbar_ui.js +34 -34
  81. package/src/components/utils/format_date.js +25 -25
  82. package/src/components/utils/index.js +6 -6
  83. package/src/components/utils/math_utils.js +29 -29
  84. package/src/components/voiceComponent.vue +119 -119
  85. package/src/main.js +60 -60
  86. package/vue.config.js +55 -55
@@ -1,178 +1,206 @@
1
- <template>
2
- <div class="media-body">
3
- <div class="ticketMessage">
4
- <ticket-swiper ref="swiper" :content="content" :type="type" @touchEnd="touchEnd">
5
- <template>
6
- <ticket-swiper-item
7
- v-for="(item,_index) in content.cards"
8
- :key="_index"
9
- :content="content"
10
- >
11
- <template>
12
- <div class="ticketMessageContain">
13
- <div :class="{isPhoneClass:isPhone===true,isCompayClass:isCompany===true}">
14
- <div :class="{isIosClass:isIos===true,isAndroidClass:isAndroid===true}">
15
- <div class="htmlClass">
16
- <div v-for="(items,ind) in item.content.htmlList"
17
- :key="ind"
18
- class="html-item"
19
- >
20
- <div class="img" v-if="items.type==='IMAGE'">
21
- <img :src="items.src">
22
- </div>
23
- <div class="singleClass" v-else-if="items.type==='SINGLE'">
24
- <div v-html="itemss" class="singleItem" v-for="(itemss,inde) in items.list" :key="inde"></div>
25
- </div>
26
- <div class="doubleClass" v-else-if="items.type==='DOUBLE'">
27
- <div class="doubleItem" v-for="(itemss,index) in items.list" :key="'__'+index" v-html="itemss">
28
- </div>
29
- </div>
30
- <div class="tripleClass" v-else-if="items.type==='TRIPLE'">
31
- <div v-html="itemss" class="tripleItem" v-for="(itemss,index) in items.list" :key="'___'+index"></div>
32
- </div>
33
- </div>
34
- </div>
35
- <div class="button-list">
36
- <div v-for="(items,index) in item.content.buttonList" :key="'____'+index" class="button-item">
37
- <div @click="btnClick(items)" class="buttonClassItem">
38
- <span class="btn-name">{{items.name}}</span>
39
- </div>
40
- </div>
41
- </div>
42
- </div>
43
- </div>
44
- </div>
45
- </template>
46
- </ticket-swiper-item>
47
- </template>
48
- </ticket-swiper>
49
- </div>
50
- </div>
51
- </template>
52
- <script>
53
- import ticketSwiper from "./swiper/ticketSwiper";
54
- import ticketSwiperItem from "./swiper/ticketSwiperItem";
55
- export default {
56
- name: "TicketMessage",
57
- props:{
58
- content: {
59
- type: Object,
60
- default() {
61
- return {}
62
- }
63
- },
64
- type:{
65
- type:String,
66
- default:''
67
- }
68
- },
69
- components:{
70
- ticketSwiperItem,
71
- ticketSwiper
72
- },
73
- data(){
74
- return{
75
- contents:{
76
- multiple:true,
77
- cards:[
78
- {content:{
79
- htmlList:[{type:'IMAGE',src:'https://guoranopen-zjk.oss-cn-zhangjiakou.aliyuncs.com/cdn-office-website/images/09-4.png'},{type:'SINGLE',list:['<p>aaaaaaaaaa</p>']},{type:'DOUBLE',list:['<p>北京首都国际机场</p>','<div>bbbbb</div>']},{type:'TRIPLE',list:['<p>北京首都国际机场啦啦啦啦</p>','<div>CA5689</div>','<p>上海虹桥国际机场</p>']},{type:'TRIPLE',list:['<p>7:00</p>','<div>SSS</div>','<p>12:00</p>']}],
80
- buttonList:[{name:'我是标签1',scope:'',test:''},{name:'我是标签2'}]
81
- }},
82
- {content:{
83
- htmlList:[{type:'SINGLE',list:['<p>aaaaa</p>','<a>我是链接</a>']},{type:'DOUBLE',list:['<p>aaaaa</p>','<div>bbbbb</div>']},{type:'TRIPLE',list:['<p>7:00</p>','<div></div>','<p>ccccc</p>']},{type:'TRIPLE',list:['<p>7:00</p>','<div>bbbbb</div>','<p>12:00</p>']}],
84
- buttonList:[{name:'我是标签1',scope:'',test:''}]
85
- }},
86
- {content:{
87
- htmlList:[{type:'SINGLE',list:['<p>邓伦李沁的背景图片</p>']},{type:'SINGLE',list:['<p>男生藏快递向求婚被他人错拆</p>']},{type:'SINGLE',list:['<p>aaaaa</p>']},{type:'SINGLE',list:['<p>aaaaa</p>']}],
88
- buttonList:[{name:'我是标签1'}]
89
- }}
90
-
91
- ]
92
- },
93
- device:'PC',
94
- slideWidth:'',
95
- swiperStyle: {},
96
- currIndex: 1,
97
- distance:0,
98
- isAndroid:false,
99
- isIos:false,
100
- isPhone:false,
101
- isCompany:false,
102
- swiper:false,
103
- text:[],
104
- textarea:[],
105
- onoff:true
106
- }
107
- },
108
- created() {
109
- this.isIosOrIsAndroid()
110
- this.isMobile()
111
- },
112
- mounted() {
113
-
114
- },
115
- methods:{
116
- SwiperImgLoad() {
117
- if (!this.loadCheck) {
118
- this.$emit("SwiperImgLoadEvent");
119
- this.loadCheck = true;
120
- }
121
- },
122
- slideLoadOn() {
123
- this.$refs.swiper.slideOn();
124
- },
125
- btnClick(items){
126
- items.apiKey=this.content.apiKey
127
- let that = this;
128
- if (that.onoff) {
129
- that.onoff = false;
130
- console.debug('card_template',items)
131
- this.$emit('btnClick',items,this.content.apiKey)
132
- setTimeout(function () {
133
- that.onoff = true;
134
- }, 600)
135
- } else {
136
- //如果一直走else分支可能是你没有在页面的data下面挂载onoff:true,不然一直都会走else
137
- console.debug("请稍后点击")
138
- }
139
- },
140
-
141
- isIosOrIsAndroid(){
142
- var u = navigator.userAgent;
143
- var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
144
- var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
145
- if(isAndroid){
146
- this.isAndroid=true
147
- }
148
- if(isiOS){
149
- this.isIos=true
150
- }
151
- },
152
- isMobile() {
153
- let flag = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i);
154
- if (flag) {
155
- this.isPhone=true
156
- }
157
- else
158
- {
159
- this.isCompany=true
160
- }
161
- },
162
- touchMove(){
163
-
164
- },
165
- touchEnd(index){
166
- this.$emit('touchEnd',index)
167
- }
168
-
169
- },
170
- }
171
- </script>
172
-
173
- <style lang="less">
174
- @import "../../assets/less/ticketMessage";
175
- a{
176
- text-decoration: none;
177
- }
1
+ <template>
2
+ <div class="media-body">
3
+ <div class="ticketMessage">
4
+ <ticket-swiper ref="swiper" :content="content" :type="type" @touchEnd="touchEnd">
5
+ <template>
6
+ <ticket-swiper-item v-for="(item, _index) in content.cards" :key="_index" :content="content">
7
+ <template>
8
+ <div class="ticketMessageContain">
9
+ <div :class="{ isPhoneClass: isPhone === true, isCompayClass: isCompany === true }">
10
+ <div :class="{ isIosClass: isIos === true, isAndroidClass: isAndroid === true }">
11
+ <div class="htmlClass">
12
+ <div v-for="(items, ind) in item.content.htmlList" :key="ind" class="html-item">
13
+ <div class="img" v-if="items.type === 'IMAGE'">
14
+ <img :src="items.src">
15
+ </div>
16
+ <div class="singleClass" v-else-if="items.type === 'SINGLE'">
17
+ <div v-html="itemss" class="singleItem" v-for="(itemss, inde) in items.list" :key="inde"></div>
18
+ </div>
19
+ <div class="doubleClass" v-else-if="items.type === 'DOUBLE' && item.version != 1">
20
+ <div class="doubleItem" v-for="(itemss, index) in items.list" :key="'__' + index"
21
+ v-html="itemss">
22
+ </div>
23
+ </div>
24
+ <div class="updateDoubleClass" v-else-if="items.type === 'DOUBLE' && item.version == 1">
25
+ <div class="doubleItem" :style="{ 'width': itemss.style.col / itemss.style.colums * 100 + '%' }"
26
+ v-for="(itemss, index) in items.tampList" :key="'__' + index" v-html="itemss.html">
27
+ </div>
28
+ <!-- <div class="doubleItem" v-for="(itemss,index) in items.tampList" :key="'__'+index">
29
+ {{itemss.style.col/itemss.style.colums*100}}{{itemss.html}}
30
+ </div> -->
31
+ </div>
32
+ <div class="tripleClass" v-else-if="items.type === 'TRIPLE'">
33
+ <div v-html="itemss" class="tripleItem" v-for="(itemss, index) in items.list"
34
+ :key="'___' + index">
35
+ </div>
36
+ </div>
37
+ <div class="quadrupleClass" v-else-if="items.type === 'QUADRUPLE'">
38
+ <div v-html="itemss" class="quadrupleItem" v-for="(itemss, index) in items.list"
39
+ :key="'___' + index"></div>
40
+ </div>
41
+ </div>
42
+ </div>
43
+ <div class="button-list">
44
+ <div v-for="(items, index) in item.content.buttonList" :key="'____' + index" class="button-item">
45
+ <div @click="btnClick(items)" class="buttonClassItem">
46
+ <span class="btn-name">{{ items.name }}</span>
47
+ </div>
48
+ </div>
49
+ </div>
50
+ </div>
51
+ </div>
52
+ </div>
53
+ </template>
54
+ </ticket-swiper-item>
55
+ </template>
56
+ </ticket-swiper>
57
+ </div>
58
+ </div>
59
+ </template>
60
+ <script>
61
+ import ticketSwiper from "./swiper/ticketSwiper";
62
+ import ticketSwiperItem from "./swiper/ticketSwiperItem";
63
+ export default {
64
+ name: "TicketMessage",
65
+ props: {
66
+ content: {
67
+ type: Object,
68
+ default() {
69
+ return {}
70
+ }
71
+ },
72
+ type: {
73
+ type: String,
74
+ default: ''
75
+ }
76
+ },
77
+ components: {
78
+ ticketSwiperItem,
79
+ ticketSwiper
80
+ },
81
+ data() {
82
+ return {
83
+ contents: {
84
+ multiple: true,
85
+ cards: [
86
+ {
87
+ content: {
88
+ htmlList: [{ type: 'IMAGE', src: 'https://guoranopen-zjk.oss-cn-zhangjiakou.aliyuncs.com/cdn-office-website/images/09-4.png' }, { type: 'SINGLE', list: ['<p>aaaaaaaaaa</p>'] }, { type: 'DOUBLE', list: ['<p>北京首都国际机场</p>', '<div>bbbbb</div>'] }, { type: 'TRIPLE', list: ['<p>北京首都国际机场啦啦啦啦</p>', '<div>CA5689</div>', '<p>上海虹桥国际机场</p>'] }, { type: 'TRIPLE', list: ['<p>7:00</p>', '<div>SSS</div>', '<p>12:00</p>'] }],
89
+ buttonList: [{ name: '我是标签1', scope: '', test: '' }, { name: '我是标签2' }]
90
+ }
91
+ },
92
+ {
93
+ content: {
94
+ htmlList: [{ type: 'SINGLE', list: ['<p>aaaaa</p>', '<a>我是链接</a>'] }, { type: 'DOUBLE', list: ['<p>aaaaa</p>', '<div>bbbbb</div>'] }, { type: 'TRIPLE', list: ['<p>7:00</p>', '<div></div>', '<p>ccccc</p>'] }, { type: 'TRIPLE', list: ['<p>7:00</p>', '<div>bbbbb</div>', '<p>12:00</p>'] }],
95
+ buttonList: [{ name: '我是标签1', scope: '', test: '' }]
96
+ }
97
+ },
98
+ {
99
+ content: {
100
+ htmlList: [{ type: 'SINGLE', list: ['<p>邓伦李沁的背景图片</p>'] }, { type: 'SINGLE', list: ['<p>男生藏快递向求婚被他人错拆</p>'] }, { type: 'SINGLE', list: ['<p>aaaaa</p>'] }, { type: 'SINGLE', list: ['<p>aaaaa</p>'] }],
101
+ buttonList: [{ name: '我是标签1' }]
102
+ }
103
+ }
104
+
105
+ ]
106
+ },
107
+ device: 'PC',
108
+ slideWidth: '',
109
+ swiperStyle: {},
110
+ currIndex: 1,
111
+ distance: 0,
112
+ isAndroid: false,
113
+ isIos: false,
114
+ isPhone: false,
115
+ isCompany: false,
116
+ swiper: false,
117
+ text: [],
118
+ textarea: [],
119
+ onoff: true
120
+ }
121
+ },
122
+ created() {
123
+ this.isIosOrIsAndroid()
124
+ this.isMobile()
125
+ },
126
+ mounted() {
127
+ this.content.cards.forEach(element => {
128
+ if (element.version == 1) {
129
+ element.content.htmlList.forEach((item) => {
130
+ item.tampList = [];
131
+ item.list.forEach((cell, cellIndex) => {
132
+ let tampCell = {
133
+ html: cell,
134
+ style: item.style[cellIndex]
135
+ }
136
+ item.tampList.push(tampCell);
137
+ })
138
+ })
139
+ }
140
+ });
141
+ this.content.cards = [...this.content.cards];
142
+ },
143
+ methods: {
144
+ SwiperImgLoad() {
145
+ if (!this.loadCheck) {
146
+ this.$emit("SwiperImgLoadEvent");
147
+ this.loadCheck = true;
148
+ }
149
+ },
150
+ slideLoadOn() {
151
+ this.$refs.swiper.slideOn();
152
+ },
153
+ btnClick(items) {
154
+ items.apiKey = this.content.apiKey
155
+ let that = this;
156
+ if (that.onoff) {
157
+ that.onoff = false;
158
+ console.debug('card_template', items)
159
+ this.$emit('btnClick', items, this.content.apiKey)
160
+ setTimeout(function () {
161
+ that.onoff = true;
162
+ }, 600)
163
+ } else {
164
+ //如果一直走else分支可能是你没有在页面的data下面挂载onoff:true,不然一直都会走else
165
+ console.debug("请稍后点击")
166
+ }
167
+ },
168
+
169
+ isIosOrIsAndroid() {
170
+ var u = navigator.userAgent;
171
+ var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
172
+ var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
173
+ if (isAndroid) {
174
+ this.isAndroid = true
175
+ }
176
+ if (isiOS) {
177
+ this.isIos = true
178
+ }
179
+ },
180
+ isMobile() {
181
+ let flag = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i);
182
+ if (flag) {
183
+ this.isPhone = true
184
+ }
185
+ else {
186
+ this.isCompany = true
187
+ }
188
+ },
189
+ touchMove() {
190
+
191
+ },
192
+ touchEnd(index) {
193
+ this.$emit('touchEnd', index)
194
+ }
195
+
196
+ },
197
+ }
198
+ </script>
199
+
200
+ <style lang="less">
201
+ @import "../../assets/less/ticketMessage";
202
+
203
+ a {
204
+ text-decoration: none;
205
+ }
178
206
  </style>
@@ -1,4 +1,4 @@
1
- import Swiper from "./ticketSwiper";
2
- import SwiperItem from "./ticketSwiperItem";
3
-
4
- export { Swiper, SwiperItem };
1
+ import Swiper from "./ticketSwiper";
2
+ import SwiperItem from "./ticketSwiperItem";
3
+
4
+ export { Swiper, SwiperItem };