插件封装大全

合集下载

常用封装总结

常用封装总结

常用封装总结常用封装是软件开发中的一种常见技术手段,用于将一组相关的功能或操作封装在一个独立的模块中,方便重复使用和维护。

下面是一些常用封装的总结,包括函数封装、类封装和接口封装。

1.函数封装:函数封装是最基本也是最常用的封装方式之一、通过将一组相关的语句封装在一个函数中,可以提高代码的可读性和可维护性,同时也方便重复使用。

常见的函数封装包括:-输入检查:在函数中对输入参数进行检查,判断其是否符合预期的类型、范围或格式,如果不符合,则抛出异常或返回错误码。

-错误处理:在函数中对可能发生的错误进行处理,例如网络连接错误、文件读取错误等,可以通过异常处理机制来处理这些错误,提高代码的健壮性。

-日志记录:在函数中添加日志记录功能,可以用于排查问题和性能优化。

-代码复用:将一段常用的代码逻辑封装为函数,可以方便其他地方调用,减少重复代码。

-容错处理:在函数中处理异常情况,确保程序的正常运行。

例如,对于文件读取操作,如果文件不存在,可以在函数中进行处理,避免程序崩溃。

2.类封装:类封装是以面向对象的思想来进行封装的一种方式。

通过将属性和方法封装在一个类中,可以将相关的功能和数据组织在一起,提高代码的可维护性和可扩展性。

-封装属性:将对象的属性封装在类的内部,通过提供公共的接口方法来访问和修改属性的值,实现属性的封装和保护,避免外部直接访问和修改属性值。

-封装方法:将一组相关的操作封装在类的方法中,通过对象的方法来实现对属性的操作,实现了数据与操作的封装。

-继承封装:通过继承机制,派生出不同的子类,实现代码的复用和扩展。

子类可以继承父类的属性和方法,并可以通过重写父类的方法来实现个性化的功能。

-抽象封装:通过接口或抽象类定义一组规范,由具体的子类来实现该规范,实现了数据与操作的解耦。

3.接口封装:接口是一种将功能逻辑与实现逻辑相分离的封装方式,通过定义接口规范,将不同的实现类解耦。

接口封装的常见场景有:-多态封装:通过接口来实现多态,将对象的具体类型与其使用的方式解耦,提高代码的灵活性和可扩展性。

元器件封装命名规则

元器件封装命名规则

命名规则本命名规则采用英制mil为单位进行设计尺寸贴片封装式:举例1:贴片电阻(电感)R(L)0805A:R(L)代表贴片电阻(电感);08代表贴片电阻(电感)的长80mil;05代表贴片电阻(电感)的宽50mil;A代表贴片电阻(电感)的焊盘延伸最长(其中也可能是B或C,B代表贴片电阻(电感)的焊盘延伸中等;C代表贴片电阻(电感)的焊盘延伸最短;S代表贴片电阻(电感)的特殊焊盘延伸程度)贴片电阻(电感)尺寸要求:0402;0603;0805;1206;2010等举例2:贴片电容C0805A:C代表贴片电容;08代表贴片电容的长80mil;05代表贴片电容的宽50mil;A代表贴片电容的焊盘延伸最长(其中也可能是B或C,B代表贴片电容的焊盘延伸中等;C代表贴片电容的焊盘延伸最短;S代表贴片电容的特殊焊盘延伸程度)贴片电容尺寸要求:0402;0603;0805;1206;2010等举例3:贴片二极管SOD-123A:SOD-123代表贴片二极管一类的封装命名,至于为什么是SOD-123不太清楚,这里用SOD-123是因为大家认为这种封装就代表这类贴片二极管,这里我的理解是S代表贴片,OD是DOIDE的简化,1代表贴片二极管本体尺寸长度100mil,23代表贴片二极管本体尺寸宽度23mil,A代表贴片二极管的焊盘延伸最长(其中也可能是B或C,B代表贴片二极管的焊盘延伸中等;C代表贴片二极管的焊盘延伸最短;S代表贴片二极管的特殊焊盘延伸程度)举例4:贴片二极管SMA-A:SMAA代表贴片二极管一类的封装命名,至于为什么是SMA不太清楚,这里用SMA是因为大家认为这种封装就代表这类贴片二极管,同时和DO-214AC封装相同,后者的-A代表贴片二极管的焊盘延伸最长(其中也可能是B或C,B代表贴片二极管的焊盘延伸中等;C代表贴片二极管的焊盘延伸最短;S代表贴片二极管的特殊焊盘延伸程度)举例5:贴片三极管SOT-23LASOT-23代表固定的贴片三极管封装, 算是一个固定的形式;L代表贴片三极管的第一引脚在左边(L),或中间(M),或右边(R);A代表贴片三极管的焊盘延伸最长(其中也可能是B或C,B代表贴片三极管的焊盘延伸中等;C代表贴片三极管的焊盘延伸最短;S代表贴片三极管的特殊焊盘延伸程度)。

(完整版)元器件封装大全

(完整版)元器件封装大全

元器件封装大全A.名称Axial 描述轴状的封装名称AGP(AccelerateGraphicalPort)描述加速图形接口名称AMR(Audio/MODEMRiser)描述声音/调制解调器插卡B.名称BGA(Ball GridArray)描述球形触点阵列,表面贴装型封装之一。

在印刷基板的背面按阵列方式制作出球形凸点用以代替引脚,在印刷基板的正面装配LSI芯片,然后用模压树脂或灌封方法进行密封。

也称为凸点阵列载体(PAC)名称BQFP(quad flatpackage withbumper)描述带缓冲垫的四侧引脚扁平封装。

QFP封装之一,在封装本体的四个角设置突(缓冲垫)以防止在运送过程中引脚发生弯曲变形。

C.陶瓷片式载体封装名称C-(ceramic) 描述表示陶瓷封装的记号。

例如,CDIP 表示的是陶瓷DIP。

名称C-BEND LEAD 描述名称CDFP 描述名称Cerdip 描述用玻璃密封的陶瓷双列直插式封装,用于ECL RAM,DSP(数字信号处理器)等电路。

带有玻璃窗口的Cerdip 用于紫外线擦除型EPROM 以及内部带有EPROM 的微机电路等。

名称CERAMIC CASE 描述名称CERQUAD(Ceramic QuadFlat Pack)描述表面贴装型封装之一,即用下密封的陶瓷QFP,用于封装DSP 等的逻辑LSI电路。

带有窗口的Cerquad用于封装EPROM 电路。

散热性比塑料QFP 好,在自然空冷条件下可容许 1.5~2W的功率名称CFP127 描述名称CGA(Column Grid Array)描述圆柱栅格阵列,又称柱栅阵列封装名称CCGA(Ceramic Column GridArray)描述陶瓷圆柱栅格阵列名称CNR 描述CNR是继AMR之后作为INTEL的标准扩展接口名称CLCC 描述带引脚的陶瓷芯片载体,引脚从封装的四个侧面引出,呈丁字形。

带有窗口的用于封装紫外线擦除型EPROM 以及带有EPROM 的微机电路等。

几种封装形式(配图)

几种封装形式(配图)

一直对IC贴片封装的具体名字搞不清楚,就知道是贴片的,再问我具体的,我就傻眼了。

今天决定,彻底扫盲一下。

(1)SOP(2)LQFP(现在低频最常见的一种了吧)(3)PLCC(4)QFN(5)BGA一、SOPSOP也是一种很常见的元件封装形式,始于70年代末期。

sop封装示意图由1980 年代以前的通孔插装(PTH)型态,主流产品为DIP(Dual In-Line Package),进展至1980 年代以SMT(Surface Mount Technology)技术衍生出的SOP(Small Out-Line Package)、SOJ(Small Out-LineJ-Lead)、PLCC(Plastic Leaded Chip Carrier)、QFP(Quad Flat Package)封装方式,在IC 功能及I/O 脚数逐渐增加后,1997 年Intel 率先由QFP 封装方式更新为BGA(Ball Grid Array,球脚数组矩阵)封装方式,除此之外,近期主流的封装方式有CSP(Chip Scale Package 芯片级封装)及Flip Chip(覆晶)。

SOP封装的应用范围很广,而且以后逐渐派生出SOJ(J型引脚小外形封装)、TSOP(薄小外形封装)、VSOP(甚小外形封装)、SSOP(缩小型SOP)、TSSOP(薄的缩小型SOP)及SOT(小外形晶体管)、SOIC(小外形集成电路)等在集成电路中都起到了举足轻重的作用。

像主板的频率发生器就是采用的SOP 封装。

二、LQFP(现在低频最常见的一种了吧)LQFP也就是薄型QFP(Low-profile Quad Flat Package)指封装本体厚度为1.4mm的QFP,是日本电子机械工业会根据制定的新QFP外形规格所用的名称。

下面介绍下QFP封装:这种技术的中文含义叫方型扁平式封装技术(Plastic Quad Flat Package),该技术实现的CPU芯片引脚之间距离很小,管脚很细,一般大规模或超大规模集成电路采用这种封装形式,其引脚数一般都在100以上。

protel 99 se常用元件封装库

protel 99 se常用元件封装库

protel dxp中常用原理图库:1. Miscellaneous Devices.ddb包括电阻、电容、三极管、二极管、发光二极管、三端稳压管、变压器、开关类、可控硅、场效应管、蜂鸣器、电感、天线、保险丝、一位数码管、麦克风等基本元件。

2. Miscellaneous Connectors.IntLib各种插针,电源接头、耳机接头,串口等接插件。

常用PCB库1.Miscellaneous Devices.IntLib对应以上原理图库1的封装。

2.Miscellaneous Connectors.IntLib对应原理图2的封装,常用芯片封装也在里面。

protel99se常用元件封装电阻:RES1,RES2,RES3,RES4;封装属性为axial系列无极性电容:cap;封装属性为RAD-0.1到rad-0.4电解电容:electroi;封装属性为rb.2/.4到rb.5/1.0电位器:pot1,pot2;封装属性为vr-1到vr-5二极管:封装属性为diode-0.4(小功率)diode-0.7(大功率)三极管:常见的封装属性为to-18(普通三极管)to-22(大功率三极管)to-3(大功率达林顿管)电源稳压块有78和79系列;78系列如7805,7812,7820等79系列有7905,7912,7920等常见的封装属性有to126h和to126v整流桥:BRIDGE1,BRIDGE2: 封装属性为D系列(D-44,D-37,D-46)电阻:AXIAL0.3-AXIAL0.7 其中0.4-0.7指电阻的长度,一般用AXIAL0.4瓷片电容:RAD0.1-RAD0.3。

其中0.1-0.3指电容大小,一般用RAD0.1电解电容:RB.1/.2-RB.4/.8 其中.1/.2-.4/.8指电容大小。

一般<100uF用RB.1/.2,100uF-470uF用RB.2/.4,>470uF用RB.3/.6二极管:DIODE0.4-DIODE0.7 其中0.4-0.7指二极管长短,一般用DIODE0.4发光二极管:RB.1/.2集成块:DIP8-DIP40, 其中8-40指有多少脚,8脚的就是DIP8贴片电阻0603表示的是封装尺寸与具体阻值没有关系,但封装尺寸与功率有关通常来说如下:0201 1/20W0402 1/16W0603 1/10W0805 1/8W1206 1/4W电容电阻外形尺寸与封装的对应关系是:0402=1.0mmx0.5mm0603=1.6mmx0.8mm0805=2.0mmx1.2mm1206=3.2mmx1.6mm1210=3.2mmx2.5mm1812=4.5mmx3.2mm2225=5.6mmx6.5mm零件封装是指实际零件焊接到电路板时所指示的外观和焊点的位置。

前端封装项目中常用的组件作用

前端封装项目中常用的组件作用

前端封装项目中常用的组件作用在前端开发中,为了提高代码的可复用性和开发效率,我们经常会封装一些常用的组件。

这些组件可以帮助开发人员快速搭建页面,实现一些常见的功能。

本文将介绍前端封装项目中常用的几种组件及其作用。

1. 按钮组件按钮组件是前端开发中最常用的组件之一,它可以用于实现各种交互功能,比如提交表单、跳转页面等。

按钮组件通常包括不同的样式和状态,如默认状态、悬停状态、禁用状态等,可以根据实际需求进行定制。

2. 表单组件表单组件用于收集用户输入的数据,并进行验证和提交。

常见的表单组件包括输入框、下拉框、单选框、复选框等。

表单组件通常提供一些常用的验证规则,如必填项、邮箱格式、手机号码格式等,以便开发人员快速实现表单验证功能。

3. 弹窗组件弹窗组件用于显示一些临时性的消息或者需要用户确认的信息。

弹窗组件可以包括警告框、确认框、提示框等,开发人员可以根据实际需求进行选择。

弹窗组件通常提供一些参数,如标题、内容、按钮文本等,以便开发人员进行定制。

4. 轮播组件轮播组件用于展示一组图片或者内容,可以实现自动切换和手动切换两种方式。

轮播组件通常包括图片容器、导航按钮和切换动画等功能,可以根据实际需求进行定制。

轮播组件可以用于实现广告轮播、图片展示等功能。

5. 图表组件图表组件用于展示数据的可视化效果,可以帮助用户更直观地理解数据。

常见的图表组件包括柱状图、折线图、饼图等,可以根据实际需求选择。

图表组件通常提供一些参数,如数据源、颜色配置、图表样式等,以便开发人员进行定制。

6. 分页组件分页组件用于分隔长列表或者表格,并提供翻页功能。

分页组件通常包括页码显示、上一页和下一页按钮等功能,可以根据实际需求进行定制。

分页组件可以帮助用户快速定位到所需的数据,提高用户体验。

7. 导航组件导航组件用于提供网站或者应用的主要导航功能。

导航组件通常包括水平导航、垂直导航、面包屑导航等,可以根据实际需求进行选择。

导航组件可以帮助用户快速浏览网站或者应用的不同页面,提高用户导航体验。

不同封装电阻的额定功率

不同封装电阻的额定功率

不同封装电阻的额定功率电阻是电子元器件中常见的一种,它的作用是限制电流、降低电压等。

在实际应用中,不同封装电阻的额定功率会影响到其使用效果和寿命。

本文将从不同封装形式的电阻额定功率入手,进行全面详细的解析。

一、贴片电阻1.1 封装形式贴片电阻是目前市场上使用最广泛的一种电阻封装形式。

它采用SMT (Surface Mount Technology)技术制造,体积小、重量轻、安装方便,适合大规模自动化生产。

1.2 额定功率贴片电阻的额定功率通常为0.125W、0.25W、0.5W、1W等,其中0.125W和0.25W比较常见。

1.3 使用注意事项在使用贴片电阻时需要注意以下几点:(1)避免超过额定功率:由于贴片电阻体积小,散热能力有限,因此在使用时需要避免超过其额定功率。

(2)避免过热:如果长时间工作在高温环境下或者超过其温度系数范围内,可能会导致贴片电阻过热,从而影响其使用寿命。

(3)避免机械损伤:贴片电阻的外壳较薄,容易受到机械损伤,因此在安装和使用时需要小心谨慎。

二、插件电阻2.1 封装形式插件电阻是一种通过引线连接的电阻封装形式。

它通常用于手工焊接或者小批量生产。

2.2 额定功率插件电阻的额定功率通常为0.25W、0.5W、1W、2W等。

2.3 使用注意事项在使用插件电阻时需要注意以下几点:(1)避免超过额定功率:插件电阻的散热能力相对较好,但也需要避免超过其额定功率。

(2)避免机械损伤:由于插件电阻的引线容易受到机械损伤,因此在安装和使用时需要小心谨慎。

三、陶瓷管电阻3.1 封装形式陶瓷管电阻是一种采用陶瓷管封装的电阻。

它具有体积小、重量轻、耐高温等特点,适用于高温环境下的使用。

3.2 额定功率陶瓷管电阻的额定功率通常为1W、2W、5W等。

3.3 使用注意事项在使用陶瓷管电阻时需要注意以下几点:(1)避免超过额定功率:由于陶瓷管电阻的散热能力相对较好,因此在使用时需要避免超过其额定功率。

常见元件封装列表

常见元件封装列表

为方便PROTEL初学者,下列出常用元件封装列表:protel元件封装总结(转)零件封装是指实际零件焊接到电路板时所指示的外观和焊点的位置。

是纯粹的空间概念.因此不同的元件可共用同一零件封装,同种元件也可有不同的零件封装。

像电阻,有传统的针插式,这种元件体积较大,电路板必须钻孔才能安置元件,完成钻孔后,插入元件,再过锡炉或喷锡(也可手焊),成本较高,较新的设计都是采用体积小的表面贴片式元件(SMD)这种元件不必钻孔,用钢膜将半熔状锡膏倒入电路板,再把SMD元件放上,即可焊接在电路板上了。

电阻AXIAL无极性电容RAD电解电容RB-电位器VR二极管DIODE三极管TO电源稳压块78和79系列TO-126H和TO-126V场效应管和三极管一样整流桥D-44 D-37 D-46单排多针插座CON SIP双列直插元件DIP晶振XTAL1电阻:RES1,RES2,RES3,RES4;封装属性为AXIAL系列无极性电容:cap;封装属性为RAD0.1到RAD0.4电解电容:electroi;封装属性为RB.2/.4到RB.5/1.0电位器:pot1,pot2;封装属性为VR-1到VR-5二极管:封装属性为DIODE-0.4(小功率)DIODE-0.7(大功率)三极管:常见的封装属性为to-18(普通三极管)to-22(大功率三极管)to-3(大功率达林顿管)电源稳压块有78和79系列;78系列如7805,7812,7820等79系列有7905,7912,7920等常见的封装属性有to126h和to126v整流桥:BRIDGE1,BRIDGE2: 封装属性为D系列(D-44,D-37,D-46)电阻:AXIAL0.3-AXIAL0.7其中0.4-0.7指电阻的长度,一般用AXIAL0.4 瓷片电容:RAD0.1-RAD0.3。

其中0.1-0.3指电容大小,一般用RAD0.1 电解电容:RB.1/.2-RB.4/.8 其中.1/.2-.4/.8指电容大小。

插件二极管封装类型

插件二极管封装类型

插件二极管封装类型
插件二极管的封装类型可分为以下几种:
1. TO-92封装:TO-92是一种非常常见的二极管封装类型,也
是最简单的一种封装。

它由一个小型塑料外壳构成,具有三个引脚,用于连接二极管的正极,负极和基极。

TO-92封装适用
于低功耗应用。

2. SOT-23封装:SOT-23是一种很常见的表面贴装二极管封装
类型。

它由一个小型塑料外壳构成,具有三个铜脚,用于连接二极管的正极,负极和基极。

SOT-23封装适用于紧凑型电路
板设计,因为它可以通过表面贴装技术进行焊接。

3. SOT-223封装:SOT-223是一种表面贴装封装,具有四个引脚,用于连接二极管的正极,负极,基极和散热片。

SOT-223
封装适合高功率二极管,因为它具有更好的散热性能。

4. DIP封装:DIP是双列直插封装的简称,也是最早使用的二
极管封装类型之一。

DIP封装具有两个平行排列的引脚,用于
连接二极管的正极和负极。

DIP封装适用于手工或机器焊接的
电路板。

5. SMD封装:SMD是表面贴装器件的缩写,其封装类型多种
多样。

SMD封装通常由带有引脚的芯片形状的塑料外壳组成,可以通过表面贴装技术进行焊接。

SMD封装适用于高密度电
路板设计。

这些只是常见的插件二极管封装类型之一,还有其他更多封装类型可供选择,具体选择取决于具体的应用需求和电路设计要求。

(完整版)电子元器件封装图示大全

(完整版)电子元器件封装图示大全

电子元器件封装图示大全LQFP 100LMETAL QUAD 100LPQFP 100LQFPQuad Flat PackageQFPQuad Flat Package TQFP 100LRIMMRIMMFor DirectRambus SBGASC-70 5LSDIPSIMM30SIMM30PinoutSIMM30Single In-line MemoryModuleSIMM72SIMM72PinoutSIMM72Single In-line MemoryModuleSIMM72Single In-line MemoryModuleSIPSingle Inline PackageSLOT 1For intel Pentium II Pentium III & Celeron CPUSLOT AFor AMD Athlon CPU SNAPTKSNAPTKSNAPZPSO DIMMSmall Outline Dual In-line Memory ModuleSOSmall Outline PackageSOCKET 370For intel 370 pin PGA Pentium III & Celeron CPUSOCKET 423For intel 423 pin PGA Pentium 4 CPUSOCKET 462/SOCKET A For PGA AMD Athlon & Duron CPUSOCKET 7For intel Pentium & MMX Pentium CPUSOHSOJ 32LSOJSOP EIAJ TYPE II 14L SOT143SOT220SOT220SOT223SOT223SOT23SOT23/SOT323 SOT25/SOT353 SOT26/SOT363 SOT343SOT523 SOT89 SOT89 SSOP 16L SSOPSocket 603FosterLAMINATE TCSP 20L Chip Scale PackageTO18TO220TO247TO252TO263/TO268 TO264TO3TO5TO52TO71TO72TO78TO8TO92TO93TO99TSOPThin Small Outline PackageTSSOP or TSOP IIThin Shrink Outline PackageLAMINATE UCSP 32L Chip Scale PackageuBGAMicro Ball Grid ArrayuBGAMicro Ball Grid ArrayVL BusVESA Local BusXT Bus8bitZIPZig-Zag Inline PackageGull Wing LeadsHSOP28ISAIndustry StandardArchitectureITO220ITO3pJ-STD J-STDJoint IPC / JEDEC StandardsJEPJEPJEDEC Publications JESD JESDJEDEC StandardsJLCCLCCLDCCLGALLP 8LaLQFPPCDIPPCI 32bit 5V Periphera l Compone nt Interconn ectPCI 64bit 3.3V Periphera l Compone nt Interconn ectPCMCIA PDIPPGA Plastic Pin Grid ArrayPLCC PQFPPS/2PS/2 mouse port pinoutPSDIP DIMM 168 DIMM DDRDIMM168Dual In-lineMemoryModule DIMM168DIMM168PinoutDIMM184For DDRSDRAMDual In-lineMemoryModuleDIPDual InlinePackageDIP-tabDual InlinePackagewith MetalHeatsinkEIA EIA JEDEC formulat ed EIA Standar dsEISAExtended ISA FBGAFDIPFTO220Flat PackAC'97AC'97v2.2 specification 详细规格AGP 3.3V Accelerated Graphics Port Specification 2.0 详细规格AGP PROAcceleratedGraphics PortPROSpecification1.01详细规格AGPAcceleratedGraphics PortSpecification 2.0详细规格AMRAudio/ModemRiserAX078AX14C-Bend LeadCERQUADCeramic Quad FlatPackCLCCCNR Communication and Networking Riser Specification Revision 1.2 CPGACeramic Pin Grid ArrayCeramic CaseLAMINATE CSP 112LChip Scale PackageBGABall Grid ArrayEBGA 680LLBGA 160L PBGA 217L Plastic Ball Grid ArraySBGA 192L TSBGA 680LCLCC CNR Communication and Networking RiserCPGA Ceramic Pin Grid Array DIP Dual Inline PackageDIP-tab Dual Inline Packagewith Metal HeatsinkFBGAFDIP FTO-220 Flat Pack HSOP-28 ITO-220 ITO-3P JLCC LCC LDCC LGA LQFP PCDIPPGA Plastic Pin Grid Array PLCC PQFP PSDIP LQFP 100L METAL QUAD 100L PQFP 100L QFP Quad Flat Package SOT143 SOT220SOT223 SOT223SOT23 SOT23/SOT323SOT25/SOT353 SOT26/SOT363 SOT343 SOT523 SOT89 SOT89Socket 603 Foster LAMINATE TCSP 20L Chip ScalePackageTO252 TO263/TO268 QFP Quad Flat Package TQFP 100LSBGA SC-70 5LSDIP SIP Single Inline Package SO Small Outline Package SOJ 32L SOJ SOP EIAJ TYPE II 14LSOT220 SSOP 16LTO247 SSOPTO18 TO220TO264 TO3TO5 TO52TO71 TO72TO78 TO8TO92 TO93TO99 TSOP Thin Small Outline PackageTSSOP or TSOP II Thin ShrinkuBGA Micro Ball Grid Array Outline PackageuBGA Micro Ball Grid Array ZIP Zig-Zag Inline Package BQFP132 C-Bend LeadCERQUAD Ceramic Quad FlatCeramic Case PackLAMINATE CSP 112L ChipGull Wing Leads Scale PackagePDIP PLCCSNAPTK SNAPTKSNAPZP SOHAGP 3.3V Accelerated Graphics Port Specification 2.0详细规格AGP PRO Accelerated Graphics Port PRO Specification 1.01 详细规格AGPAccelerated Graphics Port Specification 2.0详细规格AMRAudio/Modem Riser AX078AX14BGABall Grid ArrayBQFP132EBGA 680L详细规格LBGA 160L详细规格PBGA 217LPlastic Ball Grid Array详细规格SBGA 192L详细规格TEPBGA 288L TEPBGA 288L详细规格TSBGA 680L详细规格C-Bend LeadCERQUADCeramic Quad FlatPackCLCCCNR Communication and Networking Riser Specification Revision 1.2详细规格CPGACeramic Pin Grid ArrayCeramic CaseLAMINATE CSP 112LChip Scale Package 详细规格DIMM 168详细规格DIMM DDR详细规格DIMM168 Dual In-line Memory Module详细规格DIMM168DIMM168 Pinout详细规格DIMM184 For DDR SDRAM Dual In-line Memory Module详细规格DIPDual Inline Package详细规格DIP-tabDual Inline Package with Metal HeatsinkEIA EIAJEDEC formulated EIA StandardsEISA Extended ISA 详细规格FBGAFDIPFTO220Flat PackGull Wing LeadsHSOP28ISAIndustry Standard ArchitectureITO220ITO3pJ-STD J-STDJoint IPC / JEDECStandardsJEP JEP JEDEC PublicationsJESDJESDJEDECStandardsJLCC PCDIPPCI 32bit 5V Peripheral Component Interconnect 详细规格PCI 64bit 3.3V Peripheral Component Interconnect 详细规格PCMCIA PDIPPGAPlastic Pin Grid Array详细规格PLCC详细规格PQFPPS/2PS/2mouse port pinoutPSDIPLQFP 100L详细规格METAL QUAD 100L详细规格PQFP 100L详细规格QFPQuad FlatPackageQFPQuad FlatPackageTQFP 100L详细规格SBGASC-70 5L详细规格SDIPSIMM30SIMM30Pinout详细规格SIMM30Single In-line Memory ModuleSIMM72SIMM72Pinout详细规格SIMM72Single In-line Memory ModuleSIMM72Single In-line Memory ModuleSIPSingle Inline PackageSLOT 1For intel Pentium II Pentium III & Celeron CPUSLOT AFor AMD Athlon CPUSNAPTKSNAPTKSNAPZPSO DIMMSmall Outline Dual In-line Memory ModuleSOSmall Outline PackageSOCKET 370For intel 370 pin PGA Pentium III & Celeron CPUSOCKET 423For intel 423 pin PGA Pentium 4 CPUSOCKET 462/SOCKET AFor PGA AMD Athlon & Duron CPUSOCKET 7For intel Pentium & MMX Pentium CPUSOHSOJ 32L详细规格SOJSOP EIAJ TYPE II 14L 详细规格SOT143SOT220SOT220SOT223SOT223SOT23SOT23/SOT323SOT25/SOT353 SOT26/SOT363 SOT343SOT523SOT89SOT89SSOP 16L详细规格SSOPSocket 603FosterLAMINATE TCSP 20L Chip Scale Package 详细规格TO18TO220TO247TO252TO263/TO268 TO264TO3TO5TO52TO71TO72TO78TO8TO92TO93TO99TSOPThin Small Outline PackageTSSOP or TSOP IIThin Shrink Outline PackageLAMINATE UCSP 32LChip Scale Package详细规格uBGAMicro Ball Grid ArrayuBGAMicro Ball Grid ArrayVL BusVESA Local BusXT Bus8bitZIPZig-Zag Inline Package。

vue自定义插件封装,实现简易的elementUi的Message和MessageBox的示例

vue自定义插件封装,实现简易的elementUi的Message和MessageBox的示例

vue⾃定义插件封装,实现简易的elementUi的Message和MessageBox的⽰例 这次封装基于vuecli3 + typescript实现,javascript也是同理,没有区别; ⾃定义插件有助于我们可以将⼀些页⾯交互封装并在js或ts⽂件中引⼊实现,⽽不是只在 .vue⽂件。

1、实现toast插件封装(类似简易版的elementUi的message) 先书写⼀个toast组件<template><div ref="toastRef" class="toastMessageBox">{{ message }}</div></template><script lang="ts">import { Component, Vue, Watch } from 'vue-property-decorator';@Component({})export default class toast extends Vue {message: string = '';type: string = '';mounted() {let ele: HTMLElement = <HTMLElement>this.$refs.toastRef;if (this.type === 'success') {ele.style.backgroundColor = '#f0f9eb';ele.style.borderColor = '#e1f3d8';ele.style.color = '#67c23a';} else if (this.type === 'error') {ele.style.backgroundColor = '#fef0f0';ele.style.borderColor = '#fde2e2';ele.style.color = '#f56c6c';}}showToast() {let ele: HTMLElement = <HTMLElement>this.$refs.toastRef;ele.style.top = '20px';ele.style.opacity = '1';}hideToast() {let ele: HTMLElement = <HTMLElement>this.$refs.toastRef;ele.style.top = '-100px';ele.style.opacity = '0';}}</script><style scoped lang="scss">.toastMessageBox {position: fixed;min-width: 380px;left: 50%;z-index: 999;-webkit-transform: translateX(-50%);transform: translateX(-50%);color: #fff;padding: 15px 15px 15px 20px;font-size: 16px;border-radius: 4px;opacity: 0;top: -100px;transition: opacity 0.3s, top 0.4s;color: #909399;background-color: #edf2fc;border: 1px solid #ebeef5;}</style>然后书写对应的toast.tsimport Vue from 'vue';// toast组件import toastComponent from '@/components/toast/index.vue'// 返回⼀个扩展实例构造器const ToastConstructor = Vue.extend(toastComponent)// 定义弹出组件的函数接收2个参数, 要显⽰的⽂本和显⽰时间function showToast(data: { message: any, type: string, duration?: number }) {// 实例化⼀个 toast.vueconst toastDom: any = new ToastConstructor({el: document.createElement('div'),data() {return {message: data.message,type: data.type,}}});// 把实例化的 toast.vue 添加到 body ⾥document.body.appendChild(toastDom.$el);setTimeout(() => { toastDom.showToast(); })// 过了 duration 时间后隐藏let duration = data.duration ? data.duration : 2000setTimeout(() => {toastDom.hideToast();setTimeout(() => {document.body.removeChild(toastDom.$el)}, 500)}, duration)}// 注册为全局组件的函数function registryToast() {// 将组件注册到 vue 的原型链⾥去,// 这样就可以在所有 vue 的实例⾥⾯使⽤ this.$toast()Vue.prototype.$toast = showToast}export default registryToast;然后在main.ts中注册// ⾃定义toast插件import toastMessage from '@/utils/toast.ts';e(toastMessage)然后就可以在全局地⽅使⽤this.$toast({message:"成功",type:'success'})效果如下:2、实现$confirm插件封装(类似简易版的elementUi的messageBox) 主要⽤于操作的⼆次确定还是⼀样,⾸先书写confirm组件这⾥按钮点击事件我设置了⼀个callback回调,⽤于⽅便后⾯的操作交互<template><div class="confirm-wrapper" @click="confirmClick($event)"><div class="confirm-box" ref="confirmBox"><p class="confirm-title">{{ title }}</p><p class="content-text">{{ contentText }}</p><div class="footer-button"><ck-button size="mini" @click="close">取消</ck-button><ck-button size="mini" class="define-button" type="primary" @click="define">确定</ck-button></div></div></div></template><script lang="ts">import { Component, Vue, Watch } from 'vue-property-decorator'; @Component({})export default class confirm extends Vue {title: string = '提⽰';contentText: string = '';callback: any = null;confirmClick(e: any) {let confirmBox = this.$refs.confirmBox;if (e.target.contains(confirmBox)) {(<HTMLElement>this.$el.parentNode).removeChild(this.$el); }}define() {(<HTMLElement>this.$el.parentNode).removeChild(this.$el); this.callback('confirm');}close() {(<HTMLElement>this.$el.parentNode).removeChild(this.$el); this.callback('cancel');}}</script><style scoped lang="scss">.confirm-wrapper {position: fixed;top: 0;bottom: 0;right: 0;left: 0;background: rgba(0, 0, 0, 0.5);display: flex;justify-content: center;align-items: center;.confirm-box {width: 420px;padding-bottom: 10px;vertical-align: middle;background-color: #fff;border-radius: 4px;border: 1px solid #ebeef5;font-size: 18px;box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);text-align: left;overflow: hidden;backface-visibility: hidden;.confirm-title {padding: 15px 15px 10px;font-size: 18px;}.content-text {padding: 10px 15px;color: #606266;font-size: 14px;}.footer-button {padding-top: 24px;display: flex;justify-content: flex-end;padding-right: 24px;.define-button {margin-left: 16px;}}}}</style>对应的书写confirm.ts这⾥使⽤Promise来为⽤户点击确定或者取消做对应的交互触发import Vue from 'vue';import confirm from '@/components/confirm/index.vue';const confirmConstructor = Vue.extend(confirm);const showConfirm = (contentText: string) => {return new Promise((reslove, reject) => {const confirmDom: any = new confirmConstructor({el: document.createElement('template'),data() {return {contentText,}},})confirmDom.callback = (action: string) => {if (action === 'confirm') {reslove()} else if (action === 'cancel') {reject()}}document.body.appendChild(confirmDom.$el);})}function registryConfirm() {// 将组件注册到 vue 的原型链⾥去,// 这样就可以在所有 vue 的实例⾥⾯使⽤ this.$toast()Vue.prototype.$confirm = showConfirm}export default registryConfirm;接下来在main.ts中import registryConfirm from '@/utils/confirm.ts';e(registryConfirm)然后就可以在全局使⽤this.$confirm('是否确认删除').then(() => {this.$toast({message: '删除成功',type: 'success',});}).catch(() => {});效果如下这时,点击确定按钮就会触发 .then⾥的事件,点击取消则触发 .catch⾥的事件typescript对应的声明⽂件typescript书写⾃定义插件对应的声明⽂件,避免编辑报错import Vue from "vue";declare module "vue/types/vue" {interface Vue {$toast: any,$confirm: any}}以上就是vue⾃定义插件封装,实现简易的elementUi的Message和MessageBox的⽰例的详细内容,更多关于vue⾃定义插件封装的资料请关注其它相关⽂章!。

插件封装大全

插件封装大全
(2 : 1)
CMK35-5
(3 : 1)
CMK60-75
(2 : 1)
CMK40-10
(3 : 1)
CMK70-15
(1 : 1)
CMK40-10-75
(3 : 1)
CMK72-5
(1 : 1)
CMK40-50/75
(3 : 1)
CMK75-15
(1 : 1)
CMK40-75
(3 : 1)
CMK75-205
CB-210
(2 : 1)
CE-PHIL037-14-H
(1 : 2)
CB-417
(2 : 1)
CE-PHIL037-14-H2
(1 : 2)
CB-417-BI
(2 : 1)
CE-PHIL037-15
(1 : 1)
CE-PHIL-11-50
(2 : 1)
CE-PHIL037-15-H
(1 : 2)
(1 : 1)
CER07-25
(1 : 1)
CEA15-35
(1 : 2)
CER07-50
(1 : 1)
COMPANY:
Lynnerup ECAD
LIBRARY:
PLOTDATE:
20/3-20 3 OF 22
Lynnerup ECAD
LEAD
PAGE
PRPLIB 7.11 Lynnerup ECAD ApS '96-'02
(4 : 1)
DI-PBU80X
(1 : 1)
CT-25R
(2 : 1)
DI-RB15
(1 : 1)Leabharlann CT-50R(2 : 1)

PCB中常见的元器件封装大全【范本模板】

PCB中常见的元器件封装大全【范本模板】

PCB中常见的元器件封装大全一、常用元器件:1.元件封装电阻 AXIAL2.无极性电容 RAD3.电解电容 RB—4.电位器 VR5.二极管 DIODE6.三极管 TO7.电源稳压块78和79系列 TO-126H和TO-126V8.场效应管和三极管一样9.整流桥 D-44 D-37 D-4610.单排多针插座 CON SIP11.双列直插元件 DIP12.晶振 XTAL1电阻:RES1,RES2,RES3,RES4;封装属性为axial系列无极性电容:cap;封装属性为RAD—0。

1到rad-0.4电解电容:electroi;封装属性为rb.2/.4到rb。

5/1。

0电位器:pot1,pot2;封装属性为vr—1到vr-5二极管:封装属性为diode—0.4(小功率)diode—0。

7(大功率)三极管:常见的封装属性为to—18(普通三极管)to-22(大功率三极管)to—3(大功率达林顿管)电源稳压块有78和79系列;78系列如7805,7812,7820等;79系列有7905,7912,7920等。

常见的封装属性有to126h和to126v整流桥:BRIDGE1,BRIDGE2: 封装属性为D系列(D-44,D—37,D—46)电阻:AXIAL0.3-AXIAL0。

7 其中0。

4—0.7指电阻的长度,一般用AXIAL0。

4瓷片电容:RAD0.1-RAD0.3。

其中0。

1—0。

3指电容大小,一般用RAD0.1电解电容:RB。

1/.2—RB.4/.8 其中。

1/.2—。

4/.8指电容大小。

一般<100uF 用RB.1/.2,100uF-470uF用RB.2/。

4,>470uF用RB.3/。

6二极管:DIODE0.4—DIODE0。

7 其中0。

4—0.7指二极管长短,一般用DIODE0。

4发光二极管:RB.1/。

2集成块: DIP8—DIP40, 其中8-40指有多少脚,8脚的就是DIP8贴片电阻0603表示的是封装尺寸与具体阻值没有关系但封装尺寸与功率有关通常来说0201 1/20W0402 1/16W0603 1/10W0805 1/8W1206 1/4W电容电阻外形尺寸与封装的对应关系是:0402=1。

基于Element-UI封装的季度插件

基于Element-UI封装的季度插件

基于Element-UI封装的季度插件组件封装的代码:<template><div class="time_quarter"><!-- <div class="time_box"></div> --><slot>⽇期:</slot><mark style="position:fixed;top:0;bottom:0;left:0;right:0;background:rgba(0,0,0,0);z-index:999;" v-show="showSeason" @click.stop="showSeason=false"></mark><!-- <el-input placeholder="请选择季度" size='small' v-model="showValue" style="width:160px;" @focus="showSeason=true"> --><el-input placeholder="请选择季度" size='small' v-model="showValue" style="width:140px;" class="elWidth" @focus="showSeason=true"><i slot="prefix" class="el-input__icon el-icon-date"></i></el-input><!-- <el-card class="box-card" style="width:322px;padding: 0 3px 20px;margin-top:10px;position:fixed;z-index:9999" v-show="showSeason"> --><!-- style="width:200px;padding: 0 3px 20px;margin-top:10px;position:fixed;z-index:9999" --><el-card class="box-card" v-show="showSeason"><div slot="header" class="clearfix" style="text-align:center;padding:0"><button type="button" aria-label="前⼀年" class="el-picker-panel__icon-btn el-date-picker__prev-btn el-icon-d-arrow-left" @click="prev"></button><span role="button" class="el-date-picker__header-label">{{year}}年</span><button type="button" aria-label="后⼀年" @click="next" :class="{notallow:year==limitTime}" class="el-picker-panel__icon-btn el-date-picker__next-btn el-icon-d-arrow-right"></button> </div><div class="text item" style="text-align:center;"><el-button type="text" size="medium" style="width:40%;color: #606266;float:left;" @click="selectSeason(0)">第⼀季度</el-button><el-button type="text" size="medium" style="float:right;width:40%;color: #606266;" @click="selectSeason(1)">第⼆季度</el-button></div><div class="text item" style="text-align:center;"><el-button type="text" size="medium" style="width:40%;color: #606266;float:left;" @click="selectSeason(2)">第三季度</el-button><el-button type="text" size="medium" style="float:right;width:40%;color: #606266;" @click="selectSeason(3)">第四季度</el-button></div></el-card></div></template><script>/*** @file: View 组件季节选择控件* @author: v_zhuchun* @date: 2019-05-23* @description: UI组件可选择季节* @api: valueArr : 季度value defalut['01-03', '04-06', '07-09', '10-12'] 默认值待设置*/export default {props: {valueArr: {default: () => {return ["12-02", "03-05", "06-08", "09-11"];},type: Array,},getValue: {default: () => {},type: Function,},// 传⼊显⽰的时间defaultValue: {default: "",type: String,},// 限制的时间limitTime: {type: String,default: "",require: true,},},data() {return {showSeason: false,season: "",year: new Date().getFullYear(),showValue: "",};},computed: {},created() {if (this.defaultValue) {let value = this.defaultValue;let arr = value.split("-");this.year = arr[0].slice(0, 4);var myseason = arr[1];this.showValue = `${this.year}年${this.whitchQuarter(myseason)}季度`;// this.showValue = `${this.year}年${arrAll.indexOf(str) + 1}季度`;}console.log("whitchQuarter", this.whitchQuarter(10));},watch: {defaultValue: function (value, oldValue) {let arr = value.split("-");this.year = arr[0].slice(0, 4);var myseason = arr[1];// this.showValue = `${this.year}年${arrAll.indexOf(str) + 1}季度`;this.showValue = `${this.year}年${this.whitchQuarter(myseason)}季度`; },},methods: {// 根据输⼊的⽉份判断是哪⼀个季节whitchQuarter(month) {let quarter = "";month = Number(month);switch (month) {case 12:case 1:case 2:quarter = "4";break;case 3:case 4:case 5:quarter = "1";break;case 6:case 7:case 8:quarter = "2";break;case 9:case 10:case 11:quarter = "3";break;default:console.error("The entered time is incorrect");}return quarter;},one() {this.showSeason = false;},prev() {this.year = this.year * 1 - 1;},next() {// 如果有时间限制的话会进⾏判断if (this.limitTime == "") {this.year = this.year * 1 + 1;} else if (this.limitTime != "" && this.year < this.limitTime) { this.year = this.year * 1 + 1;}},// 季度时间判定InitialTime(val) {let num = "";val = Number(val);switch (val) {case 1:num = "03";break;case 2:num = "06";break;case 3:num = "09";break;case 4:num = "12";break;default:console.error("时间格式有误!");}return num;},selectSeason(i) {let that = this;that.season = i + 1;let arr = that.valueArr[i].split("-");that.getValue(that.year + arr[0] + "-" + that.year + arr[1]);that.showSeason = false;this.showValue = `${this.year}年${this.season}季度`;var formatValue = `${this.year}-${this.InitialTime(this.season)}`;this.$emit("getTime", formatValue);},//},};</script><style lang="less">.notallow {cursor: not-allowed;}.time_box {position: relative;}.box-card {position: absolute;top: 40px;left: 22px;padding: 0 3px 20px;z-index: 9999;}// .elWidth {// width: 120px !important;// }.time_quarter {width: 100%;.el-input--small .el-input__inner { width: 82%;}}</style>封装组件使⽤:。

【vue3】封装自定义全局插件

【vue3】封装自定义全局插件

【vue3】封装⾃定义全局插件【vue3】封装⾃定义全局插件原vue2⽅法main.jsimport Vue from 'vue'import App from './App.vue'import router from './router'import store from './store'import plugin from './···/plugin/index'//安装⾃定义的插件e(plugin);new Vue({router,store,render: h => h(App)}).$mount('#app')index.jsimport Plugin from "./Plugin";const plugin = {};/*** Vue: 在main.js中e时会⾃动传⼊vue实例作为实参* 同时会⾃动执⾏install函数*/plugin.install = function(Vue) {//1、创建组件构造器const pluginConstructor = Vue.extend(Plugin);//2、new的⽅式,根据组件构造器,可以创建出来⼀个组件对象const plugin = new pluginConstructor();//3、将组件对象,⼿动挂载到某⼀个元素上plugin.$mount(document.createElement("div"));//4、plugin.$el对应的就是上⾯挂载的divdocument.body.appendChild(plugin.$el);//5、定义Vue.$plugin的全局访问Vue.prototype.$plugin = plugin;};export default plugin; //将plugin导出plugin.vue(⾃定义的组件)<template><div></div></template><script>export default {name: "Plugin",}</script><style scoped></style>vue3的思路和vue2相同,只是执⾏的⽅法有区别。

vue3.0实现插件封装

vue3.0实现插件封装

vue3.0实现插件封装 最近公司有⼀个新的项⽬,项⽬框架是我来负责搭建的,所以果断选择了Vue3.x+ts。

vue3.x不同于vue2.x,他们两的插件封装⽅式完全不⼀样。

由于项⽬中需要⽤到⾃定义提⽰框,所以想着⾃⼰封装⼀个。

vue2.x提供了⼀个vue.extend的全局⽅法。

那么vue3.x是不是也会提供什么⽅法呢?果然从vue3.x源码中还是找到了。

插件封装的⽅法,还是分为两步。

1、组件准备 按照vue3.x的组件风格封装⼀个⾃定义提⽰框组件。

在props属性中定义好。

需要传⼊的数据流。

<template><div v-show="visible" class="model-container"><div class="custom-confirm"><div class="custom-confirm-header">{{ title }}</div><div class="custom-confirm-body" v-html="content"></div><div class="custom-confirm-footer"><Button @click="handleOk">{{ okText }}</Button><Button @click="handleCancel">{{ cancelText }}</Button></div></div></div></template><script lang="ts">import { defineComponent, watch, reactive, onMounted, onUnmounted, toRefs } from "vue";export default defineComponent({name: "ElMessage",props: {title: {type: String,default: "",},content: {type: String,default: "",},okText: {type: String,default: "确定",},cancelText: {type: String,default: "取消",},ok: {type: Function,},cancel: {type: Function,},},setup(props, context) {const state = reactive({visible: false,});function handleCancel() {state.visible = false;props.cancel && props.cancel();}function handleOk() {state.visible = false;props.ok && props.ok();}return {...toRefs(state),handleOk,handleCancel,};},});</script>2、插件注册 这个才是插件封装的重点。

vue自定义插件封装,实现简易的elementUi的Message和MessageBox

vue自定义插件封装,实现简易的elementUi的Message和MessageBox

vue⾃定义插件封装,实现简易的elementUi的Message和MessageBox vue⾃定义插件封装⽰例1、实现message插件封装(类似简易版的elementUi的message)message组件<template><transition name="msgbox-fade" @after-leave="handleAfterLeave"><div:class="['message_wrapper',{ success: type === 'success' },{ warning: type === 'warning' },{ error: type === 'error' },{ info: type === 'info' },]"v-show="visible":style="{ top: styleTop + 'px' }">{{ message }}</div></transition></template><script>export default {name: 'message',data() {return {// 提⽰消息⽂本message: '',// 类型type: '',// 显⽰/隐藏visible: false,// 定位⾼度styleTop: 20,}},methods: {/*** @description: message显⽰*/messageShow() {this.visible = true},/*** @description: message隐藏*/messageHide() {this.visible = false},/*** @description: 销毁组件*/handleAfterLeave() {this.$destroy(true)this.$el.parentNode.removeChild(this.$el)},},}</script><style scoped lang="scss">.message_wrapper {position: fixed;min-width: 380px;left: 50%;z-index: 99999;color: #fff;padding: 15px 15px 15px 20px;font-size: 14px;border-radius: 4px;top: 20px;transform: translateX(-50%);background: #fff;color: #909399;box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);line-height: 1;&.success{background: mix(#ffffff, #67C23A, 90%);color: #67C23A;}&.warning{background: mix(#ffffff, #E6A23C, 90%);color: #E6A23C;}&.error{background: mix(#ffffff, #F56C6C, 90%);color: #F56C6C;}&.info{background: mix(#ffffff, #909399, 90%);color: #909399;}i {margin-right: 4px;}}.msgbox-fade-enter-active {-webkit-animation: msgbox-fade-in 0.3s;animation: msgbox-fade-in 0.3s;}.msgbox-fade-leave-active {-webkit-animation: msgbox-fade-out 0.3s;animation: msgbox-fade-out 0.3s;}@keyframes msgbox-fade-in {0% {transform: translate3d(-50%, -20px, 0);opacity: 0;}100% {transform: translate3d(-50%, 0, 0);opacity: 1;}}@keyframes msgbox-fade-out {0% {transform: translate3d(-50%, 0, 0);opacity: 1;}100% {transform: translate3d(-50%, -20px, 0);opacity: 0;}}</style>对应的message.js⽂件import Vue from 'vue'import messageComponent from './index.vue'const messageConstructor = Vue.extend(messageComponent)let instances = []let seed = 1function messageFun(obj) {let { message, type, duration } = objconst messageDom = new messageConstructor({el: document.createElement('div'),data() {return {message: message,type: type,}},})let id = 'my_message_' + seed++let styleTop = 20document.body.appendChild(messageDom.$el)messageDom.id = idinstances.forEach(item => {styleTop += item.$el.offsetHeight + 16})messageDom.styleTop = styleTopmessageDom.messageShow()instances.push(messageDom)// 过了 duration 时间后隐藏duration = duration ? duration : 3000setTimeout(() => {let len = instances.lengthmessageDom.messageHide()let removedHeight = messageDom.$el.offsetHeightlet index = instances.findIndex(e => e.id === messageDom.id) if (len > 1) {for (let i = index; i < len; i++) {let dom = instances[i].$eldom.style['top'] =parseInt(dom.style['top'], 10) - removedHeight - 16 + 'px' }}instances.splice(index, 1)}, duration)}function message() {window.$message = Vue.prototype.$message = messageFun}export default message然后在main.ts中注册// ⾃定义toast插件import message from '@/components/notice/message/index.js' e(message)最后就可以在全局地⽅使⽤this.$message({message:"成功",type:'success'})类似效果如下2、实现$confirm插件封装(类似简易版的elementUi的messageBox)主要⽤于操作的⼆次确定confirm组件这⾥按钮点击事件设置⼀个callback回调,⽤于⽅便后⾯的操作交互<template><transition name="confirmbox-fade"><divclass="confirm_wrapper"v-show="visible"@click="otherClick"><div class="confirm_box" ref="confirmBox"><p class="confirm_title"><span class="sign"></span>{{ title || "提⽰" }}</p><p class="content_text">{{ message }}</p><div class="footer_button"><div class="button" @click="cancel">取消</div><div class="button define" @click="define">确定</div></div></div></div></transition></template><script>export default {name: 'Confirm',data() {return {// 标题(默认提⽰)title: '',// 提⽰⽂本message: '',// 显⽰或隐藏visible: false,}},methods: {/*** @description: 其他地⽅点击隐藏弹框*/otherClick(e) {let confirmBox = this.$refs.confirmBoxif (e.target.contains(confirmBox)) {this.cancel()}},/*** @description: 移出*/close() {this.visible = falsesetTimeout(() => {this.$el.parentNode.removeChild(this.$el)}, 300)},/*** @description: 确定define() {this.close()this.callback('confirm')},/*** @description: 取消*/cancel() {this.close()this.callback('cancel')},},}</script><style lang="scss" scoped>.confirm_wrapper {position: fixed;top: 0;bottom: 0;right: 0;left: 0;background: rgba(0, 0, 0, 0.5);display: flex;justify-content: center;align-items: center;z-index: 99999;.confirm_box {width: 360px;padding-bottom: 10px;vertical-align: middle;background-color: #fff;border-radius: 4px;border: 1px solid #ebeef5;box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); text-align: left;overflow: hidden;backface-visibility: hidden;.confirm_title {display: flex;align-items: center;height: 50px;line-height: 50px;padding-left: 8px;font-size: 18px;.sign {height: 15px;width: 4px;border-radius: 4px;margin-right: 8px;}}.content_text {padding: 15px 15px 10px 30px;color: #606266;font-size: 14px;}.footer_button {display: flex;justify-content: flex-end;padding-top: 24px;padding-right: 24px;.button{line-height: 1;cursor: pointer;background: #fff;border: 1px solid #dcdfe6;color: #606266;text-align: center;box-sizing: border-box;transition: .1s;padding: 12px 20px;font-size: 14px;border-radius: 4px;&.define{margin-left: 20px;color: #fff;background-color: #409eff;border-color: #409eff;}}}}}</style><style lang="scss" scoped>.confirmbox-fade-enter-active {-webkit-animation: confirmbox-fade-in 0.3s;animation: confirmbox-fade-in 0.3s;}.confirmbox-fade-leave-active {-webkit-animation: confirmbox-fade-out 0.3s; animation: confirmbox-fade-out 0.3s;}@keyframes confirmbox-fade-in {0% {transform: translate3d(0, -20px, 0);opacity: 0;}100% {transform: translate3d(0, 0, 0);opacity: 1;}@keyframes confirmbox-fade-out {0% {transform: translate3d(0, 0, 0);opacity: 1;}100% {transform: translate3d(0, -20px, 0);opacity: 0;}}</style>对应的index.js⽂件这⾥使⽤Promise来为⽤户点击确定或者取消做对应的交互触发import Vue from 'vue'import ConfirmBox from './index.vue'const ConfirmBoxConstructor = Vue.extend(ConfirmBox)let instanceconst initInstance = (message, title) => {instance = new ConfirmBoxConstructor({el: document.createElement('div'),data() {return {title,message,}},})}const showConfirm = obj => {let { message, title } = objreturn new Promise((reslove, reject) => {initInstance(message, title)instance.callback = action => {if (action === 'confirm') {reslove()} else if (action === 'cancel') {reject()}}document.body.appendChild(instance.$el)Vue.nextTick(() => {instance.visible = true})})}function registryConfirm() {Vue.prototype.$confirm = showConfirm}export default registryConfirm接下来在main.js中// ⾃定义confirm插件import messageBox from '@/components/notice/messageBox/index.js' e(messageBox)全局使⽤this.$confirm({message: '弹窗测试'}).then(() => {}).catch(() => {});类似效果如下这时,点击确定按钮就会触发 .then⾥的事件,点击取消则触发 .catch⾥的事件typescript对应的声明⽂件如果插件是⽤typescript书写的,则以下是对应的声明⽂件,仅供参考import Vue from "vue";declare module "vue/types/vue" {interface Vue {$message: any,$confirm: any}}。

密封插件(模板)

密封插件(模板)

密封插件(模板)密封插件 (模板)描述密封插件是一种用于保护数据安全的工具。

它可以对文件、文件夹或其他类型的数据进行加密和解密,以确保只有授权用户才能访问。

功能密封插件具有以下主要功能:- 加密数据:密封插件可以将选定的数据加密,并将其转换为无法被未授权用户读取或理解的形式。

加密数据:密封插件可以将选定的数据加密,并将其转换为无法被未授权用户读取或理解的形式。

- 解密数据:授权用户可以使用密封插件对加密的数据进行解密,并恢复其原始的可读格式。

解密数据:授权用户可以使用密封插件对加密的数据进行解密,并恢复其原始的可读格式。

- 密码保护:密封插件允许用户设置一个密码,只有提供正确密码的用户才能解密和访问加密的数据。

密码保护:密封插件允许用户设置一个密码,只有提供正确密码的用户才能解密和访问加密的数据。

- 文件保护:密封插件可以对选定的文件进行加密,防止未经授权的访问和修改。

文件保护:密封插件可以对选定的文件进行加密,防止未经授权的访问和修改。

- 文件夹保护:密封插件还可以对整个文件夹进行加密,并确保其中的所有文件都得到保护。

文件夹保护:密封插件还可以对整个文件夹进行加密,并确保其中的所有文件都得到保护。

使用流程使用密封插件的一般流程如下:1. 安装密封插件到合适的应用程序或软件中。

2. 打开需要加密的数据所在的文件夹或应用程序。

3. 针对单个文件或整个文件夹,使用密封插件进行加密。

在此过程中,需要设置一个密码来保护数据。

4. 保存加密后的数据或文件,并确保密码的安全。

5. 要访问加密的数据,打开密封插件并选择解密功能。

输入正确的密码以解密数据。

6. 解密后的数据将恢复为可读格式,可以进行查看、编辑和其他操作。

注意事项- 请确保选择一个强密码,并妥善保管密码以防泄露。

密码的安全性直接关系到数据的安全性。

- 在选择文件或文件夹进行加密时,请确保备份重要数据并保存在可信赖的位置。

一旦密码丢失或忘记,将无法恢复加密的数据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CE-PHIL037-12-H2
(1 : 2)
CE-PHIL037-18
(1 : 1)
CE-PHIL037-13
(1 : 1)
CE-PHIL037-18-H
(1 : 3)
CE-PHIL037-13-H
(1 : 2)
CE-PHIL037-18-H2
(1 : 3)
CE-PHIL037-13-H2
(1 : 2)
CL-BOUR-PT122-A
(1 : 2)
CL-SI-B82145
(2 : 1)
CL-PULSE-KM20
(1 : 1)
CL-SI-B82500-A10
(1 : 1)
CL-PULSE-KM30
(1 : 1)
CL-SI-B82721-A
(1 : 3)
CL-RAD08-5
(1 : 1)
CL-SI-B82722-A
DIP14(4)
(1 : 2)
CX23-5
(2 : 1)
DIP14(8)
(1 : 2)
CX234-5
(2 : 1)
DIP16
(1 : 2)
DC-JACK
(1 : 1)
DIP16(8)
(1 : 2)
DI-FAGOR-7
(1 : 1)
DIP18
(1 : 2)
DI-FAGOR-9
(1 : 1)
DIP20
(1 : 2)
(2 : 1)
CMK35-5
(3 : 1)
CMK60-75
(2 : 1)
CMK40-10
(3 : 1)
CMK70-15
(1 : 1)
CMK40-10-75
(3 : 1)
CMK72-5
(1 : 1)
CMK40-50/75
(3 : 1)
CMK75-15
(1 : 1)
CMK40-75
(3 : 1)
CMK75-205
(1 : 1)
CMK45-5
(2 : 1)
CMK85-15
(1 : 1)
CMK50-10
(2 : 1)
CMK85-15/10/5
(1 : 1)
CMK50-15
(2 : 1)
CMK85-225
(1 : 1)
CMK50-5
(2 : 1)
CMK90-15
(1 : 1)
CMK50-5-6-7
(2 : 1)
CNY37
(1 : 3)
DO-204
(2 : 1)
DIP32-600
(1 : 3)
DO-204-BI
(2 : 1)
DIP4
(1 : 1)
DO-220
(1 : 1)
DIP4(14)
(1 : 2)
DO-220-DOWN
(1 : 2)
DIP40-600
(1 : 4)
DO-34
(4 : 1)
DIP48-600
(1 : 5)
(1 : 4)
CL-SI-B65545-B9
(1 : 2)
CL-T60405-R6100
(1 : 3)
CL-SI-B65808
(1 : 2)
CL-TDK-ZJY-2P
(1 : 1)
CL-SI-B65816
(1 : 4)
CL-V-11.5
(1 : 1)
CL-SI-B78108
(2 : 1)
CMK100-15
(2 : 1)
CEA21-45
(1 : 2)
CEA05-15
(2 : 1)
CER04-20
(3 : 1)
CEA05-17.5
(2 : 1)
CER05-15
(2 : 1)
CEA06-15
(2 : 1)
CER05-20
(2 : 1)
CEA07-25
(1 : 1)
CER05-50
(2 : 1)
CEA08-15
PLOTDATE:
20/3-20 7 OF 22
Lynnerup ECAD
LEAD
PAGE
PRPLIB 7.11 Lynnerup ECAD ApS '96-'02
DIP24-600
(1 : 3)
DO-201-BI
(1 : 1)
DIP28-300
(1 : 3)
DO-201AD
(1 : 1)
DIP28-600
BA-CR2032
(1 : 2)
CA-AVX-SR20
(4 : 1)
BA-CR2032-V
(1 : 1)
CA-AVX-SR21
(4 : 1)
BA-CR2430
(1 : 2)
CA-AVX-SR27
(3 : 1)
BA-KEYS-103
(1 : 2)
CA-AVX-SR30
(4 : 1)
BA-KEYS-105
DO-35
(3 : 1)
DIP50-900
(1 : 5)
DO-35-3
(4 : 1)
DIP52-600
(1 : 5)
DO-35-6
(2 : 1)
DIP52-900
(1 : 5)
DO-35-6MM
(4 : 1)
DIP6
(1 : 1)
DO-35-V
(2 : 1)
DIP6-400
(1 : 1)
DO-41
(3 : 1)
CE-PHIL037-16-H2
(1 : 2)
CE-PHIL037-11-H2
(1 : 2)
CE-PHIL037-17
(1 : 1)
CE-PHIL037-12
(1 : 1)
CE-PHIL037-17-H
(1 : 2)
CE-PHIL037-12-H
(1 : 2)
CE-PHIL037-17-H2
(1 : 2)
(2 : 1)
CMK150-275
(1 : 2)
CMK60-10
(2 : 1)
CMK25-5
(4 : 1)
CMK60-15
(2 : 1)
CMK30-5
(4 : 1)
CMK60-225
(1 : 1)
CMK30-5/10/15
(2 : 1)
CMK60-5
(2 : 1)
CMK30-75
(4 : 1)
CMK60-5-75
CE-PHIL037-19
(1 : 2)
CE-PHIL037-14
(1 : 1)
CE-PHIL037-19-H
(1 : 3)
COMPANY:
Lynnerup ECAD
LIBRARY:
PLOTDATE:
20/3-20 2 OF 22
Lynnerup ECAD
LEAD
PAGE
PRPLIB 7.11 Lynnerup ECAD ApS '96-'02
CE-PHIL-11-H-50
(1 : 2)
CE-PHIL037-15-H2
(1 : 2)
CE-PHIL-11-H2-50
(1 : 2)
CE-PHIL037-16
(1 : 1)
CE-PHIL037-11
(2 : 1)
CE-PHIL037-16-H
(1 : 2)
CE-PHIL037-11-H
(1 : 2)
CE-PHIL037-19-H2
(1 : 3)
CEA17-38
(1 : 2)
CE-PHIL037-20
(1 : 2)
CEA17-40
(1 : 2)
CE-PHIL037-20-H
(1 : 3)
CEA18-35
(1 : 2)
CE-PHIL037-20-H2
(1 : 3)
CEA18-45
(1 : 2)
CEA04-15
(1 : 2)
COMPANY:
Lynnerup ECAD
LIBRARY:
PLOTDATE:
20/3-20 6 OF 22
Lynnerup ECAD
LEAD
PAGE
PRPLIB 7.11 Lynnerup ECAD ApS '96-'02
CT-20R
(2 : 1)
DI-KBU6XX
(1 : 1)
CT-25-30R
(2 : 1)
BZW06-BI
(2 : 1)
CA-PME271-10.2
(3 : 1)
CA-15-5
(2 : 1)
CA-PMR205
(2 : 1)
COMPANY:
Lynnerup ECAD
LIBRARY:
PLOTDATE:
20/3-20 1 OF 22
Lynnerup ECAD
LEAD
PAGE
PRPLIB 7.11 Lynnerup ECAD ApS '96-'02
(1 : 2)
CER16-75
(1 : 2)
CL-A-11.5-26.5
(1 : 1)
CER18-50
(1 : 2)
CL-A-25-75
(4 : 1)
CER18-75
(1 : 2)
CL-A-40-125
(2 : 1)
ห้องสมุดไป่ตู้
CER19-0
(1 : 2)
CL-A-52-175
(2 : 1)
CER21-50
(1 : 2)
AG
相关文档
最新文档