逻辑回归一般只能解决二分问题,但是进行扩展之后可以解决多线性分类问题。
这是一个完整的Softmaxregression解决多线性分类的源代码,python3编码,可直接运行,有输入数据和预测数据的可视化编程。
还训练部分和测试部分的源代码进行了封装,可直接运行。
1
第1章绪论1.1计算机图形学及其相关概念1.2计算机图形学的发展1.2.1计算机图形学学科的发展1.2.2图形硬件设备的发展1.2.3图形软件的发展1.3计算机图形学的应用1.3.1计算机辅助设计与制造1.3.2计算机辅助绘图1.3.3计算机辅助教学1.3.4办公自动化和电子出版技术1.3.5计算机艺术1.3.6在工业控制及交通方面的应用1.3.7在医疗卫生方面的应用1.3.8图形用户界面1.4计算机图形学研究动态1.4.1计算机动画1.4.2地理信息系统1.4.3人机交互1.4.4真实感图形显示1.4.5虚拟现实1.4.6科学计算可视化1.4.7并行图形处理第2章计算机图形系统及图形硬件2.1计算机图形系统概述2.1.1计算机图形系统的功能2.1.2计算机图形系统的结构2.2图形输入设备2.2.1键盘2.2.2鼠标器2.2.3光笔2.2.4触摸屏2.2.5操纵杆2.2.6跟踪球和空间球2.2.7数据手套2.2.8数字化仪2.2.9图像扫描仪2.2.10声频输入系统2.2.11视频输入系统2.3图形显示设备2.3.1阴极射线管2.3.2CRT图形显示器2.3.3平板显示器2.3.4三维观察设备2.4图形显示子系统2.4.1光栅扫描图形显示子系统的结构2.4.2绘制流水线2.4.3相关概念2.5图形硬拷贝设备2.5.1打印机2.5.2绘图仪2.6OpenGL图形软件包2.6.1OpenGL的主要功能2.6.2OpenGL的绘制流程2.6.3OpenGL的基本语法2.6.4一个完整的OpenGL程序第3章用户接口与交互式技术3.1用户接口设计3.1.1用户模型3.1.2显示屏幕的有效利用3.1.3反馈3.1.4一致性原则3.1.5减少记忆量3.1.6回退和出错处理3.1.7联机帮助3.1.8视觉效果设计3.1.9适应不同的用户3.2逻辑输入设备与输入处理3.2.1逻辑输入设备3.2.2输入模式3.3交互式绘图技术3.3.1基本交互式绘图技术3.3.2三维交互技术3.4OpenGL中橡皮筋技术的实现3.4.1基于鼠标的实现3.4.2基于键盘的实现3.5OpenGL中拾取操作的实现3.6OpenGL的菜单功能第4章图形的表示与数据结构4.1基本概念4.1.1基本图形元素4.1.2几何信息与拓扑信息4.1.3坐标系4.1.4实体的定义4.1.5正则集合运算4.1.6平面多面体与欧拉公式4.2三维形体的表示4.2.1多边形表面模型4.2.2扫描表示4.2.3构造实体几何法4.2.4空间位置枚举表示4.2.5八叉树4.2.6BSP树4.2.7OpenGL中的实体模型函数4.3非规则对象的表示4.3.1分形几何4.3.2形状语法4.3.3粒子系统4.3.4基于物理的建模4.3.5数据场的可视化4.4层次建模4.4.1段与层次建模4.4.2层次模型的实现4.4.3OpenGL中层次模型的实现第5章基本图形生成算法5.1直线的扫描转换5.1.1数值微分法5.1.2中点Bresenham算法5.1.3Bresenham算法5.2圆的扫描转换5.2.1八分法画圆5.2.2中点Bresenham画圆算法5.3椭圆的扫描转换5.3.1椭圆的特征5.3.2椭圆的中点Bresenham算法5.4多边形的扫描转换与区域填充5.4.1多边形的扫描转换5.4.2边缘填充算法5.4.3区域填充5.4.4其他相关概念5.5字符处理5.5.1点阵字符5.5.2矢量字符5.6属性处理5.6.1线型和线宽5.6.2字符的属性5.6.3区域填充的属性5.7反走样5.7.1过取样5.7.2简单的区域取样5.7.3加权区域取样5.8在OpenGL中绘制图形5.8.1点的绘制5.8.2直线的绘制5.8.3多边形面的绘制5.8.4OpenGL中的字符函数5.8.5Op
2025/11/5 19:37:38 110.55MB 图形学 VR
1
"java写三国杀源文件"揭示了一个基于Java编程语言开发的三国杀游戏项目。
在软件工程中,源文件是程序员编写代码的原始文本文件,通常以`.java`为扩展名,它们被编译成字节码,然后由Java虚拟机执行。
这个项目的名称"Alpha"版本0.5.11表明它仍处于早期开发阶段,可能存在一些未完善的功能或错误。
提到“基本实现了三国杀标准版的25个武将104张牌的所有技能”,这意味着开发者已经成功地编程实现了游戏的核心机制。
三国杀是一款基于三国历史背景的桌面策略卡牌游戏,其中包含各种武将角色,每个武将有独特的技能,以及多样的卡牌用于攻击、防御和策略。
25个武将对应了游戏中不同的角色选择,104张牌则是游戏中的道具和事件。
开发者已经把这些复杂的游戏规则转化为可执行的计算机程序。
在Java中实现这样的游戏,开发者可能使用面向对象编程思想,为每个武将和卡牌创建类,并定义相应的属性和方法。
例如,武将类可能包含一个表示其技能的方法,而卡牌类可能包含关于其效果的逻辑。
此外,游戏流程的控制可能通过一个主循环实现,处理玩家的回合、出牌、判定等过程。
由于项目还处于Alpha阶段,这意味着它可能缺乏完整的用户界面、稳定性测试、优化以及详细的文档。
开发者可能还在进行功能添加、bug修复和性能改进。
对于有兴趣深入学习或者参与该项目的人来说,这提供了一个很好的实践平台,可以了解如何将复杂的规则系统转化为代码,以及如何进行游戏逻辑的实现和调试。
"java"和"源文件"明确指出项目的技术栈和交付物,而"三国杀"则说明了应用领域。
Java是一种广泛应用的编程语言,以其跨平台性、稳定性和强大的库支持而闻名,非常适合开发这样的桌面游戏。
源文件的提供意味着源代码是公开的,允许其他人学习、修改和扩展项目。
这个Java实现的三国杀项目为学习游戏开发、Java编程以及项目管理提供了宝贵的资源。
开发者需要理解游戏规则,将其抽象为数据结构和算法,然后用Java语言表达出来。
同时,通过参与到这个项目,可以提升问题解决能力、代码组织技巧以及团队协作经验。
对于对三国杀游戏感兴趣的爱好者来说,这是一个将爱好与技术结合的绝佳机会。
2025/11/5 18:22:38 6.39MB java
1
**FCSAN存储网络简介**光纤通道(FC,FibreChannel)存储区域网络(SAN,StorageAreaNetwork)是一种专为高效传输大量数据而设计的网络架构,特别适用于企业级数据中心和大型服务器环境。
它将存储设备从传统的局域网(LAN)中分离出来,形成一个独立的高速网络,用于数据存储和备份。
FCSAN提供了高带宽、低延迟、高可靠性的特性,确保关键业务数据的安全性和可用性。
**FCSAN存储网络入门**构建FCSAN的基础是光纤通道硬件,包括光纤通道交换机、HBA(HostBusAdapter,主机总线适配器)和存储设备,如磁盘阵列或存储虚拟化设备。
HBA是服务器连接到FCSAN的接口,负责在服务器和存储系统之间传输数据。
交换机则如同路由器一样,管理数据在不同端口间的流动,确保数据包的正确路由。
FCSAN的配置通常包括以下步骤:1.**规划网络拓扑**:根据数据中心规模和需求,选择合适的交换机数量、类型和布局。
2.**设置HBA和交换机**:安装HBA驱动,配置交换机端口,建立Zoning(区域)来控制数据流量和访问权限。
3.**连接存储设备**:通过光纤通道线缆将HBA连接到交换机,再将交换机连接到存储设备。
4.**初始化和配置存储**:设置RAID级别,创建LUN(逻辑单元号),分配给服务器进行挂载。
**FCSAN配置**配置FCSAN时,需要考虑以下关键要素:-**zoning策略**:通过zoning来隔离和管理不同服务器对存储设备的访问,防止数据冲突和安全问题。
-**WWNN和WWPN**:每个HBA都有全球唯一的名字(WorldWideNodeName)和端口名字(WorldWidePortName),用于识别和管理网络中的设备。
-**多路径**:配置多条到存储的路径以实现负载均衡和故障切换,提高系统的可用性。
-**服务质量(QoS)**:根据业务优先级设置带宽分配,确保关键应用的性能。
**日常巡检**对于FCSAN的日常运维,主要关注以下方面:1.**监控性能**:检查交换机和存储设备的I/O速率、带宽利用率,确保系统运行正常。
2.**错误检测**:查看日志,发现并解决错误,如丢包、帧错等。
3.**链路状态**:确认所有连接是否稳定,及时处理链路故障。
4.**Zoning和权限检查**:确保Zoning策略符合安全需求,防止未经授权的访问。
5.**备份与恢复**:定期执行数据备份,测试恢复流程,以防数据丢失。
**总结**FCSAN存储网络是企业级数据中心的核心组成部分,它提供了高性能、高可靠性的数据存储解决方案。
了解其基本原理、配置方法以及日常运维要点,对于确保数据中心的稳定运行至关重要。
在实际操作中,还需要不断学习和适应新技术,如FCoE(FCoverEthernet)、NVMeoverFabrics,以满足不断增长的存储需求和性能挑战。
2025/11/5 15:03:46 6.61MB
1
微机接口技术实验报告微机接口技术实验报告是计算机科学和技术专业的实验报告,旨在掌握微机接口技术的基本原理和开发方法。
本实验报告涵盖了简单I/O口扩展实验和8255并行口实验两个部分。
一、简单I/O口扩展实验实验目的:1.熟悉74LS273和74LS244的应用接口方法。
2.掌握用锁存器、三态门扩展简单并行输入、输出口的方法。
3.通过本实验,掌握嵌入式系统的基础开发方法,掌握本实验平台的基本开发步骤,熟悉开发软、硬件平台的使用,学会程序的单步调试运行。
实验设备:*CPU挂箱*8086CPU模块实验内容:1.逻辑电平开关的状态输入74LS244,然后通过74LS273锁存输出,利用LED显示电路作为输出的状态显示。
实验原理介绍:本实验用到两部分电路:开关量输入输出电路,简单I/O口扩展电路。
实验步骤:1.实验接线:CS0?CS244;
CS1?CS273;
平推开关的输出K1~K8?IN0~IN7(对应连接);
00~07?LED1~LED8。
2.编辑程序,单步运行,调试程序3.调试通过后,全速运行程序,观看实验结果。
4.编写实验报告。
实验提示:74LS244或74LS273的片选信号可以改变,例如连接CS2,此时应同时修改程序中相应的地址。
实验结果:程序全速运行后,逻辑电平开关的状态改变应能在LED上显示出来。
例如:K2置于L位置,则对应的LED2应该点亮。
改进实验:提示:地址分配表如下:CS0片选信号,地址04A0~04AF偶地址有效CS1片选信号,地址04B0~04BF偶地址有效CS2片选信号,地址04C0~04CF偶地址有效CS3片选信号,地址04D0~04DF偶地址有效CS4片选信号,地址04E0~04EF偶地址有效CS5片选信号,地址04F0~04FF偶地址有效CS6片选信号,地址0000~01FF偶地址有效CS7片选信号,地址0200~03FF偶地址有效改变片选信号线的连接方式,如:CS3?CS244;
CS4?CS273;
请修改相应的程序实现上述方案中的功能。
二、8255并行口实验实验目的:掌握8255A的编程原理实验设备:*CPU挂箱*8086CPU模块实验内容:8255A的A口作为输入口,与逻辑电平开关相连。
8255A的B口作为输出口,与发光二极管相连。
编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。
实验原理介绍:本实验用到两部分电路:开关量输入输出电路和8255可编程并口电路。
实验步骤:1.实验接线CS0?CS8255,PA0~PA7,平推开关的输出K1~K8,PB0~PB7?发光二极管的输入LDE1~LDE8。
2.编程并全速或单步运行3.全速运行时拨动开关,观察发光二极管的变化,当开关某位置于L时,对应的发光二极管点亮,置于H时熄灭。
实验提示:8255A是一种比较常用的并行接口芯片,其特点在许多教科书中均有介绍,8255A有三个8位的输入输出端口,通常将A端口作为输入用,B端口作为输出用,C端口作为辅助控制用,本实验也是如此。
实验中8255A工作基本输入输出方式(方式0)
2025/11/2 18:34:27 50KB
1
纯Kotlin开发的一款简单的天气应用。
国际惯例,先看截图:关于这个应用天气接口来源于 Apixu,UI参考于琥珀天气。
使用Kotlin语言开发,网络请求采用RxKotlinRetrofit实现。
其没有使用mvp,mvvm,drgger之类的框架,总体而言,代码与逻辑比较简单,更多的算是对Kotlin开发Android的初次尝试。
有什么问题,欢迎issue。
Demo体验Demo
2025/11/1 9:51:15 142KB 开源项目
1
用数字信号完成对数字量进行算术运算和逻辑运算的电路称为数字电路,或数字系统。
由于它具有逻辑运算和逻辑处理功能,所以又称数字逻辑电路。
现代的数字电路由半导体工艺制成的若干数字集成器件构造而成。
逻辑门是数字逻辑电路的基本单元。
存储器是用来存储二值数据的数字电路。
从整体上看,数字电路可以分为组合逻辑电路和时序逻辑电路两大类
2025/10/27 13:08:42 2.7MB 中国矿业大学 数字逻辑 习题答案
1
前半部分讲解的很基础而详细,后半部分附有大量案例。
发下目录,自己看着办吧。
目录译者序前言第一部分基础第1章概述 11.1Windows基础 11.1.1窗口类结构 21.1.2消息 21.1.3客户区和非客户区 21.1.4重叠窗口、弹出窗口和子窗口 21.1.5父窗口和宿主窗口 31.2Windows消息 31.2.1发送或寄送消息 41.2.2消息类型 41.2.3接收消息 41.2.4窗口处理函数的子类化 51.3窗口绘图 51.3.1设备环境 51.3.2绘图工具 61.3.3映射模式 61.3.4窗口视和视口视 61.3.5逻辑单位和设备单位 71.3.6绘图函数 71.3.7抖动和非抖动颜色 71.3.8设备无关位图 81.3.9元文件 81.3.10何时绘图 81.4MFC基础 81.5DeveloperStudio基础 91.6Windows和MFC总结 101.7基本类 101.8应用类 111.8.1文档视 111.8.2CWinApp(OC) 111.8.3文档模板 121.8.4线程 121.8.5CFrameWnd(OCW) 121.8.6CDocument(OC) 121.8.7CView(OCW) 131.8.8对话框应用程序 131.8.9SDI应用程序 131.8.10MDI应用程序 131.9其余用户界面类 131.9.1通用控件类 131.9.2菜单类(O) 141.9.3对话框类 151.9.4通用对话框MFC类 151.9.5控件条类(OCW) 151.9.6属性类 151.10绘图类 161.11其他MFC类 161.11.1文件类 161.11.2CArchive和序列化 161.11.3数据库类 171.11.4ODBC类 171.11.5DAO类 171.11.6数据集合类 171.11.7通信类 181.12类的消息机制 181.12.1MFC如何接收一个寄送消息 181.12.2MFC如何处理接收的消息 181.12.3UI对象 201.13小结 20第2章控制条 212.1通用控制条 212.2用API创建控制条 222.3用MFC创建控制条 242.3.1CToolBarCtrl和CStatusBarCtrl 242.3.2CToolBar和CStatusBar 242.3.3CControlBar 262.4停靠栏 272.4.1设置停靠功能 282.4.2自动改变大小和移动 302.4.3停靠栏小结 302.5浮动条 312.6MFC的高级控制条类小结 322.7视和控制条如何共享客户区 322.7.1CFrameWnd::RecalcLayout() 32 2.7.2CWnd::RepositionBars() 332.7.3CControlBar::OnSizeParent() 332.7.4CalcDynamicLayout()和CalcFixedLayout() 342.7.5CToolBar::CalcFixedLayout()和CToolBar::CalcDynamicLayout() 352.7.6工具栏布局 352.7.7CStatusBar::CalcFixedLayout() 362.7.8CDockBar::CalcFixedLayout() 362.7.9共享客户区小结 362.8对话条 372.9伸缩条 382.9.1CReBar和CReBarCtrl 392.9.2CReBar::CalcFixedLayout() 392.10命令条 392.11控制条窗口小部件风格 402.11.1工具栏按钮风格 402.11.2状态栏窗格风格 402.11.3伸缩条段风格 402.12设计自己的控制条 412.12.1重载CControlBar::CalcDynamic-Layout() 412.12.2增加WM_SIZEPARENT消息处理器 412.12.3重载CMainFrame::RecalcLayout() 412.12.4从CDockBar派生 422.13实例 422.14总结 42第3章通信 433.1进程间通信 433.1.1通信策略 433.1.2同步和异步通信 443.2窗口消息 443.2.1打开和关闭 443.2.2读与写 453.2.3回顾 453.3动态数据交换 463.3.1客户/服务器 463.3.2打开和关闭 463.3.3读和写 473.3.4其他DDE函数 483.3.5MFC支持 483.3.6回顾 493.4消息管道 493.4.1打开和关闭 493.4.2读和写 503.4.3回顾 513.5Windows套接字 513.5.1打开和关闭 523.5.2读和写 523.5.2通过Windows套接字序列化 533.5.3数据流和数据报 533.5.4回顾 543.6串行/并行通信 543.6.1打开和关闭 543.6.2读和写 543.6.3配置端口 553.6.4回顾 553.7Internet通信 563.7.1打开和关闭文件 563.7.2读文件 563.7.3打开和关闭连接 563.7.4其他Internet类 573.8通信方式小结 573.9共享数据 583.10共享内存文件 583.10.1创建和销毁 583.10.2读和写 583.10.3回顾 593.11文件映射 593.11.1打开和关闭 593.11.2读和写 603.11.3数据同步 603.11.4回顾 603.12客户/服务器 613.12.1传递调用参数 613.12.2远程过程调用 623.13小结 62第二部分用户界面实例第4章应用程序和环境 644.1实例1:在工具栏中添加静态标识符 644.2实例2:在工具栏中添加动态标识符 714.3实例3:只启动一个实例 754.4实例4:创建对话框/MDI混合式应用程序 774.5实例5:在系统托盘中添加图标 794.6实例6:主菜单状态栏中的标记 81第5章菜单、控件条和状态栏 855.1实例7:在菜单中添加图标 855.2实例8:调整命令条外观 975.3实例9:可编程工具栏 1025.4实例10:在对话框中添加工具栏、菜单和状态栏 1275.5实例11:在弹出菜单中增加位图标记 1295.6实例12:工具栏上的下拉按钮 1315.7实例13:在状态栏中添加图标 1365.8实例14:使用伸缩条 141第6章视 1436.1实例15:创建标签窗体视 1436.2实例16:创建具有通用控件的视 1506.3实例17:打印报表 1566.4实例18:打印视 1676.5实例19:绘制MDI客户视 1746.6实例20:拖放文件到视 177第7章对话框和对话条 1797.1实例21:动态改变对话框的尺寸 1797.2实例22:自定义数据交换并验证 1847.3实例23:重载通用文件对话框 1877.4实例24:重载通用颜色对话框 1907.5实例25:获得目录名 1927.6实例26:子对话框 1977.7实例27:子属性表 198第8章控件窗口 2008.1实例28:自己绘制的控件 2008.2实例29:在窗口标题中添加按钮 2048.3实例30:添加热键控件 211第9章绘图 2139.1实例31:使用非散射颜色 2139.2实例32:伸展位图 2279.3实例33:抓取屏幕 2319.4实例34:输出DIB位图文件 236第10章帮助 24310.1实例35:添加帮助菜单项 24310.2实例36:添加上下文相关帮助 24510.3实例37:添加气泡帮助 247第11章普通窗口 25411.1实例38:创建普通窗口 25411.2实例39:创建短调用形式窗口类 25611.3实例40:创建长调用形式窗口类 258第12章特定的应用程序 26112.1实例41:创建简单的文本编辑器 26112.2实例42:生成简单的RTF编辑器 26212.3实例43:创建资源管理器界面 26512.4实例44:创建简单的ODBC数据库编辑器 28412.5实例45:创建简单的DAO数据库编辑器 28712.6实例46:创建简单的向导 289第三部分内部处理实例第13章消息和通信 29513.1实例47:等待消息 29613.2实例48:清除消息 29713.3实例49:向其他应用程序发送消息 29813.4实例50:与其他应用程序共享数据 30013.5实例51:使用套接字与任意的应用程序通信 30113.6实例52:使用串行或并行I/O 321第14章多任务 33114.1实例53:后台处理 33114.2实例54:运行其他应用程序 33214.3实例55:改变优先级 33414.4实例56:应用程序内部的多任务工作者线程 33614.5实例57:应用程序内部的多任务—用户界面线程 33914.6实例58:向用户界面线程发送消息 34214.7实例59:线程间的数据共享 343第15章其他 34715.1实例60:创建定时器 34715.2实例61:播放声音 34915.3实例62:创建VC++宏 35015.4实例63:使用函数地址 35115.5实例64:二进制字符串 35215.6实例65:重新启动计算机 35615.7实例66:获得可用磁盘空间 35715.8实例67:闪烁窗口和文本 358第四部分附录附录A消息和重载顺序 361附录B绘图结构 385
2025/10/26 16:29:39 6.89MB MFC
1
Matlab写的区域生长图像分割程序。
%区域生长算法:regionfunctionLabelImage=region(image,seed,Threshold,maxv)%image:输入图像%seed:种子点坐标堆栈%threshold:用邻域近似生长规则的阈值%maxv:所有生长的像素的范围小于maxv%LabelImage:输出的标记图像,其中每个像素所述区域标记为rn[seedNum,tem]=size(seed);%seedNum为种子个数[Width,Height]=size(image);LabelImage=zeros(Width,Height);rn=0;%区域标记号码fori=1:seedNum%从没有被标记的种子点开始进行生长ifLabelImage(seed(i,1),seed(i,2))==0rn=rn+1;%%对当前生长区域赋标号值LabelImage(seed(i,1),seed(i,2))=rn;%endstack(1,1)=seed(i,1);%将种子点压入堆栈(堆栈用来在生长过程中的数据坐标)stack(1,2)=seed(i,2);Start=1;%定义堆栈起点和终点End=1;while(Start<=End)%当前种子点坐标CurrX=stack(Start,1);CurrY=stack(Start,2);%对当前点的8邻域进行遍历form=-1:1forn=-1:1%%判断像素(CurrX,CurrY)是否在图像内部%rule1=(CurrX+m)=1&(CurrY+n)=1;%%判断像素(CurrX,CurrY)是否已经处理过%rule2=LabelImage(CurrX+m,CurrY+n)==0;%%判断生长条件是否满足%rule3=abs(double(image(CurrX,CurrY))-double(image(CurrX+m,CurrY+n)))<Threshold;%%条件组合%rules=rule1&rule2&rule3;if(CurrX+m)=1&(CurrY+n)=1&LabelImage(CurrX+m,CurrY+n)==0&abs(double(image(CurrX,CurrY))-double(image(CurrX+m,CurrY+n)))<=Threshold&image(CurrX+m,CurrY+n)0%堆栈的尾部指针后移一位End=End+1;%像素(CurrX+m,CurrY+n)压入堆栈stack(End,1)=CurrX+m;stack(End,2)=CurrY+n;%把像素(CurrX,CurrY)设置成逻辑1LabelImage(CurrX+m,CurrY+n)=rn;endendend%堆栈的尾部指针后移一位Start=Start+1;endend
2025/10/26 12:49:14 2KB 区域生长图像分割
1
SSM+MySQL酒店管理系统源码,资源来自网络,比较老的一个项目,Spring使用的是3.1.1版本的,功能比较全面,业务逻辑有点混乱吧。
交个小作业还是可以的。
导入请使用Eclipse,导入其他问题评论或私信。
117.28MB SSM Spring Spring MVC
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡