修复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;
}
.ant-message {
z-index: 1049 !important;
z-index: 9999 !important;
top: 6rem;
}
.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;
}
.ant-message{
z-index: 1049 !important;
z-index: 9999 !important;
top: 6rem;
}
.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>
</a-modal>
<publish ref="publish" ></publish>
<publish ref="publish" @clearPublish="clearPublish"></publish>
<liquefaction ref="liquefaction" @submitLiquefaction="submitLiquefaction"></liquefaction>
</a-modal>
</div>
@@ -1200,7 +1200,10 @@ export default defineComponent({
let keyDown = []
let oldOperation = ''
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){
}else{
keyDown.push(event.code)
@@ -1218,7 +1221,6 @@ export default defineComponent({
paste()
}else if(keyDown.indexOf('BracketLeft') > -1){
let width = canvasPencilWidth.value[operation.value]
console.log(width);
canvasPencilWidth.value[operation.value] = (width - 5) < 3?3:(width - 5)
console.log(canvasPencilWidth.value[operation.value]);
setPencilWidth()
@@ -2018,6 +2020,12 @@ export default defineComponent({
userlikeGroupId:userlikeGroupId,
}
publishModal.init(data)
document.removeEventListener("keydown", setCanvasKeyDown);
document.removeEventListener("keyup", clearCanvasKeyDown);
}
const clearPublish = ()=>{
document.addEventListener("keydown", setCanvasKeyDown);
document.addEventListener("keyup", clearCanvasKeyDown);
}
let setSubmit = ()=>{
let data = setCanvasContent(false)
@@ -2139,6 +2147,7 @@ export default defineComponent({
uploadImage,//上传图帕
setLayerIndex,//设置选中元素的层级
brushList,//笔触列表
clearPublish,
textureList,//材质列表
canvasPencilColor,//input选择颜色
canvasPencilWidth,//input选择宽度

View File

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

View File

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

View File

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

View File

@@ -57,7 +57,7 @@
</a-modal>
</template>
<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 { getMousePosition } from "@/tool/mdEvent";
export default defineComponent({
@@ -84,6 +84,8 @@ export default defineComponent({
transform:`translateY(-100%) rotate(${90}deg)`,
}
})
let records = []//撤回
let normalCanvasState = []//反撤回
let canvas
let canvasImgData = {
width:0,
@@ -91,8 +93,12 @@ export default defineComponent({
}
let downX
let downY
let context
let init = async (data)=>{
records = []
liqufeaction.value = true
document.addEventListener("keydown", kyeDown);
document.addEventListener("keyup", KeyUp);
await new Promise((resolve, reject) => {
nextTick(()=>{
resolve()
@@ -115,7 +121,7 @@ export default defineComponent({
canvas.width = width
canvas.height = height
let optfor = false
const context = canvas.getContext('2d');
context = canvas.getContext('2d');
context.drawImage(img, 1, 1, canvas.width, canvas.height);
let imgData = context.getImageData(0, 0, canvas.width, canvas.height)
@@ -160,7 +166,9 @@ export default defineComponent({
}
distance = 0
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
canvasBox.removeEventListener('mousemove', mouseMove);
canvasBox.removeEventListener('touchmove', touchmove);
@@ -203,7 +211,10 @@ export default defineComponent({
}else{
img.src = data
}
}
let distanceSqr = (x1, y1, x2, y2) => sqr(x1 - x2) + sqr(y1 - y2);
let sqr = (x) => x * x;;
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)=>{
var data = imgData.data,
imgDataBuff = [];

View File

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

View File

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

View File

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

View File

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