未找到

未发布 扫描识别工具Dynamic Web TWAIN使用教程:如何自定义Web TWAIN对象
by Harriet666 keys 分享 1511773524429
Dynamic Web TWAIN是一个专为Web应用程序设计的TWAIN扫描识别控件。你只需在TWAIN接口写几行代码,就可以用兼容TWAIN的扫描仪扫描文档或从数码相机/采集卡中获取图像。
本文教你在Dynamic Web TWAIN中如何自定义Web TWAIN对象,欢迎收藏。
 
Dynamic Web TWAIN最新版免费下载>>>

命名Dynamic Web TWAIN对象

默认情况下,(第一个)Dynamic Web TWAIN对象会被命名为“ DWObject ”。您应该在使用任何其他Dynamic Web TWAIN属性或方法之前设置它。内置函数Dynamsoft_OnReady是一个有效方法。例如,在我们的Hello World示例中:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<title data-filtered="filtered">Hello World</title>
<script type="text/javascript" src="Resources/dynamsoft.webtwain.initiate.js" data-filtered="filtered"> </script>
<script type="text/javascript" src="Resources/dynamsoft.webtwain.config.js" data-filtered="filtered"> </script>
 
 
<input type="button" value="Scan" onclick="AcquireImage();">
<div id="dwtcontrolContainer"> </div>
<script type="text/javascript" data-filtered="filtered">
        var DWObject;
        function Dynamsoft_OnReady(){
            DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer');
        }
        function AcquireImage(){
            if(DWObject) {
                DWObject.IfDisableSourceAfterAcquire = true;
                DWObject.SelectSource();
                DWObject.OpenSource();
                DWObject.AcquireImage();
            }
        }
    </script>
ID为“dwtcontrolContainer”的div是Dynamic Web TWAIN的占位符。它的名称和大小可以在在文件dynamsoft.webtwain.config.js 中定义,如下所示。您可以根据需要进行修改。
1
Dynamsoft.WebTwainEnv.Containers = [{ContainerId:'dwtcontrolContainer',Width:270,Height:350}];
 

更改查看器的大小

您可以简单地在dynamsoft.webtwain.config.js中更改内置查看器的大小。这里可以使用数字或百分比。例如
1
Dynamsoft.WebTwainEnv.Containers = [{ContainerId:'dwtcontrolContainer',Width: '50%',Height:350}];
 

更改安装提示的样式

如果未安装Dynamic Web TWAIN,则会看到提示用户安装SDK的内置界面。
image015
 
在大多数情况下,您可能需要修改“Dynamsoft标志”。“标志”是在文件\Resources\reference\hint.css中定义的:
1
2
3
4
5
6
.DYNLogo
    {
    background:url(logo.gif) left top no-repeat;
    width:159px;
    height:39px;
    }
图像 (\Resources\reference\logo.gif)是需要更改的文件。最简单的方法是用自己的标志替换它,但需要保持相同的名称和大小。image016
 
如果您想进一步更改此提示的样式,可以更改上面提到的css或更改文件\Resources\dynamsoft.webtwain.install.js中的代码:
1
2
3
4
5
6
7
8
9
10
11
12
function OnWebTwainNotFoundOnWindowsCallback(ProductName, InstallerUrl, bHTML5, bIE, bSafari, bSSL,
strIEVersion) { }
    /* This callback is triggered when Dynamic Web TWAIN is not installed on a PC running Windows */
    function OnWebTwainNotFoundOnMacCallback(ProductName, InstallerUrl, bHTML5, bIE, bSafari, bSSL,
strIEVersion) { }
    /* This callback is triggered when Dynamic Web TWAIN is not installed on a MAC */
    function OnWebTwainOldPluginNotAllowedCallback(ProductName) { }
    /* This callback is triggered when Dynamic Web TWAIN is disabled by a non-IE browser */
    function OnWebTwainNeedUpgradeCallback(ProductName, InstallerUrl, bHTML5, bMac, bIE, bSafari, bSSL,
strIEVersion) { }
    /* This callback is triggered when Dynamic Web TWAIN installed on the machine is older than the //one on
the server and upgrade is needed */

本次教程到此结束,希望能对Dynamic Web TWAIN的用户带来帮助,接下来还会有更多的相关教程,敬请期待!

未发布 微软发布 Microsoft 365,它包含Office 365、Windows 10 和企业移动性+安全性套件
by Harriet666 keys 分享 1499753923381
office 365
在今天举行的 Inspire 年度合作伙伴大会上 ,微软首席执行官萨提亚·纳德拉发布了 Microsoft 365,它包含了 Office 365、Windows 10 和企业移动性+安全性(Enterprise Mobility + Security)套件,为企业用户提供一套完整且智能的安全解决方案,从而实现予力员工的目标。这一解决方案的发布展示了微软在产品和解决方案的设计、构建和上市方面的根本转变,从而满足用户对于现代办公场所的需求。
 
办公场所正在发生一系列的转变,从改变员工的期待值,到日益多元化、移动化和分散化的团队,再到日益复杂的安全威胁。在这种情况下,新的组织文化也在不断涌现。客户希望能够通过创新技术来使他们的员工拥抱这一全新的组织文化。
 
目前,Office 365 的月活跃用户已经超过 1 亿,而 Windows 10 设备的使用量也已经超过了 5 亿。微软目前正以其独特的优势帮助企业予力员工,实现业务和创新的发展。
 
今天微软发布了Microsoft 365 企业版和 Microsoft 365 商业版来满足不同规模的企业的需求。
 
Microsoft 365 企业版专为大型企业而设计,它集成了 Office 365 企业版、Windows 10 企业版以及企业移动性+安全性,以激发员工的创造力,并实现更加安全的协作。
 
Microsoft 365 企业版
  • 用户可以通过书写、语音和触摸的方式非常自然地工作,从而激发创造力。而这背后的技术都是通过使用人工智能和机器学习的方式实现的。
  • 凭借团队通用工具套件,为用户提供了一套最广泛、最深入的应用和服务,从而让其可以更加灵活地选择他们联系、分享和沟通的方式。
  • 通过统一管理用户、设备、应用和服务的方式来简化 IT。
  • 通过内置的智能安全性来保护客户信息、公司信息和知识财产。
Microsoft 365 企业版提供两种选项,即Microsoft 365 E3 和Microsoft 365 E5,并可于2017年8月1日开始订购。
 
Microsoft 365 企业版是基于 Secure Productive Enterprise 计划构建的。Secure Productive Enterprise 是一款非常成功的产品,在过去一年中,它的坐席数一直保持着三位数的增长速度。未来,Microsoft 365 企业版将取代 Secure Productive Enterprise,激发员工的创造力,实现更加安全的协作。
 
Microsoft 365 商业版
  • 帮助企业通过更好的连接员工、客户和供应商,实现更好的业绩。
  • 让员工可以随时随地并通过任意设备完成其工作。
  • 凭借不间断的安全保护,实现公司数据在所有设备上的安全性。
  • 凭借统一 IT 控制台来简化员工设备和服务的设置和管理。
 
Microsoft 365 商业版是专为那些员工数量不到 300 人的中小企业量身打造的,它包括了 Office 365 商业高级版(Office 365 Business Premium)以及定制的 Windows 10 安全性与可管理性以及企业移动性+安全性。它提供了予力员工、保护业务安全和简化 IT 管理的服务。
 
Microsoft 365 商业版的公众预览版将于8月2日发布,并将于 2017 年秋季面向全球正式发售,价格为每用户每月 20 美元。
 
微软还发布了三个专为中小企业开发的全新应用的预览版,它们都被包括在 Office 365 商业高级版和 Microsoft 365 商业版内:
  • 微软清单(Listings):一个简单易用的电子邮件营销服务。
  • 微软关联(Connections):能够非常简单地在热门网站上发布商业信息。
  • 微软结账(Invoicing):全新的方式开具和交付专业发票。
此外,微软还发布了 MileIQ,它是微软的一款收益跟踪应用,现已包含在 Office 365商业高级版中。
 
萨提亚认为,Microsoft 365 将为合作伙伴的业务发展带来巨大的发展机遇。利用 Microsoft 365,超过64000家微软云合作伙伴将有能力打造差异化的云产品,简化销售流程,增加营收,并真正推动业务的持续增长。
未发布 Microsoft更新发布了开发者可用的人工智能服务与工具
by Harriet666 keys 分享 1507615109196
在近期的Ignite大会上,Microsoft发布了多个与人工智能服务及工具相关的更新,其中包括发布Azure ML Experimentation服务、Azure ML Model Management服务、Azure ML Workbench以及Microsoft Cognitive Services的一般可用版(GA)。
 
Microsoft的机器学习平台业已得到了相当可观的采用,但是在服务中也发现了一些问题。Microsoft的高级项目经理(Group Program Manager)Matt Winkler给出了这样的解释:
我们已经部署了成百上千的模型,服务了数十亿次的请求。虽然我们只做了数年,但是已经开始看到一些经常性模式。客户告诉我们他们喜欢这种便捷性,但也提出他们需要对计算和数据具有更大的控制,为模型部署提供更多的选项。客户对框架也有着非常多样化的需求,并希望对模型具有同等程度的管理和部署能力。
 
此次新发布的功能,有望通过在模型的开发和部署方式为客户提供更多控制,解决客户感受到的这些不足之处。
 
Azure ML Experimentation服务

Azure ML Experimentation服务使用了基于Git的检查点和版本控制机制,管理项目依赖和对任务的训练操作,无论这些任务是本地执行的,还是以横向或纵向扩展方式执行的。此外,数据科学家也可以选择使用他们自己的框架,例如TensorFlow、Microsfot CNTK和SparkML等。他们也可以选择自己喜欢的开发工具,例如Microsfot Code、Visual Studio、Jupyter和PyCharm等。该服务还捕获服务端运行的度量、输出日志和模型。
 
Azure ML Model Management服务

Azure ML Model Management服务为客户提供了灵活控制模型部署位置的能力。客户可以使用Docker在本地(On-Premise)或云中部署模型,并具有充分的可移植性。

模型的部署和管理是通过HTTP终端实现的。客户可使用Application Insights监控并洞悉模型的性能。该服务对SparkML、Python、Cognitive Toolkit、TF和R提供了最好的支持,还可通过扩展支持Caffe和MXnet等其它一些工具。
 
Azure ML Workbench

Azure ML Workbench是一种用在Windows和Mac OS X上的人工智能开发工具,其中包括完全的Python和Jupyter环境设置,并嵌入了IPython Notebook。它还提供全面的运行历史,并提供对实验对比的体验。Microsoft还在其中添加了数据整理(Data Wrangling)工具,简化了将数据导入到数据科学实验中的体验。数据整理能力包括数据采样和数据理解,进而在数据上执行转换。上述功能是通过使用PROSE(Program Synthesis Using Examples,一种通过示例准备数据的技术)提供的。
 
Microsoft Cognitive服务

Microsoft还宣布了升级了Cognitive Services平台,其中提供Text Analytics服务的一般可用版(GA)。Text Analytics服务支持开发人员做情感分析,以及从文本中检测关键短语、话题和语言。
更多资讯>>>
未发布 多功能文件格式转换器VectorDraw File Converter v7.7010.1.0发布丨附下载
by Harriet666 keys 分享 1489477935745

VectorDraw File Converter是一个终端应用程序,使得用户能将常用的图像文件(DWG,DGN和DXF)转换为VectorDraw格式标准(VDF,VDI),反之亦然。该工具能将上述文件导出为SVG与DWF格式。VectorDraw File Converter还能进行多种文件的转换(比如*.dwg 到 *.vdf或者 *.dxf,反之亦然)。

VectorDraw File Converter更新至v7.7010.1.0,新版本针对提出的需求和bug做了调整和优化。

【VectorDraw File Converter v7.7010.1.0点击下载>>>】

未发布 【示例教程】如何通过leadtools读取二维码中的中文
by Harriet666 keys 分享 1511255400131
在使用leadtools进行二维码识别的过程中,经常或碰到中文识别为乱码的情况,让人比较郁闷,本文教大家如何通过leadtools来读取二维码中的中文。
 
Leadtools 19总套包下载>>>
 
中文在编为二维码的时候,实际上是先按照一定的字符集编码被转换为了二进制编码,而我们如果需要正确的读取出二维码中的中文,就必须要确认编码字符集,如UTF8,UTF16,GB2312,GBK等等。
 
在确认了编码方式后,我们对通过BarcodeEngine 引擎读取出的BarcodeData ,不用value属性直接去获取它的对应字符串。因为这样默认是得到的按照ascii码编码来翻译出的字符串,自然会有各种乱码,leadtools提供了另一个方法GetData(),通过这个方法可以获取原始的byte[] 数据。然后按照对应的编码方式进行转换,即可得到对应的中文字符串。
 
下面的例子中是针对UTF8编码的中文二维码进行识别的代码,大家可以在编译以后,对文末的二维码进行识别。
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Forms; 
using Leadtools.Barcode; 
using Leadtools.ImageProcessing; 

public void BarcodeData_GetDataExample() 
{ 
string imageFileName = Path.Combine(LEAD_VARS.ImagesDir, "Barcode2.tif"); 

// Create a Barcode engine 
BarcodeEngine engine = new BarcodeEngine(); 

// Load the image 
using (RasterCodecs codecs = new RasterCodecs()) 
{ 
using (RasterImage image = codecs.Load(imageFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1)) 
{ 
// Read the first QR barcode from the image 
BarcodeData data = engine.Reader.ReadBarcode(image, LogicalRectangle.Empty, BarcodeSymbology.QR); 

// Show the barcode data found (if any) 
if (data != null) 
{ 
Console.WriteLine("Raw data is:"); 
byte[] bytes = data.GetData(); 
if (bytes != null) 
{ 
string text = System.Text.Encoding.UTF8.GetString(bc); 
Console.WriteLine(text);
} 
else 
{ 
Console.WriteLine("Empty"); 
} 
} 
else 
{ 
Console.WriteLine("No barcode found"); 
} 
} 
} 
}

未发布 FileAudit v5.2发布,支持Windows Server 2016
by Harriet666 keys 分享 1494838989979
FileAudit可用于对Windows服务器上文件和文件夹的所有访问进行主动跟踪、审核、报告和警告。
 
FileAudit最新版下载试用>>>
 
FileAudit v5.2新功能

检测并显示设备名称

除了IP地址之外,FileAudit v5.2还可以显示用户通过网络访问文件/文件夹的设备名称。该功能加强了对任何访问的识别,帮助识别潜在的可疑活动。
使用FileAudit的过滤功能可以从特定机器名称中查看每个访问列表。管理员可以在“File access view”中应用该准则。也可以将设备名称定义为选定的标准:
  • 触发特定的访问警报
  • 定期报告

 

过滤Active Directory Group的访问事件

FileAudit v5.2引入了一个新的过滤条件,可以让你专注于一个或多个Active Directory Group的访问事件。
在FileAudit控制台中,浏览并识别Active Directory Group以配置警报、计划报告或在“File Access Viewer”中作为条件应用。
组过滤器可用于排除或增加组成员。
包含示例
7eb8694aa460413e956c1181e31b59b4ojpg
排除示例
174ccbf4c821415ab3aad905e340d5a3ojpg
包含+排除示例
81df27c2ff8440cbb68671bc666464a0ojpg


按对象类型过滤访问事件

使用FileAudit v5.2,管理员可以选择区分文件和文件夹。
你可以在“File access view”中应用此条件。或者,可以在配置任何访问警报或调度访问报告时使用它。
此优化可以让你的的审计跟踪更有意义。
cf771f7b91884bab829c2dce5b9b4e13ojpg
 

出现新的FileAudit Service事件的情况下发送电子邮件通知

接收关于FileAudit Service问题的电子邮件警报。
确定要通知的警报类型:错误、警告和信息。
a5000722a2fd4cc68bfb3f133e6941f3ojpg
 

检测服务器停滞情况并发出警告

当FileAudit在特定服务器上连续三天以上没有监视文件访问事件时,警告管理员。该警报都在FileAudit控制台上,并通过电子邮件发送。
该功能可以突出显示需要解决的问题 - 例如,如果对象访问审核策略停止,那么NTFS审核配置将被删除、安全日志损坏或配置错误。
 

支持Windows Server 2016

FileAudit v5.2支持Windows Server 2016。
未发布 7个最新的实用性 JavaScript MV*框架
by Harriet666 keys JavaScript 1487317434712
JavaScript是目前web上最受欢迎的编程语言之一。最初它并不是很受欢迎,因为它不是为服务器端编程而设计的。JavaScript主要作用于设计用户界面,许多开发人员特别是经验丰富的专业人士认为它比较适合缺乏经验的新手使用。随着用户体验成为Web开发中一个重要的组成部分,JavaScript的人气也开始增加。有一些框架有助于构建JavaScript应用程序,其中MV *是可以构建MVP和MVVM模式的框架。点击查看7个最新的实用性 JavaScript MV*框架>>>
未发布 Excel组件包TMS FlexCel for VCL & FireMonkey v6.17.1.0发布丨附下载
by Harriet666 keys 分享 1507541639352
FlexCel for VCL / FireMonkey是一款处理Excel文件的Delphi XE, XE2控件套包。更有大量的API能直接读写本地Excel文件。Flexcel可完成在未安装Excel的OS-X或Windows系统的机器上读取或创建复杂的电子数据表。

TMS FlexCel for VCL & FireMonkey最新版下载
 
v6.17.1.0

修复:
  • 6.17安装包可能导致访问冲突。如果你安装了6.17,请更新到6.17.1。
 
v6.17.0.0

新增:
  • 完全支持xlsx文件中的Excel表
  • 可将自动图形添加到图表
改进:
  • 在TFlxFormulaErrorValue中支持#GETTING_DATA错误
  • 支持使用INDIRECT函数返回数组
  • 加载字体以导出到PDF时减少内存的使用
  • 现在TExcelFile.RenderObject可以在组内渲染形状,并使用objectPath参数指定对象的名称
  • 改进了包含数千个超链接的报告的性能
  • FlexCel现在将保留xlsx文件中的嵌入式OLE对象
  • Github中提供的所有示例

【慧都十四周年庆预热开启!全场满额送七级豪礼,AppleMac笔记本电脑、iwatch、iPad等您来拿!】

活动时间:10月1日-10月30日

未发布 Essential Studio for Windows Forms发布2017 v2,支持office 2016和主题定制
by Harriet666 keys 分享 1495444185640
Essential Studio for Windows Forms是一个帮您创建高性能的Windows应用程序的Windows Forms界面控件,其包含了高性能的Windows应用程序开发中所需的所有控件,如Grids、Charts、Gauges、Menus、Calendars、Editors等等。 到目前为止,我们开发Windows Forms 控件包已达十几年,所以该控件包是功能最齐全的控件集。除此之外,Essential Studio for WinForms还包含了一些特有控件,使您可以为应用程序添加Excel、Word和PDF格式文件的浏览和创建功能。
 
Essential Studio for Windows Forms更新2017 v2版本,支持office 2016和主题定制等功能。
 
【Essential Studio for Windows Forms 2017 v2点击下载>>>】

DocIO

增强Word转换PDF功能

DocIO现在支持Word到PDF转换期间的方程式字段。
add6848d47994bdab305f68a6cde13bbojpg

 

量规

支持office 2016和主题定制

Office 2016主题外观和主题定制支持数字、线性和径向量规形式。
3b283c57a47542b1bf64121743f5c834ojpg

 

网格分组控制

增强过滤功能

  • 添加以编程方式使用ExpressionMatch比较运算符来过滤记录的方式。
  • 支持在GridDynamicFilter中进行延迟筛选。

Coded-UI测试

支持在Coded-UI中的子表上执行断言和播放。
417af45fd8be46eb90f0f0bd70ddeaceojpg

 

高级消息框

从右到左视图

高级消息框控件已实现从右到左的布局。
88fa564d9cb54f50b9f24b32359d0b3bojpg

支持自定义按钮

支持加载高级消息框中的自定义按钮。
57ee06fe97bb4ff493fe91d0cfd4122eojpg

详细信息查看

详细信息视图可以引用额外的信息,并根据要求显示/隐藏高级消息框。
4e79468e4656450ab7c28d47f8b338ceojpg

 

PDF

增强PDF安全功能

现在支持PDF 2.0安全功能(AES Revision 6)。
970e39cabe194aa881edb5e11d4b7d7fojpg

 

演示

注释功能

可以在PowerPoint演示文稿中创建和修改注释。
0d9767d1ba8a4efda4624846fab1e34cojpg

 

XlsIO

Excel到PDF转换中的图标设置

Essential XlsIO支持使用“仅显示图标”和“反向图标顺序”选项进行PDF转换的自定义图标设置。
5620f60f20bc44a2b7899560ef59bd67ojpg

增强图表转换图像功能

将图表转换为PDF文件或图像时,图表元素(如标题和显示单元)现在支持富文本和具有不同标记的图表系列。
ac2a2f4da19b463cbe9a8fb3698cebefojpg

数据透视表自定义排序

数据透视表列可以通过字符串数组或设置自定义位置进行排序。
9c38b674039b4742a88d57a63376eda3ojpg

表格过滤器

可以根据文本、数值和日期过滤Excel表格行。
b9811efdbe9e416e88be65d120e6fcf1ojpg
未发布 ASP.NET控件Web CAD SDK发布v12版本,支持DWG 2018丨附下载
by Harriet666 keys 分享 1504862042137
Web CAD SDK为ASP.NET控件,可用于通过Internet、Intranet、Sharepoint、Office 365 及其他在线 HTML5 启用技术查看DWG和其他CAD文件。该产品不要求安装 AutoCAD® 或其他第三方应用程序或组件,提供该产品时附带 C# 示例。
 
Web CAD SDK v12点击下载>>>
ASP.NET控件Web CAD SDK发布v12版本,用于在Internet,Intranet,SharePoint及其他在线 HTML5 启用技术上查看DWG和其他CAD文件。
 
支持DWG 2018(最新的DWG版本)是主要的改进之一。这意味着现在你的Web项目能够显示最新的图纸。
 
此外,Web CAD SDK功能已经变得更加广泛。现在你不仅可以在web上查看图纸,还可以在视觉上进行自定义。例如,你可以以黑白模式显示文件,合并图纸进行比较,并将绘图显示区域以BMP形式复制到剪贴板进行进一步处理。

9cc7635e66394353855cde0b982ed9a6ojpg
 
Web CAD SDK v12的主要改进功能:
  • 支持AutoCAD® DWG 2018
  • 文本搜索
  • 合并图纸与颜色变化
  • 将显示的图像复制到剪贴板
  • 黑白显示模式
  • 改进打印设置
你可以下载Web CAD SDK v12并尝试所有这些新功能>>>

 近期热门 - 点击最多
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Node.js 打印vite react+go项目目录树
  3. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  4. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  5. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  6. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  7. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  8. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  9. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
  10. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法

  全端社区 - 最新回复
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  3. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  4. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  5. Node.js 打印vite react+go项目目录树
  6. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  7. Windows与Mac通过git ssh和rsync实现文件共享互传
  8. Windows与Mac通过git ssh和scp实现文件共享互传
  9. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  10. 使用PubSub-JS时ReactNative在后台运行一段时间唤醒后,组件无法scribe到publish的事件,typescript实现一个事件订阅发布组件

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA