From fc0871195913a1f131574fcd23bc43c68d32504b Mon Sep 17 00:00:00 2001
From: ncqwer <1732031236@qq.com>
Date: Mon, 26 Feb 2024 15:16:43 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E7=B1=BB=E5=9E=8B?=
=?UTF-8?q?=EF=BC=9A=E5=B8=A6=E9=81=AE=E7=BD=A9=E5=B1=82=E7=9A=84=E5=9B=BE?=
=?UTF-8?q?=E7=89=87=EF=BC=8C=E5=AF=B9=E5=BA=94=E7=9A=84schema=E4=B8=BA?=
=?UTF-8?q?=EF=BC=9AlocalImg://imageURL-mask=5Fbackground=5Fimage?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
BREAKING CHANGE: 当前组件的内部使用的u-image默认的图片默认使用图片为fit为fill
---
.../cust_community_icon_image/CHANGELOG.md | 12 +++
.../cust-community-icon-image/api.yaml | 7 ++
.../docs/examples.md | 24 +++++-
.../image-with-mask.vue | 56 ++++++++++++++
.../cust-community-icon-image/index.vue | 76 +++++++++----------
.../cust-community-icon-image/wrap.js | 67 ++++++++++++----
.../cust/cust_community_icon_image/manifest | 6 +-
.../cust_community_icon_image/package.json | 3 +-
packages/cw/cw_echarts_library/CHANGELOG.md | 8 ++
9 files changed, 199 insertions(+), 60 deletions(-)
create mode 100644 packages/cust/cust_community_icon_image/CHANGELOG.md
create mode 100644 packages/cust/cust_community_icon_image/components/cust-community-icon-image/image-with-mask.vue
create mode 100644 packages/cw/cw_echarts_library/CHANGELOG.md
diff --git a/packages/cust/cust_community_icon_image/CHANGELOG.md b/packages/cust/cust_community_icon_image/CHANGELOG.md
new file mode 100644
index 00000000..d7955082
--- /dev/null
+++ b/packages/cust/cust_community_icon_image/CHANGELOG.md
@@ -0,0 +1,12 @@
+## 1.0.3
+
+Associated Task: [#281455](https://projectmanage.netease-official.lcap.163yun.com/dashboard/TaskDetail?id=2814552607417856)
+
+### ✨Features
+
+- [36a85cb](https://github.com/vusion/cloud-ui-materials/commit/36a85cb81dcdae782038830ad10d1bfb98e5ded5) Thanks [ncqwer](https://github.com/ncqwer) ! - 新增类型:带遮罩层的图片,对应的schema为:localImg://imageURL-mask_background_image
+
+### 🚨BREAKING CHANGES
+
+- [36a85cb](https://github.com/vusion/cloud-ui-materials/commit/36a85cb81dcdae782038830ad10d1bfb98e5ded5) Thanks [ncqwer](https://github.com/ncqwer) ! - 当前组件的内部使用的u-image默认的图片默认使用图片为fit为fill
+
diff --git a/packages/cust/cust_community_icon_image/components/cust-community-icon-image/api.yaml b/packages/cust/cust_community_icon_image/components/cust-community-icon-image/api.yaml
index 27073a58..587ce850 100644
--- a/packages/cust/cust_community_icon_image/components/cust-community-icon-image/api.yaml
+++ b/packages/cust/cust_community_icon_image/components/cust-community-icon-image/api.yaml
@@ -12,4 +12,11 @@
group: 主要属性
brifeDoc: ''
tooltipLink: ''
+ - name: targetStyle
+ title: 样式属性
+ type: object
+ description: ''
+ group: 主要属性
+ brifeDoc: ''
+ tooltipLink: ''
slots: false
diff --git a/packages/cust/cust_community_icon_image/components/cust-community-icon-image/docs/examples.md b/packages/cust/cust_community_icon_image/components/cust-community-icon-image/docs/examples.md
index b9ce9ac6..d5ed058e 100644
--- a/packages/cust/cust_community_icon_image/components/cust-community-icon-image/docs/examples.md
+++ b/packages/cust/cust_community_icon_image/components/cust-community-icon-image/docs/examples.md
@@ -4,9 +4,24 @@
toggle
-
+
-
+
+
+
+
+
+
@@ -15,6 +30,11 @@ export default {
data() {
return {
flag: true,
+ targetStyle: {
+ imgWithMask: {
+ width: '256px',
+ },
+ },
};
},
};
diff --git a/packages/cust/cust_community_icon_image/components/cust-community-icon-image/image-with-mask.vue b/packages/cust/cust_community_icon_image/components/cust-community-icon-image/image-with-mask.vue
new file mode 100644
index 00000000..9ff9b308
--- /dev/null
+++ b/packages/cust/cust_community_icon_image/components/cust-community-icon-image/image-with-mask.vue
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
diff --git a/packages/cust/cust_community_icon_image/components/cust-community-icon-image/index.vue b/packages/cust/cust_community_icon_image/components/cust-community-icon-image/index.vue
index cfb9596e..1f3ed0a5 100644
--- a/packages/cust/cust_community_icon_image/components/cust-community-icon-image/index.vue
+++ b/packages/cust/cust_community_icon_image/components/cust-community-icon-image/index.vue
@@ -1,50 +1,50 @@
-
-
-
+
+
+
\ No newline at end of file
+
diff --git a/packages/cust/cust_community_icon_image/components/cust-community-icon-image/wrap.js b/packages/cust/cust_community_icon_image/components/cust-community-icon-image/wrap.js
index f56d6a3c..5ac97d6e 100644
--- a/packages/cust/cust_community_icon_image/components/cust-community-icon-image/wrap.js
+++ b/packages/cust/cust_community_icon_image/components/cust-community-icon-image/wrap.js
@@ -1,33 +1,69 @@
import CustCommunityIconImage from './index.vue';
+import CustCommunityIconImageWithMask from './image-with-mask.vue';
-const REG = /^local:\/\/(\S+)~(.+)$/;
+const REG = /^(local(?:Img)?):\/\/(\S+)~(.+)$/;
export default {
name: 'cust-community-icon-image',
- inheritAttrs: false,
props: {
src: {
type: String,
- default: 'local://wenjianjia~linear-gradient(317deg, #89B1FF 3%, #8FD7FF 100%)',
+ default:
+ 'localImg:////test-lcpapp-static.nos-eastchina1.126.net/assets/cloud-ui/1.jpg~linear-gradient(90deg, #5B96CC -2%, rgba(91, 150, 204, 0) 120%)',
+ },
+ targetStyle: {
+ type: Object,
+ default: () => ({}),
},
},
render(createElement) {
- const src = this.src || 'local://wenjianjia~linear-gradient(317deg, #89B1FF 3%, #8FD7FF 100%)';
+ const src =
+ this.src ||
+ 'local://wenjianjia~linear-gradient(317deg, #89B1FF 3%, #8FD7FF 100%)';
const isLocalIconResult = REG.exec(src);
+ // console.log('🚀 ~ file: wrap.js:24 ~ render ~ src:', src);
if (isLocalIconResult) {
- return createElement(CustCommunityIconImage, {
- props: Object.assign({}, this.$attrs, { backgroundImg: isLocalIconResult[2], icon: isLocalIconResult[1] }),
- attrs: {
- 'vusion-node-tag': this.$attrs['vusion-node-tag'],
- 'vusion-node-path': this.$attrs['vusion-node-path'],
- },
- on: this.$listeners,
- slots: this.$slots,
- scopedSlots: this.$scopedSlots,
- });
+ const protocol = isLocalIconResult[1];
+ if (protocol === 'local')
+ return createElement(CustCommunityIconImage, {
+ props: Object.assign({}, this.$attrs, {
+ icon: isLocalIconResult[2],
+ backgroundImg: isLocalIconResult[3],
+ }),
+ attrs: {
+ 'vusion-node-tag': this.$attrs['vusion-node-tag'],
+ 'vusion-node-path': this.$attrs['vusion-node-path'],
+ },
+ on: this.$listeners,
+ slots: this.$slots,
+ scopedSlots: this.$scopedSlots,
+ style: this.targetStyle.icon,
+ });
+ if (protocol === 'localImg') {
+ return createElement(CustCommunityIconImageWithMask, {
+ props: Object.assign({ fill: 'hsj' }, this.$attrs, {
+ img: `${isLocalIconResult[2]}`,
+ mask: isLocalIconResult[3],
+ }),
+ attrs: {
+ 'vusion-node-tag': this.$attrs['vusion-node-tag'],
+ 'vusion-node-path': this.$attrs['vusion-node-path'],
+ },
+ on: this.$listeners,
+ slots: this.$slots,
+ scopedSlots: this.$scopedSlots,
+ style: this.targetStyle.imgWithMask,
+ });
+ }
}
return createElement('u-image', {
- props: Object.assign({}, this.$attrs, { src: this.src }),
+ props: Object.assign({}, this.$attrs, {
+ src: this.src,
+ fit: 'fill',
+ }),
+ style: {
+ width: '100%',
+ },
attrs: {
'vusion-node-tag': this.$attrs['vusion-node-tag'],
'vusion-node-path': this.$attrs['vusion-node-path'],
@@ -35,6 +71,7 @@ export default {
on: this.$listeners,
slots: this.$slots,
scopedSlots: this.$scopedSlots,
+ style: this.targetStyle.img,
});
},
};
diff --git a/packages/cust/cust_community_icon_image/manifest b/packages/cust/cust_community_icon_image/manifest
index b5b18c9d..9335c6c1 100644
--- a/packages/cust/cust_community_icon_image/manifest
+++ b/packages/cust/cust_community_icon_image/manifest
@@ -1,6 +1,6 @@
Plugin-Version: 1.0.0
Library-Type: Frontend
Metadata-File: usage.json
-packages/extension/cust_community_icon_image@1.0.0/dist-theme/demo.html: dist-theme/demo.html
-packages/extension/cust_community_icon_image@1.0.0/dist-theme/index.js: dist-theme/index.js
-packages/extension/cust_community_icon_image@1.0.0/dist-theme/index.js.map: dist-theme/index.js.map
\ No newline at end of file
+packages/extension/cust_community_icon_image@1.0.3/dist-theme/demo.html: dist-theme/demo.html
+packages/extension/cust_community_icon_image@1.0.3/dist-theme/index.js: dist-theme/index.js
+packages/extension/cust_community_icon_image@1.0.3/dist-theme/index.js.map: dist-theme/index.js.map
\ No newline at end of file
diff --git a/packages/cust/cust_community_icon_image/package.json b/packages/cust/cust_community_icon_image/package.json
index 09153845..58703313 100644
--- a/packages/cust/cust_community_icon_image/package.json
+++ b/packages/cust/cust_community_icon_image/package.json
@@ -2,7 +2,7 @@
"name": "cust_community_icon_image",
"title": "社区图标图片",
"description": "",
- "version": "1.0.0",
+ "version": "1.0.3",
"main": "./index.js",
"author": "",
"repository": "",
@@ -20,7 +20,6 @@
"build": "npm run build:theme",
"usage": "lcap usage",
"deploy": "lcap deploy dist-theme",
- "prepublishOnly": "lcap publish",
"release": "lcap publish"
},
"vuePlugins": {},
diff --git a/packages/cw/cw_echarts_library/CHANGELOG.md b/packages/cw/cw_echarts_library/CHANGELOG.md
new file mode 100644
index 00000000..8c916963
--- /dev/null
+++ b/packages/cw/cw_echarts_library/CHANGELOG.md
@@ -0,0 +1,8 @@
+## 1.0.4
+
+Associated Task: [#281100](https://projectmanage.netease-official.lcap.163yun.com/dashboard/TaskDetail?id=2811004089143552)
+
+### ✨Features
+
+- [1c8df31](https://github.com/vusion/cloud-ui-materials/commit/1c8df31965da7537a3a409caad5937f591984d64) Thanks [ncqwer](https://github.com/ncqwer) ! - 变更其它依赖库
+