首页布局优化

This commit is contained in:
X1627315083
2025-09-02 16:11:47 +08:00
parent 9a48ce972c
commit 56edbb68c4
8 changed files with 225 additions and 210 deletions

View File

@@ -18,6 +18,8 @@
-moz-user-select:none; -moz-user-select:none;
-ms-user-select: none; -ms-user-select: none;
user-select:none; user-select:none;
touch-action: pan-x pan-y; /* 允许单指平移(滚动)但禁用捏合缩放 */
input,textarea{ input,textarea{
-webkit-touch-callout:default; -webkit-touch-callout:default;
-khtml-user-select:auto; -khtml-user-select:auto;

View File

@@ -188,6 +188,7 @@ export class BrushManager {
// } // }
// ); // );
// 注册橡皮擦笔刷 // 注册橡皮擦笔刷
const outerThis = this;
brushRegistry.register( brushRegistry.register(
"eraser", "eraser",
class EraserBrush extends PencilBrush { class EraserBrush extends PencilBrush {
@@ -195,6 +196,7 @@ export class BrushManager {
super(canvas, { super(canvas, {
id: "eraser", id: "eraser",
name: "橡皮擦", name: "橡皮擦",
t:outerThis.t,
description: "擦除已绘制的内容", description: "擦除已绘制的内容",
category: "工具", category: "工具",
...options, ...options,

View File

@@ -11,12 +11,14 @@ export class PencilBrush extends BaseBrush {
* @param {Object} options 配置选项 * @param {Object} options 配置选项
*/ */
constructor(canvas, options = {}) { constructor(canvas, options = {}) {
// console.log(options,'=-===========================')
super(canvas, { super(canvas, {
id: "pencil", id: "pencil",
name: "铅笔", name: "铅笔",
description: "基础铅笔工具,适合精细线条绘制", description: "基础铅笔工具,适合精细线条绘制",
category: "基础笔刷", category: "基础笔刷",
icon: "pencil", icon: "pencil",
t: options.t,
...options, ...options,
}); });
@@ -249,7 +251,6 @@ export class PencilBrush extends BaseBrush {
getConfigurableProperties() { getConfigurableProperties() {
// 获取基础属性 // 获取基础属性
const baseProperties = super.getConfigurableProperties(); const baseProperties = super.getConfigurableProperties();
// 定义铅笔笔刷特有属性 // 定义铅笔笔刷特有属性
const pencilProperties = [ const pencilProperties = [
// { // {

View File

@@ -25,7 +25,7 @@
</div> </div>
</div> </div>
<div class="scaleImage_content"> <div class="scaleImage_content">
<div v-if="isProductimg" class="productImg_modal"> <div v-if="isProductimg" class="productImg_modal" style="display: none;">
<div class="productImg_left generalModel_state"> <div class="productImg_left generalModel_state">
<div class="productImg_content_item_title productImg_content_item_title_menu"> <div class="productImg_content_item_title productImg_content_item_title_menu">
<span v-if="scaleImageList[scaleImageIndex]?.resultType == 'ToProductImage'">{{$t('ProductImg.MagicTools')}}</span> <span v-if="scaleImageList[scaleImageIndex]?.resultType == 'ToProductImage'">{{$t('ProductImg.MagicTools')}}</span>
@@ -327,6 +327,7 @@ export default defineComponent({
}) })
generateProceedList = rv.map(user => user.taskId); generateProceedList = rv.map(user => user.taskId);
// productimg.generateList.unshift(...rv) // productimg.generateList.unshift(...rv)
console.log(arr)
setPrductimg(arr) setPrductimg(arr)
} }
).catch(res=>{ ).catch(res=>{

View File

@@ -307,7 +307,6 @@ setup(props:any,{emit}) {
let remPrductimgTime:any = null let remPrductimgTime:any = null
let prductimgTime:any = null let prductimgTime:any = null
const getData = ()=>{ const getData = ()=>{
console.log(productimg.scaleImageList[productimg.scaleImageIndex],productimg.selectGenerate)
let obj = null as any let obj = null as any
if(productimg.scaleImageList[productimg.scaleImageIndex]?.resultType == 'ToProductImage'){ if(productimg.scaleImageList[productimg.scaleImageIndex]?.resultType == 'ToProductImage'){
obj = { obj = {
@@ -394,9 +393,10 @@ setup(props:any,{emit}) {
data = getPoseTransformData() data = getPoseTransformData()
} }
productimg.productimgIsProductimg = true productimg.productimgIsProductimg = true
if(productimg.openType != 'add'){ if(productimg.openType != 'add' || productimg.generateCourse){
await new Promise(async (res,reject)=>{ await new Promise(async (res,reject)=>{
await props.onlike(null,null,productimg.selectGenerate.listType,'onLike') console.log(productimg.generateCourse,productimg.selectGenerate)
await props.onlike(productimg.generateCourse,productimg.selectGenerate.listType)
setTimeout(()=>{ setTimeout(()=>{
res('') res('')
},1000) },1000)
@@ -422,7 +422,6 @@ setup(props:any,{emit}) {
rv.forEach((item:any)=>{ rv.forEach((item:any)=>{
arr.push(item.taskId) arr.push(item.taskId)
}) })
console.log(productimg.selectGenerate)
productimg.generateCourse = { productimg.generateCourse = {
...rv[0], ...rv[0],
prompt:productimg.productimgSearchName, prompt:productimg.productimgSearchName,
@@ -726,7 +725,6 @@ setup(props:any,{emit}) {
const ifMaximumLength = async ()=>{ const ifMaximumLength = async ()=>{
await nextTick() await nextTick()
let textarea = productimg.textarea; let textarea = productimg.textarea;
console.log(textarea)
const scrollTop = textarea.scrollTop; const scrollTop = textarea.scrollTop;
// 2. 计算单行高度 // 2. 计算单行高度
const lineHeight = parseInt(getComputedStyle(textarea).lineHeight) || 20; // 默认20px const lineHeight = parseInt(getComputedStyle(textarea).lineHeight) || 20; // 默认20px

View File

@@ -315,7 +315,7 @@
<editDesignType ref="editDesignType" <editDesignType ref="editDesignType"
@addGenerateImg="addGenerateImg" @addGenerateImg="addGenerateImg"
@upDataDesignLikeList="generateLoad" @upDataDesignLikeList="generateLoad"
:onlike="setNoDesignLike" :onlike="onLike"
:productData="{ :productData="{
upload:upload, upload:upload,
RelightDirection:RelightDirection, RelightDirection:RelightDirection,
@@ -1346,6 +1346,9 @@ export default defineComponent({
setSystemDesigner(0) setSystemDesigner(0)
}) })
} }
const onLike = async (generate,selectType)=>{
await setNoDesignLike(generate,null,selectType,'onLike')
}
return { return {
store, store,
...toRefs(editDesignType), ...toRefs(editDesignType),
@@ -1412,6 +1415,7 @@ export default defineComponent({
setUnfold, setUnfold,
changeResultType, changeResultType,
addGenerateImg, addGenerateImg,
onLike,
}; };
}, },
data() { data() {

View File

@@ -19,7 +19,6 @@
</div> </div>
<div class="navList "> <div class="navList ">
<div class="tools list" v-for="item in openTypeList" :class="{active:openType == item.value,history:item.value == 'history'}"> <div class="tools list" v-for="item in openTypeList" :class="{active:openType == item.value,history:item.value == 'history'}">
<div class="titleBox" @click="setOpenType(item.value,item.list)"> <div class="titleBox" @click="setOpenType(item.value,item.list)">
<div class="left"> <div class="left">
<i :class="['fi',item.icon]"></i> <i :class="['fi',item.icon]"></i>
@@ -576,15 +575,19 @@ export default defineComponent({
} }
const settingGetHistory = ()=>{ const settingGetHistory = ()=>{
homeMainData.historyData.page = 1 homeMainData.historyData.page = 1
homeMainData.openTypeList.history = { // homeMainData.openTypeList.history = {
icon:"fi-br-time-past", // icon:"fi-br-time-past",
label:"History", // label:"History",
value:"history", // value:"history",
Todaylist:[], // Todaylist:[],
Yesterdaylist:[], // Yesterdaylist:[],
WithinAWeeklist:[], // WithinAWeeklist:[],
Earlierlist:[], // Earlierlist:[],
} // }
homeMainData.openTypeList.history.Todaylist = []
homeMainData.openTypeList.history.Yesterdaylist = []
homeMainData.openTypeList.history.WithinAWeeklist = []
homeMainData.openTypeList.history.Earlierlist = []
homeMainData.historyData.isShowLoading = false homeMainData.historyData.isShowLoading = false
homeMainData.historyData.isNoData = false homeMainData.historyData.isNoData = false
isFound = 0//表示是否找到当前id的记录 isFound = 0//表示是否找到当前id的记录

File diff suppressed because one or more lines are too long