diff --git a/src/assets/data/LayerIconList.ts b/src/assets/data/LayerIconList.ts index 7562027..da31325 100644 --- a/src/assets/data/LayerIconList.ts +++ b/src/assets/data/LayerIconList.ts @@ -6,12 +6,7 @@ * @LastEditTime: 2024-03-01 20:55:51 */ -export type LayerIconList = { - key: string - icon: string - tip: string - value: number -} +import { TIconItemSelectData } from "@/components/modules/settings/iconItemSelect.vue" export default [ { @@ -26,4 +21,4 @@ export default [ tip: '下一层', value: -1, }, -] as LayerIconList[] +] as TIconItemSelectData[] diff --git a/src/common/methods/DesignFeatures/setWidgetData.ts b/src/common/methods/DesignFeatures/setWidgetData.ts index 49182fa..2411a8f 100644 --- a/src/common/methods/DesignFeatures/setWidgetData.ts +++ b/src/common/methods/DesignFeatures/setWidgetData.ts @@ -10,7 +10,8 @@ import setImageData from '@/common/methods/DesignFeatures/setImage' // import wText from '@/components/modules/widgets/wText/wText.vue' import { wTextSetting } from '@/components/modules/widgets/wText/wTextSetting' -import wImage from '@/components/modules/widgets/wImage/wImage.vue' +// import wImage from '@/components/modules/widgets/wImage/wImage.vue' +import wImageSetting from '@/components/modules/widgets/wImage/wImageSetting' import wSvg from '@/components/modules/widgets/wSvg/wSvg.vue' export default async function(type: string, item: TCommonItemData, data: Record) { @@ -23,11 +24,12 @@ export default async function(type: string, item: TCommonItemData, data: Record< setting.fontWeight = item.fontWeight } if (type === 'image' || type === 'mask') { - setting = JSON.parse(JSON.stringify(wImage.setting)) + setting = JSON.parse(JSON.stringify(wImageSetting)) const img = await setImageData(item.value) setting.width = img.width setting.height = img.height // parseInt(100 / item.value.ratio, 10) setting.imgUrl = item.value.url + console.log("setting", setting) } if (type === 'mask') { setting.mask = item.value.url diff --git a/src/components/business/picture-selector/index.vue b/src/components/business/picture-selector/index.vue index 2d92219..076501f 100644 --- a/src/components/business/picture-selector/index.vue +++ b/src/components/business/picture-selector/index.vue @@ -74,7 +74,7 @@ const load = async (init?: boolean) => { loading = true page += 1 api.material.getMyPhoto({ page }).then(({ list }) => { - list.length <= 0 ? (state.isDone = true) : (state.imgList = state.imgList.concat(list)) + list.length <= 0 ? (state.isDone = true) : (state.imgList = state.imgList.concat(list as TGetImageListResult[])) setTimeout(() => { loading = false }, 100) diff --git a/src/components/modules/panel/wrap/PhotoListWrap.vue b/src/components/modules/panel/wrap/PhotoListWrap.vue index 3ef21cf..015020f 100644 --- a/src/components/modules/panel/wrap/PhotoListWrap.vue +++ b/src/components/modules/panel/wrap/PhotoListWrap.vue @@ -55,6 +55,20 @@ type TCurrentCategory = { id?: number } +const selectImg = async (index, list) => { + const item = list ? list[index] : state.recommendImgList[index] + store.commit('setShowMoveable', false) // 清理掉上一次的选择 + let setting = JSON.parse(JSON.stringify(wImageSetting)) + const img = await setImageData(item) // await getImage(item.url) + setting.width = img.width + setting.height = img.height // parseInt(100 / item.value.ratio, 10) + setting.imgUrl = item.url + const { width: pW, height: pH } = dPage + setting.left = pW / 2 - img.width / 2 + setting.top = pH / 2 - img.height / 2 + store.dispatch('addWidget', setting) +} + const props = defineProps() const store = useStore() const { dPage } = storeToRefs(usePageStore()) diff --git a/src/components/modules/settings/iconItemSelect.vue b/src/components/modules/settings/iconItemSelect.vue index c288485..a185424 100644 --- a/src/components/modules/settings/iconItemSelect.vue +++ b/src/components/modules/settings/iconItemSelect.vue @@ -22,20 +22,22 @@ // 图标按钮选择组件 // const NAME = 'icon-item-select' -type TPropData = { - select: boolean, - extraIcon: boolean, - tip: string +export type TIconItemSelectData = { + key?: string + select?: boolean, + extraIcon?: boolean, + tip?: string icon?: string + value?: string | number } type TProps = { label?: string - data: TPropData[] + data: TIconItemSelectData[] } type TEmits = { - (event: 'finish', data: TPropData): void + (event: 'finish', data: TIconItemSelectData): void } const props = withDefaults(defineProps(), { @@ -45,7 +47,7 @@ const props = withDefaults(defineProps(), { const emit = defineEmits() -function selectItem(item: TPropData) { +function selectItem(item: TIconItemSelectData) { if (typeof item.select !== 'undefined') { item.select = !item.select } diff --git a/src/components/modules/settings/numberSlider.vue b/src/components/modules/settings/numberSlider.vue index 11f30ec..f226c8e 100644 --- a/src/components/modules/settings/numberSlider.vue +++ b/src/components/modules/settings/numberSlider.vue @@ -49,7 +49,7 @@ const props = withDefaults(defineProps(), { }) const emit = defineEmits() -const innerValue = ref(0) +const innerValue = ref(1) watch( () => innerValue.value, diff --git a/src/components/modules/widgets/wImage/wImageStyle.vue b/src/components/modules/widgets/wImage/wImageStyle.vue index 9078292..36de2e0 100644 --- a/src/components/modules/widgets/wImage/wImageStyle.vue +++ b/src/components/modules/widgets/wImage/wImageStyle.vue @@ -7,20 +7,20 @@ --> -