修复bug

This commit is contained in:
X1627315083
2024-12-20 16:28:18 +08:00
parent d4f29fe956
commit 3d3055a0cb
11 changed files with 117 additions and 26 deletions

View File

@@ -1071,7 +1071,7 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte
margin: 0 3rem 0 1rem; margin: 0 3rem 0 1rem;
} }
.ant-message { .ant-message {
z-index: 1049 !important; z-index: 9999 !important;
top: 6rem; top: 6rem;
} }
.ant-modal-confirm-btns .ant-btn:hover { .ant-modal-confirm-btns .ant-btn:hover {

View File

@@ -1172,7 +1172,7 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte
margin: 0 3rem 0 1rem; margin: 0 3rem 0 1rem;
} }
.ant-message{ .ant-message{
z-index: 1049 !important; z-index: 9999 !important;
top: 6rem; top: 6rem;
} }
.ant-modal-confirm-btns{ .ant-modal-confirm-btns{

View File

@@ -296,7 +296,7 @@
<div class="generalModelOperate_btn_ok" :class="[credits < (allExportSR.filter(item=> item.checked ).length*5)?'active':'']" @click="setExportSR">OK</div> <div class="generalModelOperate_btn_ok" :class="[credits < (allExportSR.filter(item=> item.checked ).length*5)?'active':'']" @click="setExportSR">OK</div>
</div> </div>
</a-modal> </a-modal>
<publish ref="publish" ></publish> <publish ref="publish" @clearPublish="clearPublish"></publish>
<liquefaction ref="liquefaction" @submitLiquefaction="submitLiquefaction"></liquefaction> <liquefaction ref="liquefaction" @submitLiquefaction="submitLiquefaction"></liquefaction>
</a-modal> </a-modal>
</div> </div>
@@ -1200,7 +1200,10 @@ export default defineComponent({
let keyDown = [] let keyDown = []
let oldOperation = '' let oldOperation = ''
let canvasKeyDown = (event) => { let canvasKeyDown = (event) => {
event.preventDefault(); let keys = ['Enter','Delete','ControlLeft','KeyZ','ShiftLeft','KeyC','KeyV','BracketLeft','BracketRight','KeyI','KeyD','KeyO','Backquote']
if(keys.indexOf(event.key) > -1){
event.preventDefault();
}
if(keyDown.indexOf(event.code)>-1){ if(keyDown.indexOf(event.code)>-1){
}else{ }else{
keyDown.push(event.code) keyDown.push(event.code)
@@ -1218,7 +1221,6 @@ export default defineComponent({
paste() paste()
}else if(keyDown.indexOf('BracketLeft') > -1){ }else if(keyDown.indexOf('BracketLeft') > -1){
let width = canvasPencilWidth.value[operation.value] let width = canvasPencilWidth.value[operation.value]
console.log(width);
canvasPencilWidth.value[operation.value] = (width - 5) < 3?3:(width - 5) canvasPencilWidth.value[operation.value] = (width - 5) < 3?3:(width - 5)
console.log(canvasPencilWidth.value[operation.value]); console.log(canvasPencilWidth.value[operation.value]);
setPencilWidth() setPencilWidth()
@@ -2018,6 +2020,12 @@ export default defineComponent({
userlikeGroupId:userlikeGroupId, userlikeGroupId:userlikeGroupId,
} }
publishModal.init(data) publishModal.init(data)
document.removeEventListener("keydown", setCanvasKeyDown);
document.removeEventListener("keyup", clearCanvasKeyDown);
}
const clearPublish = ()=>{
document.addEventListener("keydown", setCanvasKeyDown);
document.addEventListener("keyup", clearCanvasKeyDown);
} }
let setSubmit = ()=>{ let setSubmit = ()=>{
let data = setCanvasContent(false) let data = setCanvasContent(false)
@@ -2139,6 +2147,7 @@ export default defineComponent({
uploadImage,//上传图帕 uploadImage,//上传图帕
setLayerIndex,//设置选中元素的层级 setLayerIndex,//设置选中元素的层级
brushList,//笔触列表 brushList,//笔触列表
clearPublish,
textureList,//材质列表 textureList,//材质列表
canvasPencilColor,//input选择颜色 canvasPencilColor,//input选择颜色
canvasPencilWidth,//input选择宽度 canvasPencilWidth,//input选择宽度

View File

@@ -85,6 +85,7 @@ import { useI18n } from 'vue-i18n';
import { useStore } from "vuex"; import { useStore } from "vuex";
export default defineComponent({ export default defineComponent({
emits: ['clearPublish'],
setup(prop,{emit}) { setup(prop,{emit}) {
let {t} = useI18n() let {t} = useI18n()
const store = useStore(); const store = useStore();
@@ -199,6 +200,7 @@ export default defineComponent({
publish.value = false publish.value = false
publishData.isShowMark = false publishData.isShowMark = false
publishData.subPublishDate = {} publishData.subPublishDate = {}
emit('clearPublish')
} }
let cancelDsign = ()=>{ let cancelDsign = ()=>{
Modal.confirm({ Modal.confirm({

View File

@@ -24,7 +24,7 @@
</div> </div>
<div class="echarts_box"> <div class="echarts_box">
<div class="title generalModel_state"> <div class="title generalModel_state">
<div class="radio"> <!-- <div class="radio">
<label> <label>
<input name="pric" type="radio" value="monthly" v-model="current.type" @change="setPricType('monthly')"> <input name="pric" type="radio" value="monthly" v-model="current.type" @change="setPricType('monthly')">
Monthly Monthly
@@ -33,7 +33,7 @@
<input name="pric" type="radio" value="year" v-model="current.type" @change="setPricType('year')"> <input name="pric" type="radio" value="year" v-model="current.type" @change="setPricType('year')">
Yearly Yearly
</label> </label>
</div> </div> -->
<div class="date generalModel_state_item"> <div class="date generalModel_state_item">
<a-date-picker <a-date-picker
class="range_picker" class="range_picker"

View File

@@ -12,8 +12,8 @@
<div class="title">{{ item.title }}</div> <div class="title">{{ item.title }}</div>
<div class="info">{{ item.info }}</div> <div class="info">{{ item.info }}</div>
<div class="detail">{{ item.detail }}</div> <div class="detail">{{ item.detail }}</div>
<div class="highlight">{{ item.highlight }}</div> <div class="highlight" v-if="item.highlight">{{ item.highlight }}</div>
<div class="gallery_btn gallery_btn_radius" @click="createAccount">Create account</div> <div class="gallery_btn gallery_btn_radius" :class="{active:item.title == '------------------'}" @click="createAccount">Create account</div>
</div> </div>
<ul class="product_detail"> <ul class="product_detail">
<li v-for="detailItem in item.detailList">{{ detailItem }}</li> <li v-for="detailItem in item.detailList">{{ detailItem }}</li>
@@ -69,6 +69,31 @@
'Suitable for individual creators and freelance designers to use' 'Suitable for individual creators and freelance designers to use'
] ]
}, },
{
title:"------------------",
info:"--- / Year",
detail:"---------------------------------------------",
// highlight:"---------------",
detailList:[
'---------------------------------------',
'---------------------------------------',
'---------------------------------------',
'---------------------------------------',
'---------------------------------------',
]
},{
title:"------------------",
info:"--- / Year",
detail:"---------------------------------------------",
// highlight:"---------------",
detailList:[
'---------------------------------------',
'---------------------------------------',
'---------------------------------------',
'---------------------------------------',
'---------------------------------------',
]
},
// { // {
// title:"Education Edition", // title:"Education Edition",
// info:"XXX / Year", // info:"XXX / Year",
@@ -216,6 +241,9 @@
border: 2px solid #000; border: 2px solid #000;
padding: 3rem; padding: 3rem;
position: relative; position: relative;
.active{
pointer-events: none;
}
} }
.product_detail{ .product_detail{
margin-top: 4rem; margin-top: 4rem;

View File

@@ -57,7 +57,7 @@
</a-modal> </a-modal>
</template> </template>
<script> <script>
import { defineComponent, ref, reactive, watch, onMounted, nextTick, toRefs } from "vue"; import { defineComponent, ref, reactive, watch, onMounted, nextTick, toRefs, onBeforeUnmount } from "vue";
import { useI18n } from "vue-i18n"; import { useI18n } from "vue-i18n";
import { getMousePosition } from "@/tool/mdEvent"; import { getMousePosition } from "@/tool/mdEvent";
export default defineComponent({ export default defineComponent({
@@ -84,6 +84,8 @@ export default defineComponent({
transform:`translateY(-100%) rotate(${90}deg)`, transform:`translateY(-100%) rotate(${90}deg)`,
} }
}) })
let records = []//撤回
let normalCanvasState = []//反撤回
let canvas let canvas
let canvasImgData = { let canvasImgData = {
width:0, width:0,
@@ -91,8 +93,12 @@ export default defineComponent({
} }
let downX let downX
let downY let downY
let context
let init = async (data)=>{ let init = async (data)=>{
records = []
liqufeaction.value = true liqufeaction.value = true
document.addEventListener("keydown", kyeDown);
document.addEventListener("keyup", KeyUp);
await new Promise((resolve, reject) => { await new Promise((resolve, reject) => {
nextTick(()=>{ nextTick(()=>{
resolve() resolve()
@@ -115,7 +121,7 @@ export default defineComponent({
canvas.width = width canvas.width = width
canvas.height = height canvas.height = height
let optfor = false let optfor = false
const context = canvas.getContext('2d'); context = canvas.getContext('2d');
context.drawImage(img, 1, 1, canvas.width, canvas.height); context.drawImage(img, 1, 1, canvas.width, canvas.height);
let imgData = context.getImageData(0, 0, canvas.width, canvas.height) let imgData = context.getImageData(0, 0, canvas.width, canvas.height)
@@ -160,7 +166,9 @@ export default defineComponent({
} }
distance = 0 distance = 0
arrows.value.show = false arrows.value.show = false
context.putImageData(imgData, 0, 0); const copiedImgData = new ImageData(new Uint8ClampedArray(imgData.data), imgData.width, imgData.height);
records.push(copiedImgData)
context.putImageData(copiedImgData, 0, 0);
optfor = false optfor = false
canvasBox.removeEventListener('mousemove', mouseMove); canvasBox.removeEventListener('mousemove', mouseMove);
canvasBox.removeEventListener('touchmove', touchmove); canvasBox.removeEventListener('touchmove', touchmove);
@@ -203,7 +211,10 @@ export default defineComponent({
}else{ }else{
img.src = data img.src = data
} }
} }
let distanceSqr = (x1, y1, x2, y2) => sqr(x1 - x2) + sqr(y1 - y2); let distanceSqr = (x1, y1, x2, y2) => sqr(x1 - x2) + sqr(y1 - y2);
let sqr = (x) => x * x;; let sqr = (x) => x * x;;
let eachCircleDot = (imageData, ox, oy, r, callback)=>{ let eachCircleDot = (imageData, ox, oy, r, callback)=>{
@@ -244,6 +255,44 @@ export default defineComponent({
} }
} }
} }
let keyDowns = []
let kyeDown = (event)=>{
if(keyDowns.indexOf(event.code)>-1){
}else{
keyDowns.push(event.code)
if(keyDowns.indexOf('ControlLeft') > -1 && keyDowns.indexOf('KeyZ') > -1 && keyDowns.indexOf('ShiftLeft') > -1){
historyState('')
}else if(keyDowns.indexOf('ControlLeft') > -1 && keyDowns.indexOf('KeyZ') > -1){
historyState('reverse')
}
}
}
let KeyUp = (event) =>{
keyDowns = keyDowns.filter(function(item) {
return event.code !== item;
})
}
const historyState = (str)=>{
console.log(str);
let obj
if(str == 'reverse' && records.length > 0){//反撤回
obj = records.pop()
normalCanvasState.push(obj);
}else if(str == '' && normalCanvasState.length > 1){
obj = normalCanvasState.pop()
records.push(obj);
}else{
return
}
console.log(obj,context);
context.putImageData(obj, 0, 0);
}
onBeforeUnmount(()=>{
document.removeEventListener("keydown", kyeDown);
document.removeEventListener("keyup", KeyUp);
})
let copyImageDataBuff = (imgData)=>{ let copyImageDataBuff = (imgData)=>{
var data = imgData.data, var data = imgData.data,
imgDataBuff = []; imgDataBuff = [];

View File

@@ -222,12 +222,12 @@ const userHabit : Module<UserHabit,RootState> = {
} }
} }
state.userDetail.email = data.email?data.email:'------' state.userDetail.email = data.email?data.email:'------'
let current = Math.floor(Date.now() / 1000); let current = Math.floor(Date.now() );
let timeData let timeData
if(data.expireTime){ if(data.validEndTime){
timeData = { timeData = {
isExpiration:current<data.expireTime, isExpiration:current<data.validEndTime,
text:new Date(parseInt(String(data.expireTime*1000))).toLocaleDateString() text:new Date(parseInt(String(data.validEndTime))).toLocaleDateString()
} }
}else{ }else{
timeData = { timeData = {

View File

@@ -86,6 +86,7 @@ axios.interceptors.response.use((res) =>{
} else if(res.data.errCode === 2){ } else if(res.data.errCode === 2){
return Promise.reject(res.data); return Promise.reject(res.data);
}else if(res.data.errCode === -1){ }else if(res.data.errCode === -1){
console.log(23);
message.error(res.data.errMsg) message.error(res.data.errMsg)
return Promise.reject(res.data); return Promise.reject(res.data);
} }

View File

@@ -349,7 +349,11 @@ export default defineComponent({
'userDetail.email':{ 'userDetail.email':{
handler(newVal, oldVal){ handler(newVal, oldVal){
nextTick(()=>{ nextTick(()=>{
if(newVal == '-------------')this.setBindEmail()//如果没有绑定邮箱就弹窗 if(newVal == '-------------'){
setTimeout(()=>{
this.setBindEmail()//如果没有绑定邮箱就弹窗
},1000)
}
}) })
}, },
immediate: true immediate: true

View File

@@ -127,6 +127,11 @@
)"> )">
</div> </div>
</div> </div>
<div class="content_img_block" v-show="showDesignMark">
<div class="content_img_flex" >
<img class="content_img" src="@/assets/images/homePage/loading.gif" />
</div>
</div>
<!-- </draggable> --> <!-- </draggable> -->
<div class="content_img_block" :style="collStyle" v-for="( <div class="content_img_block" :style="collStyle" v-for="(
design, index design, index
@@ -151,12 +156,7 @@
"> ">
</div> </div>
</div> </div>
<div class="content_img_block" v-show="showDesignMark">
<div class="content_img_flex" >
<!-- <img class="content_img" v-lazy="''" /> -->
<img class="content_img" src="@/assets/images/homePage/loading.gif" />
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
@@ -708,7 +708,6 @@ export default defineComponent({
objectSignList:data.requestIdList.join(), objectSignList:data.requestIdList.join(),
requestId:rv requestId:rv
} }
this.store.commit("setDesignCollectionList",[]);
this.getDesignResult(value,'newDesign') this.getDesignResult(value,'newDesign')
this.startDesignType = "design"; this.startDesignType = "design";
} }
@@ -736,7 +735,7 @@ export default defineComponent({
const item = arr[index]; const item = arr[index];
await new Promise((resolve, reject) => { await new Promise((resolve, reject) => {
setTimeout(() => { setTimeout(() => {
this.designCollectionList.push(item) this.designCollectionList.unshift(item)
resolve('') resolve('')
}, 200); }, 200);
}) })
@@ -802,7 +801,6 @@ export default defineComponent({
requestId:rv requestId:rv
} }
this.getDesignResult(value,'resDesign') this.getDesignResult(value,'resDesign')
this.store.commit("setDesignCollectionList",[]);
this.startDesignType = "resDesign"; this.startDesignType = "resDesign";
this.isShowMark = false this.isShowMark = false
} }