【Vue3+TypeScript】CRM系统项目搭建之 — 关于如何设计出优质的 Vue 业务组件

简介: 【Vue3+TypeScript】CRM系统项目搭建之 — 关于如何设计出优质的 Vue 业务组件

前言

前面知道了 Element Plus 关于组件设计时使用 CSS 变量来进行重构,接着这里就在正式进入业务开发之前,来学习如何在封装组件时在其可拓展性与贴合业务去寻找一个平衡点。

这是来自 B 站 up 主的分享,在上水课的时候偶然刷到的,就决定学习学习。


组件设计基本原则

  1. 组件是要去复用到很多地方的,所以设计组件最核心的就是在其可拓展和贴合业务之间找一个平衡点,使得业务组件更加偏向业务,而基础组件更加偏向于拓展。
  2. 尽量提供简便,满足大多数场景下 0 配置或极少配置就可用,特殊场景也可以拓展自定义。

UI 组件展示

如上可以看到这个商品组件在不同的地方会有不同的展示,寻找不同之处,右下角的按钮、商品内容区、商品的标题展示也有所不同、最右边的可选框也有不同。

分解 UI 结构

图片区分析
图片统一问题
  1. 图片大小控制,图片的大小是写死,还是交由外部进行控制,外部又如何进行控制呢?
  2. 统一的兜底图,可能有些图片是没有传入的,这里又属于是商品展示项,是不是需要一个兜底图呢?
  3. 图片地址,这个图片地址是从传入的商品信息对象提取地址吗?
专门思考的问题
  1. 以后是否有图片需要加上 icon,加标注的可能呢?
  2. 图片的兜底图是否会有替换的可能呢?
图片区方案
  1. 图片大小默认按设计图来,如果有特殊需要走css调控,组件css层级设计的浅一点
  2. 统一兜底图,留出兜底图自定义控件
  3. 默认显示一张图片,如有特殊需要,支持插槽替换
  1. 地址不单独传入直接传入整体商品信息,组件内部提取地址,也预留props可以强制定义url地址
具体代码设计

标题区
问题分析
  1. 标题字体大小,字体样式是否固定
  2. 标题有时候两行省略,有时候一行省略如何控制
  3. 标题内容如何处理
标题区解决方案
  1. 按额外内容区有几条决定标题几行,等于四条就一行,小于等于三条显示两行,预留props可以强制指定几行
  2. 字体大小,样式固定,交由css处理
  3. 内容默认按组件传入的所有商品信息提取标题,支持强制指定
具体代码设计

额外信息区
问题分析
  1. 行数不固定,每行内容不固定,如何传入?

方案一: 整个额外信息区都由插槽插入

分析: 可拓展性最高,但是使用者需要自己编写整个信息区的html和css

方案二: 额外信息区分为四个插槽,要插入哪个位置传哪个

分析: 相对来说扩展性不错,使用者至少不用布局了

具体代码设计

按钮区

按钮区完全没规律·,没有提供简便的可能性,直接插槽传入。

行为角度

行为点1: 右下角按钮区

该行为点已经完全交给插槽了。

行为点2: 点击商品区,不同的商品区域会有不同的需求,比如第一个商品点击无反应,第二个跳商家主页,最后一个跳商品详情。

行为点3:商品都有公共的异常状态点击效果,无论哪种商品,如果有异常状态都会像这样展示,点击后弹窗提示具体异常原因


总结

在封装一个业务组件的时候:

步骤-先分析ui,再分析行为

1,尽量的让使用者大多数情况下不用传太多props和插槽

2,写的时候思考一个事情.这个还能不能贴合业务做得更简便

3,一定要记得留拓展接口

4,行为记得两个事情,开关和回调

目录
打赏
0
0
0
0
8
分享
相关文章
一夜获千星!已获 1.7k+,Art Design Pro:Vue3 + Vite + TypeScript 打造的高颜值管理系统模板,这个让后端小哥直呼救命的后台系统
Art Design Pro 是一款基于 Vue 3、Vite 和 TypeScript 的高颜值后台管理系统模板,已获 1.7k+ 星标。项目专注于用户体验与视觉设计,支持主题切换、多语言、权限管理及图表展示等功能,内置常用业务组件,便于快速搭建现代化管理界面。其技术栈先进,开发体验流畅,适配多设备,满足企业级应用需求。项目地址:[GitHub](https://github.com/Daymychen/art-design-pro)。
249 11
jsp CRM客户管理系统(含数据库脚本以及文档)
jsp CRM客户管理系统(含数据库脚本以及文档)
81 10
Vue Amazing UI 组件库(Vue3+TypeScript+Vite 等最新技术栈开发)
Vue Amazing UI 是一个基于 Vue 3、TypeScript、Vite 等最新技术栈开发构建的现代化组件库,包含丰富的 UI 组件和常用工具函数,并且持续不断维护更新中。另外,组件库全量使用 TypeScript,支持自动按需引入和 Tree Shaking 等,能够显著提升开发效率,降低开发成本。
339 5
Vue Amazing UI 组件库(Vue3+TypeScript+Vite 等最新技术栈开发)
Gzm Design:开源神器!用 Vue3、Vite4、TypeScript 革新海报设计,免费开源的海报设计器,主流技术打造,轻松高效
海报设计在各个领域都有着广泛的应用,无论是商业广告、活动宣传还是个人创意表达。今天要给大家介绍一款免费开源的海报设计器——Gzm Design,它基于最新的主流技术开发,为用户提供了丰富的功能,让海报设计变得轻松又高效。
288 64
Eliza:TypeScript 版开源 AI Agent 开发框架,快速搭建智能、个性的 Agents 系统
Eliza 是一个开源的多代理模拟框架,支持多平台连接、多模型集成,能够快速构建智能、高效的AI系统。
515 8
Eliza:TypeScript 版开源 AI Agent 开发框架,快速搭建智能、个性的 Agents 系统
国产CRM品牌巡礼:系统品牌的核心优势与特色
本文深度解析国产CRM系统的四大知名品牌:销售易、神州云动、销帮帮和天衣云。 销售易:中国领先的CRM解决方案提供商,提供全渠道获客、智能化销售流程及AIGC技术应用,赢得500强企业信赖。 神州云动:以PaaS+SaaS模式、灵活定制和行业解决方案著称,支持企业实现客户关系管理的数字化和智能化。 销帮帮:面向中小企业的实用型CRM系统,提供销售跟踪、客户视图等功能,提高销售效率和客户满意度。 天衣云:专注于云端部署,提供快速部署、高安全性的CRM解决方案,确保企业信息安全。 各品牌各有特色,企业应根据自身需求选择合适的CRM系统,以实现客户关系的全面管理,提升业务效率和客户满意度。
CRM系统源码|客户管理系统源码开发
CRM系统通过提供个性化的用户体验、提高生产力、改善客户体验和增加销售额来助力企业成长。集成CRM能自动化数据输入,减少管理时间,提高销售代表的效率。此外,CRM还能增强客户互动,降低跳出率,增加透明度,确保整个公司的协调合作。
255 5
通义大模型与现有企业系统集成实战《CRM案例分析与安全最佳实践》
本文档详细介绍了基于通义大模型的CRM系统集成架构设计与优化实践。涵盖混合部署架构演进(新增向量缓存、双通道同步)、性能基准测试对比、客户意图分析模块、商机预测系统等核心功能实现。同时,深入探讨了安全防护体系、三级缓存架构、请求批处理优化及故障处理机制,并展示了实时客户画像生成和动态提示词工程。通过实施,显著提升客服响应速度(425%)、商机识别准确率(37%)及客户满意度(15%)。最后,规划了技术演进路线图,从单点集成迈向自主优化阶段,推动业务效率与价值持续增长。
中小企业如何通过点晴CRM实现低成本高效运营?
在竞争激烈的市场环境中,中小企业往往面临资源有限、客户管理混乱、销售效率低下等挑战。如何在不增加高昂成本的前提下,提升运营效率、优化客户管理,成为企业持续增长的关键。
33 1
集团化企业如何构建高效的CRM系统
在数字化时代,集团化企业面临信息孤立与协同低效等挑战,CRM系统成为其精细化管理和增长的关键。然而,构建高效CRM需战略规划与执行支持。本文分析了集团化企业在CRM建设中的核心需求、风险及解决方案,并以纷享销客为例,展示其通过智能型CRM助力企业平衡管控与赋能、挖掘协同潜力,实现数字化转型与持续增长的价值。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问