From d11398274a52f35ab6b839ab0a56c7b2759aa351 Mon Sep 17 00:00:00 2001
From: xiaoxian521 <1923740402@qq.com>
Date: Tue, 8 Nov 2022 12:05:07 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E8=8F=9C=E5=8D=95=E5=9B=BE=E6=A0=87=20?=
=?UTF-8?q?`icon`=20=E6=94=AF=E6=8C=81=E4=BD=BF=E7=94=A8=E5=9C=A8=E7=BA=BF?=
=?UTF-8?q?=E5=9B=BE=E6=A0=87?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/ReIcon/index.ts | 2 +-
src/components/ReIcon/src/hooks.ts | 6 ++++--
src/components/ReIcon/src/iconifyIconOffline.ts | 2 +-
src/components/ReIcon/src/types.ts | 1 -
src/views/login/components/phone.vue | 4 +---
src/views/login/components/regist.vue | 4 +---
src/views/login/components/update.vue | 4 +---
src/views/login/index.vue | 4 +---
src/views/system/dict/index.vue | 10 +++++-----
9 files changed, 15 insertions(+), 22 deletions(-)
diff --git a/src/components/ReIcon/index.ts b/src/components/ReIcon/index.ts
index 8fd33e64a..f77e6f4e1 100644
--- a/src/components/ReIcon/index.ts
+++ b/src/components/ReIcon/index.ts
@@ -3,7 +3,7 @@ import iconifyIconOnline from "./src/iconifyIconOnline";
import iconSelect from "./src/Select.vue";
import fontIcon from "./src/iconfont";
-/** 离线图标组件 */
+/** 本地图标组件 */
const IconifyIconOffline = iconifyIconOffline;
/** 在线图标组件 */
const IconifyIconOnline = iconifyIconOnline;
diff --git a/src/components/ReIcon/src/hooks.ts b/src/components/ReIcon/src/hooks.ts
index 65c41344c..4413b5190 100644
--- a/src/components/ReIcon/src/hooks.ts
+++ b/src/components/ReIcon/src/hooks.ts
@@ -3,7 +3,8 @@ import { h, defineComponent, Component } from "vue";
import { IconifyIconOnline, IconifyIconOffline, FontIcon } from "../index";
/**
- * 支持fontawesome4、5+、iconfont、remixicon、element-plus的icons、自定义svg
+ * 支持 `iconfont`、自定义 `svg` 以及 `iconify` 中所有的图标
+ * @see 点击查看文档图标篇 {@link https://yiming_chang.gitee.io/pure-admin-doc/pages/icon/}
* @param icon 必传 图标
* @param attrs 可选 iconType 属性
* @returns Component
@@ -34,11 +35,12 @@ export function useRenderIcon(icon: any, attrs?: iconType): Component {
// svg
return icon;
} else {
+ // 通过是否存在 : 符号来判断是在线还是本地图标,存在即是在线图标,反之
return defineComponent({
name: "Icon",
render() {
const IconifyIcon =
- attrs && attrs["online"] ? IconifyIconOnline : IconifyIconOffline;
+ icon && icon.includes(":") ? IconifyIconOnline : IconifyIconOffline;
return h(IconifyIcon, {
icon: icon,
...attrs
diff --git a/src/components/ReIcon/src/iconifyIconOffline.ts b/src/components/ReIcon/src/iconifyIconOffline.ts
index b82c00399..7c45391de 100644
--- a/src/components/ReIcon/src/iconifyIconOffline.ts
+++ b/src/components/ReIcon/src/iconifyIconOffline.ts
@@ -161,7 +161,7 @@ addIcon("unExpand", UnExpand);
import LocationCompany from "@iconify-icons/carbon/location-company";
addIcon("location-company", LocationCompany);
-// Iconify Icon在Vue里离线使用(用于内网环境)https://docs.iconify.design/icon-components/vue/offline.html
+// Iconify Icon在Vue里本地使用(用于内网环境)https://docs.iconify.design/icon-components/vue/offline.html
export default defineComponent({
name: "IconifyIconOffline",
components: { IconifyIcon },
diff --git a/src/components/ReIcon/src/types.ts b/src/components/ReIcon/src/types.ts
index 7e3ffab35..8ae8a543c 100644
--- a/src/components/ReIcon/src/types.ts
+++ b/src/components/ReIcon/src/types.ts
@@ -11,7 +11,6 @@ export interface iconType {
horizontalAlign?: boolean;
verticalAlign?: boolean;
align?: string;
- online?: boolean;
onLoad?: Function;
includes?: Function;
diff --git a/src/views/login/components/phone.vue b/src/views/login/components/phone.vue
index cd993ece9..0b6cb5c0e 100644
--- a/src/views/login/components/phone.vue
+++ b/src/views/login/components/phone.vue
@@ -62,9 +62,7 @@ function onBack() {
clearable
v-model="ruleForm.verifyCode"
:placeholder="t('login.smsVerifyCode')"
- :prefix-icon="
- useRenderIcon('ri:shield-keyhole-line', { online: true })
- "
+ :prefix-icon="useRenderIcon('ri:shield-keyhole-line')"
/>
{
clearable
v-model="ruleForm.verifyCode"
:placeholder="t('login.verifyCode')"
- :prefix-icon="
- useRenderIcon('ri:shield-keyhole-line', { online: true })
- "
+ :prefix-icon="useRenderIcon('ri:shield-keyhole-line')"
>
diff --git a/src/views/system/dict/index.vue b/src/views/system/dict/index.vue
index d94ea85db..01926ab90 100644
--- a/src/views/system/dict/index.vue
+++ b/src/views/system/dict/index.vue
@@ -240,21 +240,21 @@ function onHide() {
{{ t("buttons.hsadd") }}
{{ t("buttons.hsexpendAll") }}
{{ t("buttons.hscollapseAll") }}
@@ -301,7 +301,7 @@ function onHide() {
新增子类型
@@ -310,7 +310,7 @@ function onHide() {
v-show="row.model"
link
type="primary"
- :icon="useRenderIcon('fa:cog', { online: true })"
+ :icon="useRenderIcon('fa:cog')"
@click="onDeploy(row)"
>
字典配置