【电子秤设计】电子秤是电子衡器的一种,随着电子技术的发展,电子秤逐渐替代了传统的机械杠杆测量称,成为了现代测量领域的主流产品。
电子秤的发展趋势体现在小型化、模块化、集成化和智能化,其技术性能追求高速度、高精度、高稳定性和高可靠性,功能上则注重控制信息和非控制信息的融合,实现“智能化”。
【手提电子秤】手提电子秤在日常生活中广泛应用,因其精确度高、操作简便、成本低廉和便携性好而深受消费者青睐。
设计一款手提电子秤,需要满足以下要求:使用电阻应变式传感器进行重量信号测量,称重范围不超过5kg,测量精度要求在±0.01%以内,显示方式为LCD显示屏。
【设计要求与任务】设计手提电子秤时,需考虑以下几点:制定数据采集和显示系统的总体方案,设计信号调理电路并选配合适的元器件,选择满足精度要求的A/D转换器,构建单片机系统电路和显示单元,绘制电路原理图和软件流程图,同时编写详细的课程设计说明书。
【总体方案设计】手提电子秤的工作原理涉及多个环节:电阻应变式传感器捕捉重量信号,信号经过差动放大电路增强;
接着,A/D转换电路将放大后的模拟信号转化为数字信号;
这些数字信号传递至显示电路,通过LCD显示屏呈现数据。
【硬件电路设计】在硬件设计中,选择了电阻应变式传感器,它基于金属电阻丝在外力作用下产生电阻变化的原理工作。
传感器主要包括电阻应变片、弹性体和检测电路,其中电阻应变片的灵敏系数K是关键参数,它决定了传感器对外力变化的响应程度。
设计一款便携式手提电子秤需要深入理解电子秤的工作原理,选择适当的传感器和电路组件,确保测量精度和显示效果,同时考虑设备的便携性和成本效益。
在实际设计过程中,还需要通过软件编程实现数据处理和用户交互,以提供准确、便捷的称重服务。
2025/6/20 7:27:39 562KB
1

这篇论文《A银行山西省分行人力资源信息化改革研究基于“互联网+”视角的分析》深入探讨了在信息化浪潮下,传统银行业如何通过改革人力资源管理,利用互联网技术实现转型与升级。
以下是对该主题的详细阐述:一、引言随着科技的飞速发展,“互联网+”已经渗透到各行各业,银行业也不例外。
本论文以A银行山西省分行为研究对象,分析其在人力资源信息化改革中的挑战和机遇,旨在为其他金融机构提供参考和借鉴。
二、背景分析在当前竞争激烈的金融环境中,银行需要提高效率、降低成本并提升服务质量。
人力资源作为银行业的重要组成部分,其信息化改革是实现这一目标的关键。
互联网技术的应用,如云计算、大数据和人工智能,为人力资源管理带来了革命性的变革。
三、人力资源信息化的必要性1. 提升决策效率:通过数据分析,银行可以更精准地评估员工绩效,制定合理的人力资源策略。
2. 优化流程:互联网技术可以简化招聘、培训、考核等流程,提高工作效率。
3. 增强员工体验:移动应用和自助服务平台让员工可以随时随地处理人事事务,提高满意度。
四、A银行山西省分行的具体实践A银行利用互联网工具,构建了集招聘、培训、绩效评估、薪酬福利等模块于一体的信息化平台。
通过这个平台,实现了人力资源数据的实时更新和分析,增强了决策的科学性。
五、改革中的挑战与对策1. 技术挑战:如何选择合适的技术方案,确保系统的稳定性和安全性。
2. 组织变革:如何引导员工接受新的工作方式,克服抵触情绪。
3. 数据隐私:如何在利用数据的同时,保障员工的隐私权益。
六、案例分析与启示通过对A银行山西省分行的案例分析,我们可以看到,成功的人力资源信息化改革需要有明确的战略规划、技术选型的谨慎以及全员参与的推动。
七、结论“互联网+”时代,人力资源信息化改革对于银行业来说,既是挑战也是机遇。
A银行山西省分行的经验表明,通过合理运用互联网技术,可以重塑人力资源管理,提高银行的核心竞争力。
八、未来展望随着5G、物联网等新技术的发展,人力资源信息化将更加智能化和个性化。
银行业需要不断探索,以适应日新月异的科技环境,持续优化人力资源管理,实现可持续发展。
这篇论文以详实的数据和实例,深入剖析了A银行山西省分行在人力资源信息化改革中的实践和思考,对于理解银行业在“互联网+”时代的转型路径具有重要价值。
2025/6/20 2:46:57 437KB
1

在IT行业中,后端开发是构建应用程序不可或缺的一部分,而Python语言因其简洁明了的语法和丰富的库支持,已经成为后端开发领域中的热门选择。
"backend_python"这个项目可能是一个专门探讨使用Python进行后端开发的资源集合。
让我们深入了解一下Python在后端开发中的应用和相关知识点。
Python作为一门解释型、面向对象的高级编程语言,其特点在于可读性强,易于学习,适合快速开发。
在后端开发中,Python主要通过以下几个方面展现其强大功能:1. **Web框架**:Python拥有许多成熟的Web框架,如Django、Flask、Tornado等。
Django是一个功能齐全的MVC(Model-View-Controller)框架,提供了强大的ORM(对象关系映射)和内置的管理界面,适合大型复杂项目。
Flask则轻量级且灵活,适用于快速开发小型应用。
Tornado则以其异步I/O模型在高并发场景下表现出色。
2. **数据库操作**:Python支持多种数据库,如MySQL、PostgreSQL、SQLite等,通过相应的数据库连接库如pymysql、psycopg2、sqlite3等进行数据交互。
ORM库如SQLAlchemy和Peewee可以进一步简化数据库操作。
3. **API开发**:Python可以方便地创建RESTful API,通过框架如Flask-Restful或Django REST framework,可以快速构建符合HTTP标准的接口,便于前后端分离。
4. **数据处理与分析**:Python的Pandas库为数据分析提供了强大的工具,NumPy和SciPy则在科学计算领域有着广泛的应用。
对于大数据处理,Apache Spark可以通过PySpark接口与Python结合,实现高效的数据处理。
5. **并发与异步**:Python 3.5及以后版本引入了asyncio模块,支持协程和异步编程,使得Python也能处理高并发场景。
6. **部署与运维**:Python的Fabric和Ansible可以用于自动化部署和系统管理,而Gunicorn和uWSGI则是常用的Python WSGI服务器,用于承载Web应用。
7. **微服务架构**:Python在构建微服务方面也十分便捷,利用Flask或Django可以快速构建独立的服务单元。
8. **测试**:Python的unittest、pytest和behave等库提供了全面的测试支持,确保代码质量和稳定性。
9. **安全**:Python的requests库用于安全的HTTP请求,而cryptography和pyOpenSSL库则提供了加密和网络安全相关功能。
10. **持续集成/持续部署(CI/CD)**:Jenkins、GitLab CI/CD、Travis CI等工具都可以与Python项目很好地集成,实现自动化的测试和部署流程。
"backend_python-main"这个文件名可能是项目的主要入口或者源代码目录,包含了项目的主程序、配置、路由、模型等核心部分。
通过对这个目录的深入研究,可以更具体地了解项目如何运用以上知识点进行实际的后端开发。
Python在后端开发中的应用广泛且深入,无论是在小型快速原型还是大型企业级应用中,都能发挥其独特的优势。
2025/6/19 23:26:33 12KB
1

【列宁伯尔尼笔记研究】的文档主要探讨了列宁哲学思想的发展和转变,特别是通过对列宁在伯尔尼时期研究黑格尔哲学的笔记的分析。
列宁的哲学思想经历了从他性镜像阅读到自主性理论空间的转换,这一转变在列宁的不同时期呈现出不同的特征。
列宁的哲学思想发展并非一蹴而就,而是有一个长期的历史进程。
从19世纪末开始,列宁的思想经历了三个主要阶段。
第一阶段是1894年至1906年,这一阶段的列宁更关注于将马克思主义哲学应用于革命实践,而非进行理论学术的研究。
第二阶段是1906年至1913年,列宁开始系统学习和研究哲学理论,深化对唯物主义和认识论的理解。
第三阶段是1914年至1916年,列宁对黑格尔的辩证法和认识论进行了深入研究,这部分内容体现在“伯尔尼笔记”中。
对于“伯尔尼笔记”的研究,传统观点往往认为列宁计划撰写一部关于唯物辩证法的学术专著,这是一种目的论的解读。
然而,这种“计划构想论”可能并不准确。
作者指出,列宁的哲学研究并非有预设的线性计划,而是随着现实斗争和理论探索的深化而自然发展的。
在这一时期,列宁对马克思主义哲学,尤其是黑格尔辩证法的深入探究,体现了他哲学思想的自主性和革命性转变。
1914年至1916年的研究中,列宁对黑格尔辩证法的思考并非单纯为了撰写学术著作,而是为了更好地理解和应用马克思主义哲学于俄国革命的实际需求。
这一时期的哲学探索反映了列宁对马克思主义哲学核心——唯物辩证法的深入认识,揭示了其思想从依赖于他人的观点向独立理论构建的转变。
在列宁的早期,他对马克思主义哲学的了解并不全面且不深入,很大程度上依赖普列汉诺夫等人的引导。
直到1908年为了反驳马赫主义,列宁才开始系统学习哲学,但那时仍未充分认识到唯物辩证法的重要性。
直至“伯尔尼笔记”时期,列宁对这一关键理论有了深刻认识,标志着其哲学思想进入了一个新的高度。
列宁的哲学思想经历了从实践应用到理论研究的转变,从对他人的依赖到自我理论构建的自主性提升,尤其是在“伯尔尼笔记”中,列宁通过深入研究黑格尔哲学,为马克思主义哲学提供了新的视角和理论深度。
这一研究对于理解列宁的哲学发展路径及其对俄国革命的影响具有重要意义。
2025/6/19 23:26:18 33KB
1

《微型计算机技术》是一门针对理工科学生的专业课程,旨在教授微型计算机系统的基本构造、工作原理及接口技术。
这门课程对于理解计算机科学与技术专业至关重要,因为它涵盖了微处理器、接口设计、应用软件开发等核心内容,为学生将来在微型计算机系统开发和应用领域打下坚实的基础。
教学目标是让学生掌握微型计算机的基本概念、理论和方法,理解其系统特点、工作原理和组织结构。
课程内容主要包括以下几个方面:1. 微型计算机系统的组织结构及工作原理:学生需要了解微处理器芯片、微型计算机及微型计算机系统的构成,掌握它们的基本工作流程。
其中,微处理器是计算机的核心,包括运算器和控制器,用于执行算术和逻辑运算以及操作控制。
寄存器则用于存储数据、中间结果和地址。
2. 微型计算机接口原理及应用技术:接口技术是连接微处理器与外界的关键。
课程会详细讲解定时计数器、并行接口、串行接口、中断控制器、DMA控制器、A/D和D/A转换器接口的工作原理,以及如何设计硬件接口电路和编写相关驱动程序。
3. 微型计算机技术的现状与发展趋势:课程会讨论嵌入式系统、软硬件协同设计、系统芯片(SoC)以及知识产权内核(IP核)等前沿技术,让学生了解行业的最新动态。
此外,微型计算机技术课程与其他核心课程如计算机组成原理、计算机系统结构紧密相关,但各有侧重点。
计算机系统结构主要关注系统的结构设计和性能分析,计算机组成原理则深入探讨基本部件的构成和设计,而微型计算机技术则更注重实际应用和编程方法。
教材推荐包括孙德文的《微型计算机技术》作为主要教材,以及刘乐善等编著的《微型计算机接口技术及其应用》和周明德的《微型计算机原理及应用》作为参考书,这些书籍将帮助学生深入理解微型计算机系统的各个方面。
第一章的介绍中,会涉及微处理器、微型计算机和微型计算机系统的定义,以及它们之间的关系。
还会讲解微处理器的发展历程,如摩尔定律,即芯片技术每隔18-24个月会有一次显著提升。
通过学习,学生需要掌握微型计算机系统各组件的功能,理解总线结构的重要性,以及如何利用总线结构将不同部分连接起来构建完整的系统。
《微型计算机技术》的学习不仅包含了硬件层面的知识,还涉及到软件设计和系统集成,是一门理论与实践相结合的重要课程。
通过深入学习,学生将能够具备分析和设计微型计算机系统的能力,为未来的职业生涯做好准备。
2025/6/19 23:26:03 4.49MB
1

LSTM(Long Short-Term Memory)是一种特殊的循环神经网络(RNN),专为解决传统RNN在处理长期依赖问题上的不足而设计。
在序列数据的建模和预测任务中,如自然语言处理、语音识别、时间序列分析等领域,LSTM表现出色。
本项目“LSTM-master.zip”提供的代码是基于TensorFlow实现的LSTM模型,涵盖了多种应用场景,包括多步预测和单变量或多变量预测。
我们来深入理解LSTM的基本结构。
LSTM单元由输入门、遗忘门和输出门组成,以及一个称为细胞状态的特殊单元,用于存储长期信息。
通过这些门控机制,LSTM能够有效地选择性地记住或忘记信息,从而在处理长序列时避免梯度消失或梯度爆炸问题。
在多步预测中,LSTM通常用于对未来多个时间步的值进行连续预测。
例如,在天气预报或者股票价格预测中,模型不仅需要根据当前信息预测下一个时间点的结果,还需要进一步预测接下来的多个时间点。
这个项目中的“多步的迭代按照步长预测的LSTM”可能涉及使用递归或堆叠的LSTM层来逐步生成未来多个时间点的预测值。
另一方面,单变量预测是指仅基于单一特征进行预测,而多变量预测则涉及到多个特征。
在“多变量和单变量预测的LSTM”中,可能包含了对不同输入维度的处理方式,例如如何将多维输入数据编码到LSTM的输入向量中,以及如何利用这些信息进行联合预测。
在多变量预测中,LSTM可以捕获不同特征之间的复杂交互关系,提高预测的准确性。
TensorFlow是一个强大的开源库,广泛应用于深度学习模型的构建和训练。
在这个项目中,使用TensorFlow可以方便地定义LSTM模型的计算图,执行反向传播优化,以及实现模型的保存和加载等功能。
此外,TensorFlow还提供了丰富的工具和API,如数据预处理、模型评估等,有助于整个预测系统的开发和调试。
在探索此项目时,你可以学习到以下关键点:1. LSTM单元的工作原理和实现细节。
2. 如何使用TensorFlow构建和训练LSTM模型。
3. 处理序列数据的技巧,如时间序列切片、数据标准化等。
4. 多步预测的策略,如滑动窗口方法。
5. 单变量与多变量预测模型的差异及其应用。
6. 模型评估指标,如均方误差(MSE)、平均绝对误差(MAE)等。
通过深入研究这个项目,你不仅可以掌握LSTM模型的使用,还能提升在实际问题中应用深度学习解决序列预测问题的能力。
同时,对于希望进一步提升技能的开发者,还可以尝试改进模型,比如引入注意力机制、优化超参数、或者结合其他序列模型(如GRU)进行比较研究。
2025/6/19 19:17:59 5.42MB
1

ASP(Active Server Pages)是一种微软开发的服务器端脚本语言,常用于构建动态网页。
这个“asp常用函数.rar”压缩包包含了一些在ASP编程中常用的函数,这些函数可以帮助开发者更高效地处理字符串、数字和数据转换,从而提高开发效率。
1. **字符串处理函数** - `Len()`:返回字符串的长度,这对于确定字符串内容和处理字符串截取非常有用。
- `Left()`:从字符串的左侧提取指定数量的字符。
- `Right()`:从字符串的右侧提取指定数量的字符。
- `Mid()`:从字符串中间提取指定长度的子串。
- `Trim()`:删除字符串首尾的空格。
- `LTrim()`:删除字符串左侧的空格。
- `RTrim()`:删除字符串右侧的空格。
- `StrConv()`:进行字符串转换,如大小写转换、货币格式化等。
2. **数字处理函数** - `Int()`:将数字向下取整为最接近的整数。
- `Round()`:四舍五入到指定的小数位数。
- `FormatNumber()`:格式化数字,例如添加千位分隔符或控制小数位数。
3. **转换函数** - `CStr()`:将其他类型的数据转换为字符串。
- `CInt()`:将字符串或其他类型的数据转换为整数。
- `CDbl()`:将字符串或其他类型的数据转换为双精度浮点数。
- `CDate()`:将字符串转换为日期时间类型。
- `CLng()`:将字符串或其他类型的数据转换为长整型。
4. **其他常见函数** - `Request()`:获取HTTP请求中的数据,如表单变量、查询字符串等。
- `Response()`:发送HTTP响应,可以用来输出HTML、设置HTTP头等。
- `Server.URLEncode()`:对URL中的特殊字符进行编码,防止URL解析问题。
- `Session()`:处理用户会话状态,存储和检索用户的特定信息。
- `Application()`:在所有用户间共享数据,适用于全局变量。
这些函数是ASP编程的基础,了解并熟练掌握它们对于编写高效、可维护的ASP代码至关重要。
通过"asp常用函数.htm"文档,你可以深入学习每个函数的用法、参数和返回值,以便在实际项目中灵活应用。
记住,理解和实践这些函数是提升ASP编程技能的关键步骤。
2025/6/19 18:22:46 9KB
1

这篇内容将围绕“灰色渐变边框个人简历模板”这一主题,深入探讨如何利用网页模板设计一份具有专业感和个人特色的简历。
在这个数字化时代,一份出色的在线简历能够为求职者增添亮点,提高竞争力。
我们要了解的是“简历”在IT行业的应用。
在求职过程中,简历是展示个人技能、经历和成就的重要工具。
而随着互联网技术的发展,电子简历或在线简历变得越来越普遍,它们可以更直观地展示求职者的个性和专业能力,通过网页形式的简历,可以添加动态效果、多媒体元素,使内容更加生动。
“网页模板”是创建网页的一种快捷方式。
它提供了预设的布局、颜色方案和设计元素,使得非专业设计师也能快速构建出美观的网页。
在这个案例中,“灰色渐变边框个人简历模板”可能包含了一套简洁、专业的设计风格,利用灰色调的渐变边框来营造稳重而不失现代感的视觉效果。
在压缩包文件中,我们看到以下几个关键文件:1. **style.css**:这是CSS(Cascading Style Sheets)样式表文件,用于定义网页的样式,包括字体、颜色、布局等。
在这个模板中,它可能包含了边框的渐变效果和其他页面元素的样式规则。
2. **index.html**:这是HTML(HyperText Markup Language)文件,是网页的主体结构,包含文本、图像和其他元素的标记。
在这个简历模板中,它会指导浏览器如何呈现个人信息、工作经历、技能等部分。
3. **_desktop.ini**:这是一个系统文件,通常用于设置Windows系统中文件夹的属性,例如图标、显示方式等。
在这个上下文中,它可能与模板的桌面视图配置有关。
4. **ReadMe.txt**:这是一个常见的文本文件,通常包含关于软件或项目的基本信息、使用指南或注意事项。
在这个压缩包中,它可能会提供关于如何使用这个模板的说明。
5. **松设计漂亮的网页-mobanwang.com.url**:这是一个书签文件,指向一个网页设计资源网站,可能提供了更多模板或者其他设计相关的资源。
6. **images**:这是一个文件夹,通常包含网页中使用的图像文件。
在这个模板中,可能会有头像、示例作品或其他增强视觉效果的图片。
通过编辑和定制这些文件,用户可以根据自己的需求调整简历模板,例如替换个人照片、修改文字内容、调整边框样式等,以创造出独一无二的在线简历。
对于求职者而言,掌握基本的HTML和CSS知识可以帮助更好地利用这类模板,进一步优化自己的简历,提升求职成功率。
2025/6/19 16:47:07 28KB
1

颜色分类leetcode哈里斯角Kps和描述符提取这是纯numpy的Hog特征提取特征描述符特征描述符是图像或图像块的表示,它通过提取有用信息并丢弃无关信息来简化图像。
通常,特征描述符将大小为宽x高x3(通道)的图像转换为长度为n的特征向量/数组。
在HOG特征描述符的情况下,输入图像的大小为64x128x3,输出特征向量的长度为3780。
请记住,可以针对其他大小计算HOG描述符,但在这篇文章中,我坚持使用原始论文中提供的数字,以便您可以通过一个具体示例轻松理解该概念。
这一切听起来不错,但什么是“有用的”,什么是“无关紧要的”?要定义“有用”,我们需要知道它“有用”是为了什么?显然,特征向量对于查看图像是没有用的。
但是,它对于图像识别和对象检测等任务非常有用。
当将这些算法产生的特征向量输入到支持向量机(SVM)等图像分类算法时,会产生良好的结果。
但是,什么样的“特征”对分类任务有用?让我们用一个例子来讨论这一点。
假设我们要构建一个对象检测器来检测衬衫和外套的纽扣。
纽扣是圆形的(在图像中可能看起来是椭圆形的)并
2025/6/19 13:18:46 459KB
1

### Linux下sersync的安装及使用:深入解析与实践指南#### SVN的全面解析与部署**一、SVN简介**Subversion(简称SVN)是一种开源版本控制系统,广泛应用于软件开发领域,用于管理代码的变更历史。
版本库(repository)作为SVN的核心组成部分,存储所有版本的数据和元数据。
在Linux环境下,SVN的部署和使用成为开发者和系统管理员关注的重点。
SVN的版本库数据存储有两大模式:BerkeleyDB和FSFS。
BerkeleyDB是一种高性能的嵌入式数据库,适合处理大量的快速交易和查询,但在系统异常或权限问题时可能需要恢复。
相比之下,FSFS使用文件系统级别的存储,对操作中断不敏感,支持只读加载,具有更好的跨平台兼容性和网络文件系统访问能力。
FSFS的版本库大小相对较小,适用于处理大量修订版本和文件目录,检出速度和大量提交性能优于BerkeleyDB。
#### 二、SVN的搭建与配置##### 1、软件准备构建SVN环境需准备以下软件包:- Apache服务器:用于提供Web服务和访问SVN仓库的接口。
- APR/APR-Util:Apache的运行库和工具集,为SVN提供底层支持。
- SQLite:轻量级的数据库引擎,部分SVN实现依赖于它。
- Subversion:版本控制系统的主程序。
- 客户端工具:如TortoiseSVN,用于Windows平台的图形化SVN客户端。
##### 2、安装步骤**安装Apache服务器**:配置Apache时,务必添加`--enable-dav`和`--enable-so`选项,以启用Distributed Authoring and Versioning(DAV)模块和动态加载模块的能力。
**安装APR/APR-Util**:确保系统中有Python、autoconf和libtool等工具,然后按照顺序编译和安装APR和APR-Util,注意APR-Util安装时需指定APR的路径。
**安装SQLite**:直接编译安装即可,无需额外配置。
**安装Subversion**:在安装了以上依赖后,编译Subversion前确保所有必需的库都已正确安装。
#### 三、SVN的使用与管理SVN的使用涵盖仓库创建、检出、提交、合并、分支和标签等多个方面。
仓库的创建可通过`svnadmin create`命令完成,而检出则通过`svn checkout`获取项目代码到本地。
提交修改使用`svn commit`,合并分支用`svn merge`,创建分支或标签用`svn copy`。
**四、最佳实践与技巧**- **权限管理**:合理设置用户权限,使用ACL(Access Control List)控制访问。
- **日志记录**:每次提交时写明变更原因,便于追踪和审计。
- **钩子脚本**:利用pre-commit和post-commit等钩子脚本自动化执行特定任务,如代码格式检查、自动化测试等。
- **备份与恢复**:定期备份版本库,确保数据安全。
Linux下的SVN安装和使用不仅涉及到软件的配置和部署,还涉及最佳实践的采纳,以确保版本控制的有效性和安全性。
对于开发团队而言,熟练掌握SVN的使用将极大提升协同开发效率和代码管理质量。
2025/6/19 12:08:49 1.27MB
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡