ecinc-cloud-mappaio 9.7.36 → 9.7.37
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/lib/ecmappaio.common.js +391 -93
- package/lib/ecmappaio.umd.js +391 -93
- package/lib/ecmappaio.umd.min.js +1 -1
- package/package.json +1 -1
package/lib/ecmappaio.umd.js
CHANGED
|
@@ -1407,7 +1407,7 @@ var actions = {
|
|
|
1407
1407
|
|
|
1408
1408
|
/***/ }),
|
|
1409
1409
|
|
|
1410
|
-
/***/
|
|
1410
|
+
/***/ 2184:
|
|
1411
1411
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
1412
1412
|
|
|
1413
1413
|
"use strict";
|
|
@@ -2313,8 +2313,8 @@ var SysSetupvue_type_template_id_2497073a_scoped_true_render = function render()
|
|
|
2313
2313
|
};
|
|
2314
2314
|
var SysSetupvue_type_template_id_2497073a_scoped_true_staticRenderFns = [];
|
|
2315
2315
|
|
|
2316
|
-
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[0]!./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!./packages/ecwplat/Module/src/MenuItemForm.vue?vue&type=template&id=
|
|
2317
|
-
var
|
|
2316
|
+
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[0]!./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!./packages/ecwplat/Module/src/MenuItemForm.vue?vue&type=template&id=3ebd0a76&scoped=true
|
|
2317
|
+
var MenuItemFormvue_type_template_id_3ebd0a76_scoped_true_render = function render() {
|
|
2318
2318
|
var _vm = this,
|
|
2319
2319
|
_c = _vm._self._c;
|
|
2320
2320
|
return _c('el-form', {
|
|
@@ -2707,7 +2707,7 @@ var MenuItemFormvue_type_template_id_76a1a43d_scoped_true_render = function rend
|
|
|
2707
2707
|
attrs: {
|
|
2708
2708
|
"dataType": _vm.$tx('ecwplat.menuForm.allFile', '全部')
|
|
2709
2709
|
}
|
|
2710
|
-
}, [_vm._v(_vm._s(
|
|
2710
|
+
}, [_vm._v(_vm._s(_vm.$tx('ecwplat.menuForm.allFile', '全部')) + "列表URL")])]), _c('td', {
|
|
2711
2711
|
staticClass: "el-table__cell tdcont tdw83",
|
|
2712
2712
|
attrs: {
|
|
2713
2713
|
"colspan": "3"
|
|
@@ -3810,7 +3810,7 @@ var MenuItemFormvue_type_template_id_76a1a43d_scoped_true_render = function rend
|
|
|
3810
3810
|
}
|
|
3811
3811
|
}, [_c('Icons')], 1) : _vm._e()], 1);
|
|
3812
3812
|
};
|
|
3813
|
-
var
|
|
3813
|
+
var MenuItemFormvue_type_template_id_3ebd0a76_scoped_true_staticRenderFns = [];
|
|
3814
3814
|
|
|
3815
3815
|
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecwplat/Module/src/MenuItemForm.vue?vue&type=script&lang=js
|
|
3816
3816
|
/* harmony default export */ var MenuItemFormvue_type_script_lang_js = ({
|
|
@@ -4195,7 +4195,7 @@ var MenuItemFormvue_type_template_id_76a1a43d_scoped_true_staticRenderFns = [];
|
|
|
4195
4195
|
if (formUrl.indexOf('/dcontent/') !== -1) {
|
|
4196
4196
|
formUrl = formUrl.split('/dcontent/')[1];
|
|
4197
4197
|
} else if (formUrl.indexOf('@/wapp/') !== -1) {
|
|
4198
|
-
formUrl = formUrl.split('@/wapp/')[1].replace('
|
|
4198
|
+
formUrl = formUrl.split('@/wapp/')[1].replace('///', '.');
|
|
4199
4199
|
}
|
|
4200
4200
|
this.$set(this.vo, 'href', formUrl.split('.')[1]);
|
|
4201
4201
|
this.$set(this.vo, 'wfEngineUrl', formUrl.split('.')[0] + '/' + formUrl.split('.')[1]);
|
|
@@ -4252,9 +4252,9 @@ var MenuItemFormvue_type_template_id_76a1a43d_scoped_true_staticRenderFns = [];
|
|
|
4252
4252
|
});
|
|
4253
4253
|
;// CONCATENATED MODULE: ./packages/ecwplat/Module/src/MenuItemForm.vue?vue&type=script&lang=js
|
|
4254
4254
|
/* harmony default export */ var src_MenuItemFormvue_type_script_lang_js = (MenuItemFormvue_type_script_lang_js);
|
|
4255
|
-
// EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-65.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-65.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-65.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecwplat/Module/src/MenuItemForm.vue?vue&type=style&index=0&id=
|
|
4256
|
-
var
|
|
4257
|
-
;// CONCATENATED MODULE: ./packages/ecwplat/Module/src/MenuItemForm.vue?vue&type=style&index=0&id=
|
|
4255
|
+
// EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-65.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-65.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-65.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecwplat/Module/src/MenuItemForm.vue?vue&type=style&index=0&id=3ebd0a76&prod&scoped=true&lang=scss
|
|
4256
|
+
var MenuItemFormvue_type_style_index_0_id_3ebd0a76_prod_scoped_true_lang_scss = __webpack_require__(6750);
|
|
4257
|
+
;// CONCATENATED MODULE: ./packages/ecwplat/Module/src/MenuItemForm.vue?vue&type=style&index=0&id=3ebd0a76&prod&scoped=true&lang=scss
|
|
4258
4258
|
|
|
4259
4259
|
;// CONCATENATED MODULE: ./packages/ecwplat/Module/src/MenuItemForm.vue
|
|
4260
4260
|
|
|
@@ -4267,11 +4267,11 @@ var MenuItemFormvue_type_style_index_0_id_76a1a43d_prod_scoped_true_lang_scss =
|
|
|
4267
4267
|
|
|
4268
4268
|
var MenuItemForm_component = (0,componentNormalizer/* default */.A)(
|
|
4269
4269
|
src_MenuItemFormvue_type_script_lang_js,
|
|
4270
|
-
|
|
4271
|
-
|
|
4270
|
+
MenuItemFormvue_type_template_id_3ebd0a76_scoped_true_render,
|
|
4271
|
+
MenuItemFormvue_type_template_id_3ebd0a76_scoped_true_staticRenderFns,
|
|
4272
4272
|
false,
|
|
4273
4273
|
null,
|
|
4274
|
-
"
|
|
4274
|
+
"3ebd0a76",
|
|
4275
4275
|
null
|
|
4276
4276
|
|
|
4277
4277
|
)
|
|
@@ -8766,7 +8766,7 @@ src.install = function (Vue) {
|
|
|
8766
8766
|
|
|
8767
8767
|
/***/ }),
|
|
8768
8768
|
|
|
8769
|
-
/***/
|
|
8769
|
+
/***/ 5888:
|
|
8770
8770
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
8771
8771
|
|
|
8772
8772
|
"use strict";
|
|
@@ -8782,6 +8782,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
8782
8782
|
ShortcutProcessing: function() { return /* binding */ Wflowform_ShortcutProcessing; },
|
|
8783
8783
|
SubmitDialog: function() { return /* binding */ Wflowform_SubmitDialog; },
|
|
8784
8784
|
SubmitHandle: function() { return /* binding */ Wflowform_SubmitHandle; },
|
|
8785
|
+
VoiceInputDialog: function() { return /* binding */ Wflowform_VoiceInputDialog; },
|
|
8785
8786
|
WfNodelogList: function() { return /* binding */ Wflowform_WfNodelogList; },
|
|
8786
8787
|
WriteToReadIdea: function() { return /* binding */ Wflowform_WriteToReadIdea; }
|
|
8787
8788
|
});
|
|
@@ -12725,8 +12726,8 @@ var SelectOuterDeputy_component = (0,componentNormalizer/* default */.A)(
|
|
|
12725
12726
|
)
|
|
12726
12727
|
|
|
12727
12728
|
/* harmony default export */ var SelectOuterDeputy = (SelectOuterDeputy_component.exports);
|
|
12728
|
-
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[0]!./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!./packages/ecmapp/Wflowform/src/SubmitHandle.vue?vue&type=template&id=
|
|
12729
|
-
var
|
|
12729
|
+
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[0]!./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!./packages/ecmapp/Wflowform/src/SubmitHandle.vue?vue&type=template&id=6bdfbd40&scoped=true
|
|
12730
|
+
var SubmitHandlevue_type_template_id_6bdfbd40_scoped_true_render = function render() {
|
|
12730
12731
|
var _vm = this,
|
|
12731
12732
|
_c = _vm._self._c;
|
|
12732
12733
|
return _vm.initiated ? _c('div', {
|
|
@@ -13511,7 +13512,7 @@ var SubmitHandlevue_type_template_id_20bc806c_scoped_true_render = function rend
|
|
|
13511
13512
|
}
|
|
13512
13513
|
})], 2) : _vm._e();
|
|
13513
13514
|
};
|
|
13514
|
-
var
|
|
13515
|
+
var SubmitHandlevue_type_template_id_6bdfbd40_scoped_true_staticRenderFns = [];
|
|
13515
13516
|
|
|
13516
13517
|
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[0]!./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!./packages/ecmapp/Wflowform/src/WfTaskNode.vue?vue&type=template&id=d1ae2f20&scoped=true
|
|
13517
13518
|
var WfTaskNodevue_type_template_id_d1ae2f20_scoped_true_render = function render() {
|
|
@@ -14840,12 +14841,12 @@ var WfTaskNode_component = (0,componentNormalizer/* default */.A)(
|
|
|
14840
14841
|
)
|
|
14841
14842
|
|
|
14842
14843
|
/* harmony default export */ var WfTaskNode = (WfTaskNode_component.exports);
|
|
14843
|
-
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[0]!./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!./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=template&id=
|
|
14844
|
-
var
|
|
14844
|
+
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[0]!./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!./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=template&id=cf18a87c&scoped=true
|
|
14845
|
+
var VoiceInputDialogvue_type_template_id_cf18a87c_scoped_true_render = function render() {
|
|
14845
14846
|
var _vm = this,
|
|
14846
14847
|
_c = _vm._self._c;
|
|
14847
14848
|
return _c('van-popup', {
|
|
14848
|
-
|
|
14849
|
+
class: ['voice-input-popup', 'skin-' + _vm.currentSkin],
|
|
14849
14850
|
attrs: {
|
|
14850
14851
|
"round": "",
|
|
14851
14852
|
"position": "bottom",
|
|
@@ -14878,6 +14879,17 @@ var VoiceInputDialogvue_type_template_id_5924c680_scoped_true_render = function
|
|
|
14878
14879
|
})], 1), _c('div', {
|
|
14879
14880
|
staticClass: "voice-popup-body"
|
|
14880
14881
|
}, [_c('div', {
|
|
14882
|
+
staticClass: "voice-mic-wrap",
|
|
14883
|
+
class: {
|
|
14884
|
+
recording: _vm.status === 'recording'
|
|
14885
|
+
}
|
|
14886
|
+
}, [_c('span', {
|
|
14887
|
+
staticClass: "tech-ripple tech-ripple-1"
|
|
14888
|
+
}), _c('span', {
|
|
14889
|
+
staticClass: "tech-ripple tech-ripple-2"
|
|
14890
|
+
}), _c('span', {
|
|
14891
|
+
staticClass: "tech-ripple tech-ripple-3"
|
|
14892
|
+
}), _c('div', {
|
|
14881
14893
|
staticClass: "voice-mic-btn",
|
|
14882
14894
|
class: {
|
|
14883
14895
|
recording: _vm.status === 'recording'
|
|
@@ -14905,7 +14917,7 @@ var VoiceInputDialogvue_type_template_id_5924c680_scoped_true_render = function
|
|
|
14905
14917
|
attrs: {
|
|
14906
14918
|
"d": "M768 480c0 141.4-114.6 256-256 256S256 621.4 256 480h-64c0 163.9 123.3 299 288 318.4V896H352v64h320v-64H544v-97.6C708.7 779 832 643.9 832 480h-64z"
|
|
14907
14919
|
}
|
|
14908
|
-
})])], 1), _c('div', {
|
|
14920
|
+
})])], 1)]), _c('div', {
|
|
14909
14921
|
staticClass: "voice-status-text",
|
|
14910
14922
|
class: {
|
|
14911
14923
|
'is-error': _vm.status === 'error'
|
|
@@ -14968,32 +14980,46 @@ var VoiceInputDialogvue_type_template_id_5924c680_scoped_true_render = function
|
|
|
14968
14980
|
}
|
|
14969
14981
|
}, [_vm._v(_vm._s(_vm.$tx('ecmapp.wflowform.voiceFillOpinion', '填入意见')))])], 1)]);
|
|
14970
14982
|
};
|
|
14971
|
-
var
|
|
14983
|
+
var VoiceInputDialogvue_type_template_id_cf18a87c_scoped_true_staticRenderFns = [];
|
|
14972
14984
|
|
|
14973
14985
|
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=script&lang=js
|
|
14974
|
-
//
|
|
14975
|
-
//
|
|
14986
|
+
// 人声判定阈值:AnalyserNode频谱均值(getByteFrequencyData,取值范围0-255)超过该值视为有人声;
|
|
14987
|
+
// 值越小越灵敏(环境噪声易误触发),越大越迟钝(轻声说话可能漏检),10为安静室内环境的经验值
|
|
14976
14988
|
var VOICE_AVG_THRESHOLD = 10;
|
|
14989
|
+
// 前导静音容忍时长(毫秒):录音开始后一直未检测到人声,超过该时长自动结束并丢弃录音,
|
|
14990
|
+
// 避免用户点了麦克风却没说话导致录音一直挂着;10秒足够用户反应和开口
|
|
14977
14991
|
var LEADING_SILENCE_MS = 10000;
|
|
14978
|
-
|
|
14992
|
+
// 尾部静音容忍时长(毫秒):已检测到人声后连续沉默超过该时长自动结束录音,
|
|
14993
|
+
// 审批意见多为短句,说完后无需等太久即可收尾;该值应大于句中自然停顿(约1-2秒)
|
|
14994
|
+
var TRAILING_SILENCE_MS = 3000;
|
|
14979
14995
|
/* harmony default export */ var VoiceInputDialogvue_type_script_lang_js = ({
|
|
14980
14996
|
name: 'VoiceInputDialog',
|
|
14981
14997
|
props: {
|
|
14982
14998
|
visible: {
|
|
14983
14999
|
type: Boolean,
|
|
14984
15000
|
default: false
|
|
15001
|
+
},
|
|
15002
|
+
// 界面皮肤:basic-基本版 tech-科技版,仅影响视觉样式,识别功能完全一致
|
|
15003
|
+
skin: {
|
|
15004
|
+
type: String,
|
|
15005
|
+
default: 'basic',
|
|
15006
|
+
validator: function validator(val) {
|
|
15007
|
+
return ['basic', 'tech'].indexOf(val) > -1;
|
|
15008
|
+
}
|
|
14985
15009
|
}
|
|
14986
15010
|
},
|
|
14987
15011
|
data: function data() {
|
|
14988
15012
|
return {
|
|
14989
15013
|
i18npkg: 'ecmapp',
|
|
14990
15014
|
moduleCode: 'wflowform',
|
|
15015
|
+
currentSkin: this.skin,
|
|
15016
|
+
// 当前皮肤(basic/tech),初始取自skin属性,头部按钮可切换
|
|
14991
15017
|
status: 'idle',
|
|
14992
15018
|
// idle:待录音 recording:录音中 processing:识别中(仅后端模式) done:识别完成 error:出错
|
|
14993
15019
|
errorText: '',
|
|
14994
15020
|
resultText: '',
|
|
14995
15021
|
finalText: '',
|
|
14996
|
-
//
|
|
15022
|
+
// 已确认的识别文本(浏览器模式的final结果、流式模式已分段终稿)
|
|
14997
15023
|
seconds: 0,
|
|
14998
15024
|
timer: null,
|
|
14999
15025
|
recognition: null,
|
|
@@ -15003,6 +15029,18 @@ var TRAILING_SILENCE_MS = 5000;
|
|
|
15003
15029
|
stream: null,
|
|
15004
15030
|
// 麦克风音频流
|
|
15005
15031
|
audioChunks: [],
|
|
15032
|
+
ws: null,
|
|
15033
|
+
// 流式识别WebSocket连接
|
|
15034
|
+
wsProcessor: null,
|
|
15035
|
+
// 流式识别PCM采集节点
|
|
15036
|
+
wsSource: null,
|
|
15037
|
+
// 流式识别音频源节点
|
|
15038
|
+
streamActive: false,
|
|
15039
|
+
// 流式识别链路是否正常(异常时降级为整段上传)
|
|
15040
|
+
streamWaitingDone: false,
|
|
15041
|
+
// 已发stop,等待服务端最终结果
|
|
15042
|
+
streamDoneTimer: null,
|
|
15043
|
+
// 等待最终结果的超时兜底定时器
|
|
15006
15044
|
lastVoiceAt: 0,
|
|
15007
15045
|
// 最近一次检测到人声的时间戳,用于静音自动结束
|
|
15008
15046
|
hasVoice: false,
|
|
@@ -15035,6 +15073,12 @@ var TRAILING_SILENCE_MS = 5000;
|
|
|
15035
15073
|
var voiceToWord = window.voiceToWord;
|
|
15036
15074
|
return voiceToWord && typeof voiceToWord === 'string' && voiceToWord !== 'browser' ? voiceToWord : '';
|
|
15037
15075
|
},
|
|
15076
|
+
// window.voiceToWordStream为非空字符串时启用流式识别(WebSocket边说边出字),
|
|
15077
|
+
// 值为网关内路径如'/voice/recognize/stream',未配置则维持录完整段上传识别
|
|
15078
|
+
streamPath: function streamPath() {
|
|
15079
|
+
var streamPath = window.voiceToWordStream;
|
|
15080
|
+
return this.backendUrl && streamPath && typeof streamPath === 'string' ? streamPath : '';
|
|
15081
|
+
},
|
|
15038
15082
|
statusText: function statusText() {
|
|
15039
15083
|
switch (this.status) {
|
|
15040
15084
|
case 'recording':
|
|
@@ -15061,6 +15105,9 @@ var TRAILING_SILENCE_MS = 5000;
|
|
|
15061
15105
|
this.resetState();
|
|
15062
15106
|
this.preRequestPermission();
|
|
15063
15107
|
}
|
|
15108
|
+
},
|
|
15109
|
+
skin: function skin(val) {
|
|
15110
|
+
this.currentSkin = val;
|
|
15064
15111
|
}
|
|
15065
15112
|
},
|
|
15066
15113
|
beforeDestroy: function beforeDestroy() {
|
|
@@ -15241,6 +15288,9 @@ var TRAILING_SILENCE_MS = 5000;
|
|
|
15241
15288
|
}).then(function (stream) {
|
|
15242
15289
|
_this4.stream = stream;
|
|
15243
15290
|
_this4.audioChunks = [];
|
|
15291
|
+
// 立即置为录音中:MediaRecorder.onstart是异步事件,而WebSocket经本地代理握手可能先于它完成,
|
|
15292
|
+
// 若等onstart才置status,onopen会因status仍为idle而误关连接(code=1000)
|
|
15293
|
+
_this4.status = 'recording';
|
|
15244
15294
|
var mimeType = window.MediaRecorder && MediaRecorder.isTypeSupported('audio/webm;codecs=opus') ? 'audio/webm;codecs=opus' : '';
|
|
15245
15295
|
var mediaRecorder = mimeType ? new MediaRecorder(stream, {
|
|
15246
15296
|
mimeType: mimeType
|
|
@@ -15251,7 +15301,6 @@ var TRAILING_SILENCE_MS = 5000;
|
|
|
15251
15301
|
}
|
|
15252
15302
|
};
|
|
15253
15303
|
mediaRecorder.onstart = function () {
|
|
15254
|
-
_this4.status = 'recording';
|
|
15255
15304
|
_this4.startTimer();
|
|
15256
15305
|
// canvas由v-show控制,需等DOM更新可见后再取尺寸绘制波形,否则画布为0×0
|
|
15257
15306
|
_this4.$nextTick(function () {
|
|
@@ -15263,6 +15312,8 @@ var TRAILING_SILENCE_MS = 5000;
|
|
|
15263
15312
|
};
|
|
15264
15313
|
mediaRecorder.onstop = function () {
|
|
15265
15314
|
_this4.stopTimer();
|
|
15315
|
+
// 先断开PCM推送再关波形(stopWaveform会关闭AudioContext)
|
|
15316
|
+
_this4.stopPcmCapture();
|
|
15266
15317
|
_this4.stopWaveform();
|
|
15267
15318
|
_this4.releaseStream();
|
|
15268
15319
|
_this4.mediaRecorder = null;
|
|
@@ -15270,13 +15321,22 @@ var TRAILING_SILENCE_MS = 5000;
|
|
|
15270
15321
|
// 全程静音自动结束:丢弃录音,提示已在checkSilenceTimeout中给出
|
|
15271
15322
|
_this4.discardRecording = false;
|
|
15272
15323
|
_this4.audioChunks = [];
|
|
15324
|
+
_this4.closeStream();
|
|
15325
|
+
} else if (_this4.visible && _this4.streamActive && _this4.ws && _this4.ws.readyState === WebSocket.OPEN) {
|
|
15326
|
+
// 流式链路全程正常:通知服务端冲刷解码器收尾,不再整段上传
|
|
15327
|
+
_this4.finishStream();
|
|
15273
15328
|
} else if (_this4.visible && _this4.audioChunks.length > 0) {
|
|
15274
|
-
//
|
|
15329
|
+
// 弹窗已关闭(取消录音)则不再上传;流式失败时降级为整段上传
|
|
15330
|
+
_this4.closeStream();
|
|
15275
15331
|
_this4.uploadVoice();
|
|
15276
15332
|
}
|
|
15277
15333
|
};
|
|
15278
15334
|
_this4.mediaRecorder = mediaRecorder;
|
|
15279
15335
|
mediaRecorder.start();
|
|
15336
|
+
// 流式识别:录音同时经 WebSocket 推送PCM,边说边出字;失败自动降级为整段上传
|
|
15337
|
+
if (_this4.streamPath) {
|
|
15338
|
+
_this4.startStream(stream);
|
|
15339
|
+
}
|
|
15280
15340
|
}).catch(function () {
|
|
15281
15341
|
_this4.showPermissionError();
|
|
15282
15342
|
});
|
|
@@ -15314,6 +15374,179 @@ var TRAILING_SILENCE_MS = 5000;
|
|
|
15314
15374
|
_this5.errorText = _this5.$tx('ecmapp.wflowform.voiceRecognizeFail', '语音识别失败,请重试。');
|
|
15315
15375
|
});
|
|
15316
15376
|
},
|
|
15377
|
+
// 由axios的baseURL(/apigw)拼出流式识别WebSocket地址
|
|
15378
|
+
buildStreamWsUrl: function buildStreamWsUrl() {
|
|
15379
|
+
var base = this.$http && this.$http.defaults && this.$http.defaults.baseURL || '';
|
|
15380
|
+
if (!/^https?:/i.test(base)) {
|
|
15381
|
+
base = location.origin + (base && base.charAt(0) !== '/' ? '/' : '') + base;
|
|
15382
|
+
}
|
|
15383
|
+
return base.replace(/^https:/, 'wss:').replace(/^http:/, 'ws:') + this.streamPath;
|
|
15384
|
+
},
|
|
15385
|
+
// 建立流式识别WebSocket,成功后边录边传PCM;任何失败都静默回落到整段上传
|
|
15386
|
+
startStream: function startStream(stream) {
|
|
15387
|
+
var _this6 = this;
|
|
15388
|
+
var wsUrl = this.buildStreamWsUrl();
|
|
15389
|
+
console.log('[VoiceStream] 连接:', wsUrl);
|
|
15390
|
+
var ws;
|
|
15391
|
+
try {
|
|
15392
|
+
ws = new WebSocket(wsUrl);
|
|
15393
|
+
} catch (e) {
|
|
15394
|
+
console.warn('[VoiceStream] 创建WebSocket失败,降级为整段上传:', e);
|
|
15395
|
+
return;
|
|
15396
|
+
}
|
|
15397
|
+
ws.binaryType = 'arraybuffer';
|
|
15398
|
+
this.ws = ws;
|
|
15399
|
+
ws.onopen = function () {
|
|
15400
|
+
if (_this6.ws !== ws) return;
|
|
15401
|
+
if (_this6.status !== 'recording') {
|
|
15402
|
+
try {
|
|
15403
|
+
ws.close();
|
|
15404
|
+
} catch (e) {
|
|
15405
|
+
// 已关闭时close抛错可忽略
|
|
15406
|
+
}
|
|
15407
|
+
return;
|
|
15408
|
+
}
|
|
15409
|
+
console.log('[VoiceStream] 握手成功,开始推送PCM');
|
|
15410
|
+
_this6.streamActive = true;
|
|
15411
|
+
_this6.startPcmCapture(stream);
|
|
15412
|
+
};
|
|
15413
|
+
ws.onmessage = function (event) {
|
|
15414
|
+
return _this6.onStreamMessage(event);
|
|
15415
|
+
};
|
|
15416
|
+
ws.onerror = function (event) {
|
|
15417
|
+
console.warn('[VoiceStream] 连接错误,将降级为整段上传', event);
|
|
15418
|
+
};
|
|
15419
|
+
ws.onclose = function (event) {
|
|
15420
|
+
console.log('[VoiceStream] 连接关闭 code=' + event.code + (event.reason ? ' reason=' + event.reason : ''));
|
|
15421
|
+
if (_this6.ws !== ws) return;
|
|
15422
|
+
_this6.ws = null;
|
|
15423
|
+
if (_this6.streamWaitingDone) {
|
|
15424
|
+
// 等待最终结果期间服务端关闭,视为收尾完成
|
|
15425
|
+
_this6.onStreamDone();
|
|
15426
|
+
} else if (_this6.status === 'recording') {
|
|
15427
|
+
// 录音途中异常断开,标记降级,onstop时走整段上传
|
|
15428
|
+
_this6.streamActive = false;
|
|
15429
|
+
_this6.stopPcmCapture();
|
|
15430
|
+
}
|
|
15431
|
+
};
|
|
15432
|
+
},
|
|
15433
|
+
onStreamMessage: function onStreamMessage(event) {
|
|
15434
|
+
var msg;
|
|
15435
|
+
try {
|
|
15436
|
+
msg = JSON.parse(event.data);
|
|
15437
|
+
} catch (e) {
|
|
15438
|
+
return;
|
|
15439
|
+
}
|
|
15440
|
+
if (msg.error) {
|
|
15441
|
+
// 服务端明确报错(如流式未启用),降级到整段上传
|
|
15442
|
+
console.warn('[VoiceStream] 服务端报错,降级为整段上传:', msg.error);
|
|
15443
|
+
this.streamActive = false;
|
|
15444
|
+
this.stopPcmCapture();
|
|
15445
|
+
return;
|
|
15446
|
+
}
|
|
15447
|
+
if (msg.isFinal) {
|
|
15448
|
+
// 一段话说完(端点检测分段),固化进finalText
|
|
15449
|
+
if (msg.text) {
|
|
15450
|
+
this.finalText += msg.text;
|
|
15451
|
+
}
|
|
15452
|
+
this.resultText = this.finalText;
|
|
15453
|
+
} else {
|
|
15454
|
+
this.resultText = this.finalText + (msg.text || '');
|
|
15455
|
+
}
|
|
15456
|
+
if (msg.done) {
|
|
15457
|
+
this.onStreamDone();
|
|
15458
|
+
}
|
|
15459
|
+
},
|
|
15460
|
+
// 用ScriptProcessorNode抓PCM实时发送(AudioWorklet在旧WebView兼容性差)
|
|
15461
|
+
startPcmCapture: function startPcmCapture(stream) {
|
|
15462
|
+
var _this7 = this;
|
|
15463
|
+
var audioContext = this.audioContext;
|
|
15464
|
+
if (!audioContext || audioContext.state === 'closed') return;
|
|
15465
|
+
var source = audioContext.createMediaStreamSource(stream);
|
|
15466
|
+
var processor = audioContext.createScriptProcessor(4096, 1, 1);
|
|
15467
|
+
processor.onaudioprocess = function (event) {
|
|
15468
|
+
if (!_this7.streamActive || !_this7.ws || _this7.ws.readyState !== WebSocket.OPEN) return;
|
|
15469
|
+
var input = event.inputBuffer.getChannelData(0);
|
|
15470
|
+
_this7.ws.send(_this7.downsampleToInt16(input, event.inputBuffer.sampleRate));
|
|
15471
|
+
};
|
|
15472
|
+
source.connect(processor);
|
|
15473
|
+
// 必须接入输出图才会触发onaudioprocess,无output通道不会回放
|
|
15474
|
+
processor.connect(audioContext.destination);
|
|
15475
|
+
this.wsSource = source;
|
|
15476
|
+
this.wsProcessor = processor;
|
|
15477
|
+
},
|
|
15478
|
+
// 线性插值降采样到16kHz并转Int16小端,兼容44.1k/48k采集
|
|
15479
|
+
downsampleToInt16: function downsampleToInt16(input, sourceRate) {
|
|
15480
|
+
var ratio = sourceRate / 16000;
|
|
15481
|
+
var length = Math.floor(input.length / ratio);
|
|
15482
|
+
var result = new Int16Array(length);
|
|
15483
|
+
for (var i = 0; i < length; i++) {
|
|
15484
|
+
var pos = i * ratio;
|
|
15485
|
+
var left = Math.floor(pos);
|
|
15486
|
+
var right = Math.min(left + 1, input.length - 1);
|
|
15487
|
+
var sample = input[left] + (input[right] - input[left]) * (pos - left);
|
|
15488
|
+
var clamped = Math.max(-1, Math.min(1, sample));
|
|
15489
|
+
result[i] = clamped < 0 ? clamped * 0x8000 : clamped * 0x7fff;
|
|
15490
|
+
}
|
|
15491
|
+
return result.buffer;
|
|
15492
|
+
},
|
|
15493
|
+
stopPcmCapture: function stopPcmCapture() {
|
|
15494
|
+
if (this.wsProcessor) {
|
|
15495
|
+
this.wsProcessor.disconnect();
|
|
15496
|
+
this.wsProcessor.onaudioprocess = null;
|
|
15497
|
+
this.wsProcessor = null;
|
|
15498
|
+
}
|
|
15499
|
+
if (this.wsSource) {
|
|
15500
|
+
this.wsSource.disconnect();
|
|
15501
|
+
this.wsSource = null;
|
|
15502
|
+
}
|
|
15503
|
+
},
|
|
15504
|
+
// 录音结束:通知服务端冲刷解码器,等最终结果(超时兜底直接用现有文字)
|
|
15505
|
+
finishStream: function finishStream() {
|
|
15506
|
+
var _this8 = this;
|
|
15507
|
+
this.status = 'processing';
|
|
15508
|
+
this.streamWaitingDone = true;
|
|
15509
|
+
this.streamDoneTimer = setTimeout(function () {
|
|
15510
|
+
return _this8.onStreamDone();
|
|
15511
|
+
}, 4000);
|
|
15512
|
+
try {
|
|
15513
|
+
this.ws.send('stop');
|
|
15514
|
+
} catch (e) {
|
|
15515
|
+
this.onStreamDone();
|
|
15516
|
+
}
|
|
15517
|
+
},
|
|
15518
|
+
// 流式收尾(幂等):resultText已含最新partial,超时兜底也不丢字
|
|
15519
|
+
onStreamDone: function onStreamDone() {
|
|
15520
|
+
if (!this.streamWaitingDone) return;
|
|
15521
|
+
this.streamWaitingDone = false;
|
|
15522
|
+
this.closeStream();
|
|
15523
|
+
this.audioChunks = [];
|
|
15524
|
+
if (this.resultText.trim() !== '') {
|
|
15525
|
+
this.status = 'done';
|
|
15526
|
+
} else {
|
|
15527
|
+
this.status = 'error';
|
|
15528
|
+
this.errorText = this.$tx('ecmapp.wflowform.voiceNoSpeech', '未检测到语音,请重试。');
|
|
15529
|
+
}
|
|
15530
|
+
},
|
|
15531
|
+
closeStream: function closeStream() {
|
|
15532
|
+
this.stopPcmCapture();
|
|
15533
|
+
if (this.streamDoneTimer) {
|
|
15534
|
+
clearTimeout(this.streamDoneTimer);
|
|
15535
|
+
this.streamDoneTimer = null;
|
|
15536
|
+
}
|
|
15537
|
+
if (this.ws) {
|
|
15538
|
+
var ws = this.ws;
|
|
15539
|
+
this.ws = null;
|
|
15540
|
+
ws.onclose = null;
|
|
15541
|
+
try {
|
|
15542
|
+
ws.close();
|
|
15543
|
+
} catch (e) {
|
|
15544
|
+
// 已关闭时close抛错可忽略
|
|
15545
|
+
}
|
|
15546
|
+
}
|
|
15547
|
+
this.streamActive = false;
|
|
15548
|
+
this.streamWaitingDone = false;
|
|
15549
|
+
},
|
|
15317
15550
|
releaseStream: function releaseStream() {
|
|
15318
15551
|
if (this.stream) {
|
|
15319
15552
|
this.stream.getTracks().forEach(function (track) {
|
|
@@ -15324,25 +15557,25 @@ var TRAILING_SILENCE_MS = 5000;
|
|
|
15324
15557
|
},
|
|
15325
15558
|
// 浏览器模式下SpeechRecognition不暴露音频流,单独取一路流用于波形绘制
|
|
15326
15559
|
startVisualStream: function startVisualStream() {
|
|
15327
|
-
var
|
|
15560
|
+
var _this9 = this;
|
|
15328
15561
|
if (!(navigator.mediaDevices && navigator.mediaDevices.getUserMedia)) return;
|
|
15329
15562
|
navigator.mediaDevices.getUserMedia({
|
|
15330
15563
|
audio: true
|
|
15331
15564
|
}).then(function (stream) {
|
|
15332
15565
|
// 取流回来时录音可能已结束
|
|
15333
|
-
if (
|
|
15566
|
+
if (_this9.status !== 'recording') {
|
|
15334
15567
|
stream.getTracks().forEach(function (track) {
|
|
15335
15568
|
return track.stop();
|
|
15336
15569
|
});
|
|
15337
15570
|
return;
|
|
15338
15571
|
}
|
|
15339
|
-
|
|
15340
|
-
|
|
15572
|
+
_this9.visualStream = stream;
|
|
15573
|
+
_this9.startWaveform(stream);
|
|
15341
15574
|
}).catch(function () {});
|
|
15342
15575
|
},
|
|
15343
15576
|
// 用AnalyserNode实时绘制录音波形柱状图,复用startRecord手势内创建的AudioContext
|
|
15344
15577
|
startWaveform: function startWaveform(stream) {
|
|
15345
|
-
var
|
|
15578
|
+
var _this10 = this;
|
|
15346
15579
|
var canvas = this.$refs.waveCanvas;
|
|
15347
15580
|
var audioContext = this.audioContext;
|
|
15348
15581
|
if (!audioContext || audioContext.state === 'closed' || !canvas) return;
|
|
@@ -15366,20 +15599,28 @@ var TRAILING_SILENCE_MS = 5000;
|
|
|
15366
15599
|
var barWidth = (canvas.width - gap * (barCount - 1)) / barCount;
|
|
15367
15600
|
var centerY = canvas.height / 2;
|
|
15368
15601
|
var draw = function draw() {
|
|
15369
|
-
if (!
|
|
15370
|
-
|
|
15371
|
-
|
|
15602
|
+
if (!_this10.analyser) return;
|
|
15603
|
+
_this10.waveRafId = requestAnimationFrame(draw);
|
|
15604
|
+
_this10.analyser.getByteFrequencyData(dataArray);
|
|
15372
15605
|
// 顺带做人声检测,供静音自动结束判定
|
|
15373
15606
|
var sum = 0;
|
|
15374
15607
|
for (var i = 0; i < dataArray.length; i++) {
|
|
15375
15608
|
sum += dataArray[i];
|
|
15376
15609
|
}
|
|
15377
15610
|
if (sum / dataArray.length > VOICE_AVG_THRESHOLD) {
|
|
15378
|
-
|
|
15379
|
-
|
|
15611
|
+
_this10.lastVoiceAt = Date.now();
|
|
15612
|
+
_this10.hasVoice = true;
|
|
15380
15613
|
}
|
|
15381
15614
|
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
|
15382
|
-
|
|
15615
|
+
// 波形颜色随皮肤切换:科技版霓虹青带辉光,基本版保持品牌蓝
|
|
15616
|
+
if (_this10.currentSkin === 'tech') {
|
|
15617
|
+
ctx.fillStyle = '#00e5ff';
|
|
15618
|
+
ctx.shadowColor = 'rgba(0, 229, 255, 0.8)';
|
|
15619
|
+
ctx.shadowBlur = 8 * dpr;
|
|
15620
|
+
} else {
|
|
15621
|
+
ctx.fillStyle = '#1989fa';
|
|
15622
|
+
ctx.shadowBlur = 0;
|
|
15623
|
+
}
|
|
15383
15624
|
for (var _i = 0; _i < barCount; _i++) {
|
|
15384
15625
|
var value = dataArray[Math.floor(_i * dataArray.length / barCount)] / 255;
|
|
15385
15626
|
var barHeight = Math.max(2 * dpr, value * canvas.height);
|
|
@@ -15409,6 +15650,7 @@ var TRAILING_SILENCE_MS = 5000;
|
|
|
15409
15650
|
// 关闭/取消时释放麦克风等资源
|
|
15410
15651
|
releaseResources: function releaseResources() {
|
|
15411
15652
|
this.stopTimer();
|
|
15653
|
+
this.closeStream();
|
|
15412
15654
|
this.stopWaveform();
|
|
15413
15655
|
if (this.recognition) {
|
|
15414
15656
|
this.recognition.abort();
|
|
@@ -15433,9 +15675,9 @@ var TRAILING_SILENCE_MS = 5000;
|
|
|
15433
15675
|
});
|
|
15434
15676
|
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=script&lang=js
|
|
15435
15677
|
/* harmony default export */ var src_VoiceInputDialogvue_type_script_lang_js = (VoiceInputDialogvue_type_script_lang_js);
|
|
15436
|
-
// EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-65.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-65.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-65.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=style&index=0&id=
|
|
15437
|
-
var
|
|
15438
|
-
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=style&index=0&id=
|
|
15678
|
+
// EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-65.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-65.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-65.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=style&index=0&id=cf18a87c&prod&scoped=true&lang=scss
|
|
15679
|
+
var VoiceInputDialogvue_type_style_index_0_id_cf18a87c_prod_scoped_true_lang_scss = __webpack_require__(958);
|
|
15680
|
+
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=style&index=0&id=cf18a87c&prod&scoped=true&lang=scss
|
|
15439
15681
|
|
|
15440
15682
|
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue
|
|
15441
15683
|
|
|
@@ -15448,11 +15690,11 @@ var VoiceInputDialogvue_type_style_index_0_id_5924c680_prod_scoped_true_lang_scs
|
|
|
15448
15690
|
|
|
15449
15691
|
var VoiceInputDialog_component = (0,componentNormalizer/* default */.A)(
|
|
15450
15692
|
src_VoiceInputDialogvue_type_script_lang_js,
|
|
15451
|
-
|
|
15452
|
-
|
|
15693
|
+
VoiceInputDialogvue_type_template_id_cf18a87c_scoped_true_render,
|
|
15694
|
+
VoiceInputDialogvue_type_template_id_cf18a87c_scoped_true_staticRenderFns,
|
|
15453
15695
|
false,
|
|
15454
15696
|
null,
|
|
15455
|
-
"
|
|
15697
|
+
"cf18a87c",
|
|
15456
15698
|
null
|
|
15457
15699
|
|
|
15458
15700
|
)
|
|
@@ -16480,9 +16722,9 @@ var moment = __webpack_require__(5093);
|
|
|
16480
16722
|
});
|
|
16481
16723
|
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/SubmitHandle.vue?vue&type=script&lang=js
|
|
16482
16724
|
/* harmony default export */ var src_SubmitHandlevue_type_script_lang_js = (SubmitHandlevue_type_script_lang_js);
|
|
16483
|
-
// EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-65.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-65.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-65.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/SubmitHandle.vue?vue&type=style&index=0&id=
|
|
16484
|
-
var
|
|
16485
|
-
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/SubmitHandle.vue?vue&type=style&index=0&id=
|
|
16725
|
+
// EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-65.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-65.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-65.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/SubmitHandle.vue?vue&type=style&index=0&id=6bdfbd40&prod&scoped=true&lang=scss
|
|
16726
|
+
var SubmitHandlevue_type_style_index_0_id_6bdfbd40_prod_scoped_true_lang_scss = __webpack_require__(8525);
|
|
16727
|
+
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/SubmitHandle.vue?vue&type=style&index=0&id=6bdfbd40&prod&scoped=true&lang=scss
|
|
16486
16728
|
|
|
16487
16729
|
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/SubmitHandle.vue
|
|
16488
16730
|
|
|
@@ -16495,11 +16737,11 @@ var SubmitHandlevue_type_style_index_0_id_20bc806c_prod_scoped_true_lang_scss =
|
|
|
16495
16737
|
|
|
16496
16738
|
var SubmitHandle_component = (0,componentNormalizer/* default */.A)(
|
|
16497
16739
|
src_SubmitHandlevue_type_script_lang_js,
|
|
16498
|
-
|
|
16499
|
-
|
|
16740
|
+
SubmitHandlevue_type_template_id_6bdfbd40_scoped_true_render,
|
|
16741
|
+
SubmitHandlevue_type_template_id_6bdfbd40_scoped_true_staticRenderFns,
|
|
16500
16742
|
false,
|
|
16501
16743
|
null,
|
|
16502
|
-
"
|
|
16744
|
+
"6bdfbd40",
|
|
16503
16745
|
null
|
|
16504
16746
|
|
|
16505
16747
|
)
|
|
@@ -19154,6 +19396,7 @@ var ShortcutProcessing_component = (0,componentNormalizer/* default */.A)(
|
|
|
19154
19396
|
|
|
19155
19397
|
|
|
19156
19398
|
|
|
19399
|
+
|
|
19157
19400
|
// 为组件添加 install 方法,用于按需引入
|
|
19158
19401
|
Attachment.install = function (Vue) {
|
|
19159
19402
|
Vue.component(Attachment.name, Attachment);
|
|
@@ -19182,6 +19425,9 @@ WriteToReadIdea.install = function (Vue) {
|
|
|
19182
19425
|
ShortcutProcessing.install = function (Vue) {
|
|
19183
19426
|
Vue.component(ShortcutProcessing.name, ShortcutProcessing);
|
|
19184
19427
|
};
|
|
19428
|
+
VoiceInputDialog.install = function (Vue) {
|
|
19429
|
+
Vue.component(VoiceInputDialog.name, VoiceInputDialog);
|
|
19430
|
+
};
|
|
19185
19431
|
var Wflowform_Attachment = Attachment;
|
|
19186
19432
|
var Wflowform_BodyFile = BodyFile;
|
|
19187
19433
|
var Wflowform_HandleIdea = HandleIdea;
|
|
@@ -19191,6 +19437,7 @@ var Wflowform_SubmitDialog = SubmitDialog;
|
|
|
19191
19437
|
var Wflowform_WfNodelogList = WfNodelogList;
|
|
19192
19438
|
var Wflowform_WriteToReadIdea = WriteToReadIdea;
|
|
19193
19439
|
var Wflowform_ShortcutProcessing = ShortcutProcessing;
|
|
19440
|
+
var Wflowform_VoiceInputDialog = VoiceInputDialog;
|
|
19194
19441
|
|
|
19195
19442
|
/***/ }),
|
|
19196
19443
|
|
|
@@ -22303,7 +22550,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".van-switch-field[data-v-61ed46da]{pos
|
|
|
22303
22550
|
|
|
22304
22551
|
/***/ }),
|
|
22305
22552
|
|
|
22306
|
-
/***/
|
|
22553
|
+
/***/ 7855:
|
|
22307
22554
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
22308
22555
|
|
|
22309
22556
|
"use strict";
|
|
@@ -22317,7 +22564,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
22317
22564
|
|
|
22318
22565
|
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
|
|
22319
22566
|
// Module
|
|
22320
|
-
___CSS_LOADER_EXPORT___.push([module.id, ".van-textarea-field[data-v-
|
|
22567
|
+
___CSS_LOADER_EXPORT___.push([module.id, ".van-textarea-field[data-v-27eb631a]{position:relative}.van-textarea-field[data-v-27eb631a] .van-field__label{width:90%!important}.van-textarea-field[data-v-27eb631a]:after{position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;content:\" \";pointer-events:none;right:0;bottom:0;left:16px;border-bottom:1px solid #ebedf0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.richtext-content[data-v-27eb631a]{width:100%;white-space:pre-wrap}.richtext-content[data-v-27eb631a] img{-o-object-fit:contain;object-fit:contain;max-width:100%!important;height:auto!important}.richtext-content-hidden[data-v-27eb631a]{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical}.voice-input-entry[data-v-27eb631a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:6px 16px 10px;color:#1989fa;font-size:14px}.voice-input-entry .voice-input-entry-icon[data-v-27eb631a]{width:16px;height:16px;margin-right:4px}.voice-input-entry[data-v-27eb631a]:active{opacity:.7}.van-textarea-field[data-v-27eb631a] .field-flSubject .richtext-content,.van-textarea-field[data-v-27eb631a] .field-flSubject textarea.van-field__control{font-size:16px;font-weight:700}", ""]);
|
|
22321
22568
|
// Exports
|
|
22322
22569
|
/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
|
|
22323
22570
|
|
|
@@ -22939,7 +23186,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".submit-dialog-container[data-v-9c230b
|
|
|
22939
23186
|
|
|
22940
23187
|
/***/ }),
|
|
22941
23188
|
|
|
22942
|
-
/***/
|
|
23189
|
+
/***/ 2106:
|
|
22943
23190
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
22944
23191
|
|
|
22945
23192
|
"use strict";
|
|
@@ -22958,14 +23205,14 @@ var ___CSS_LOADER_URL_IMPORT_0___ = new URL(/* asset import */ __webpack_require
|
|
|
22958
23205
|
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
|
|
22959
23206
|
var ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_0___);
|
|
22960
23207
|
// Module
|
|
22961
|
-
___CSS_LOADER_EXPORT___.push([module.id, ".submit-handle-container .idea-button-container .van-cell__value[data-v-
|
|
23208
|
+
___CSS_LOADER_EXPORT___.push([module.id, ".submit-handle-container .idea-button-container .van-cell__value[data-v-6bdfbd40]{text-align:right}.submit-handle-container .idea-button-container .van-cell__value .van-button[data-v-6bdfbd40]{margin-right:0;margin-left:5px}.submit-handle-container .curIdea-filed[data-v-6bdfbd40] .van-cell__title,.submit-handle-container .curIdea-filed[data-v-6bdfbd40]:after{display:none}.submit-handle-container .idea-input-wrap[data-v-6bdfbd40]{position:relative}.submit-handle-container .idea-input-wrap[data-v-6bdfbd40] .curIdea-filed textarea{padding-right:30px}.submit-handle-container .idea-input-wrap .voice-input-btn[data-v-6bdfbd40]{position:absolute;right:12px;bottom:8px;z-index:2;width:28px;height:28px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:50%;background-color:#f2f3f5;color:#646566}.submit-handle-container .idea-input-wrap .voice-input-btn .voice-input-icon[data-v-6bdfbd40]{width:16px;height:16px}.submit-handle-container .idea-input-wrap .voice-input-btn[data-v-6bdfbd40]:active{background-color:#ebedf0;color:#1989fa}.submit-handle-container .clearfix[data-v-6bdfbd40]:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}.submit-handle-container[data-v-6bdfbd40] .van-radio-group .van-cell__title{font-weight:400!important}.submit-handle-container .van-wflow-operate-detail-cell[data-v-6bdfbd40]:after{border-top-width:0}.submit-handle-container .van-wflow-operate-detail-cell-path[data-v-6bdfbd40]:after{border-width:1px;-webkit-transform:scale(.5);transform:scale(.5)}.submit-handle-container[data-v-6bdfbd40] .tnLimit-container .van-field{width:50px;display:inline-block;padding:0}.submit-handle-container[data-v-6bdfbd40] .tnLimit-container .van-field .van-field__body input{text-align:center}.submit-handle-container[data-v-6bdfbd40] .tnLimit-container .van-field__body:after{color:#323233;content:attr(value-suffix);word-break:keep-all}.submit-handle-container .delete-icon[data-v-6bdfbd40]{display:-webkit-box;display:-ms-flexbox;display:flex;float:right}.submit-handle-container .delete-icon .van-icon[data-v-6bdfbd40]{line-height:24px;margin-left:5px;font-size:16px}.selectBox_title[data-v-6bdfbd40]{height:45px;line-height:45px;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;font-size:14px}.selectBox_content[data-v-6bdfbd40],.selectBox_title[data-v-6bdfbd40]{display:-webkit-box;display:-ms-flexbox;display:flex;padding:0 15px}.selectBox_content[data-v-6bdfbd40]{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap}.selectBox_content .selectBox_content_son[data-v-6bdfbd40]{border:1px solid #f1f1f1}.selectBox_content .selectBox_content_son[data-v-6bdfbd40],.selectBox_content .selectBox_content_son_change[data-v-6bdfbd40]{padding:4px;background:#f8fafb;font-size:14px;margin-bottom:10px!important;text-align:center;height:22px;line-height:22px;width:calc(25% - 17.5px);margin-right:10px}.selectBox_content .selectBox_content_son_change[data-v-6bdfbd40]{border:1px solid #3f88f1;background-image:url(" + ___CSS_LOADER_URL_REPLACEMENT_0___ + ");background-repeat:no-repeat;background-size:15px 15px;background-position:100% 100%;color:#3f88f1}.selectBox_content_sonall[data-v-6bdfbd40]{white-space:nowrap;overflow:hidden;overflow-x:scroll;-webkit-overflow-scrolling:touch}.selectBox_content_sonall[data-v-6bdfbd40]:nth-child(4n){margin-right:0}.selectBox_content_sonall[data-v-6bdfbd40]::-webkit-scrollbar{display:none}.viewAllComments[data-v-6bdfbd40]{height:45px;line-height:45px;text-align:center;color:#b7b7b7;font-size:12px;background:#fff;display:block;width:100%}", ""]);
|
|
22962
23209
|
// Exports
|
|
22963
23210
|
/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
|
|
22964
23211
|
|
|
22965
23212
|
|
|
22966
23213
|
/***/ }),
|
|
22967
23214
|
|
|
22968
|
-
/***/
|
|
23215
|
+
/***/ 2145:
|
|
22969
23216
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
22970
23217
|
|
|
22971
23218
|
"use strict";
|
|
@@ -22979,7 +23226,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
22979
23226
|
|
|
22980
23227
|
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
|
|
22981
23228
|
// Module
|
|
22982
|
-
___CSS_LOADER_EXPORT___.push([module.id, ".voice-input-popup[data-v-
|
|
23229
|
+
___CSS_LOADER_EXPORT___.push([module.id, ".voice-input-popup[data-v-cf18a87c]{padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.voice-input-popup .voice-popup-header[data-v-cf18a87c]{position:relative;height:48px;line-height:48px;text-align:center}.voice-input-popup .voice-popup-header .voice-popup-title[data-v-cf18a87c]{font-size:16px;font-weight:600;color:#323233}.voice-input-popup .voice-popup-header .voice-popup-close[data-v-cf18a87c]{position:absolute;right:16px;top:16px;font-size:16px;color:#c8c9cc}.voice-input-popup .voice-popup-body[data-v-cf18a87c]{padding:8px 16px 0;text-align:center}.voice-input-popup .voice-popup-body .voice-mic-btn[data-v-cf18a87c]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:64px;height:64px;border-radius:50%;background-color:#1989fa;color:#fff}.voice-input-popup .voice-popup-body .voice-mic-btn .voice-mic-icon[data-v-cf18a87c]{width:28px;height:28px}.voice-input-popup .voice-popup-body .voice-mic-btn.recording[data-v-cf18a87c]{background-color:#ee0a24;-webkit-animation:voice-breathe-cf18a87c 1.5s ease-out infinite;animation:voice-breathe-cf18a87c 1.5s ease-out infinite}.voice-input-popup .voice-popup-body .voice-mic-btn[data-v-cf18a87c] .van-loading{padding-top:0}.voice-input-popup .voice-popup-body .voice-status-text[data-v-cf18a87c]{margin-top:12px;font-size:13px;color:#646566}.voice-input-popup .voice-popup-body .voice-status-text.is-error[data-v-cf18a87c]{color:#ee0a24}.voice-input-popup .voice-popup-body .voice-wave-canvas[data-v-cf18a87c]{display:block;width:200px;height:32px;margin:8px auto 0}.voice-input-popup .voice-popup-body .voice-timer[data-v-cf18a87c]{margin-top:4px;font-size:13px;color:#969799}.voice-input-popup .voice-popup-body .voice-result-field[data-v-cf18a87c]{margin-top:12px;background-color:#f7f8fa;border-radius:8px}.voice-input-popup .voice-popup-footer[data-v-cf18a87c]{padding:12px 16px;text-align:right}.voice-input-popup .voice-popup-footer .van-button[data-v-cf18a87c]{margin-left:8px;min-width:80px}.voice-mic-wrap[data-v-cf18a87c]{position:relative;display:inline-block;width:64px;height:64px}.voice-mic-wrap .tech-ripple[data-v-cf18a87c]{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;border:1px solid rgba(0,229,255,.6);opacity:0;pointer-events:none}.voice-input-popup.skin-tech[data-v-cf18a87c]{background-image:linear-gradient(rgba(0,229,255,.045) 1px,transparent 0),linear-gradient(90deg,rgba(0,229,255,.045) 1px,transparent 0),radial-gradient(circle at 18% 0,rgba(0,229,255,.12),transparent 42%),radial-gradient(circle at 85% 100%,rgba(0,110,255,.12),transparent 45%),linear-gradient(160deg,#060d21,#0a1a3f 55%,#071026);background-size:24px 24px,24px 24px,100% 100%,100% 100%,100% 100%}.voice-input-popup.skin-tech .voice-popup-header[data-v-cf18a87c]{border-bottom:1px solid rgba(0,229,255,.15)}.voice-input-popup.skin-tech .voice-popup-header .voice-popup-title[data-v-cf18a87c]{color:#d8f4ff;letter-spacing:3px;text-shadow:0 0 10px rgba(0,229,255,.75)}.voice-input-popup.skin-tech .voice-popup-header .voice-popup-close[data-v-cf18a87c]{color:rgba(0,229,255,.6)}.voice-input-popup.skin-tech .voice-popup-body .voice-mic-btn[data-v-cf18a87c]{background:radial-gradient(circle at 30% 25%,#1a4a8a,#0a2547 72%);border:1.5px solid rgba(0,229,255,.7);color:#00e5ff;-webkit-box-shadow:0 0 20px rgba(0,229,255,.4),inset 0 0 15px rgba(0,229,255,.15);box-shadow:0 0 20px rgba(0,229,255,.4),inset 0 0 15px rgba(0,229,255,.15)}.voice-input-popup.skin-tech .voice-popup-body .voice-mic-btn.recording[data-v-cf18a87c]{background:radial-gradient(circle at 30% 25%,#8a1a3f,#470a20 72%);border-color:rgba(255,45,105,.85);color:#ff5c8a;-webkit-animation:tech-breathe-cf18a87c 1.5s ease-out infinite;animation:tech-breathe-cf18a87c 1.5s ease-out infinite}.voice-input-popup.skin-tech .voice-popup-body .voice-status-text[data-v-cf18a87c]{color:#8fd8ff;text-shadow:0 0 6px rgba(0,229,255,.3)}.voice-input-popup.skin-tech .voice-popup-body .voice-status-text.is-error[data-v-cf18a87c]{color:#ff5c8a;text-shadow:0 0 6px rgba(255,45,105,.3)}.voice-input-popup.skin-tech .voice-popup-body .voice-timer[data-v-cf18a87c]{color:#00e5ff;font-family:Courier New,Courier,monospace;letter-spacing:2px;text-shadow:0 0 8px rgba(0,229,255,.7)}.voice-input-popup.skin-tech .voice-popup-body .voice-result-field[data-v-cf18a87c]{background:rgba(6,25,55,.6);border:1px solid rgba(0,229,255,.35);-webkit-box-shadow:inset 0 0 12px rgba(0,229,255,.1);box-shadow:inset 0 0 12px rgba(0,229,255,.1)}.voice-input-popup.skin-tech .voice-popup-body .voice-result-field[data-v-cf18a87c] .van-field__control{color:#d8f4ff;caret-color:#00e5ff}.voice-input-popup.skin-tech .voice-popup-body .voice-result-field[data-v-cf18a87c] .van-field__control::-webkit-input-placeholder{color:rgba(143,216,255,.4)}.voice-input-popup.skin-tech .voice-popup-body .voice-result-field[data-v-cf18a87c] .van-field__control::-moz-placeholder{color:rgba(143,216,255,.4)}.voice-input-popup.skin-tech .voice-popup-body .voice-result-field[data-v-cf18a87c] .van-field__control::-ms-input-placeholder{color:rgba(143,216,255,.4)}.voice-input-popup.skin-tech .voice-popup-body .voice-result-field[data-v-cf18a87c] .van-field__control::placeholder{color:rgba(143,216,255,.4)}.voice-input-popup.skin-tech .voice-popup-footer .van-button--default[data-v-cf18a87c]{background:transparent;color:#8fd8ff}.voice-input-popup.skin-tech .voice-popup-footer .van-button--default[data-v-cf18a87c]:after{border-color:rgba(0,229,255,.4)}.voice-input-popup.skin-tech .voice-popup-footer .van-button--info[data-v-cf18a87c]{background:-webkit-gradient(linear,left top,right top,from(#00b8d4),to(#00e5ff));background:linear-gradient(90deg,#00b8d4,#00e5ff);color:#04122b;-webkit-box-shadow:0 0 12px rgba(0,229,255,.45);box-shadow:0 0 12px rgba(0,229,255,.45)}.voice-input-popup.skin-tech .voice-popup-footer .van-button--info[data-v-cf18a87c]:after{border-width:0}.voice-input-popup.skin-tech .voice-popup-footer .van-button--info.van-button--disabled[data-v-cf18a87c]{opacity:.45}.voice-input-popup.skin-tech .voice-mic-wrap.recording .tech-ripple[data-v-cf18a87c]{border-color:rgba(255,45,105,.7);-webkit-animation:tech-ripple-cf18a87c 2s ease-out infinite;animation:tech-ripple-cf18a87c 2s ease-out infinite}.voice-input-popup.skin-tech .voice-mic-wrap.recording .tech-ripple-2[data-v-cf18a87c]{-webkit-animation-delay:.6s;animation-delay:.6s}.voice-input-popup.skin-tech .voice-mic-wrap.recording .tech-ripple-3[data-v-cf18a87c]{-webkit-animation-delay:1.2s;animation-delay:1.2s}@-webkit-keyframes tech-ripple-cf18a87c{0%{-webkit-transform:scale(1);transform:scale(1);opacity:.7}to{-webkit-transform:scale(2.4);transform:scale(2.4);opacity:0}}@keyframes tech-ripple-cf18a87c{0%{-webkit-transform:scale(1);transform:scale(1);opacity:.7}to{-webkit-transform:scale(2.4);transform:scale(2.4);opacity:0}}@-webkit-keyframes tech-breathe-cf18a87c{0%{-webkit-box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 0 rgba(255,45,105,.45);box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 0 rgba(255,45,105,.45)}to{-webkit-box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 18px rgba(255,45,105,0);box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 18px rgba(255,45,105,0)}}@keyframes tech-breathe-cf18a87c{0%{-webkit-box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 0 rgba(255,45,105,.45);box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 0 rgba(255,45,105,.45)}to{-webkit-box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 18px rgba(255,45,105,0);box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 18px rgba(255,45,105,0)}}@-webkit-keyframes voice-breathe-cf18a87c{0%{-webkit-box-shadow:0 0 0 0 rgba(238,10,36,.5);box-shadow:0 0 0 0 rgba(238,10,36,.5)}to{-webkit-box-shadow:0 0 0 16px rgba(238,10,36,0);box-shadow:0 0 0 16px rgba(238,10,36,0)}}@keyframes voice-breathe-cf18a87c{0%{-webkit-box-shadow:0 0 0 0 rgba(238,10,36,.5);box-shadow:0 0 0 0 rgba(238,10,36,.5)}to{-webkit-box-shadow:0 0 0 16px rgba(238,10,36,0);box-shadow:0 0 0 16px rgba(238,10,36,0)}}", ""]);
|
|
22983
23230
|
// Exports
|
|
22984
23231
|
/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
|
|
22985
23232
|
|
|
@@ -23049,7 +23296,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".loading[data-v-69610664]{margin-top:1
|
|
|
23049
23296
|
|
|
23050
23297
|
/***/ }),
|
|
23051
23298
|
|
|
23052
|
-
/***/
|
|
23299
|
+
/***/ 1281:
|
|
23053
23300
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
23054
23301
|
|
|
23055
23302
|
"use strict";
|
|
@@ -23063,7 +23310,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
23063
23310
|
|
|
23064
23311
|
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
|
|
23065
23312
|
// Module
|
|
23066
|
-
___CSS_LOADER_EXPORT___.push([module.id, ".icon-dialog[data-v-
|
|
23313
|
+
___CSS_LOADER_EXPORT___.push([module.id, ".icon-dialog[data-v-3ebd0a76] .el-dialog__body{height:650px;overflow-y:auto;padding:0 0 20px 0}.icon-dialog[data-v-3ebd0a76] .el-dialog__body .el-tabs--top{margin-top:0}", ""]);
|
|
23067
23314
|
// Exports
|
|
23068
23315
|
/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
|
|
23069
23316
|
|
|
@@ -50131,19 +50378,19 @@ var update = add("72d06f4a", content, true, {"sourceMap":false,"shadowMode":fals
|
|
|
50131
50378
|
|
|
50132
50379
|
/***/ }),
|
|
50133
50380
|
|
|
50134
|
-
/***/
|
|
50381
|
+
/***/ 6150:
|
|
50135
50382
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
50136
50383
|
|
|
50137
50384
|
// style-loader: Adds some css to the DOM by adding a <style> tag
|
|
50138
50385
|
|
|
50139
50386
|
// load the styles
|
|
50140
|
-
var content = __webpack_require__(
|
|
50387
|
+
var content = __webpack_require__(7855);
|
|
50141
50388
|
if(content.__esModule) content = content.default;
|
|
50142
50389
|
if(typeof content === 'string') content = [[module.id, content, '']];
|
|
50143
50390
|
if(content.locals) module.exports = content.locals;
|
|
50144
50391
|
// add the styles to the DOM
|
|
50145
50392
|
var add = (__webpack_require__(9548)/* ["default"] */ .A)
|
|
50146
|
-
var update = add("
|
|
50393
|
+
var update = add("effdccb0", content, true, {"sourceMap":false,"shadowMode":false});
|
|
50147
50394
|
|
|
50148
50395
|
/***/ }),
|
|
50149
50396
|
|
|
@@ -50611,35 +50858,35 @@ var update = add("72ae29a9", content, true, {"sourceMap":false,"shadowMode":fals
|
|
|
50611
50858
|
|
|
50612
50859
|
/***/ }),
|
|
50613
50860
|
|
|
50614
|
-
/***/
|
|
50861
|
+
/***/ 8525:
|
|
50615
50862
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
50616
50863
|
|
|
50617
50864
|
// style-loader: Adds some css to the DOM by adding a <style> tag
|
|
50618
50865
|
|
|
50619
50866
|
// load the styles
|
|
50620
|
-
var content = __webpack_require__(
|
|
50867
|
+
var content = __webpack_require__(2106);
|
|
50621
50868
|
if(content.__esModule) content = content.default;
|
|
50622
50869
|
if(typeof content === 'string') content = [[module.id, content, '']];
|
|
50623
50870
|
if(content.locals) module.exports = content.locals;
|
|
50624
50871
|
// add the styles to the DOM
|
|
50625
50872
|
var add = (__webpack_require__(9548)/* ["default"] */ .A)
|
|
50626
|
-
var update = add("
|
|
50873
|
+
var update = add("610e6bf1", content, true, {"sourceMap":false,"shadowMode":false});
|
|
50627
50874
|
|
|
50628
50875
|
/***/ }),
|
|
50629
50876
|
|
|
50630
|
-
/***/
|
|
50877
|
+
/***/ 958:
|
|
50631
50878
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
50632
50879
|
|
|
50633
50880
|
// style-loader: Adds some css to the DOM by adding a <style> tag
|
|
50634
50881
|
|
|
50635
50882
|
// load the styles
|
|
50636
|
-
var content = __webpack_require__(
|
|
50883
|
+
var content = __webpack_require__(2145);
|
|
50637
50884
|
if(content.__esModule) content = content.default;
|
|
50638
50885
|
if(typeof content === 'string') content = [[module.id, content, '']];
|
|
50639
50886
|
if(content.locals) module.exports = content.locals;
|
|
50640
50887
|
// add the styles to the DOM
|
|
50641
50888
|
var add = (__webpack_require__(9548)/* ["default"] */ .A)
|
|
50642
|
-
var update = add("
|
|
50889
|
+
var update = add("c3a9535c", content, true, {"sourceMap":false,"shadowMode":false});
|
|
50643
50890
|
|
|
50644
50891
|
/***/ }),
|
|
50645
50892
|
|
|
@@ -50691,19 +50938,19 @@ var update = add("67603478", content, true, {"sourceMap":false,"shadowMode":fals
|
|
|
50691
50938
|
|
|
50692
50939
|
/***/ }),
|
|
50693
50940
|
|
|
50694
|
-
/***/
|
|
50941
|
+
/***/ 6750:
|
|
50695
50942
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
50696
50943
|
|
|
50697
50944
|
// style-loader: Adds some css to the DOM by adding a <style> tag
|
|
50698
50945
|
|
|
50699
50946
|
// load the styles
|
|
50700
|
-
var content = __webpack_require__(
|
|
50947
|
+
var content = __webpack_require__(1281);
|
|
50701
50948
|
if(content.__esModule) content = content.default;
|
|
50702
50949
|
if(typeof content === 'string') content = [[module.id, content, '']];
|
|
50703
50950
|
if(content.locals) module.exports = content.locals;
|
|
50704
50951
|
// add the styles to the DOM
|
|
50705
50952
|
var add = (__webpack_require__(9548)/* ["default"] */ .A)
|
|
50706
|
-
var update = add("
|
|
50953
|
+
var update = add("74e125c2", content, true, {"sourceMap":false,"shadowMode":false});
|
|
50707
50954
|
|
|
50708
50955
|
/***/ }),
|
|
50709
50956
|
|
|
@@ -52272,7 +52519,7 @@ webpackContext.id = 2397;
|
|
|
52272
52519
|
|
|
52273
52520
|
var map = {
|
|
52274
52521
|
"./app.js": 1494,
|
|
52275
|
-
"./route.js":
|
|
52522
|
+
"./route.js": 2184,
|
|
52276
52523
|
"./settings.js": 8048,
|
|
52277
52524
|
"./tagsView.js": 1333
|
|
52278
52525
|
};
|
|
@@ -56576,7 +56823,7 @@ service.interceptors.response.use(function (response) {
|
|
|
56576
56823
|
errmsg = error.response.data.message;
|
|
56577
56824
|
}
|
|
56578
56825
|
if (window.vType === 'wapp') {
|
|
56579
|
-
var ignoreUrls = ['login', 'getUserRolePermissions', 'getUiStyleConfig', 'queryUiFontSize', 'homepage/allm'];
|
|
56826
|
+
var ignoreUrls = ['login', 'getUserRolePermissions', 'getUiStyleConfig', 'queryUiFontSize', 'homepage/allm', 'getLastMsgCount'];
|
|
56580
56827
|
if (!ignoreUrls.some(function (u) {
|
|
56581
56828
|
return error.config.url.toLowerCase().indexOf(u.toLocaleLowerCase()) !== -1;
|
|
56582
56829
|
})) {
|
|
@@ -70932,8 +71179,8 @@ var SwitchField_component = (0,componentNormalizer/* default */.A)(
|
|
|
70932
71179
|
)
|
|
70933
71180
|
|
|
70934
71181
|
/* harmony default export */ var SwitchField = (SwitchField_component.exports);
|
|
70935
|
-
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[0]!./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!./packages/ecmapp/Basicform/src/FormField/TextareaField.vue?vue&type=template&id=
|
|
70936
|
-
var
|
|
71182
|
+
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[0]!./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!./packages/ecmapp/Basicform/src/FormField/TextareaField.vue?vue&type=template&id=27eb631a&scoped=true
|
|
71183
|
+
var TextareaFieldvue_type_template_id_27eb631a_scoped_true_render = function render() {
|
|
70937
71184
|
var _vm = this,
|
|
70938
71185
|
_c = _vm._self._c;
|
|
70939
71186
|
return _vm.isShowField ? _c('div', {
|
|
@@ -71026,9 +71273,42 @@ var TextareaFieldvue_type_template_id_7743d246_scoped_true_render = function ren
|
|
|
71026
71273
|
return _vm.showTextContent(_vm.showType);
|
|
71027
71274
|
}
|
|
71028
71275
|
}
|
|
71029
|
-
}, [_vm._v(_vm._s(_vm.textName))])]) : _vm._e()
|
|
71276
|
+
}, [_vm._v(_vm._s(_vm.textName))])]) : _vm._e(), _vm.voiceInputEnabled ? _c('div', {
|
|
71277
|
+
staticClass: "voice-input-entry",
|
|
71278
|
+
on: {
|
|
71279
|
+
"click": function click($event) {
|
|
71280
|
+
$event.stopPropagation();
|
|
71281
|
+
return _vm.openVoiceDialog.apply(null, arguments);
|
|
71282
|
+
}
|
|
71283
|
+
}
|
|
71284
|
+
}, [_c('svg', {
|
|
71285
|
+
staticClass: "voice-input-entry-icon",
|
|
71286
|
+
attrs: {
|
|
71287
|
+
"viewBox": "0 0 1024 1024",
|
|
71288
|
+
"fill": "currentColor",
|
|
71289
|
+
"aria-hidden": "true"
|
|
71290
|
+
}
|
|
71291
|
+
}, [_c('path', {
|
|
71292
|
+
attrs: {
|
|
71293
|
+
"d": "M512 640c88.4 0 160-71.6 160-160V224c0-88.4-71.6-160-160-160S352 135.6 352 224v256c0 88.4 71.6 160 160 160z"
|
|
71294
|
+
}
|
|
71295
|
+
}), _c('path', {
|
|
71296
|
+
attrs: {
|
|
71297
|
+
"d": "M768 480c0 141.4-114.6 256-256 256S256 621.4 256 480h-64c0 163.9 123.3 299 288 318.4V896H352v64h320v-64H544v-97.6C708.7 779 832 643.9 832 480h-64z"
|
|
71298
|
+
}
|
|
71299
|
+
})]), _c('span', [_vm._v(_vm._s(_vm.$tx('ecmapp.wflowform.voiceInput', '语音输入')))])]) : _vm._e(), _c('VoiceInputDialog', {
|
|
71300
|
+
attrs: {
|
|
71301
|
+
"visible": _vm.voiceDialogVisible
|
|
71302
|
+
},
|
|
71303
|
+
on: {
|
|
71304
|
+
"update:visible": function updateVisible($event) {
|
|
71305
|
+
_vm.voiceDialogVisible = $event;
|
|
71306
|
+
},
|
|
71307
|
+
"confirm": _vm.onVoiceConfirm
|
|
71308
|
+
}
|
|
71309
|
+
})], 1) : _vm._e();
|
|
71030
71310
|
};
|
|
71031
|
-
var
|
|
71311
|
+
var TextareaFieldvue_type_template_id_27eb631a_scoped_true_staticRenderFns = [];
|
|
71032
71312
|
|
|
71033
71313
|
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Basicform/src/FormField/TextareaField.vue?vue&type=script&lang=js
|
|
71034
71314
|
function TextareaFieldvue_type_script_lang_js_typeof(o) { "@babel/helpers - typeof"; return TextareaFieldvue_type_script_lang_js_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, TextareaFieldvue_type_script_lang_js_typeof(o); }
|
|
@@ -71093,6 +71373,10 @@ function TextareaFieldvue_type_script_lang_js_toPrimitive(t, r) { if ("object" !
|
|
|
71093
71373
|
autosize: {
|
|
71094
71374
|
type: Boolean,
|
|
71095
71375
|
default: true
|
|
71376
|
+
},
|
|
71377
|
+
voiceInput: {
|
|
71378
|
+
type: Boolean,
|
|
71379
|
+
default: false
|
|
71096
71380
|
}
|
|
71097
71381
|
},
|
|
71098
71382
|
data: function data() {
|
|
@@ -71105,10 +71389,15 @@ function TextareaFieldvue_type_script_lang_js_toPrimitive(t, r) { if ("object" !
|
|
|
71105
71389
|
maxLength: null,
|
|
71106
71390
|
updateField: false,
|
|
71107
71391
|
inputValue: '',
|
|
71108
|
-
nodeFieldReadOnly: false
|
|
71392
|
+
nodeFieldReadOnly: false,
|
|
71393
|
+
voiceDialogVisible: false
|
|
71109
71394
|
};
|
|
71110
71395
|
},
|
|
71111
71396
|
computed: TextareaFieldvue_type_script_lang_js_objectSpread(TextareaFieldvue_type_script_lang_js_objectSpread({}, (0,vuex_esm/* mapGetters */.L8)(['loginUser'])), {}, {
|
|
71397
|
+
// 语音输入按钮显示条件:voice-input属性为true、字段可编辑且非元素级只读
|
|
71398
|
+
voiceInputEnabled: function voiceInputEnabled() {
|
|
71399
|
+
return this.voiceInput && !this.readonly && !this.nodeFieldReadOnly && this.elementReadonly !== 1;
|
|
71400
|
+
},
|
|
71112
71401
|
optionGenerateUrl: function optionGenerateUrl() {
|
|
71113
71402
|
var _this2 = this;
|
|
71114
71403
|
var url = this.field.optionGenerateUrl;
|
|
@@ -71422,6 +71711,15 @@ function TextareaFieldvue_type_script_lang_js_toPrimitive(t, r) { if ("object" !
|
|
|
71422
71711
|
_this6.updateField = false;
|
|
71423
71712
|
});
|
|
71424
71713
|
},
|
|
71714
|
+
// 打开语音输入弹窗
|
|
71715
|
+
openVoiceDialog: function openVoiceDialog() {
|
|
71716
|
+
this.voiceDialogVisible = true;
|
|
71717
|
+
},
|
|
71718
|
+
// 语音识别完成回调:识别文本追加到现有内容末尾,同步更新字段值
|
|
71719
|
+
onVoiceConfirm: function onVoiceConfirm(text) {
|
|
71720
|
+
this.inputValue = this.inputValue ? this.inputValue + text : text;
|
|
71721
|
+
this.setFieldValue(this.inputValue);
|
|
71722
|
+
},
|
|
71425
71723
|
getFieldValue: function getFieldValue() {
|
|
71426
71724
|
if (this.model.split('.').length > 1) {
|
|
71427
71725
|
if (TextareaFieldvue_type_script_lang_js_typeof(this.vo[this.model.split('.')[0]]) === 'object' && this.vo[this.model.split('.')[0]] != null) {
|
|
@@ -71449,9 +71747,9 @@ function TextareaFieldvue_type_script_lang_js_toPrimitive(t, r) { if ("object" !
|
|
|
71449
71747
|
});
|
|
71450
71748
|
;// CONCATENATED MODULE: ./packages/ecmapp/Basicform/src/FormField/TextareaField.vue?vue&type=script&lang=js
|
|
71451
71749
|
/* harmony default export */ var FormField_TextareaFieldvue_type_script_lang_js = (TextareaFieldvue_type_script_lang_js);
|
|
71452
|
-
// EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-65.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-65.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-65.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Basicform/src/FormField/TextareaField.vue?vue&type=style&index=0&id=
|
|
71453
|
-
var
|
|
71454
|
-
;// CONCATENATED MODULE: ./packages/ecmapp/Basicform/src/FormField/TextareaField.vue?vue&type=style&index=0&id=
|
|
71750
|
+
// EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-65.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-65.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-65.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Basicform/src/FormField/TextareaField.vue?vue&type=style&index=0&id=27eb631a&prod&scoped=true&lang=scss
|
|
71751
|
+
var TextareaFieldvue_type_style_index_0_id_27eb631a_prod_scoped_true_lang_scss = __webpack_require__(6150);
|
|
71752
|
+
;// CONCATENATED MODULE: ./packages/ecmapp/Basicform/src/FormField/TextareaField.vue?vue&type=style&index=0&id=27eb631a&prod&scoped=true&lang=scss
|
|
71455
71753
|
|
|
71456
71754
|
;// CONCATENATED MODULE: ./packages/ecmapp/Basicform/src/FormField/TextareaField.vue
|
|
71457
71755
|
|
|
@@ -71464,11 +71762,11 @@ var TextareaFieldvue_type_style_index_0_id_7743d246_prod_scoped_true_lang_scss =
|
|
|
71464
71762
|
|
|
71465
71763
|
var TextareaField_component = (0,componentNormalizer/* default */.A)(
|
|
71466
71764
|
FormField_TextareaFieldvue_type_script_lang_js,
|
|
71467
|
-
|
|
71468
|
-
|
|
71765
|
+
TextareaFieldvue_type_template_id_27eb631a_scoped_true_render,
|
|
71766
|
+
TextareaFieldvue_type_template_id_27eb631a_scoped_true_staticRenderFns,
|
|
71469
71767
|
false,
|
|
71470
71768
|
null,
|
|
71471
|
-
"
|
|
71769
|
+
"27eb631a",
|
|
71472
71770
|
null
|
|
71473
71771
|
|
|
71474
71772
|
)
|
|
@@ -73018,39 +73316,39 @@ var asyncComponents = [
|
|
|
73018
73316
|
}],
|
|
73019
73317
|
// ========== ecmapp/Wflowform 工作流表单子组件 → chunk: m-wflow-form ==========
|
|
73020
73318
|
['Attachment', function () {
|
|
73021
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
73319
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5888)).then(function (m) {
|
|
73022
73320
|
return m.Attachment;
|
|
73023
73321
|
});
|
|
73024
73322
|
}], ['BodyFile', function () {
|
|
73025
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
73323
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5888)).then(function (m) {
|
|
73026
73324
|
return m.BodyFile;
|
|
73027
73325
|
});
|
|
73028
73326
|
}], ['HandleIdea', function () {
|
|
73029
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
73327
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5888)).then(function (m) {
|
|
73030
73328
|
return m.HandleIdea;
|
|
73031
73329
|
});
|
|
73032
73330
|
}], ['SelectOuterDeputy', function () {
|
|
73033
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
73331
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5888)).then(function (m) {
|
|
73034
73332
|
return m.SelectOuterDeputy;
|
|
73035
73333
|
});
|
|
73036
73334
|
}], ['SubmitHandle', function () {
|
|
73037
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
73335
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5888)).then(function (m) {
|
|
73038
73336
|
return m.SubmitHandle;
|
|
73039
73337
|
});
|
|
73040
73338
|
}], ['SubmitDialog', function () {
|
|
73041
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
73339
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5888)).then(function (m) {
|
|
73042
73340
|
return m.SubmitDialog;
|
|
73043
73341
|
});
|
|
73044
73342
|
}], ['ShortcutProcessing', function () {
|
|
73045
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
73343
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5888)).then(function (m) {
|
|
73046
73344
|
return m.ShortcutProcessing;
|
|
73047
73345
|
});
|
|
73048
73346
|
}], ['WfNodelogList', function () {
|
|
73049
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
73347
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5888)).then(function (m) {
|
|
73050
73348
|
return m.WfNodelogList;
|
|
73051
73349
|
});
|
|
73052
73350
|
}], ['WriteToReadIdea', function () {
|
|
73053
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
73351
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5888)).then(function (m) {
|
|
73054
73352
|
return m.WriteToReadIdea;
|
|
73055
73353
|
});
|
|
73056
73354
|
}]];
|
|
@@ -73103,7 +73401,7 @@ var WfengineModule = function WfengineModule() {
|
|
|
73103
73401
|
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 6322));
|
|
73104
73402
|
};
|
|
73105
73403
|
var WflowformModule = function WflowformModule() {
|
|
73106
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
73404
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5888));
|
|
73107
73405
|
};
|
|
73108
73406
|
|
|
73109
73407
|
// ---------- 重型功能(PDF/富文本,仅特定页面使用) ----------
|