diff --git a/README.md b/README.md index ae3a4b2..0756b78 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ ### 特点 - 丝滑的页面操作体验,丰富的交互细节,基础功能完善 -- 采用服务端生成图片,能确保多端出图统一性,支持各种 CSS 特性 +- 采用服务端生成图片,确保多端出图统一性,支持各种 HTML5 特性 - 简易 AI 抠图工具,上传图片一键去除背景 - 技术栈:Vue3 、Vite5 、Vuex 、ElementPlus,开发体验畅快 - 图片生成:Puppeteer、Express @@ -54,13 +54,9 @@ npm run dev 后端需要自己开发,目前本项目演示 Demo 中的后端接口参考:[接口 API 文档](https://xp.palxp.cn/apidoc/index.html)。 -## 其它 +## 交流群 -我们尝试沉淀一个高质量内容社区,形成可持续学习的平台,同时解决开发者在项目中遇到的疑难和困惑,帮大家少走一些弯路。 - - - -也欢迎关注公众号:品味前端,回复“加群”进行交流。 +关注公众号:品味前端,回复 “加群” 获取二维码,更新公告不错过。 diff --git a/src/assets/styles/design.less b/src/assets/styles/design.less index eb5d053..5f4bd77 100644 --- a/src/assets/styles/design.less +++ b/src/assets/styles/design.less @@ -1,16 +1,14 @@ @import './color.less'; // design index page -// Color variables (appears count calculates by raw css) -@color4: #50555b; // Appears 2 times -@color5: #808080; // Appears 2 times +@color4: #50555b; +@color5: #808080; -// Width variables (appears count calculates by raw css) -@width0: 1180px; // Appears 3 times -@width1: 120px; // Appears 2 times -@width2: 100%; // Appears 8 times +@width0: 1180px; +@width1: 120px; +@width2: 100%; -@height2: 54px; // Appears 5 times +@height2: 54px; .page-design-bg-color { // background-color: #4b678c; diff --git a/src/components/business/moveable/Moveable.vue b/src/components/business/moveable/Moveable.vue index 0a80932..7219186 100644 --- a/src/components/business/moveable/Moveable.vue +++ b/src/components/business/moveable/Moveable.vue @@ -22,6 +22,10 @@ export default defineComponent({ computed: mapGetters(['dSelectWidgets', 'dActiveElement', 'activeMouseEvent', 'showMoveable', 'showRotatable', 'dWidgets', 'updateRect', 'updateSelect', 'guidelines']), watch: { async dActiveElement(val) { + setTimeout(async () => { + await nextTick() + this.checkMouseEvent() + }, 10); if (!val.record) { return } @@ -50,11 +54,7 @@ export default defineComponent({ // // Set Move Auto this.moveable.setState({ target: this._target }, () => { // 当出现mouseevent时进行即刻选中 - if (this.activeMouseEvent) { - this.moveable.dragStart(this.activeMouseEvent) - // TODO 使用后销毁mouseevent - this.$store.commit('setMouseEvent', null) - } + this.checkMouseEvent() }) // // End this.$store.commit('setShowMoveable', true) @@ -84,7 +84,7 @@ export default defineComponent({ // TODO: 这里是通过旋转来判断是否可以操作 this.moveable.renderDirections = val ? ['nw', 'n', 'ne', 'w', 'e', 'sw', 's', 'se'] : [] this.moveable.resizable = val - this.moveable.scalable = val + // this.moveable.scalable = val document.getElementsByClassName('moveable-rotation')[0].style.display = val ? 'block' : 'none' }, updateRect(val) { @@ -366,7 +366,7 @@ export default defineComponent({ this.resizeTempData = null // await this.$nextTick() this.moveable.updateRect() - // 临时处理缩放后细线问题 + // 临时处理缩放后细线问题 https://github.com/palxiao/poster-design/issues/75 this.$store.commit('setShowMoveable', false) setTimeout(() => { this.$store.commit('setShowMoveable', true) @@ -486,7 +486,7 @@ export default defineComponent({ }, async created() { await nextTick() - const Ele = document.getElementById('page-design') + const Ele = document.getElementById('main') // 后续可能加个节流 TODO Ele?.addEventListener('scroll', () => { this.moveable.updateRect() @@ -494,6 +494,13 @@ export default defineComponent({ }, methods: { ...mapActions(['updateWidgetData', 'updateWidgetMultiple', 'pushHistory']), + checkMouseEvent() { + if (this.activeMouseEvent) { + this.moveable.dragStart(this.activeMouseEvent) + // 使用后销毁mouseevent + this.$store.commit('setMouseEvent', null) + } + } }, }) diff --git a/src/components/business/picture-selector/index.vue b/src/components/business/picture-selector/index.vue index 076501f..3775c8f 100644 --- a/src/components/business/picture-selector/index.vue +++ b/src/components/business/picture-selector/index.vue @@ -10,12 +10,12 @@
- +
- +
diff --git a/src/components/modules/layout/designBoard/index.vue b/src/components/modules/layout/designBoard/index.vue index e04dd91..1d3e25a 100644 --- a/src/components/modules/layout/designBoard/index.vue +++ b/src/components/modules/layout/designBoard/index.vue @@ -225,7 +225,6 @@ async function drop(e: MouseEvent) { store.commit('setShowMoveable', true) // 恢复选择 } else { store.dispatch('addWidget', setting) // 正常加入面板 - // addWidget(setting) // 正常加入面板 } } } else if (type === 'bg') { @@ -233,7 +232,6 @@ async function drop(e: MouseEvent) { } else if (type !== 'group') { console.log(setting) store.dispatch('addWidget', setting) // 正常加入面板 - // addWidget(setting) // 正常加入面板 } // 清除临时数据 // this.$store.commit('selectItem', {}) diff --git a/src/components/modules/layout/zoomControl/index.vue b/src/components/modules/layout/zoomControl/index.vue index 79c08cd..c5a811b 100644 --- a/src/components/modules/layout/zoomControl/index.vue +++ b/src/components/modules/layout/zoomControl/index.vue @@ -259,7 +259,9 @@ async function autoFixTop() { } defineExpose({ - screenChange + screenChange, + add, + sub }) @@ -267,7 +269,7 @@ defineExpose({