@@ -308,6 +309,7 @@ import { useI18n } from "vue-i18n";
import {isMoible,calculateGradientCoordinate,base64ToFile} from '@/tool/util'
import publish from "@/component/WorksPage/publish.vue";
import liquefaction from "@/component/modules/liquefaction.vue";
+import { getMousePosition } from "@/tool/mdEvent";
export default defineComponent({
components: {
@@ -631,6 +633,69 @@ export default defineComponent({
driverObj__.moveNext()
}
+ let canvasBoxDom = document.querySelector('.exportCanvasBox .exportCanvasBox_center')
+ let scrollBox = document.querySelector('.exportCanvasBox_scroll div')
+ let height = canvasBox.offsetHeight / (canvasWH.value.height / canvasBox.offsetHeight )
+ let scale = (canvasWH.value.height - canvasBoxDom.offsetHeight) / (canvasBoxDom.offsetHeight - height)
+ let mouseDownOperation = (event)=>{//按下
+ console.log(canvasWH.value.height , canvasBoxDom.offsetHeight,canvasBoxDom.offsetHeight , height);
+ let position = {
+ y:event.screenY,
+ top : scrollBox.style.marginTop?scrollBox.style.marginTop.split('px')[0]*1:0
+ }
+ // let top =
+ let scrollMousemove = (e)=>{
+ let height = scrollBox.style.height.split('px')[0]*1
+ let offsetTop = position.top+e.screenY - position.y
+ offsetTop = offsetTop <= 0? 0 : offsetTop
+ offsetTop = height+offsetTop >= canvasBoxDom.offsetHeight? canvasBoxDom.offsetHeight - height : offsetTop
+ scrollBox.style.marginTop = offsetTop+'px'
+ canvasBoxDom.scroll({
+ top: offsetTop*scale, // 纵向滚动距离
+ left: 0, // 横向滚动距离
+ });
+ }
+ let mouseMove = function(event){
+ let e = getMousePosition(event,false)
+ scrollMousemove(e)
+ }
+ let touchmove = function(event){
+ let e = getMousePosition(event,true)
+ scrollMousemove(e)
+ }
+ let mouseup = function(){
+ document.removeEventListener('mousemove',mouseMove)
+ document.removeEventListener('touchmove',touchmove)
+ document.removeEventListener('mouseup',mouseup)
+ document.removeEventListener('touchend',mouseup)
+ //移动端
+ }
+ document.addEventListener('mousemove', mouseMove);
+ document.addEventListener('touchmove', touchmove);
+ document.addEventListener('mouseup', mouseup);
+ document.addEventListener('touchend', mouseup);
+
+ // document.addEventListener('touchmove',scrollMousemove)
+ // scrollBox.addEventListener('touchend',mouseup)
+ }
+ canvasBoxDom.addEventListener('scroll', function() {
+ const scrollTop = canvasBoxDom.scrollTop;
+ scrollBox.style.marginTop = scrollTop/scale+'px'
+ });
+ let mousedown = function(event){
+ let e = getMousePosition(event,false)
+ mouseDownOperation(e)
+ }
+
+ let touchstart = function(event){
+ let e = getMousePosition(event,true)
+ mouseDownOperation(e)
+ }
+ scrollBox.addEventListener('mousedown',mousedown)
+ scrollBox.addEventListener('touchstart',touchstart)
+ // scrollBox.removeEventListener('touchstart',mousedown)
+ // scrollBox.addEventListener('touchstart',mousedown)
+
});
};
@@ -2096,57 +2161,24 @@ export default defineComponent({
}
},
watch: {
- // 'canvasWH.height':{
- // handler(newVal,oldVal){
- // if(!this.isMoible){
- // return
- // }
- // return
- // let canvasBox = document.querySelector('.exportCanvasBox .exportCanvasBox_center')
- // let scrollBox = document.querySelector('.exportCanvasBox_scroll div')
- // canvasBox.scroll({
- // top: 0, // 纵向滚动距离
- // left: 0, // 横向滚动距离
- // });
- // scrollBox.style.marginTop = 0+'px'
- // let height = canvasBox.offsetHeight / (newVal / canvasBox.offsetHeight )
- // scrollBox.style.height = height +'px'
- // let scale = (newVal - canvasBox.offsetHeight) / (canvasBox.offsetHeight - height)
-
-
- // let mousedown = (event)=>{//按下
- // let position = {
- // y:event.touches[0].screenY,
- // top : scrollBox.style.marginTop?scrollBox.style.marginTop.split('px')[0]*1:0
- // }
- // // let top =
- // let scrollMousemove = (e)=>{
- // let height = scrollBox.style.height.split('px')[0]*1
- // let offsetTop = position.top+e.touches[0].screenY - position.y
- // offsetTop = offsetTop <= 0? 0 : offsetTop
- // offsetTop = height+offsetTop >= canvasBox.offsetHeight? canvasBox.offsetHeight - height : offsetTop
- // scrollBox.style.marginTop = offsetTop+'px'
- // canvasBox.scroll({
- // top: offsetTop*scale, // 纵向滚动距离
- // left: 0, // 横向滚动距离
- // });
- // }
- // let mouseup = ()=>{//抬起
- // window.removeEventListener('touchmove',scrollMousemove)
- // scrollBox.removeEventListener('touchend',mouseup)
- // }
- // window.addEventListener('touchmove',scrollMousemove)
- // scrollBox.addEventListener('touchend',mouseup)
- // }
- // scrollBox.removeEventListener('touchstart',mousedown)
- // scrollBox.addEventListener('touchstart',mousedown)
-
-
-
- // }
- // },
+ 'canvasWH.height':{
+ handler(newVal,oldVal){
+ let canvasBox = document.querySelector('.exportCanvasBox .exportCanvasBox_center')
+ let scrollBox = document.querySelector('.exportCanvasBox_scroll div')
+ if(!canvasBox || !scrollBox)return
+ canvasBox.scroll({
+ top: 0, // 纵向滚动距离
+ left: 0, // 横向滚动距离
+ });
+ scrollBox.style.marginTop = 0+'px'
+ let height = canvasBox.offsetHeight / (newVal / canvasBox.offsetHeight )
+ scrollBox.style.height = height +'px'
+ }
+ },
},
- mounted() {},
+ mounted() {
+
+ },
methods: {
@@ -2456,6 +2488,7 @@ export default defineComponent({
height: 100%;
overflow-y: auto;
overflow-x: hidden;
+ // overflow: hidden;
position: relative;
.editFrontBack_pencilbtn{
position: absolute;
@@ -2465,31 +2498,18 @@ export default defineComponent({
pointer-events: none;
transform: translate(-50%,-50%);
}
- &.exportCanvasBox_center::-webkit-scrollbar-button:single-button{
- }
&.exportCanvasBox_center::-webkit-scrollbar {
/* 竖轴的宽度 */
- width: 2rem;
- /* 横轴的高度 */
- height: 1rem;
- transition: all .3s;
- }
- /* 进度 */
- &.exportCanvasBox_center::-webkit-scrollbar-thumb {
- border-radius: 1rem;
- background: #543087;
- }
- /* 轨道 */
- &.exportCanvasBox_center::-webkit-scrollbar-track {
- border-radius: 1rem;
- background: rgba(84, 48, 135,.2);
- // background: rgba(238, 238, 244, 0);
+ display: none
}
}
.exportCanvasBox_scroll{
height: 100%;
width: 2rem;
background: #d6cfe3;
+ position: absolute;
+ right: 0;
+ top: 0;
border-radius: 1rem;
div{
background: #543087;
diff --git a/src/component/HomePage/MoodboardUpload.vue b/src/component/HomePage/MoodboardUpload.vue
index 609cd5dc..468b0447 100644
--- a/src/component/HomePage/MoodboardUpload.vue
+++ b/src/component/HomePage/MoodboardUpload.vue
@@ -552,6 +552,8 @@ export default defineComponent({
width: 47%;
display: flex;
flex-direction: column;
+ flex-shrink: 0;
+ width: 50%;
// width: 50rem*1.2);
.switch_type_list {
display: flex;
diff --git a/src/component/HomePage/PrintboardUpload.vue b/src/component/HomePage/PrintboardUpload.vue
index e98475d6..6abaa637 100644
--- a/src/component/HomePage/PrintboardUpload.vue
+++ b/src/component/HomePage/PrintboardUpload.vue
@@ -920,6 +920,9 @@ export default defineComponent({
position: relative;
cursor: pointer;
text-align: center;
+ &.modal_imgItem:nth-child(even) {
+ margin-right: 0;
+ }
img{
object-fit: cover;
height: 100%;
diff --git a/src/component/HomePage/SketchboardUpload.vue b/src/component/HomePage/SketchboardUpload.vue
index ba7b587b..2e7ad324 100644
--- a/src/component/HomePage/SketchboardUpload.vue
+++ b/src/component/HomePage/SketchboardUpload.vue
@@ -891,6 +891,9 @@ export default defineComponent({
position: relative;
cursor: pointer;
text-align: center;
+ &.modal_imgItem:nth-child(even) {
+ margin-right: 0;
+ }
&:hover .delete_like_file_block{
display: block;
opacity: 1;
diff --git a/src/component/HomePage/layout.vue b/src/component/HomePage/layout.vue
index e4514f34..af67e0ab 100644
--- a/src/component/HomePage/layout.vue
+++ b/src/component/HomePage/layout.vue
@@ -30,7 +30,7 @@
-
![]()
+
diff --git a/src/component/HomePage/productImg.vue b/src/component/HomePage/productImg.vue
index 694b5904..0f1f04a5 100644
--- a/src/component/HomePage/productImg.vue
+++ b/src/component/HomePage/productImg.vue
@@ -25,7 +25,7 @@
@@ -899,7 +899,11 @@ methods: {
.productImg_content_item_imgBox{
.content_item_imgBox_itemImg{
width: auto;
+ max-width: 9rem;
flex-shrink: 0;
+ img{
+ object-fit: contain;
+ }
}
}
.productImg_content_item_generate{
diff --git a/src/component/LoginPage/verificationCodeInput.vue b/src/component/LoginPage/verificationCodeInput.vue
index c2d55c74..4d8b92b7 100644
--- a/src/component/LoginPage/verificationCodeInput.vue
+++ b/src/component/LoginPage/verificationCodeInput.vue
@@ -2,6 +2,7 @@
{onInput(e.target.value, index)}"
@keydown.delete="e=>{onKeydown(e.target.value, index)}"
diff --git a/src/component/modules/generalMiniCanvas.vue b/src/component/modules/generalMiniCanvas.vue
index 71df1ee3..e0a6b004 100644
--- a/src/component/modules/generalMiniCanvas.vue
+++ b/src/component/modules/generalMiniCanvas.vue
@@ -358,10 +358,12 @@ export default defineComponent({
)
exportCanvas.add(obj)
})
- let data = exportCanvas.toDataURL('jpg')
+ let data = canvas.toDataURL({
+ format: 'png',
+ quality: 1 // 质量参数,范围 0.0 - 1.0
+ });
cancelDsign()
clearCanvas()
- console.log(data);
emit('submitBase64Data',data)
})
}
diff --git a/src/lang/cn.ts b/src/lang/cn.ts
index 1249e933..64cdb8f8 100644
--- a/src/lang/cn.ts
+++ b/src/lang/cn.ts
@@ -67,7 +67,7 @@ export default {
Scale:'倍率',
Cancel:'取消',
size:'区域',
- density:'密度',
+ density:'强度',
jsContent1:"您是否已经保存画布内容?如果没有,请再关闭前点击'保存'。",
jsContent2:'我们只支持对印花进行超分',
jsContent3:'您的积分小于一次超分',
diff --git a/src/tool/mdEvent.js b/src/tool/mdEvent.js
index b4d42c81..ab325c89 100644
--- a/src/tool/mdEvent.js
+++ b/src/tool/mdEvent.js
@@ -7,6 +7,8 @@ const getMousePosition = (e,bor,dom) => {
offsetY: touch.clientY - e.target.getBoundingClientRect().top,
clientX:touch.clientX,
clientY:touch.clientY,
+ screenX:touch.screenX,
+ screenY:touch.screenY,
target:e.target,
}
if(dom){
@@ -19,6 +21,8 @@ const getMousePosition = (e,bor,dom) => {
offsetY:e.offsetY,
clientX:e.clientX,
clientY:e.clientY,
+ screenX:e.screenX,
+ screenY:e.screenY,
target:e.target,
}
}
diff --git a/src/views/HomeRecommend.vue b/src/views/HomeRecommend.vue
index 41b11832..efe28313 100644
--- a/src/views/HomeRecommend.vue
+++ b/src/views/HomeRecommend.vue
@@ -1,69 +1,53 @@
+
+
+
+

+
+
+
+
+
Login
+
Visitor registration
+
+
-
-
-
-
-

-
+
+
+
+
+
AiDA
+ bloom your creativity
-
-
Upgrade to an official user
-
Home
-
log off
+
-
-
Login
-
Visitor registration
-
-
-
-
-
AIDA
-
- Blooming
- Your Creativity
-
-
-

-
-
-
- Start enjoying the amazing experiences
- of using our AI-based
- interactive design assistant.
-
-
- Start Creating
-
-
-
-
+
+
-
-
-
-
-
-
-
+
@@ -74,22 +58,27 @@