未找到

未发布 jQuery JavaScript的综合性UI组件库jQWidgets更新至v5.4.0丨附下载
by Harriet666 keys 分享 1509093357634
jQWidgets是一个基于jQuery JavaScript的综合性和创新性的HTML5 UI组件库,旨在帮助开发者创建专业、跨平台的Web应用程序,并最大限度的节省开发时间。jQWidgets包含30多种UI组件,是最快的JavaScript UI框架之一。
 
jQWidgets v5.4.0更新内容:
改进:
  • Angular组件脚本引用将自动添加。
  • Angular @Input属性验证。
  • 所有Angular示例已更新。
  • 过滤行、过滤器、排序菜单和呼叫器重的jqxGrid键盘导航。
  • jqxScheduler ICalendar导出支持X-WR-CALNAME和X-WR-DESC。
修复:
  • 修复了几个缺少typescript属性定义的问题。
  • 修复了jqxPivotGrid中关于拖放的问题。

试用、下载、了解更多产品信息请点击"咨询在线客服"    

未发布 Google开源了Abseil,为C++和Python开发提供支持
by Harriet666 keys 分享 1507530171137
Google公开了其项目内部使用的一系列C++库,随后还会公开其Python库。

Abseil已在Google历经十多年的开发,它的目的是为Google编程人员在各种项目上的工作需求提供支持,这些项目包括Protocol Buffers、gRPC和TensorFlow等。Google评价Abseil为:
  • 它是从Google内部代码块中抽取出来的一系列最基础的软件库。作为基本的组成部分,这些软件库支撑了几乎全部Google在运行的项目。以前这些API是零零散散地嵌入在Google的大部分开源项目中,现在我们将它们规整在一起,形成这样一个全面的项目。
  • Abseil是Google代码库的最基本构建模块,其代码经过了生产环节测试,此后还会继续得到完全的维护。

最初,Abseil提供的抽象并非C++ 14或C++ 17的组成部分,但最终它们已被添加到C++标准中。例如,Google提供一个称为StringPiece的类型,随后C++ 17也添加了一个称为std::string_view的相近类型。为了与新的C++ 17类型具有一致的API,Google将StringPiece重构为absl::string_view。从底层机制上看,如果开发人员正在使用的是C++ 17,那么Abseil的string_view默认为标准实现;如果开发人员正在使用的是C++ 17以前的版本,那么string_view默认为Google的实现。
 
使用Abseil的优点在于可以访问一些目前依然尚未添加到标准中的C++特性,并且一旦这些特性被添加到C++标准中,Google保证会重构这些特性为默认使用标准实现。Google鼓励开发人员使用Abseil,并提及已有超过两亿五千万行的C++代码使用它,并且几乎所有从头开始构建的项目都使用了它。这意味着,Abseil已被Google广为使用,并出于与项目需求同步的考虑而得以频繁维护。
 
Abseil中包括如下的库:
  • base:初始化,以及其它的基础代码。 
  • algorithm:对C++的库的补充,并为原算法提供了基于容器的版本。 
  • container:提供了更多的STL类型容器。 
  • debugging:用于检查泄漏的调试库。 
  • memory:包括兼容C++ 11版本的std::make_unique()和内存管理。 
  • meta:包括兼容C++ 11版本的类型检查,在C++ 14和C++ 17版本的C++ 库中可用。 
  • numeric:兼容C++ 11的128位整数。 
  • strings:各种字符串工具。 
  • synchronization:并发原语和同步抽象。 
  • time:抽象了绝对时间点操作和时区操作。 
  • types:非容器工具的类型。 
Abseil的代码采用Apache许可,已发布在GitHub上。其Python版本的软件库将随后发布。
更多资讯>>>

未发布 MailBee.NET Objects接收电子邮件(POP3)教程一:接收简单的电子邮件
by Harriet666 keys 分享 1497516049930
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
 
 
本文主要介绍了接收电子邮件(POP3)的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!

要接收简单的电子邮件,开发人员应使用POP3对象。创建此对象的新实例,如下所示:
C#:
Pop3 pop = new Pop3();
VB.NET:
Dim pop As Pop3 =  New Pop3()

基本属性和方法

要接收电子邮件,MailBee.NET Obiects与POP3服务器通信。要连接到POP3服务器,开发人员只需指定此POP3服务器的主机名(或相同的IP地址),如下所示:
C#:
pop.Connect("mail.domain.com");
VB.NET:
pop.Connect("mail.domain.com")
 
或者
C#:
pop.Connect("127.0.0.1");
VB.NET:
pop.Connect("127.0.0.1")
 
由于所有POP3服务器都需要身份验证,开发人员应指定登录邮箱的登录名和密码,如下所示:
C#:
pop.Login("login", "password");
VB.NET:
pop.Login("login", "password")
 
当开发人员成功登录邮箱时,可以通过调用POP3对象的DownloadEntireMessage方法轻松下载此邮箱包含的任何邮件。调用此方法时,开发人员应指定邮件的索引。例如,以下代码行表示从收件箱下载最后一封邮件:
C#:
MailMessage msg = pop.DownloadEntireMessage(pop.InboxMessageCount);
VB.NET:
Dim msg As MailMessage =  pop.DownloadEntireMessage(pop.InboxMessageCount)
 
其中:
  • pop.InboxMessageCount是一个属性,包含邮箱中存储的邮件总数;
  • msg是一个MailMessage对象,表示单个电子邮件。
注意!如果邮箱中没有邮件,则pop.InboxMessageCount属性为0并调用pop.DownloadEntireMessage(pop.InboxMessageCount)方法将出现错误。
 
如果要从邮箱下载中下载新邮件,开发者必须定义特殊的帮助函数。该功能应该查找已经下载邮件的现有数据库中邮件的UID。如果没有找到指定的UID,则将该邮件视为新邮件。因此,开发人员必须使用数据库引擎来存储所有接收到的邮件UID。
 
最后,当邮箱完成所有必要的操作,并且与POP3服务器的连接无效时,开发人员应该调用POP3对象的Disconnect方法以断开与POP3服务器的连接,如下所示:
C#:
pop.Disconnect();
VB.NET:
pop.Disconnect()

示例代码:

以下示例从指定的邮箱中下载最新的邮件,并显示此邮件的正文。
在使用MailBee.NET Objects之前,请确保它已解锁。
C#:
using System;
using MailBee;
using MailBee.Pop3Mail;
using MailBee.Mime;
namespace EmailApp
{
    class Class1
    {
        [STAThread]
        static bool IsNewMessage(string UID)
        {
            return true;
        }
        static void Main(string[] args)
        {
            Pop3 pop = new Pop3();
            try
            {
                pop.Connect("mail.domain.com");
                pop.Login("login", "password");
                Console.WriteLine("Successfully logged in.");
            }
            catch(MailBeePop3LoginNegativeResponseException)
            {
                Console.WriteLine("POP3 server replied with a negative response at login.");
            }
            string[] arrIDs = pop.GetMessageUids();
            int n = pop.InboxMessageCount;
            if (IsNewMessage(arrIDs[n])) 
            {
                MailMessage msg = pop.DownloadEntireMessage(n);
                if (msg.BodyHtmlText != "") 
                     Console.WriteLine(msg.BodyHtmlText);
                else 
                    if (msg.BodyPlainText != "") 
                      Console.WriteLine(msg.BodyPlainText);
                    else 
                      Console.WriteLine("The body of this message is empty.");
            }
            try
            {
                pop.Disconnect();
                Console.WriteLine("Disconnected successfully.");
            }
            catch
            {
                Console.WriteLine("Disconnection failed.");
            }
        }
    }
}
VB.NET:
Imports System
Imports MailBee
Imports MailBee.Pop3Mail
Imports MailBee.Mime
 
Namespace EmailApp
    Class Class1
        
 
        Shared Function IsNewMessage(ByVal UID As String) As Boolean
            Return True
        End Function
        Shared  Sub Main(ByVal args() As String)
            Dim pop As Pop3 =  New Pop3() 
 
            Try
                pop.Connect("mail.domain.com")
                pop.Login("login", "password")
                Console.WriteLine("Successfully logged in.")
            Catch
                Console.WriteLine("POP3 server replied with a negative response at login.")
            End Try
 
            Dim arrIDs() As String =  pop.GetMessageUids() 
            Dim n As Integer =  pop.InboxMessageCount 
            If IsNewMessage(arrIDs(n)) Then
                Dim msg As MailMessage =  pop.DownloadEntireMessage(n) 
 
                If msg.BodyHtmlText <> "" Then
                     Console.WriteLine(msg.BodyHtmlText)
                Else 
                  If msg.BodyPlainText <> "" Then
                    Console.WriteLine(msg.BodyPlainText)
                  Else 
                    Console.WriteLine("The body of this message is empty.")
                  End If
                End If
            End If
 
            Try
                pop.Disconnect()
                Console.WriteLine("Disconnected successfully.")
            Catch
                Console.WriteLine("Disconnection failed.")
            End Try
        End Sub
    End Class
End Namespace
 
以上就是本次教程的全部内容,接下来会有更多相关教程,敬请关注!您也可以在评论者留下你的经验和建议。

试用、下载、了解更多产品信息请点击"咨询在线客服"   

未发布 AutoVue使用教程:如何在64位Linux上安装AutoVue
by Harriet666 keys 分享 1490258040212
很多用户在Linux 64位上使用AutoVue时会出现安装方面的问题。在Linux 64位上安装AutoVue(这是一个32位应用程序)可能很棘手,因为AutoVue将要求某些库是32位的而不是64位。在许多情况下,服务器会将由于缺少32位库的相关问题记录下来。AutoVue需要这些库:32位(libGLU,libGL,libz,libbz2,libXt,libXp,libXtst和libXrender)。
【AutoVue系列产品包含:AutoVue 3D Professional AdvancedAutoVue Electro-Mechanical ProfessionalAutoVue EDAAutoVue OfficeAutoVue 2D Professional
 
你可以通过使用locate命令来检查特定库丢失的是32位还是64位。例如,找到libGL应该返回:
/usr/lib/libGL.so 
/usr/lib/libGL.so.1 
/usr/lib/libGL.so.1.2 
/usr/lib/libGLU.so 
/usr/lib/libGLU.so.1 
/ usr / lib /libGLU.so.1.3.060501 
 
libGL的位置如下:
/usr/lib64/libGL.so.1
这将表明你已安装64位库,AutoVue还需要32位库。 
 
【本文作者慧都Elyn,转载注明出处】
未发布 专业的格式转换工具pdf2cad发布v11,支持当前所有的Windows和Mac操作系统
by Harriet666 keys 分享 1491899188681

pdf2cad是一款可将PDF文件转换成CAD格式的转换工具。仅需几秒钟,便可将所提取的准确图形在常规的CAD工具中进行修改,如AutoCAD, TurboCAD和MicroStation。pdf2cad可将PDF工程图输出为DWG, DXF和HPGL格式。pdf2cad格式转换工具适用于Windows或Mac OS X操作系统。

pdf2cad v11提供了许多新功能和增强功能,包括64位版本,支持所有当前的Windows和Mac操作系统,处理受密码保护的PDF文件,更多地控制图像,灵活的页面编号,其他方法来分隔图层等等。

【pdf2cad点击下载>>>】

pdf2cad v11更新内容:


输入选项
  • pdf2cad v11提供了一个新的选项来指定受密码保护的PDF文件。
pdf2cad
输出选项
  • 在输出文件名中定义页码的新选项
  • 使用文件名作为目录名称的新选项
pdf2cad
文本选项
  • 支持Unicode字符集
  • 提升处理未知字符编码的能力
格式
  • 增加DXF / DWG格式的英寸作为单位选项
分层
  • 基于实体类型的图层
  • 改进嵌套分层和名称验证
  • 将每个图层转换为单独文件的新选项(仅限DXF)
pdf2cad
比例选项
  • 使用mm、英寸、英尺和米的新选项来定义比例
pdf2cad
图像选项
  • 可忽略小图像或裁剪后将其转换为颜色线
  • 将图像对象移动到背景的新选项
  • 如果PDF文件包含IMAGE对象,则显示警告消息
pdf2cad
综合
  • 改进字体警告处理
  • 修复和改进DXF / DWG格式
  • 增强PDF解释器
  • 新的64位版本pdf2cad 
  • 支持最新的操作系统版本,包括Windows 10.0和Mac OS X Mavericks
  • pdf2xxx CL(Windows)支持Unicode文件名
未发布 视频处理软件BB FlashBack v5.25.0发布丨附下载
by Harriet666 keys 分享 1497515629872
BB FlashBack是一种屏幕记录器,能快速容易地创建视频。有详尽的软件阐述、屏幕演示、介绍、指南以及练习。目前BB FlashBack在线订购享75折优惠活动正在进行中,欢迎您下载、购买进行运用!
 
【BB FlashBack v5.25最新版下载>>>】

v5.25.0更新内容:

  • 改进网络摄像头捕获代码(现在使用MSMF)
  • 许可证现在只有在FlashBack的多个实例运行时才下载一次
  • 播放器仅适用于具有8GB和更高RAM的电脑
  • 增加了用于音量控制的工具提示
  • 添加了关闭/开启播放器预加载预览录像的选项
  • 修复:Flashback连接上传表单 - 视频名称可能会重叠“复制”和“打开”链接
  • 修复:如果网络摄像头未正确初始化,录制可能会停止
  • 修复:无法选择包含日语字符的声源名称进行录制
  • 修复:MPEG录制模式质量等级设置未保存
  • 修复:FBAPI的帮助文本出现错误,它仅适用于TestAssistant
  • 修复:在Win 32 SaveAs函数中添加了解决异常的方法
  • 修复:当没有音频录音源时,可能会显示不正确的音频格式

试用、下载、了解更多产品信息请点击"咨询在线客服"   

未发布 微软:Visual Studio 2017是迄今为止最高效的版本
by Harriet666 keys 分享 1489998441630
Visual Studio 2017 全面上市。欢迎大家即刻下载体验全新的 Visual Studio 2017!我们还为整个 Visual Studio 产品系列进行了更新,让 Visual Studio 订阅用户和 Visual Studio Dev Essentials 的会员收获更多价值。

Visual Studio 2017:迄今为止最高效的版本

我们针对 Visual Studio 2017 的多个关键领域进行了重点研发——包括改进基础部件、提供五星级的云和移动开发体验,以及提升 DevOps 功能,以确保 Visual Studio 2017 可以助力每一位开发者在各种平台上开发各类应用。

在发展 Visual Studio 2017 这一全新版本时,我们将云和移动开发置于最重要的位置。为了简化云开发流程,内置的各项工具将为您提供有关.NET Core、Azure 应用、微服务、容器等应用开发的完整集成功能,甚至现在可以更轻松地由 IDE 直接开发和部署 Azure 应用和服务。Visual Studio 2017 with Xamarin 让你能够通过先进的调试和分析工具更加快速地为安卓、iOS 和 Windows 平台开发移动应用。

我们也重视聆听用户心声,并清楚地了解到用户希望 Visual Studio 变得更为快速、更精简,即使所面对的应用开发和项目愈加庞大。因此,我们将为用户提供全新的安装体验,让一切变得轻便而模块化。为提高 Visual Studio 的性能,我们还增强了多项功能。Visual Studio 2017 还将交付多项全新特性,帮助开发团队能够轻松地实践现代化的 DevOps 做法,更为快速而持续地应对市场变化。为了帮助开发者更好地把自己的数据库嵌入 DevOps,加速发布周期,Redgate Data Tools 工具现已加入 Visual Studio Enterprise 2017 服务当中。

未发布 MailBee.NET Objects接收电子邮件(POP3)教程二:接收和显示HTML电子邮件
by Harriet666 keys 分享 1497950218025
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
 
MailBee.NET Objects介绍和试用点击查看>>>
 
本文主要介绍了接收和显示HTML电子邮件(POP3)的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!

从POP3服务器下载整个邮件后,如上一个教程所示,开发人员可以管理可用的邮件主体。例如,当邮件没有HTML格式的主体时,开发人员可以配
置邮件解析器以从纯文本正文中创建HTML格式的主体:
C#:
msg.Parser.PlainToHtmlMode = PlainToHtmlAutoConvert.IfNoHtml;
VB.NET:
msg.Parser.PlainToHtmlMode = PlainToHtmlAutoConvert.IfNoHtml
 
此外,开发人员可以指定影响邮件解析方式的选项。例如,下面的代码指定了当纯文本正文被自动转换为HTML格式的主体时,包含在邮件纯文本
主体中的所有URI都应该被更改为相应的链接:
C#:
msg.Parser.PlainToHtmlOptions = PlainToHtmlConvertOptions.UriToLink;
VB.NET:
msg.Parser.PlainToHtmlOptions = PlainToHtmlConvertOptions.UriToLink
 
由于邮件解析器已配置,开发人员应调用Apply方法应用更改:
C#:
msg.Parser.Apply();
VB.NET:
msg.Parser.Apply()
 
解析的邮件的HTML主体内容可以使用Web浏览器控件轻松显示,如下所示:
C#:
webBrowser1.DocumentText = msg.BodyHtmlText;
VB.NET:
webBrowser1.DocumentText = msg.BodyHtmlText
 
请注意,WebBrowser控件仅在Visual Studio 2005和更高版本中可用。因此,上述代码将不会在早期版本的Visual Studio.NET中运行。
 
示例代码:
以下示例从指定邮箱中下载最后一条消息,从纯文本正文中生成HTML邮件主体,并显示此消息的HTML主体。
在使用MailBee.NET Objects之前,请确保它已解锁。
请将对MailBee.NET.dll的引用添加到应用程序中,然后在代码顶部添加以下行以允许在应用程序中使用MailBee.NET Objects:
C#:
using System;
using MailBee;
using MailBee.Pop3Mail;
VB.NET:
Imports System
Imports MailBee
Imports MailBee.Pop3Mail
 
然后在Visual Studio 2005中创建一个新表单,并将Button和WebBrowser控件放在此表单上。设置以下代码在按钮点击事件上运行:
C#:
Pop3 pop = new Pop3();
                        
try
{
        pop.Connect("mail.domain.com");
        pop.Login("login", "password");
        Console.WriteLine("Successfully logged in.");
}
catch(MailBeePop3LoginNegativeResponseException e)
{
        Console.WriteLine("POP3 server replied with a negative response at login.");
}
MailMessage msg = pop.DownloadEntireMessage(pop.InboxMessageCount);
msg.Parser.PlainToHtmlMode = PlainToHtmlAutoConvert.IfNoHtml;
msg.Parser.PlainToHtmlOptions = PlainToHtmlConvertOptions.UriToLink;
msg.Parser.Apply();
                        
WebBrowser1.Text = msg.BodyHtmlText;
try
{
        pop.Disconnect();
        Console.WriteLine("Disconnected successfully.");
}
catch
{
        Console.WriteLine("Disconnection failed.");
}
VB.NET:
Dim pop As Pop3 =  New Pop3() 
 
Try
        pop.Connect("mail.domain.com")
        pop.Login("login", "password")
        Console.WriteLine("Successfully logged in.")
Catch e As MailBeePop3LoginNegativeResponseException
        Console.WriteLine("POP3 server replied with a negative response at login.")
End Try
 
Dim msg As MailMessage =  pop.DownloadEntireMessage(pop.InboxMessageCount) 
 
msg.Parser.PlainToHtmlMode = PlainToHtmlAutoConvert.IfNoHtml
msg.Parser.PlainToHtmlOptions = PlainToHtmlConvertOptions.UriToLink
 
msg.Parser.Apply()
 
WebBrowser1.Text = msg.BodyHtmlText
 
Try
        pop.Disconnect()
        Console.WriteLine("Disconnected successfully.")
Catch
        Console.WriteLine("Disconnection failed.")
End Try
 
以上就是本次教程的全部内容,接下来会有更多相关教程,敬请关注!您也可以在评论者留下你的经验和建议。

试用、下载、了解更多产品信息请点击"咨询在线客服"   

未发布 ActiveX组件CADViewX v12发布,支持最新的AutoCAD®DWG 2018版本
by Harriet666 keys 分享 1497342612988
CADViewX一款能让应用程序具有强大CAD图像浏览和打印功能的图像处理工具,无需任何CAD软件或查看器即可打开、浏览、打印AutoCAD等几十种格式的图像文件,还能享受直观的鼠标滚轮缩放、拖拽、平铺印画功能。
 
【CADViewX 12最新版下载>>>】
 
CADViewX v12更新内容

CADViewX v12是用于导入和导出CAD文件的新版本的ActiveX组件。
现在,CADViewX Lite支持最新的DWG版本 - AutoCAD®DWG 2018。借助CADViewX Lite开发的应用程序将能够查看最新的图纸。
c971427152d14ce4b2f480de2dc696d5ojpg
要测试CADViewX Lite并将DWG 2018查看功能添加到应用程序中,请下载试用>>>
 
 

试用、下载、了解更多产品信息请点击"咨询在线客服"   
7
未发布 条形码控件Dynamsoft Barcode Reader v5.1发布,新增JavaScript版本
by Harriet666 keys 分享 1497254762139
Dynamsoft Barcode Reader SDK一款多功能的条码读取控件,只需要几行代码就可以将条码读取功能嵌入到Web或桌面应用程序,能支持多种图像文件格式以及从摄像机或扫描仪获取的DIB格式。
 
Dynamsoft Barcode Reader 5.1最新版点击下载>>>
 
v5.1更新内容(此次更新仅适用于Windows和JavaScript版本)

新增:

  • 添加了JavaScript版本,支持在客户端的JavaScript中读取条形码。它曾经作为我们基于浏览器的文档扫描SDK - Dynamic Web TWAIN的附件。它现在是一个单独的版本,能够在你的应用程序中无缝嵌入条形码读取功能与Dynamic Web TWAIN在线文档扫描和Dynamsoft Camera SDK网络摄像头捕获。

修复:

  • 【Windows版本】修复了当读取1D条形码时使用去模糊算法导致错误结果点的问题。
  • 其他小的修复和调整。

试用、下载、了解更多产品信息请点击"咨询在线客服"   

1

 近期热门 - 点击最多
  1. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  2. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  3. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  4. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
  5. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法
  6. Springboot+Gradle+Mysql+Jpa最简单实例教程
  7. SpringBoot+Spring6入门指南: 使用命令行快速搭建restful web api模板
  8. 如何通过 winax 的 ActiveXObject 或 Excel.Application 往 excel 中插入一张图片
  9. node.js用activex/com+自动化读写excel时查询接口、参数的调试方法
  10. TypeScript定义数字范围类型即仅包含【小时:分钟】的时间类型,每天指定时间点执行任务

  全端社区 - 最新回复
  1. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  2. Windows与Mac通过git ssh和rsync实现文件共享互传
  3. Windows与Mac通过git ssh和scp实现文件共享互传
  4. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  5. 使用PubSub-JS时ReactNative在后台运行一段时间唤醒后,组件无法scribe到publish的事件,typescript实现一个事件订阅发布组件
  6. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  7. ReactNative获取Android/iOS的MAC/IP地址: react-native-device-info模块的安装与使用
  8. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
  9. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法
  10. Springboot+Gradle+Mysql+Jpa最简单实例教程

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

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

OnceOA