2019March最新版,scanatpg文档。
描述了scanatpg的操作flow,工具原理
2025/7/19 15:55:08 11.78MB atpg_g tessen
1
丢在默认工作路径下直接调用就好了,内部有输入说明,输出1,2,3分别为Sen'sTrend,MKsigtest
2025/7/17 20:12:34 949B MATLAB MK 倾向率
1
很多人在找的条码形码字体(128码和39码)
1
adb版本过低导致AS出错,更换platform下的adb版本。
本文件包含31,32,及39三个版本的内容
2025/7/3 9:14:37 1.96MB adb
1

【系统测试报告实例】是详述软件测试过程和结果的文档,主要目的是评估软件质量、分析测试过程,并为未来的测试活动提供参考。
本报告聚焦于XX后台管理系统,涵盖了测试总结、测试概要、测试环境等多个方面。
在【引言】部分,报告明确了编写目的:1. 分析测试结果以评估软件质量。
2. 通过分析测试过程、产品和资源,为后续测试计划提供指导。
3. 检视测试执行与测试计划的符合程度。
4. 针对发现的系统缺陷提出修复和预防建议。
【背景】和【用户群】未给出具体信息,但通常会包含项目的业务背景、目标用户和预期读者。
【定义】中列出了严重bug的标准,主要包括系统无响应、页面无法显示、操作异常错误以及必填字段验证失败等情况。
【测试对象】在这份报告中被省略,一般会详细列出测试的系统或模块。
【测试阶段】表明这是系统测试阶段,主要关注整个系统的综合功能和性能。
【测试工具】提到使用了Bugzilla作为缺陷管理系统,用于跟踪和管理测试中发现的问题。
【参考资料】列出了涉及的需求文档、设计说明、测试计划和用例等,这些是测试活动的基础。
【测试概要】提供了关键数据:- 测试从2007年7月2日开始,持续39天。
- 测试了174个功能点,执行了2385个测试用例。
- 发现了427个bug,其中严重级别68个,无效44个。
- 有11个测试版本,B1至B5是计划内的迭代开发,B6至B11为回归测试版本。
- 版本发布和测试进度与计划基本吻合,部分版本因延迟增加了额外工作日。
【进度回顾】详细记录了各版本的开始、完成时间及是否需要加班和增加资源。
【测试执行】强调了严格按照计划执行,覆盖了所有测试对象,遵循了测试策略和用例。
【测试用例】分为功能性测试和易用性测试:- 功能性测试涵盖了查询、添加、修改、删除等主要功能,以及分配酒店、权限、渠道绑定等次要功能,确保需求规定的输入输出和限制条件得到验证。
- 易用性测试关注操作提示信息的正确性、一致性和可理解性,以及必填项标识和输入方式,还有中文界面的本地化一致性。
【测试环境】部分介绍了软硬件配置,包括应用服务器、数据库服务器和客户端的CPU、内存、硬盘和操作系统等信息。
这份报告全面展示了XX后台管理系统测试的全貌,为项目管理和后续测试提供了重要参考。
通过这样的报告,可以清晰地了解测试的深度和广度,以及软件的质量状况。
对于项目团队来说,它不仅是评估和改进产品质量的依据,也是提升项目管理效率的重要工具。
2025/6/19 9:27:49 625KB
1
版本修改记录:V2.2.0.2修改:修改了HttpPost相对路径的一些问题。
V2.2.0.0增加:[id(0x00010041),helpstring("GetRevIndex")]HRESULTGetRevCount([out,retval]long*pbool);[id(0x00010042),helpstring("GetRevIndexInfo")]HRESULTGetRevInfo([in]longlIndex,[in]longlType,[out,retval]BSTR*pbool);[id(0x00010043),helpstring("SetDocProp")]HRESULTSetValue([in]BSTRstrValue,[in]BSTRstrName,[out,retval]long*pbool);[id(0x00010044),helpstring("SetDocVariable")]HRESULTSetDocVariable([in]BSTRstrVarName,[in]BSTRstrValue,[in]longlOpt,[out,retval]long*pbool);[id(0x00010045),helpstring("SavepageToDoc")]HRESULTSetPageAs([in]BSTRstrLocalFile,[in]longlPageNum,[in]longlType,[out,retval]long*pbool);----------------------------------------------------------------------------------------------------------------------------------------------------------------------LoadDso.jsvars=""s+=""s+=""document.write(s)----------------------------------------------------------------------------------------------------------------------------------------------------------------------接口文档:/*1.新建*///新建Worddocument.all.FramerControl1.CreateNew("Word.Document");//新建Exceldocument.all.FramerControl1.CreateNew("Excel.Sheet");/*2.打开文件*///打开制定的本地文件document.all.FramerControl1.Open("C:\\TestBook.xls");//制定用Word来打开c:\plain.txt文件document.all.FramerControl1.Open("C:\\Plain.txt",false,"Word.Document");//打开服务器的文件document.all.FramerControl1.Open"https://secureserver/test/mytest.asp?id=123",true,"Excel.Sheet","MyUserAccount","MyPassword");//打开服务器的文件document.all.FramerControl1.Open("http://localhost/1.doc",true);/*3.保存文件*///到本地document.all.FramerControl1.Save("c:\\1.doc",true);//服务器/*增加Http协议Post上传接口,可以Post一个动态页面(jsp,asp,php...),由动态页面负责解析数据boolHttpInit();boolHttpAddPostString(BSTRstrName,BSTRstrValue);boolHttpAddPostCurrFile(BSTRstrFileID,BSTRstrFileName);BSTRHttpPost(BSTRbstr);*///初始化Http引擎document.all.FramerControl1.HttpInit();//增加Post变量document.all.FramerControl1.HttpAddPostString("RecordID","20060102200");document.all.FramerControl1.HttpAddPostString("UserID","李局长");//上传打开的文件document.all.FramerControl1.HttpAddPostCurrFile("FileData","文档名.doc");//执行上传动作document.all.FramerControl1.HttpPost("http://xxxx.com/uploadfile.asp");/*4.修订留痕*///进入留痕状态document.all.FramerControl1.SetTrackRevisions(1);//进入非留痕状态document.all.FramerControl1.SetTrackRevisions(0);//接受当前修订document.all.FramerControl1.SetTrackRevisions(4);/*5.设置当前用户*/document.all.FramerControl1.SetCurrUserName("张三");/*6.设置当前时间(笔迹留痕会显示("Like2006:02:0711:11:11")*/document.all.FramerControl1.SetCurrTime("2006:02:0711:11:11");/*7.设置和创建书签,此功能比较强大,设置书签数据、添加书签和添加红头文件就靠他了SetFieldValue(BSTRstrFieldName,BSTRstrValue,BSTRstrCmdOrSheetName)strFieldName:书签名strValue:要设置的值strCmdOrSheetName:命令::ADDMARK::添加BookMark::DELMARK::删除这个BookMark::GETMARK::定位到这个BookMark::FILE::插入的是文件::JPG::插入的是图片一般来说:WORD中书签是做好的,可以通过此接口把外界数据设置进书签中去。
*///在当前WORD位置插入标签,标签名为"book1",数值为"test"document.all.FramerControl1.SetFieldValue("book1","test","::ADDMARK::");//设置书签"Time",数值为"2006-03-1622:22:22"document.all.FramerControl1.SetFieldValue("Time","2006-03-1622:22:22","");//在书签位置"hongtou",插入红头文件"http://222.222.222.222/hongtou1.doc"这样,红头就自动插进去了document.all.FramerControl1.SetFieldValue("hongtou","http://222.222.222.222/hongtou1.doc","::FILE::");/*8.设置菜单显示情况BOOLSetMenuDisplay(longlMenuFlag)lMenuFlag为以下数值的组合#defineMNU_NEW0x01#defineMNU_OPEN0x02#defineMNU_CLOSE0x04#defineMNU_SAVE0x08#defineMNU_SAVEAS0x16#defineMNU_PGSETUP0x64#defineMNU_PRINT0x256#defineMNU_PROPS0x32#defineMNU_PRINTPV0x126*///只有“新建”菜单可用document.all.FramerControl1..SetMenuDisplay(1);//只有“打开”菜单可用document.all.FramerControl1.SetMenuDisplay(2);//只有“打开”和“新建”菜单可用document.all.FramerControl1.SetMenuDisplay(3);/*9.保护文档和解保护文档lProOrUn:1:保护文档;
0:解除保护lProType:wdNoProtection=-1,wdAllowOnlyRevisions=0,wdAllowOnlyComments=1,wdAllowOnlyFormFields=2strProPWD:密码*///完全保护文档,密码为"pwd"document.all.FramerControl1.ProtectDoc(1,1,"pwd");//解除文档保护document.all.FramerControl1.ProtectDoc(0,1,"pwd");/*10.显示或隐藏修订内容ShowRevisions(longnNewValue)nNewValue=0则隐藏修订=1则显示修订*///显示修订留痕document.all.FramerControl1.ShowRevisions(1);//隐藏修订留痕document.all.FramerControl1.ShowRevisions(0);/*11.插入合并文件,strFieldPath文件路径,可以是http,ftp的路径pPos=0//当前鼠标位置1;文件开头2;文件末尾pPos的第4位为1的时候,代表插入的是图片InSertFile(BSTRstrFieldPath,longlPos)*///文件头部插入文件document.all.FramerControl1.InSertFile("http://XX.com/XX.doc",1);//文件尾部插入文件document.all.FramerControl1.InSertFile("http://XX.com/XX.doc",2);//当前光标位置插入文件document.all.FramerControl1.InSertFile("http://XX.com/XX.doc",0);//文件头部插入图片document.all.FramerControl1.InSertFile("http://XX.com/XX.jpg",9);//文件尾部插入图片document.all.FramerControl1.InSertFile("http://XX.com/XX.jpg",10);//当前光标位置插入图片document.all.FramerControl1.InSertFile("http://XX.com/XX.jpg",8);/*0x31.文档另存为HRESULTSaveAs([in]VARIANTstrFileName,[in]VARIANTdwFileFormat,[out,retval]long*pbool);参数:strFileName:文件本地路径,如c:\\11.docdwFileFormat:文件格式dwFileFormat的数值为:Excel:TypeenumXlFileFormat{xlAddIn=18,xlCSV=6,xlCSVMac=22,xlCSVMSDOS=24,xlCSVWindows=23,xlDBF2=7,xlDBF3=8,xlDBF4=11,xlDIF=9,xlExcel2=16,xlExcel2FarEast=27,xlExcel3=29,xlExcel4=33,xlExcel5=39,xlExcel7=39,xlExcel9795=43,xlExcel4Workbook=35,xlIntlAddIn=26,xlIntlMacro=25,xlWorkbookNormal=-4143,xlSYLK=2,xlTemplate=17,xlCurrentPlatformText=-4158,xlTextMac=19,xlTextMSDOS=21,xlTextPrinter=36,xlTextWindows=20,xlWJ2WD1=14,xlWK1=5,xlWK1ALL=31,xlWK1FMT=30,xlWK3=15,xlWK4=38,xlWK3FM3=32,xlWKS=4,xlWorks2FarEast=28,xlWQ1=34,xlWJ3=40,xlWJ3FJ3=41,xlUnicodeText=42,xlHtml=44};Word:TypeenumWdSaveFormat{wdFormatDocument=0,wdFormatTemplate=1,wdFormatText=2,wdFormatTextLineBreaks=3,wdFormatDOSText=4,wdFormatDOSTextLineBreaks=5,wdFormatRTF=6,wdFormatUnicodeText=7,wdFormatEncodedText=7,wdFormatHTML=8};PPT:enumPpSaveAsFileType{ppSaveAsPresentation=1,ppSaveAsPowerPoint7=2,ppSaveAsPowerPoint4=3,ppSaveAsPowerPoint3=4,ppSaveAsTemplate=5,ppSaveAsRTF=6,ppSaveAsShow=7,ppSaveAsAddIn=8,ppSaveAsPowerPoint4FarEast=10,ppSaveAsDefault=11,ppSaveAsHTML=12,ppSaveAsHTMLv3=13,ppSaveAsHTMLDual=14,ppSaveAsMetaFile=15,ppSaveAsGIF=16,ppSaveAsJPG=17,ppSaveAsPNG=18,ppSaveAsBMP=19};*//*0x32.删除本地文件HRESULTDeleteLocalFile([in]BSTRstrFilePath);参数:strFileName:文件本地路径,如c:\\11.doc*//*0x33.创建临时文件HRESULTGetTempFilePath([out,retval]BSTR*strValue);返回:临时文件的路径地址。
使用完后,用DeleteLocalFile删除*//*0x34.设置文档显示模式HRESULTShowView([in]longdwViewType,[out,retval]long*pbool);dwViewType的可取值为:enumWdViewType{wdNormalView=1,wdOutlineView=2,wdPrintView=3,wdPrintPreview=4,wdMasterView=5,//这个是大纲wdWebView=6};*///大纲模式document.all.FramerControl1.ShowView(5);/*0x39:下载远程文件HRESULTDownloadFile([in]BSTRstrRemoteFile,[in]BSTRstrLocalFile,[out,retval]BSTR*strValue);参数:strRemoteFile:远程路径地址,httporFtpstrLocalFile:本地保存地址,ifstrLocalFile==NULLthenCreateTempFileandreturnTempFile'sPath*//*0x40:增加Http上传时候的,附加其他文件HRESULTHttpAddPostFile([in]BSTRstrFileID,[in]BSTRstrFileName,[out,retval]long*pbool);参数:strFileID:文件的ID,供服务器端页面解析strFileName:本地文件地址*//*0x41,0x42.获取详细的修订信息。
GetRevCount([out,retval]long*pbool);GetRevInfo([in]longlIndex,[in]longlType,[out,retval]BSTR*pbool);例子如下*/varvCount;vCount=document.all.FramerControl1.GetRevCount();alert(vCount);varvOpt=0;varvDate;for(vari=1;i<=vCount;i++){vOpt=document.all.FramerControl1.GetRevInfo(i,2);if("1"==vOpt){vOpt="插入";}elseif("2"==vOpt){vOpt="删除";}else{vOpt="未知操作";}vDate=newString(document.all.FramerControl1.GetRevInfo(i,1));vDate=parseFloat(vDate);alert(vDate);dateObj=newDate(vDate);alert(dateObj.getYear()+"年"+dateObj.getMonth()+1+"月"+dateObj.getDate()+"日"+dateObj.getHours()+"时"+dateObj.getMinutes()+"分"+dateObj.getSeconds()+"秒");alert("用户:"+document.all.FramerControl1.GetRevInfo(i,0)+"\r\n操作:"+vOpt+"\r\n内容:"+document.all.FramerControl1.GetRevInfo(i,3));}/*0x43.设置基本信息:HRESULTSetValue([in]BSTRstrValue,[in]BSTRstrName,[out,retval]long*pbool);1.设置文件只读密码SetValue("password","::DOCPROP:PassWord");2.设置文件修改密码SetValue("password","::DOCPROP:WritePW");返回值:0正确-1:不支持此命令,请确定您的第二个参数没有传错-127:异常*///设置文件只读密码document.all.FramerControl1.SetValue("password","::DOCPROP:PassWord");//设置文件修改密码document.all.FramerControl1.SetValue("password","::DOCPROP:WritePW");/*0x44.设置文档变量,这个很少能用到HRESULTSetDocVariable([in]BSTRstrVarName,[in]BSTRstrValue,[in]longlOpt,[out,retval]long*pbool);strVarName:变量名strVlaue:变量值lOpt:操作类型,按位第一位为1:表示update域关联的第二位为1:表示如果没有这个变量则添加第三位为1:未来支持return:0:OK-127:异常*//*0x45:分页保存HRESULTSetPageAs([in]BSTRstrLocalFile,[in]longlPageNum,[in]longlType,[out,retval]long*pbool);strLocalFile:本地路径lPageNum:页数*/
2025/6/13 12:22:57 139KB web office word 在线
1
I2C地址为A0A1A2所决定从0x20~0x27支持扩展IO的中断方式
2025/6/12 10:18:54 18KB linux mcp23017
1
ATK-7'TFTLCD电容触摸屏模块
2025/6/12 4:19:40 15.39MB LCD电容触摸
1
这次的HCIP-RSRouting&Switching方向的认证课程,主要的技术领域集中在路由和交换技术,当然也包括了更多其它网络技术领域。
而课程的技术内容也是集中在了中小型企业网络与园区网络的规划。
安德讲师为我们全新授课,全新改变升级和更名的HCIP认证,课程内容也是非常丰富,分集的课程数量也超过了100多集,还有相关课程的文档、题库、实验、及考试题库的讲解,适合学习、备考以及进军HCIE前的知识储备├─【07】HCIP(HCNP)数通路由交换必备工具.zip(1)\【001】HCNPHCIP数通路由交换理论;
目录中文件数:110个├─【001】HCIP-OSPF基础知识.avi├─【002】HCIP-OSPF进程和接口基本配置.avi├─【003】HCIP-多区域的OSPF和路由器ID.avi├─【004】HCIP-OSPF报文类型和基本的LSA.avi├─【005】HCIP-OSPF邻居和邻接关系排障.avi├─【006】HCIP-OSPF邻居和邻接关系排障.avi├─【007】HCIP--OSPF邻居排障.avi├─【008】HCIP-OSPF的网络类型1.avi├─【009】HCIP--OSPF邻居状态机.avi├─【010】HCIP-OSPF的LSA详解1.avi├─【011】HCIP-OSPF的LSA详解2.avi├─【012】HCIP-OSPF的域间路由计算.avi├─【013】HCIP-OSPF的外部路由计算.mp4├─【014】HCIP-MA网络的优化.avi├─【015】HCIP-ASBR的汇总和不同进程的重分.avi├─【016】HCIP-特殊区域之末节区域.avi├─【017】HCIP-OSPF特殊区域之NSSA.avi├─【018】HCIP-认识中间系统协议.avi├─【019】HCIP-中间系统网络实体标题和基本配置.avi├─【020】HCIP-中间系统路由器类型.avi├─【021】HCIP-中间系统报文类型和网络类型.avi├─【022】HCIP--中间系统邻居关系建立和电路调整.avi├─【023】HCIP--中间系统邻居关系和3次握手.avi├─【024】HCIP-中间系统知识串讲.avi├─【025】HCIP-中间系统的LSP交互.avi├─【026】HCIP--基本的中间系统路由泄露.avi├─【027】HCIP-中间系统的收敛.avi├─【028】HCIP-BGP的基本特征.avi├─【029】HCIP-建立基本的iBGP和eBGP.avi├─【030】HCIP--BGP通告原则第一部分.avi├─【031】HCIP--BGP的下一跳和通告原则第二部分.avi├─【032】HCIP-BGP通告原则第三部分.avi├─【033】HCIP-BGP自动汇总.avi├─【034】HCIP--BGP的手工聚合.avi├─【035】HCIP--BGP的手工聚合续集.avi├─【036】HCIP--BGP的路由属性.avi├─【037】HCIP--华为设备BGP选路原则1.avi├─【038】HCIP-华为设备BGP选路原则2.avi├─【039】HCIP-华为设备BGP选路原则3.avi├─【040】HCIP-华为设备BGP团体属性1.avi├─【041】HCIP-华为设备BGP团体属性2.avi├─【042】HCIP-华为设备BGP路由反射器.avi├─【043】HCIP-华为设备BGP的联邦.avi├─【044】HCIP-华为设备路由控制基础.avi├─【045】HCIP-华为设备路由控制实验和本质.avi├─【046】HCIP-华为设备通过路由策略解决次优路由.avi├─【047】HCIP-华为设备路由环路实验和方案.avi├─【048】HCIP--前缀列表和实验.avi├─【049】HCIP-华为设备实现route-policy和路由过滤.avi├─【050】HCIP--华为设备路由过滤.avi├─【051】HCIP-华为设备通过修改优先级解决次优路由.avi├─【052】HCIP--华为设备修改AD以及默认路由分析.avi├─【053】HCIP-策略路由.avi├─【054】HCIP-华为MPLS技术基础.avi├─【055】HCIP--华为MPLS技术架构和基本配置.avi├─【056】HCIP-华为设备MPLS回顾和架构.a
2025/6/10 1:05:57 75B HCIP 华为HCIP培训视频
1
C#示例源码C#示例C#源码C#示例源代码C#源代码C#源代码例子C#例子注意:本源代码共有20章节,分五部分上传,名称分别为:明日科技《C#示例源代码》(1-4)、明日科技《C#示例源代码》(1-4)、明日科技《C#示例源代码》(5-8)、明日科技《C#示例源代码》(9-12)、明日科技《C#示例源代码》(13-16)、明日科技《C#示例源代码》(17-20)。
源代码目录:第1章 窗体及菜单设计实例001 自定义最大化、最小化和关闭按钮 2实例002 磁性窗体的设计 5实例003 鼠标穿透窗体 12实例004 窗体的浮动及隐藏 14实例005 手动改变自制窗体的大小 16实例006 自定义屏保 19实例007 向窗体中拖放图片并显示 22实例008 仿WindowsXP系统的任务栏菜单 26实例009 用树型列表动态显示菜单 28第2章 控件开发与应用实例010 自定义水晶按钮控件 34实例011 自制数值文本框组件 38实例012 美化单选按钮和复选按钮 43实例013 重绘ListBox控件 48实例014 带行数和标尺的RichTextBox 49实例015 根据文件大小显示文件复制进度条 54实例016 弹出模式窗口显示进度条 58实例017 Popup窗口提醒 61实例018 Vista风格的日历 64实例019 像Excel一样复制DataGridView中的单元格区域数据 69实例020 DataGridView中单元格合并及添加、显示行号 74实例021 从DataGridView控件中拖放数据到TreeView控件 78第3章 图形图像及多媒体应用实例022 生成中文验证码 86实例023 生成图片缩略图 88实例024 不失真压缩图片 90实例025 批量图像格式转换 93实例026 屏幕颜色拾取器 96实例027 为数码照片添加日期 98实例028 批量添加图片水印 100实例029 仿QQ截图功能 104实例030 屏幕抓图 107实例031 抓取网站整页面 109实例032 电子石英钟 113实例033 图片自动播放 115实例034 MP3播放器 118实例035 播放FLV文件 121实例036 Flash播放器 125第4章 报表打印技术实例037 自定义横向或纵向打印 130实例038 自定义打印页码范围 133实例039 分页打印 138实例040 打印条形码 141实例041 打印学生个人简历 145实例042 打印商品入库单据 148实例043 批量打印学生证书 150实例044 动态绑定水晶报表 153实例045 设计信封标签报表 157实例046 设计汇款单式报表 157第5章 鼠标键盘控制实例047 自定义动画鼠标 161实例048 鼠标设置器 163实例049 屏蔽鼠标按键 167实例050 虚拟键盘 172实例051 设置/屏蔽系统热键 182实例052 使用键盘控制窗体或控件的移动 189实例053 多功能键盘 190第6章 操作系统相关技术实例054 利用API设置桌面背景 196实例055 音乐风景桌面 198实例056 定时关闭计算机 201实例057 设置任务栏时间 205实例058 CPU使用率 206实例059 进程管理器 209实例060 数字大小写转换 212实例061 系统挂机锁 214实例062 全角半角转换 218实例063 动态系统托盘图标 221实例064 开机启动项管理 224实例065 显示器控制 228实例066 屏幕放大镜 231实例067 身份证号码验证工具 233第7章 文件及数据流应用实例068 文件批量更名 241实例069 分割与合成文件 244实例070 伪装文件夹 247实例071 获取所有逻辑磁盘目录 250实例072 汉字转拼音 253实例073 使用C#操作INI文件 255实例074 使用C#操作XML文件 257实例075 创建PDF文档 261实例076 批量将Word文档转换为HTML网页 263实例077 Word目录提取工具 265实例078 文件批量解压缩 269第8章 网络开发应用实例079 局域网端口扫描 276实例080 局域网IP地址扫描 280实例081 自动更换IP地址 283实例082 IP地址及手机号码归属地查询 28
1
共 301 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡