diff --git a/web/src/assets/css/mobile/image-mj.css b/web/src/assets/css/mobile/image-mj.css
index 162e688a..abaf1ece 100644
--- a/web/src/assets/css/mobile/image-mj.css
+++ b/web/src/assets/css/mobile/image-mj.css
@@ -2,3 +2,49 @@
width: 100px;
text-align: right;
}
+.mobile-mj .content .text-line {
+ padding: 6px;
+ font-size: 14px;
+}
+.mobile-mj .content .text-line .van-row .van-col .rate {
+ display: flex;
+ justify-content: center;
+ background-color: #f5f5f5;
+ padding: 5px 10px;
+ margin: 5px 0;
+ border-radius: 5px;
+ flex-flow: column;
+}
+.mobile-mj .content .text-line .van-row .van-col .rate .icon {
+ text-align: center;
+}
+.mobile-mj .content .text-line .van-row .van-col .rate .icon .van-image {
+ max-width: 20px;
+}
+.mobile-mj .content .text-line .van-row .van-col .rate .text {
+ text-align: center;
+ color: #555;
+}
+.mobile-mj .content .text-line .van-row .van-col .model {
+ display: flex;
+ justify-content: center;
+ background-color: #f5f5f5;
+ padding: 6px;
+ margin: 5px 0;
+ border-radius: 5px;
+ flex-flow: column;
+}
+.mobile-mj .content .text-line .van-row .van-col .model .icon {
+ text-align: center;
+}
+.mobile-mj .content .text-line .van-row .van-col .model .icon .van-image {
+ width: 100%;
+ height: 50px;
+}
+.mobile-mj .content .text-line .van-row .van-col .model .text {
+ text-align: center;
+ color: #555;
+}
+.mobile-mj .content .text-line .van-row .van-col .active {
+ background-color: #e5e5e5;
+}
diff --git a/web/src/assets/css/mobile/image-mj.styl b/web/src/assets/css/mobile/image-mj.styl
index 8be71238..3f542816 100644
--- a/web/src/assets/css/mobile/image-mj.styl
+++ b/web/src/assets/css/mobile/image-mj.styl
@@ -4,5 +4,65 @@
width 100px
text-align right
}
+
+ .text-line {
+ padding 6px
+ font-size 14px
+
+ .van-row {
+ .van-col {
+ .rate {
+ display: flex;
+ justify-content center
+ background-color #f5f5f5
+ padding 5px 10px
+ margin 5px 0
+ border-radius 5px
+ flex-flow column
+
+ .icon {
+ text-align center
+
+ .van-image {
+ max-width 20px
+ }
+ }
+
+ .text {
+ text-align center
+ color #555555
+ }
+ }
+
+ .model {
+ display: flex;
+ justify-content center
+ background-color #f5f5f5
+ padding 6px
+ margin 5px 0
+ border-radius 5px
+ flex-flow column
+
+ .icon {
+ text-align center
+
+ .van-image {
+ width 100%
+ height 50px
+ }
+ }
+
+ .text {
+ text-align center
+ color #555555
+ }
+ }
+
+ .active {
+ background-color #e5e5e5
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/web/src/main.js b/web/src/main.js
index 4c455a38..cd42a909 100644
--- a/web/src/main.js
+++ b/web/src/main.js
@@ -8,6 +8,7 @@ import {
Button,
Cell,
CellGroup,
+ Col,
ConfigProvider,
Dialog,
DropdownItem,
@@ -22,8 +23,10 @@ import {
Overlay,
Picker,
Popup,
+ Row,
Search,
ShareSheet,
+ Slider,
Sticky,
SwipeCell,
Switch,
@@ -67,6 +70,9 @@ app.use(Uploader);
app.use(Tag);
app.use(V3waterfall)
app.use(Overlay)
+app.use(Col)
+app.use(Row)
+app.use(Slider)
app.use(router).use(ElementPlus).mount('#app')
diff --git a/web/src/views/mobile/ChatSession.vue b/web/src/views/mobile/ChatSession.vue
index 63f731ce..6feca504 100644
--- a/web/src/views/mobile/ChatSession.vue
+++ b/web/src/views/mobile/ChatSession.vue
@@ -446,6 +446,8 @@ recognition.onresult = function (event) {
};
recognition.onerror = function (event) {
+ showMic.value = false
+ recognition.stop()
showNotify({type: 'danger', message: '语音识别错误:' + event.error})
};
diff --git a/web/src/views/mobile/ImageMj.vue b/web/src/views/mobile/ImageMj.vue
index d3f2f24d..ec9386e2 100644
--- a/web/src/views/mobile/ImageMj.vue
+++ b/web/src/views/mobile/ImageMj.vue
@@ -3,46 +3,84 @@