From 91088b98e33f14f0519b46fd9d46aa93ae14f749 Mon Sep 17 00:00:00 2001 From: ShawnPhang Date: Sat, 30 Sep 2023 12:15:53 +0800 Subject: [PATCH] code: optimize image cutout --- package.json | 1 - src/api/ai.ts | 24 +++++++ src/api/index.ts | 6 +- src/api/material.ts | 6 +- src/assets/styles/design.less | 9 --- src/assets/styles/layout.less | 9 +++ .../business/image-cutout/ImageCutout.vue | 63 +++++++++++-------- src/config.ts | 8 --- src/store/modules/base/index.ts | 7 +-- src/utils/axios.ts | 4 +- src/views/Index.vue | 2 +- 11 files changed, 82 insertions(+), 57 deletions(-) create mode 100644 src/api/ai.ts diff --git a/package.json b/package.json index d215932..efa6087 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,6 @@ "publish-fast": "git add . && git commit -m 'build: auto publish' && sh script/publish.sh" }, "dependencies": { - "@gradio/client": "^0.1.4", "@palxp/color-picker": "^1.3.1", "@scena/guides": "^0.18.1", "@webtoon/psd": "^0.4.0", diff --git a/src/api/ai.ts b/src/api/ai.ts new file mode 100644 index 0000000..560bc41 --- /dev/null +++ b/src/api/ai.ts @@ -0,0 +1,24 @@ +/* + * @Author: ShawnPhang + * @Date: 2021-08-27 14:42:15 + * @Description: AI相关接口 + * @LastEditors: ShawnPhang + * @LastEditTime: 2023-09-30 12:08:01 + */ +import fetch from '@/utils/axios' + +// 上传接口 +export const upload = (file: File, cb: Function) => { + const formData = new FormData() + formData.append('file', file) + const extra = { + responseType: 'blob', + onUploadProgress: (progress: any) => { + cb(Math.floor((progress.loaded / progress.total) * 100), 0) + }, + onDownloadProgress: (progress: any) => { + cb(100, Math.floor((progress.loaded / progress.total) * 100)) + }, + } + return fetch('https://res.palxp.cn/ai/upload', formData, 'post', {}, extra) +} diff --git a/src/api/index.ts b/src/api/index.ts index c27f723..a1017b9 100644 --- a/src/api/index.ts +++ b/src/api/index.ts @@ -2,13 +2,15 @@ * @Author: ShawnPhang * @Date: 2021-08-19 18:43:22 * @Description: - * @LastEditors: ShawnPhang - * @LastEditTime: 2023-07-21 13:06:46 + * @LastEditors: ShawnPhang + * @LastEditTime: 2023-09-28 15:46:56 */ import * as home from './home' import * as material from './material' +import * as ai from './ai' export default { home, material, + ai, } diff --git a/src/api/material.ts b/src/api/material.ts index 652e466..c90b58b 100644 --- a/src/api/material.ts +++ b/src/api/material.ts @@ -1,9 +1,9 @@ /* * @Author: ShawnPhang * @Date: 2021-08-27 14:42:15 - * @Description: - * @LastEditors: ShawnPhang - * @LastEditTime: 2023-07-21 11:19:04 + * @Description: 媒体相关接口 + * @LastEditors: ShawnPhang + * @LastEditTime: 2023-09-28 11:24:13 */ import fetch from '@/utils/axios' diff --git a/src/assets/styles/design.less b/src/assets/styles/design.less index f173080..8ed2a4a 100644 --- a/src/assets/styles/design.less +++ b/src/assets/styles/design.less @@ -135,13 +135,4 @@ box-shadow: 0 0 0 5000px rgba(255, 255, 255, 0.95); z-index: 8; } - .shelter-bg { - // background-color: #ffffff; - background-color: #f0f0f0; - background-image: linear-gradient(to top right, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff), linear-gradient(to top right, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff); - background-position: 0 0, 8px 8px; - background-size: 16px 16px; - overflow: hidden; - user-select: none; - } } diff --git a/src/assets/styles/layout.less b/src/assets/styles/layout.less index 378c78b..dc8b719 100644 --- a/src/assets/styles/layout.less +++ b/src/assets/styles/layout.less @@ -25,3 +25,12 @@ .line-clamp-2 { -webkit-line-clamp: 2; } + +.transparent-bg { + background-color: #f0f0f0; + background-image: linear-gradient(to top right, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff), linear-gradient(to top right, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff); + background-position: 0 0, 8px 8px; + background-size: 16px 16px; + overflow: hidden; + user-select: none; +} diff --git a/src/components/business/image-cutout/ImageCutout.vue b/src/components/business/image-cutout/ImageCutout.vue index 5143dcf..a40f8c4 100644 --- a/src/components/business/image-cutout/ImageCutout.vue +++ b/src/components/business/image-cutout/ImageCutout.vue @@ -3,21 +3,25 @@ * @Date: 2023-07-11 23:50:22 * @Description: 抠图组件 * @LastEditors: ShawnPhang - * @LastEditTime: 2023-09-15 12:38:49 + * @LastEditTime: 2023-09-30 12:10:31 -->