diff --git a/.env.dev_build b/.env.dev_build
index da2a9a20..9de2530a 100644
--- a/.env.dev_build
+++ b/.env.dev_build
@@ -1,4 +1,4 @@
-VITE_USER_NODE_ENV = 'production'
+VITE_USER_NODE_ENV = 'development'
# VITE_APP_BASE_URL = 'https://aida.com.hk/test'
# VITE_APP_BASE_URL = 'http://18.167.251.121:10088'
# VITE_APP_BASE_URL = 'https://api.aida.com.hk'
diff --git a/components.d.ts b/components.d.ts
index 50e4f2d4..41863ac0 100644
--- a/components.d.ts
+++ b/components.d.ts
@@ -24,6 +24,8 @@ declare module 'vue' {
ASpin: typeof import('ant-design-vue/es')['Spin']
ASwitch: typeof import('ant-design-vue/es')['Switch']
ATable: typeof import('ant-design-vue/es')['Table']
+ ATabPane: typeof import('ant-design-vue/es')['TabPane']
+ ATabs: typeof import('ant-design-vue/es')['Tabs']
AUpload: typeof import('ant-design-vue/es')['Upload']
ElCascader: typeof import('element-plus/es')['ElCascader']
RouterLink: typeof import('vue-router')['RouterLink']
diff --git a/src/component/Account/frontPage/bindPage.vue b/src/component/Account/frontPage/bindPage.vue
index 0557f7e9..61e81949 100644
--- a/src/component/Account/frontPage/bindPage.vue
+++ b/src/component/Account/frontPage/bindPage.vue
@@ -27,10 +27,10 @@
{{ $t('frontPage.Unbind') }}
-->
-
-
{{ $t('frontPage.BindNow') }}
-
-
{{ $t('frontPage.Unbind') }}
+
+
{{ $t('frontPage.BindNow') }}
+
+
{{ $t('frontPage.Unbind') }}
@@ -138,12 +138,13 @@ export default defineComponent({
bindPageDom.bindEmail.init('Modify')
}
- const toGmailLogin = ()=>{
- message.info(t('account.canNotUtilize'))
- }
onMounted(async ()=>{
- return
- let GOOGLE_CLIENT_ID = '29310152396-nnsd3h533fld665oguu8ovrt1nukmt46.apps.googleusercontent.com'
+ let GOOGLE_CLIENT_ID
+ if(import.meta.env.VITE_USER_NODE_ENV == 'development'){
+ GOOGLE_CLIENT_ID = '157095842121-kdd1fdf8m8nudvj9sprstb2k2prnf9e4.apps.googleusercontent.com'
+ }else{
+ GOOGLE_CLIENT_ID = '29310152396-nnsd3h533fld665oguu8ovrt1nukmt46.apps.googleusercontent.com'
+ }
var existingScript = document.querySelector(`script[src="${data.scriptSrc}"]`);
if(!window.isAddGmail){
if(!existingScript){
@@ -206,7 +207,6 @@ export default defineComponent({
ungroupGoogleModel,
ungroupWeiXinModel,
modifyEmail,
- toGmailLogin,
}
},
data(){
@@ -271,14 +271,21 @@ export default defineComponent({
}
>.gmail_btn{
position: relative;
+ border-radius: 4rem;
+ overflow: hidden;
+ > .gallery_btn{
+ position: relative;
+ z-index: 2;
+ pointer-events: none;
+ }
#g_id_bind{
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
- opacity: 0;
- z-index: 2;
+ // opacity: 0;
+ z-index: 1;
:deep(.nsm7Bb-HzV7m-LgbsSe.Bz112c-LgbsSe){
width: 100%;
}
diff --git a/src/component/Account/frontPage/mylnformation.vue b/src/component/Account/frontPage/mylnformation.vue
index e5df3e55..25eac482 100644
--- a/src/component/Account/frontPage/mylnformation.vue
+++ b/src/component/Account/frontPage/mylnformation.vue
@@ -117,13 +117,12 @@ export default defineComponent({
let value = {
country:accountHomeData.Country,
title:accountHomeData.selectSex,
- userName:accountHomeData.editUserName,
surname:accountHomeData.surname,
givenName:accountHomeData.givenName,
}
store.commit('upUserDetail',value)
accountHomeData.loadingShow = false
- message.success(t('exportModel.jsContent7'))
+ message.success(t('account.jsContent13'))
}).catch((err:any)=>{
accountHomeData.loadingShow = false
})
diff --git a/src/component/Canvas/CanvasEditor/managers/ExportManager.js b/src/component/Canvas/CanvasEditor/managers/ExportManager.js
index 2f097813..41d1007d 100644
--- a/src/component/Canvas/CanvasEditor/managers/ExportManager.js
+++ b/src/component/Canvas/CanvasEditor/managers/ExportManager.js
@@ -870,7 +870,7 @@ export class ExportManager {
const clipObject = this.canvas?.clipPath;
if (!clipObject) {
console.warn("未找到可用的裁剪对象");
- return null;
+ return null;
}
// 克隆对象作为裁剪路径
@@ -878,7 +878,6 @@ export class ExportManager {
clipObject,
false,
false
-
);
if (!clonedClipPath) {
diff --git a/src/component/Canvas/CanvasEditor/managers/ToolManager.js b/src/component/Canvas/CanvasEditor/managers/ToolManager.js
index 07ec3046..442e60b7 100644
--- a/src/component/Canvas/CanvasEditor/managers/ToolManager.js
+++ b/src/component/Canvas/CanvasEditor/managers/ToolManager.js
@@ -759,13 +759,13 @@ export class ToolManager {
* @private
*/
_showRasterizeConfirmModal(isGroup, layerId) {
- const title = "栅格化图层";
- const content = "需要先栅格化才能进行液化操作,是否立即栅格化?";
+ const title = this.t("Canvas.RasterizedLayer");
+ const content = this.t("Canvas.rasterizeImmediately");
Modal.confirm({
title,
content,
- okText: "确定栅格化",
+ okText: this.t("Canvas.ConfirmRasterization"),
cancelText: "取消",
centered: true,
icon: h("span", { style: "color: #faad14;" }, "⚠️"),
@@ -800,8 +800,8 @@ export class ToolManager {
if (!this.commandManager || !this.layerManager) return;
// 显示加载Modal
const loadingModal = Modal.info({
- title: "正在栅格化",
- content: "正在栅格化图层,请稍候...",
+ title: this.t('Canvas.beingRasterized'),
+ content: this.t('Canvas.waitRasterizing'),
okButtonProps: { style: { display: "none" } },
centered: true,
closable: false,
@@ -823,16 +823,16 @@ export class ToolManager {
if (result) {
// 栅格化成功,启动液化
- message.success("图层已成功栅格化,可以进行液化操作");
+ message.success(this.t('Canvas.successRasterizing'));
this._startLiquify(result);
this.setTool(OperationType.LIQUIFY); // 切换到液化工具
} else {
// 栅格化失败
Modal.error({
- title: "栅格化失败",
- content: "栅格化失败,无法进行液化操作",
- okText: "确定",
+ title: this.t('Canvas.gridingFailed'),
+ content: this.t('Canvas.gridingFailedNoOperation'),
+ okText: this.t('Canvas.ok'),
centered: true,
});
}
@@ -840,9 +840,9 @@ export class ToolManager {
console.error("栅格化图层失败:", error);
Modal.error({
- title: "栅格化错误",
- content: `栅格化失败:${error.message}`,
- okText: "确定",
+ title: this.t('Canvas.gridingError'),
+ content: `${this.t('Canvas.gridingFailed')}:${error.message}`,
+ okText: this.t('Canvas.ok'),
centered: true,
});
} finally {
@@ -866,9 +866,9 @@ export class ToolManager {
);
if (!layer) {
Modal.error({
- title: "图层错误",
- content: "图层不存在",
- okText: "确定",
+ title: this.t('Canvas.LayerError'),
+ content: this.t('Canvas.LayerDoesNotExist'),
+ okText: this.t('Canvas.ok'),
centered: true,
});
return;
@@ -880,9 +880,9 @@ export class ToolManager {
// 背景图层使用 fabricObject (单数)
if (!layer.fabricObject) {
Modal.warning({
- title: "背景图层为空",
- content: "背景图层为空,无法进行液化操作",
- okText: "确定",
+ title: this.t('Canvas.backgroundEmpty'),
+ content: this.t('Canvas.backgroundEmptyNoLiquidation'),
+ okText: this.t('Canvas.ok'),
centered: true,
});
return;
@@ -892,9 +892,9 @@ export class ToolManager {
// 普通图层使用 fabricObjects (复数)
if (!layer.fabricObjects || layer.fabricObjects.length === 0) {
Modal.warning({
- title: "图层为空",
- content: "图层为空,无法进行液化操作",
- okText: "确定",
+ title: this.t('Canvas.layerEmpty'),
+ content: this.t('Canvas.layerEmptyNoLiquidation'),
+ okText: this.t('Canvas.ok'),
centered: true,
});
return;
@@ -906,9 +906,9 @@ export class ToolManager {
const liquifyManager = this.canvasManager?.liquifyManager;
if (!liquifyManager) {
Modal.error({
- title: "液化管理器错误",
- content: "液化管理器未初始化",
- okText: "确定",
+ title: this.t('Canvas.liqueficationManagerError'),
+ content: this.t('Canvas.liqueficationManagerErrorInitialized'),
+ okText: this.t('Canvas.ok'),
centered: true,
});
return;
@@ -917,8 +917,8 @@ export class ToolManager {
try {
// 显示准备中的Modal
const preparingModal = Modal.info({
- title: "准备液化环境",
- content: "正在准备液化环境,请稍候...",
+ title: this.t('Canvas.liquefactionEnvironment'),
+ content: this.t('Canvas.liquefactionEnvironmentLoading'),
okButtonProps: { style: { display: "none" } },
centered: true,
closable: false,
@@ -963,9 +963,9 @@ export class ToolManager {
} catch (error) {
console.error("启动液化工具失败:", error);
Modal.error({
- title: "液化工具启动失败",
- content: `启动液化工具失败:${error.message}`,
- okText: "确定",
+ title: this.t('Canvas.LiqueficationFailed'),
+ content: `${this.t('Canvas.LiqueficationFailed')}:${error.message}`,
+ okText: this.t('Canvas.ok'),
centered: true,
});
}
@@ -1041,7 +1041,7 @@ export class ToolManager {
_createTextDirect(x, y, options = {}) {
// 默认文本属性
const defaultOptions = {
- text: "双击编辑文本",
+ text: this.t('Canvas.DoubleClickText'),
fontFamily: "Arial",
fontSize: 24,
fontWeight: "normal",
diff --git a/src/component/Canvas/RedGreenModeExample.vue b/src/component/Canvas/RedGreenModeExample.vue
index cabf84be..33dc698a 100644
--- a/src/component/Canvas/RedGreenModeExample.vue
+++ b/src/component/Canvas/RedGreenModeExample.vue
@@ -12,6 +12,7 @@
:enabledRedGreenMode="true"
:clothingImageUrl="imageUrls.baseImage"
:redGreenImageUrl="imageUrls.maskImage"
+ @trigger-red-green-mouseup="frontBackChange"
:clothingImageOpts="{ imageMode: 'contains' }"
/>
@@ -51,6 +52,9 @@ const loadJSON = () => {
const changeFixedImage = () => {
canvasEditor.value.changeFixedImage(changeImageUrl);
};
+const frontBackChange = (value) =>{
+ console.log(value)
+}
// 组件挂载时绑定键盘事件
onMounted(() => {});
diff --git a/src/component/Detail/DesignDetail.vue b/src/component/Detail/DesignDetail.vue
index af9da6dc..bfd1c93f 100644
--- a/src/component/Detail/DesignDetail.vue
+++ b/src/component/Detail/DesignDetail.vue
@@ -213,6 +213,7 @@ export default defineComponent({
setRevocation()
detailData.loadingShow = false
if(rv.singleOverall == "single"){
+ console.log(rv.clothes)
store.commit('DesignDetail/setDesignColthes',rv.clothes[0].id)
}
@@ -521,7 +522,7 @@ export default defineComponent({