ai-error-assistant-mobile 0.0.5 → 0.0.7

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.
@@ -2,9 +2,13 @@
2
2
  <div class="feedback-drawer-wrap">
3
3
  <div class="feedback-mask" @click="$emit('close')"></div>
4
4
  <div class="feedback-drawer" :class="{ open: true }">
5
+ <div class="nav-top-space" :style="{ height: (navTopHeight || 0) + 'px' }"></div>
5
6
  <div class="feedback-header">
6
7
  <div class="header-icon-wrap">
7
- <svg class="header-icon" width="32" height="32" viewBox="0 0 32 32"><circle cx="16" cy="16" r="16" fill="#7a8bff"/><text x="16" y="22" text-anchor="middle" font-size="20" fill="#fff">!</text></svg>
8
+ <svg class="header-icon" width="32" height="32" viewBox="0 0 32 32">
9
+ <circle cx="16" cy="16" r="16" fill="#7a8bff"/>
10
+ <text x="16" y="22" text-anchor="middle" font-size="20" fill="#fff">!</text>
11
+ </svg>
8
12
  </div>
9
13
  <button class="close-btn" @click="$emit('close')">×</button>
10
14
  <h2>您的反馈对我们很重要</h2>
@@ -16,10 +20,10 @@
16
20
  <el-form-item prop="description" style="margin-bottom: 0px;">
17
21
  <label for="description">问题描述</label>
18
22
  <textarea
19
- id="description"
20
- v-model="form.description"
21
- placeholder="请详细描述您遇到的问题,以便我们更好地帮助您"
22
- rows="4"
23
+ id="description"
24
+ v-model="form.description"
25
+ placeholder="请详细描述您遇到的问题,以便我们更好地帮助您"
26
+ rows="4"
23
27
  />
24
28
  </el-form-item>
25
29
  </div>
@@ -27,27 +31,27 @@
27
31
  <el-form-item prop="phone">
28
32
  <label for="phone">联系方式</label>
29
33
  <input
30
- id="phone"
31
- v-model="form.phone"
32
- placeholder="方便我们联系您解决问题"
34
+ id="phone"
35
+ v-model="form.phone"
36
+ placeholder="方便我们联系您解决问题"
33
37
  />
34
38
  </el-form-item>
35
39
  </div>
36
40
  <label class="upload-label">上传图片</label>
37
41
  <div class="upload-section">
38
-
42
+
39
43
  <div class="upload-row">
40
44
  <el-upload
41
- class="el-upload-feedback"
42
- action="#"
43
- :auto-upload="false"
44
- :limit="1"
45
- :on-change="onElUploadChange"
46
- :before-upload="beforeElUpload"
47
- :file-list="elFileList"
48
- :show-file-list="true"
49
- list-type="picture-card"
50
- accept="image/*"
45
+ class="el-upload-feedback"
46
+ action="#"
47
+ :auto-upload="false"
48
+ :limit="1"
49
+ :on-change="onElUploadChange"
50
+ :before-upload="beforeElUpload"
51
+ :file-list="elFileList"
52
+ :show-file-list="true"
53
+ list-type="picture-card"
54
+ accept="image/*"
51
55
  >
52
56
  <i class="el-icon-plus"></i>
53
57
  </el-upload>
@@ -64,17 +68,22 @@
64
68
  </template>
65
69
 
66
70
  <script>
67
- import { Upload, Form, FormItem, Button } from 'element-ui';
68
- import { submitFeedback } from '../../demo/api/index';
71
+ import {Upload, Form, FormItem, Button} from 'element-ui';
72
+ import {submitFeedback} from '../../demo/api/index';
73
+
69
74
  export default {
70
75
  name: 'Feedback',
71
- components: { Upload, ElForm: Form, ElFormItem: FormItem, ElButton: Button },
76
+ components: {Upload, ElForm: Form, ElFormItem: FormItem, ElButton: Button},
72
77
  props: {
73
78
  businessSource: {
74
79
  type: String,
75
80
  default: ''
76
- },
77
- },
81
+ },
82
+ navTopHeight: {
83
+ type: Number,
84
+ default: 0
85
+ },
86
+ },
78
87
  data() {
79
88
  return {
80
89
  form: {
@@ -85,7 +94,7 @@ export default {
85
94
  token: '',
86
95
  rules: {
87
96
  description: [
88
- { required: true, message: '请输入问题描述', trigger: 'blur' },
97
+ {required: true, message: '请输入问题描述', trigger: 'blur'},
89
98
  ],
90
99
  phone: []
91
100
  }
@@ -144,15 +153,17 @@ export default {
144
153
  width: 100vw;
145
154
  height: 100vh;
146
155
  }
156
+
147
157
  .feedback-mask {
148
158
  position: absolute;
149
159
  top: 0;
150
160
  left: 0;
151
161
  width: 100vw;
152
162
  height: 100vh;
153
- background: rgba(0,0,0,0.35);
163
+ background: rgba(0, 0, 0, 0.35);
154
164
  z-index: 1;
155
165
  }
166
+
156
167
  .feedback-drawer {
157
168
  position: fixed;
158
169
  top: 0;
@@ -161,16 +172,18 @@ export default {
161
172
  height: 100vh;
162
173
  background: #eef2ff;
163
174
  z-index: 2;
164
- box-shadow: -2px 0 16px rgba(0,0,0,0.08);
175
+ box-shadow: -2px 0 16px rgba(0, 0, 0, 0.08);
165
176
  border-radius: 0;
166
177
  display: flex;
167
178
  flex-direction: column;
168
179
  transform: translateX(100vw);
169
- transition: transform 0.35s cubic-bezier(0.4,0,0.2,1);
180
+ transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
170
181
  }
182
+
171
183
  .feedback-drawer.open {
172
184
  transform: translateX(0);
173
185
  }
186
+
174
187
  .close-btn {
175
188
  position: absolute;
176
189
  top: -15px;
@@ -183,30 +196,36 @@ export default {
183
196
  z-index: 10;
184
197
  line-height: 1;
185
198
  }
199
+
186
200
  .feedback-header {
187
201
  text-align: center;
188
202
  margin: 24px 0 32px;
189
203
  position: relative;
190
204
  }
205
+
191
206
  .header-icon-wrap {
192
207
  display: flex;
193
208
  justify-content: center;
194
209
  margin-bottom: 12px;
195
210
  }
211
+
196
212
  .header-icon {
197
213
  color: #7a8bff;
198
214
  }
215
+
199
216
  .feedback-header h2 {
200
217
  font-size: 20px;
201
218
  font-weight: 600;
202
219
  color: #323233;
203
220
  margin: 0 0 8px;
204
221
  }
222
+
205
223
  .feedback-header .subtitle {
206
224
  font-size: 14px;
207
225
  color: #8c8c8c;
208
226
  margin: 0;
209
227
  }
228
+
210
229
  .feedback-form {
211
230
  background: #fff;
212
231
  border-radius: 12px;
@@ -214,14 +233,17 @@ export default {
214
233
  padding: 20px;
215
234
  margin: 0 16px 16px 16px;
216
235
  }
236
+
217
237
  .form-group {
218
238
  margin-bottom: 18px;
219
239
  }
240
+
220
241
  .form-group label {
221
242
  font-weight: 500;
222
243
  color: #4a4a4a;
223
244
  display: block;
224
245
  }
246
+
225
247
  .form-group textarea,
226
248
  .form-group input {
227
249
  width: 100%;
@@ -234,11 +256,13 @@ export default {
234
256
  resize: none;
235
257
  box-sizing: border-box;
236
258
  }
259
+
237
260
  .upload-section {
238
261
  background-color: #ffffff;
239
262
  border-radius: 12px;
240
263
  box-shadow: 0 2px 12px rgba(100, 101, 102, 0.04);
241
264
  }
265
+
242
266
  .upload-header {
243
267
  display: flex;
244
268
  align-items: center;
@@ -247,15 +271,18 @@ export default {
247
271
  font-weight: 500;
248
272
  color: #4a4a4a;
249
273
  }
274
+
250
275
  .upload-tip {
251
276
  margin-top: 12px;
252
277
  font-size: 12px;
253
278
  color: #8c8c8c;
254
279
  text-align: center;
255
280
  }
281
+
256
282
  .submit-section {
257
283
  margin: 32px 16px 0 16px;
258
284
  }
285
+
259
286
  .submit-button {
260
287
  width: 100%;
261
288
  height: 44px;
@@ -268,52 +295,68 @@ export default {
268
295
  box-shadow: 0 4px 12px rgba(122, 139, 255, 0.3);
269
296
  transition: all 0.3s;
270
297
  }
298
+
271
299
  .submit-button:active {
272
300
  transform: translateY(1px);
273
301
  box-shadow: 0 2px 8px rgba(122, 139, 255, 0.3);
274
302
  }
303
+
275
304
  .upload-label {
276
- font-weight: 500;
277
- color: #4a4a4a;
278
- display: block;
279
- line-height: 40px;
280
- font-size: 14px;
305
+ font-weight: 500;
306
+ color: #4a4a4a;
307
+ display: block;
308
+ line-height: 40px;
309
+ font-size: 14px;
281
310
  }
311
+
282
312
  .upload-row {
283
313
  display: flex;
284
314
  align-items: flex-start;
285
315
  }
316
+
286
317
  .el-upload-feedback {
287
318
  margin-bottom: 8px;
288
319
  display: flex;
289
320
  align-items: center;
290
321
  }
322
+
291
323
  .el-upload-feedback .el-upload {
292
324
  margin-right: 8px;
293
325
  }
326
+
294
327
  .el-upload-feedback .el-upload-list {
295
328
  margin: 0;
296
329
  display: flex;
297
330
  flex-wrap: wrap;
298
331
  }
332
+
299
333
  .el-upload-feedback >>> .el-upload-list__item {
300
334
  width: 100px !important;
301
335
  height: 100px !important;
302
336
  margin: 0 8px 0 0 !important;
303
337
  }
338
+
304
339
  .el-upload-feedback >>> .el-upload--picture-card {
305
340
  width: 100px !important;
306
341
  height: 100px !important;
307
342
  line-height: 100px !important;
308
343
  }
344
+
309
345
  .el-upload-feedback >>> .el-upload-list__item-thumbnail {
310
346
  width: 64px !important;
311
347
  height: 64px !important;
312
348
  object-fit: cover;
313
349
  border-radius: 8px;
314
350
  }
351
+
315
352
  .el-upload-feedback >>> .el-icon-plus {
316
353
  font-size: 24px !important;
317
354
  line-height: 64px !important;
318
355
  }
356
+
357
+ .nav-top-space {
358
+ width: 100%;
359
+ background: transparent;
360
+ flex-shrink: 0;
361
+ }
319
362
  </style>
@@ -1,9 +1,6 @@
1
1
  <template>
2
2
  <div class="ai-contain" v-if="visible">
3
- <div
4
- class="nav-top-space"
5
- :style="`height: ${navTopHeight}px`"
6
- ></div>
3
+ <div class="nav-top-space" :style="{ height: (navTopHeight || 0) + 'px' }"></div>
7
4
  <div class="ai-contain-header">
8
5
  <div class="header-left">
9
6
  <i class="el-icon-back" @click="closeMessage"></i>
@@ -57,7 +54,7 @@
57
54
  :modal="false"
58
55
  :close-on-click-modal="false"
59
56
  >
60
- <feedback @close="showFeedback = false" :businessSource="businessSource"/>
57
+ <feedback @close="showFeedback = false" :businessSource="businessSource" :navTopHeight="navTopHeight"/>
61
58
  </el-drawer>
62
59
  </div>
63
60
  </template>
@@ -472,4 +469,11 @@ export default {
472
469
  overflow: auto;
473
470
  }
474
471
  }
472
+
473
+ .nav-top-space {
474
+ width: 100%;
475
+ background: transparent;
476
+ flex-shrink: 0;
477
+ }
478
+
475
479
  </style>
@@ -6554,7 +6554,7 @@ if (typeof window !== 'undefined') {
6554
6554
  // Indicate to webpack that this file can be concatenated
6555
6555
  /* harmony default export */ var setPublicPath = (null);
6556
6556
 
6557
- ;// 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=a9eef3b4&scoped=true
6557
+ ;// 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=265b7039&scoped=true
6558
6558
  var render = function render() {
6559
6559
  var _vm = this,
6560
6560
  _c = _vm._self._c;
@@ -6562,7 +6562,9 @@ var render = function render() {
6562
6562
  staticClass: "ai-contain"
6563
6563
  }, [_c('div', {
6564
6564
  staticClass: "nav-top-space",
6565
- style: `height: ${_vm.navTopHeight}px`
6565
+ style: {
6566
+ height: (_vm.navTopHeight || 0) + 'px'
6567
+ }
6566
6568
  }), _c('div', {
6567
6569
  staticClass: "ai-contain-header"
6568
6570
  }, [_c('div', {
@@ -6678,7 +6680,8 @@ var render = function render() {
6678
6680
  }
6679
6681
  }, [_c('feedback', {
6680
6682
  attrs: {
6681
- "businessSource": _vm.businessSource
6683
+ "businessSource": _vm.businessSource,
6684
+ "navTopHeight": _vm.navTopHeight
6682
6685
  },
6683
6686
  on: {
6684
6687
  "close": function ($event) {
@@ -6689,7 +6692,7 @@ var render = function render() {
6689
6692
  };
6690
6693
  var staticRenderFns = [];
6691
6694
 
6692
- ;// CONCATENATED MODULE: ./components/demo/src/main.vue?vue&type=template&id=a9eef3b4&scoped=true
6695
+ ;// CONCATENATED MODULE: ./components/demo/src/main.vue?vue&type=template&id=265b7039&scoped=true
6693
6696
 
6694
6697
  ;// 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=5ba393d7&scoped=true
6695
6698
  var chatvue_type_template_id_5ba393d7_scoped_true_render = function render() {
@@ -14671,8 +14674,8 @@ var chat_component = normalizeComponent(
14671
14674
  )
14672
14675
 
14673
14676
  /* harmony default export */ var chat = (chat_component.exports);
14674
- ;// 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/feedback.vue?vue&type=template&id=5fa02478&scoped=true
14675
- var feedbackvue_type_template_id_5fa02478_scoped_true_render = function render() {
14677
+ ;// 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/feedback.vue?vue&type=template&id=3d6f0967&scoped=true
14678
+ var feedbackvue_type_template_id_3d6f0967_scoped_true_render = function render() {
14676
14679
  var _vm = this,
14677
14680
  _c = _vm._self._c;
14678
14681
  return _c('div', {
@@ -14690,6 +14693,11 @@ var feedbackvue_type_template_id_5fa02478_scoped_true_render = function render()
14690
14693
  open: true
14691
14694
  }
14692
14695
  }, [_c('div', {
14696
+ staticClass: "nav-top-space",
14697
+ style: {
14698
+ height: (_vm.navTopHeight || 0) + 'px'
14699
+ }
14700
+ }), _c('div', {
14693
14701
  staticClass: "feedback-header"
14694
14702
  }, [_c('div', {
14695
14703
  staticClass: "header-icon-wrap"
@@ -14833,7 +14841,7 @@ var feedbackvue_type_template_id_5fa02478_scoped_true_render = function render()
14833
14841
  }
14834
14842
  }, [_vm._v("提交反馈")])], 1)])])], 1)]);
14835
14843
  };
14836
- var feedbackvue_type_template_id_5fa02478_scoped_true_staticRenderFns = [];
14844
+ var feedbackvue_type_template_id_3d6f0967_scoped_true_staticRenderFns = [];
14837
14845
 
14838
14846
  ;// 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/index.js??vue-loader-options!./components/demo/src/feedback.vue?vue&type=script&lang=js
14839
14847
 
@@ -14850,6 +14858,10 @@ var feedbackvue_type_template_id_5fa02478_scoped_true_staticRenderFns = [];
14850
14858
  businessSource: {
14851
14859
  type: String,
14852
14860
  default: ''
14861
+ },
14862
+ navTopHeight: {
14863
+ type: Number,
14864
+ default: 0
14853
14865
  }
14854
14866
  },
14855
14867
  data() {
@@ -14914,10 +14926,10 @@ var feedbackvue_type_template_id_5fa02478_scoped_true_staticRenderFns = [];
14914
14926
  });
14915
14927
  ;// CONCATENATED MODULE: ./components/demo/src/feedback.vue?vue&type=script&lang=js
14916
14928
  /* harmony default export */ var src_feedbackvue_type_script_lang_js = (feedbackvue_type_script_lang_js);
14917
- ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/feedback.vue?vue&type=style&index=0&id=5fa02478&prod&scoped=true&lang=css
14929
+ ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/feedback.vue?vue&type=style&index=0&id=3d6f0967&prod&scoped=true&lang=css
14918
14930
  // extracted by mini-css-extract-plugin
14919
14931
 
14920
- ;// CONCATENATED MODULE: ./components/demo/src/feedback.vue?vue&type=style&index=0&id=5fa02478&prod&scoped=true&lang=css
14932
+ ;// CONCATENATED MODULE: ./components/demo/src/feedback.vue?vue&type=style&index=0&id=3d6f0967&prod&scoped=true&lang=css
14921
14933
 
14922
14934
  ;// CONCATENATED MODULE: ./components/demo/src/feedback.vue
14923
14935
 
@@ -14930,11 +14942,11 @@ var feedbackvue_type_template_id_5fa02478_scoped_true_staticRenderFns = [];
14930
14942
 
14931
14943
  var feedback_component = normalizeComponent(
14932
14944
  src_feedbackvue_type_script_lang_js,
14933
- feedbackvue_type_template_id_5fa02478_scoped_true_render,
14934
- feedbackvue_type_template_id_5fa02478_scoped_true_staticRenderFns,
14945
+ feedbackvue_type_template_id_3d6f0967_scoped_true_render,
14946
+ feedbackvue_type_template_id_3d6f0967_scoped_true_staticRenderFns,
14935
14947
  false,
14936
14948
  null,
14937
- "5fa02478",
14949
+ "3d6f0967",
14938
14950
  null
14939
14951
 
14940
14952
  )
@@ -15212,10 +15224,10 @@ var api = init(defaultConverter, { path: '/' });
15212
15224
  });
15213
15225
  ;// CONCATENATED MODULE: ./components/demo/src/main.vue?vue&type=script&lang=js
15214
15226
  /* harmony default export */ var src_mainvue_type_script_lang_js = (mainvue_type_script_lang_js);
15215
- ;// 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=a9eef3b4&prod&lang=scss&scoped=true
15227
+ ;// 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=265b7039&prod&lang=scss&scoped=true
15216
15228
  // extracted by mini-css-extract-plugin
15217
15229
 
15218
- ;// CONCATENATED MODULE: ./components/demo/src/main.vue?vue&type=style&index=0&id=a9eef3b4&prod&lang=scss&scoped=true
15230
+ ;// CONCATENATED MODULE: ./components/demo/src/main.vue?vue&type=style&index=0&id=265b7039&prod&lang=scss&scoped=true
15219
15231
 
15220
15232
  ;// CONCATENATED MODULE: ./components/demo/src/main.vue
15221
15233
 
@@ -15232,7 +15244,7 @@ var main_component = normalizeComponent(
15232
15244
  staticRenderFns,
15233
15245
  false,
15234
15246
  null,
15235
- "a9eef3b4",
15247
+ "265b7039",
15236
15248
  null
15237
15249
 
15238
15250
  )