经理让我用Python写一个刷脸考勤系统,奖励我五万!我亏了吗?

26道大题python实战练习-习题 目录 Python数学计算,编程练习题实例一: Python数轴、长整型,编程练习题实例二: Python完全平方数,编程练习题实例三 Python日期计算,编程练习题实例四 Python整数顺序排列,编程练习题实例五 Python斐波那契数列应用,编程练习题实例六 Python列表数据复制,编程练习题实例七 Python乘法口诀计算,编程练习题实例八 Python time.sleep方法,编程练习题实例九 Python时间格式化,编程练习题实例十 Python兔子生兔子算法,编程练 阅读详情

需求分析

 

“员工刷脸考勤”系统,采用Python语言开发,可以通过摄像头添加员工面部信息,这里就涉及到两个具体的个问题,一个是应该以什么样的数据来标识每一个员工的面部信息,二是持久化地保存这些信息到数据库中去。更细地,还涉及表的设计;另一个基本要求是通过摄像头识别员工面部信息来完成考勤,这个问题基本可以通过遍历数据库里的员工面部数据与当前摄像头里的员工面部数据的比对来实现,但有一个问题就是假如摄像头里有多张人脸改怎么处理。扩展要求是导出每日的考勤表,可以拆分为两个部分,一个是存储考勤信息,一个是展示考勤信息。

 

 

 

 

我们希望达到的目标是:

(1)仿照通用型软件界面设计的原则,所有的操作都在菜单栏里实现,一部分区域用于展示摄像头实时读取并由程序加工后的视频流信息,另一部分区域做控制台输出,打印相关信息,比如提示员工面部信息添加成功、添加失败及其原因,提示员工打卡成功、打卡失败及其原因;添加面部信息时人是必须和程序进行交互的,比如输入一些相关的信息,这个时候程序是阻塞的;但是在打卡的时候,程序是不阻塞的,如果不点击关闭打卡,它会一直在打卡的模式,等待并识别每一个前来打卡的员工,这比较符合现实的使用场景。

(2)建表来存储员工信息和考勤信息,每次新建录入员工面部信息时,要求输入工号、姓名,并查无重后方可录入,录入时只取距离屏幕最近的员工的面部信息,这是考虑到实际打卡都是依次进行而不是一群人一群人地打卡,录入时有两种模式可供选择,自动模式:一旦识别到人脸就自动捕获截图,连续截图达到10张就结束录入;手动模式:点击菜单结束录入,不一定要得到10张。结束录入后就开始从刚才捕获的员工面部提取人脸特征数据并连同之前输入的员工姓名等数据作为一行记录保存到数据库中,如果没有捕获到员工面部或者刚才捕获的面部信息不是同一个人,这行记录就被丢弃。

考勤时,须满足三个条件:面部信息已录入、在打卡时间段内、未重复打卡,只有打卡成功,打卡人姓名及工号、打卡日期及时间才会被当成一行记录保存到数据库并在控制台输出打卡成功信息,否则会在控制台输出失败及其原因信息。

总而言之:我们的设计目标是规范化、人性化。

总体设计

 

为了完成上述目标一,程序的界面初始化分为三部分,第一部分初始化菜单栏,第二部分初始化左边控制台,第三部分初始化右边展示面板,使这三部分相互独立;数据逻辑部分的初始化分为两部分,第一部分是数据库部分的初始化,如果数据库/表不存在就新建,存在则加载相关数据,第二部分是初始化一些需要循环使用的变量,比如新建录入时的员工姓名、工号、截图数目计数器等,每当完成录入时这些数据都应该被重置成初始化以待下一次录入,把这些初始化语句写成一个函数可以提高代码复用度。

上述目标二主要是一些限制性条件,可以通过添加判断语句来实现,比如对输入id的合法性检验:

  •  
       while self.id == ID_WORKER_UNAVIABLE:
             self.id = wx.GetNumberFromUser(message="请输入您的工号(-1不可用)",prompt="工号", caption="温馨提示", value=ID_WORKER_UNAVIABLE, parent=self.bmp,max=100000000,min=ID_WORKER_UNAVIABLE)
             for knew_id in self.knew_id:
                if knew_id == self.id:
                    self.id = ID_WORKER_UNAVIABLE
                    wx.MessageBox(message="工号已存在,请重新输入", caption="警告")

 

其中ID_WORKER_UNAVIABLE是id的初始化值-1,不可用,self.knew.id是从数据库里加载出来的id列表,如果id非法(已重复或者不在0~100000000,就会一直有新的弹窗来提示输入id。

再比如对拒绝多张人脸时、只处理距离屏幕最近的员工的面部信息:

  •  
if len(dets) != 0:
biggest_face = dets[0]
#取占比最大的脸
maxArea = 0
for det in dets:
    w = det.right() - det.left()
    h = det.top()-det.bottom()
    if w*h > maxArea:
        biggest_face = det
        maxArea = w*h

 

dets是侦测到的所有面部数组,biggest_face是距离屏幕最近的面部。

程序框图:

 

 

 

 

注:图片如看不清也可在线预览

https://www.processon.com/view/link/5bbcc953e4b08faf8c7324a1

本程序的设计思想大致可分为以下几个方面

  •  
  • 面向对象的原则,整个程序的主体就是一个WAS(WorkAttendanceSystem)类,所有的实现都围绕这个类展开。
  • 界面和数据逻辑分离的原则,WAS类的初始化过程包括界面的初始化和数据初始化,两者相互独立。
  • 代码封装原则,多次调用的语句集写成接口供调用,没有冗余的代码。
  • 接口隔离原则:使用多个专门的接口,而不是使用单一的总接口。

 

函数清单

 

注:所有类内的函数的第一个参数为self,表明该函数属于该类,后面不再赘述

  •  
  • def __init__(self)
  • WAS类的构造函数,主要是完成一些初始化操作,如初始化菜单、信息打印面板、主展示面板以及初始化加载数据库、初始化循环使用的变量。
  • def initMenu(self):
  • 完成菜单的初始化显示,点击事件绑定。
  • def initInfoText(self):
  • 完成左边信息提示面板的初始化显示。
  • def initGallery(self):
  • 完成右边主展示面板的初始化显示。
  • def initDatabase(self):
  • 数据库的初始化,建立数据库连接(如果数据库inspurer.db不存在则先新建),如果数据库中不存在员工信息worker_info和考勤logcat这两个表,则依次创建。
  • def loadDataBase(self,type):
  • 该模块函数完成从数据库读取数据的操作,包括读取员工信息和考勤信息,第二个参数type用于标识是加载员工信息还是考勤信息,一方面,可以统一接口,打开数据库和得到游标、关闭连接是一样的,将两个读取接口合二为一,提高代码复用度;另一方面,可以减少加载的工作量,减少IO,提高程序运行速度;最后,因为读取信息前对上一次读取的信息列表做了清空处理,用type标识可以避免读取一个表时对另一个表造成的误操作。
  • def insertARow(self,Row,type):
  • 该模块函数完成写数据库操作,第二个参数为准备写的一条记录,第三个参数type表示要对哪一个表进行写操作。
  • def adapt_array(self,arr):
  • 将提取的人脸特征信息(列表)压缩,入口参数就是待压缩的数据,出口参数是压缩后的数据,用于写入数据库。
  • def convert_array(self,text):
  • 将读取出来的数据解压缩成人脸特征信息,入口参数是待解压得数据,出口参数是解压后的数据。 
  • def return_euclidean_distance(feature_1, feature_2):
  • 计算两个人脸的欧式距离,入口参数是两个人脸的特征数据,出口参数是判定的结果,欧式距离大于0.4判为不同,不大于判为相同。
  • def OnNewRegisterClicked(self,event):
  • 见名知义,菜单新建录入的监听事件,参数event为事件信息,其他几个菜单的(OnFinishRegisterClicked,OnStartPunchCardClicked, OnEndPunchCardClicked, OnOpenLogcatClicked,OnCloseLogcatClicked)类似,在此不再赘述。
  •  
  • def getDateAndTime(self):
  • 得到当前日期和时间,并组装成特定格式作为出口参数返回。

 

函数调用关系:箭头指向被调用者

 

 

 

 

 

在线预览地址:

https://www.processon.com/view/link/5bbe0b0de4b0534c9bfbecb4

 

程序运行结果

 

程序主界面

 

 

 

 

 

 

 

 新建录入

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

我们看到,信息栏有人脸数据重复警告,本次录入取消。

于是我们把数据库数据删了重来。

 

 

 

 

 

 

下面是打印的日志信息(为保证格式,复制到记事本中截的图)

看到已经录入成功了。

 

开始打卡

 

 

 

 

 

 

提示信息打印如下

 

 

 

 

 

 

迟到与否的临界时间是9:00

 

展示日志

 

 

 

 

 

 

 

 

 

 

 只有已经录入且第一次成功签到才会写进到数据库,无论迟到与否。

python二级题库(百分之九十原题) 刷题软件推荐 第六套 刷 题软件(模拟python二级考试) 操作题刷题软件 公众h:露露IT 回复:python二级 阅读详情

相关推荐

企业级考勤管理系统源码详解

本文还有配套的精品资源,点击获取 简介:考勤管理系统是为企业设计的软件,用于管理员工的出勤情况,其源码支持开发者进行定制化开发。该系统基于B/S架构,使用后端语言与数据库存储考勤数据,具备用户认证、权限管理、数据收集、考勤规则设置、报表生成、通知提醒、请假审批流程、接口集成、数据库设计和安全性稳定性的关键功能。开发者通过研究该系统源码,可深入理解构建企业级应用所需的关键技术...

weixin_42611177的博客 1581

springboot+mysql企业考勤管理系统-计算机毕业设计源码36584

管理员可以对员工信息管理(录入、删除、修改 、查询(有搜索框输入职工号或者姓名直接找到该员工) ),员工信息包括职工号、姓名、性别、年龄、所属部门、照片; 管理员可以对部门管理(增删改查) 管理员可以修改其账号及密码,也可以查看员工的打卡记录 管理员对通知公告信息管理(发布公告(管理员在平台发布公告员工登录自己账号可以看到公告) 修改、删除公告 ),可以审批

vx2_Biye_Design的博客 3295

员工考勤管理系统源码java-github_stars:github之星列表

员工考勤管理系统源码java GitHub 星星 只是我的 github 星列表,以便于搜索。 回购网址 描述 编程语言 日期 基于实验混合器的快速迭代可视化系统 JavaScript 2020 年 4 月 12 日 :ringed_planet: (ringed_planet) 为所有人精心挑选的优秀 Blender 插件、工具、教程和 3D 资源列表。 2020 年 6 月 6 日 MB-Lab 是 Blender 2.80 的角色创建工具,基于 ManuelBastioniLAB Python 2020 年 6 月 14 日 基于节点的可视化脚本系统,专为 Blender 中的动态图形而设计。 Python 2020 年 6 月 21 日 打字稿 2020 年 5 月 11 日 精选的出色机器学习框架、库和软件列表。 Python 2020 年 6 月 4 日 :memo: (备忘录)一个很棒的数据科学存储库,用于学习和应用现实世界的问题。 2020 年 6 月 16 日 StellarGraph - 图上的机器学习 Python 2020 年 6 月 21 日 一个强大的 Python 工具,用于使用 GPT-2

移动智能考勤系统(e考勤)开发过程,持续更新

       e考勤项目笔记(win10下ssm+maven3.0.5+idea15+git+github后台环境搭建)(前台建议使用angluarJs进行数据双向绑定,可以省去好多数据流转代码,目前使用apicloud移动开发平台) idea整合maven 1.jdk1.8,idea15,maven3.0.5,git 2.13.0 1.下载maven 3.0.5 2.打开setti...

皇总监的博客 2184

PCB布线避坑指南:晶振布局的5个致命错误(附正确示例图)

本文深入解析PCB布线中晶振布局的5个致命错误,包括底层布线、电容布局、地平面处理等关键问题,并提供实战解决方案。通过真实案例和量化数据,帮助硬件开发者避免常见陷阱,提升电路稳定性和性能。特别针对晶振这一高敏感元件,给出布线参数黄金法则和三维避让原则。

weixin_29215391的博客 428

基因家族的鉴定-基于Windows系统上的HMMER

基因家族的鉴定-基于Windows系统上的HMMER。

liangjinghui123的博客 3256

基于SSM实现的考勤管理系统【附源码】(毕设)

一、项目简介本课程演示的是一套基于SSM实现的考勤管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。课程包含:1. 项目源码、项目文档、数据库脚本、软件工具等所有资料2. 带你从零开始部署运行本套系统3. 该项目附带的源码资料可作为毕设使用4. 提供技术答疑二、技术实现后台框架:Spring、SpringMVC、MyBatisUI界面:JSP、jQuery 、H-ui数据库:MySQL 三、系统功能该系统共包含两种角色:员工、管理员,主要分为前台和后台两大模块。1.前台模块 前台首页、新闻公告、员工活动、职位招聘、留言板、用户注册、用户登录、个人中心、我的考勤、我的奖惩、我的培训、我的薪资、修改密码等功能。2.后台模块 系统后台登陆、管理员管理、员工信息管理、部门管理、职务管理、考勤类别管理、员工考勤管理、员工奖惩管理、员工培训管理、员工薪资管理、网站栏目管理、网站内容管理、职位招聘管理、求职简历管理、留言交流管理、留言回复管理等功能。该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 四、项目截图1)前台首面2)个人信息页面3)员工信息管理4)考勤类别管理5)考勤信息管理6)员工薪资管理  更多Java毕设项目请关注【毕设系列课程】https://edu.youkuaiyun.com/lecturer/2104   

Java课程设计:考勤管理系统(附源码+调试)

Java/JSP课程设计:考勤管理系统(附源码+导入)

faker369的博客 1万+

VMware 虚拟机里连不上网的五种解决方案

在VMware虚拟机里的虚拟机系统连接不上网络 首先,注意查看适配器选项里的网络连接这两个网络连接是否存在,如果不存在可以重新装一下VM 如果存在,连不上网 解决办法一: 虚拟机设置里,找到“网络适配器”,右边的网络连接选择“NAT 模式”,如果不行的话再linux系统。还是不行的话接着看第二种解决方案。 解决方法二: 可能原因是VMware NET Service...

墨轩 18万+

【学习笔记】人群归因分数 PAF 以及combined PAF

人群归因风险比例(Population Attributable Fraction,PAF)是一个流行病学指标,它估计了在总体中,如果能消除一个特定的危险因素,能预防多少百分比的疾病或健康结果。简单来说,PAF回答的是:“如果没有这个风险因素,总体中会有多少病例是可以避免的?

weixin_53499537的博客 4905

如何使用python做一个刷题库

那么,以上代码就是关于如何做一个刷题程序(一站到底app),有常识,数学,科学,体育等等学科,欢迎体验!大家好,我是于翱睿,今天,我给大家看一下如何使用python做一个刷题库。安装完第三方库后,可以运行一下以下代码。

YuAorui_Dream的博客 1382

国科大学习资料--高级软件工程-复习题简答题答案

国科大学习资料–高级软件工程(罗铁坚 魏峻 刘丹)-复习题简答题答案 def fib3 n (1…n).inject([0,1]){|mem| puts mem[0]+mem[1]; [mem[1],mem[0]+mem[1]]} end =====================================================================================================================================

无名何许人的博客 1400

PHP企业员工考勤系统(附源码、论文)免费赠送项目完整源码,可做计算机毕业设计JAVA、PHP、爬虫、APP、小程序、C#、C++、python、数据可视化、大数据、、单片机、全套文案等

企业员工考勤系统主要功能模块包括部门管理、考勤任务、考勤打卡、考勤信息等,采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,采取Mysql作为后台数据的主要存储单元,采用Thinkphp框架、PHP技术、Ajax技术进行业务系统的编码及其开发,实现了本系统的全部功能。

QQ_785101605的博客 441

MOS管基础知识及应用电路Multisim仿真

本文系统介绍了MOS管的基础知识及其在电子电路中的典型应用。首先详细解析了MOS管的基本结构、分类和工作原理,包括NMOS、PMOS及CMOS的特性差异。重点阐述了MOS管的三种放大组态电路(共源、共漏、共栅)及其小信号模型分析。随后通过Multisim仿真验证了MOS管在防反接电路、开关电路、放大电路、逻辑门电路、电平转换电路和开关电源(BUCK、BOOST、BUCK-BOOST)等应用中的实际表现。文章还深入探讨了自给偏压和分压式偏置电路的设计要点。全文通过理论分析与仿真实验相结合的方式,全面展示了MO

XU157303764的博客 1491

医学图像处理实战:利用OpenSlide解析病理SVS切片的完整解决方案

本文介绍了使用openslide处理病理SVS切片的完整流程,从基础安装到科研应用。主要内容包括:1)SVS切片特点及openslide工具简介;2)环境配置与软件安装;3)基础操作:读取切片、查看信息、可视化不同层级图像;4)进阶操作:坐标裁剪与批量处理;5)科研方向拓展:结合AI模型进行病理分割分类、量化分析及可视化报告。教程提供了完整的代码示例,帮助毕业设计学生快速掌握病理图像分析的核心技能。

m0_71589036的博客 318

考勤|公司考勤企业考勤|基于springboot+vue的公司日常考勤系统(源码+数据库+文档)

本基于springboot+vue的公司日常考勤系统有管理员和用户。公司日常考勤系统就是运用计算机软件来完成对于企业当中出勤率的管控,这样减少了人们整个的劳动力,也把工作效率得到了提升,与此同时又会把较为繁琐的工作变得轻而易举。这个计算机系统是基础于SpringBoot的构造所研究开发的企业对于出勤进行管控的体系,基础于B/S类型,更好利用SpringBoot构造,能够更便捷的完成管控的需求。其中包含着出勤内容的管控,对于客户的管理,对于考勤的每日信息可以随时查看等特点。这个公司日常考勤系统。

Coder-coco的博客 1205

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

用python分解一个9位数_用Python打造一个CRM系统(二)

在上一篇中介绍了CRM和Django,在本篇中将聊聊Django的最佳实践。总的来说就是遵循Django的设计理念:松耦合、代码精简、快速开发、DRY、明确优于隐式、一致性等。下面从开发环境、项目组织结构、调试等几个方面进行展开。开发环境通常在项目开发的过程中,除了安装Python和Django,还需要选择虚拟环境、开发工具、版本控制等。虚拟环境Python开发需要安装第三方库,比如Dj...

weixin_39571219的博客 1147

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

学生考勤系统|基于Springboot的大学生考勤系统设计与实现(源码+数据库+文档)

学生考勤管理系统就是信息时代变革中的产物之一。任何系统都要遵循系统设计的基本流程,本系统也不例外,同样需要经过市场进行调研,论文需求进行分析,概要设计,系统详细设计,测试和编码等步骤,设计并实现了学生考勤管理系统。系统选用B/S模式,应用java技术,MySQL为后台数据库。系统主要包括首页,个人中心,学生管理,教师管理,班级信息管理,课程信息管理,签到信息管理,考勤信息管理,请假信息管理,考勤统计管理等功能模块。

m0_66468899的博客 2435

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

基于SpringBoot+Vue的企业考勤系统的管理设计与实现(源码+文档+部署+讲解)

当今社会已经步入了科学技术进步和经济社会快速发展的新时期,国际信息和学术交流也不断加强,计算机技术对经济社会发展和人民生活改善的影响也日益突出,人类的生存和思考方式也产生了变化。

qq_33638415的博客 2101

基于Python+Django的在线习题考试测试管理系统

项目介绍: 使用Django开发简单的在线习题测试系统,系统角色为学生和教师,习题类型有单选题、多选题、填空题,教师可在线录入或以文件方式上传试题,系统自动判题并录入成绩,教师直接在django后台操作。 需要安装django,simpleui,openpyxl,pymysql: pip install -r requirement.txt 1 下载后需要重新迁移数据库: py manage.py makemigrations py manage.py migrate 1 2 启动: py manage.p

qq_3306428634的博客 2172

(java毕业设计源码)基于java(ssm)人事考勤签到管理系统源码

人事考勤签到管理系统是基于java编程语言,mysql数据库,ssm框架,idea工具开发,本系统分为员工,部门经理,管理员三个角色,员工可以登陆系统,在线签到,打卡,查看工资,查询部门,在线请假;部门经理可以对员工,部门,考勤,签到,请假申请,工资等进行管理;管理员和部门经理一样可以进行相应的信息管理。本系统功能齐全,文档齐全,适合作为java毕业设计和课程设计参考学习。jdk版本:1.8 及以上 ide工具:IDEA 数据库: mysql5.7 (必须5.7) 编程语言: Java tomcat:

qq_28059693的博客 2009

基于Java的人事考勤签到管理系统设计与实现(源码+lw+部署文档+讲解等)

💗博主介绍:✌全网粉丝10W+,优快云特邀作者、博客专家、优快云新星计划导师、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗👇🏻精彩专栏 推荐订阅👇🏻2023-2024年最值得选的微信小程序毕业设计选题大全:100个热门选题推荐✅2023-2024年最值得选的Java毕业设计选题大全:500个热门选题推荐✅Java精品实战案例《500套》微信小程序项目精品案例《500套》🌟文末获取源码+数据库🌟。

全网粉丝10W+、全栈领域优质创作者、掘金、阿里云等社区博客专家、专注于全栈领域和毕业项目实战 789

基于Springboot公司日常考勤系统【附源码】

随着企业规模的扩大和组织结构的复杂化,日常考勤管理成为了企业管理中不可或缺的一部分。传统的考勤管理方式,如纸质签到表或打卡机,存在诸多问题,如数据容易出错、统计效率低下、签到表易丢失或篡改等。这些问题不仅增加了管理成本,还影响了考勤数据的准确性和可靠性。因此,需要引入一种自动化、信息化的考勤管理系统,以满足现代企业高效、灵活的管理需求。基于Springboot的公司日常考勤系统应运而生,它利用Springboot框架的轻量级、快速开发的特点,为企业提供了一个高效、便捷、自动化的考勤解决方案。

2402_84112588的博客 1534

用python编写习题自动生成工具

用到了两个库:random、docx # coding=utf-8 ''' 习题自动生成工具 自动生成数学练习题,包含加减乘除,不规定数值范围, 由传入的参数(10:10以内;100:100以内)决定。 要求1:输入:生成习题数量N,习题范围:M;输出: 将生成的习题保存到question(word格式)中, 对应的答案保存到answer(word格式)中。 ''' import random import docx N = int(input("请输入需要生成的题的数量:\n")) M = int(

qq_58153224的博客 1553

python简单小游戏代码-10分钟用Python编写一个贪吃蛇小游戏,简单

贪吃蛇,大家应该都玩过。小编当初第一次接触贪吃蛇的时候 ,还是能砸核桃的诺基亚上,当时玩的不亦乐乎。今天,我们用Python编程一个贪吃蛇游戏,下面我们先看看效果:好了,先介绍一个思路所有的游戏最主要的内容都是程序的内循环,这才是保证一个游戏能够正常运行的前提。以下是编写贪吃蛇小游戏的主要思路。废话不多说,我们直接来讲解如何利用Python进行贪吃蛇的编写吧一、调用库以及初始设置1. 调用第三方库...

weixin_37988176的博客 5703
上一篇: 破解一个滑块验证码需要多少行代码?两千?一千?两百行就够了!
下一篇: 听说爬虫是违法的?那为什么还有这么多人学!这位大佬给出了答案!
普通网友
博客等级 码龄7年 438粉丝 263原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值