仪器设备管理系统设计与实现(有源程序代码)_第1页
仪器设备管理系统设计与实现(有源程序代码)_第2页
仪器设备管理系统设计与实现(有源程序代码)_第3页
仪器设备管理系统设计与实现(有源程序代码)_第4页
仪器设备管理系统设计与实现(有源程序代码)_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

仪器设备管理系统设计与实现(有源程序代码)源程序代码等全套设计联系174320523各专业都有分类号:TP315UDC:D10621-407-20076053-0密级:公开编号:2003031267成都信息工程学院学位论文仪器设备管理系统设计与实现论文作者姓名: 张林太申请学位专业: 计算机科学与技术申请学位类别: 工学学士指导教师姓名(职称): 王敏论文提交日期: 2007年06月09日仪器设备管理系统设计与实现摘要文中以某中小型企业的设备管理为例,对设备管理系统的设计与应用进行研究,旨在通过设备管理系统提高内部设备的利用率及实现其最大的经济效益。文中首先对设备管理的现状及其重要性进行了分析,分析实现设备管理信息系统的必要性与可行性。其次针对所需要设备信息,分析设备管理系统流程,设计并开发一套设备管理系统。最后,文章对系统的设计实现过程进行了阐述。文中详细阐述了各子模块的功能和实现过程,并对系统的核心技术作了特别讲解。从试运行情况来看,系统加强了对于仪器设备的有效管理,提高了管理的效率和科学性,实现了信息资源的共享,达到了建设一个仪器设备管理系统的预定目标。关键词:设备管理;仪器设备;管理系统DesignandImplementationoftheEquipmentManagementSystemAbstractTakeequipmentmanagementofmiddleandsmall-sizedenterprisesasexample,thispaperresearchesonthedesignandimplementationofequipmentmanagementtoobtainthegoalofpromotingtheefficiencyofequipmentandgaininggoodeconomic.Inthispaper,Ifirstanalyzesthecurrentsituationofequipmentmanagementanditsimportance,andproposeditsnecessityandfeasibility.Secondlyagainstfortheequipmentinformation,analysisprocessoftheequipmentmanage,designanddevelopmentofasetofequipmentmanagementsystem.Finally,ThearticleExpoundedtheProcessthatdesignandimplementationoftheequipmentmanagementItalsointroducesfunctionsandimplementationprocedureofeachsub-module,andprovideswithaspecificexplanationforthecoretechnologyofthesystem.Basedontheresultsoftest,itenhanceseffectivemanagementoftheequipmentandinstrument,increasestheefficiencyandscientificfeatures,realizesinformativeresourcesharing,andmeetsthedemandsequipmentmanagementsystem.Keywords:Equipmentmanage;InstrumentEquipment;ManagementSystem目录论文总页数:21页1引言 11.1课题背景 11.2国内外研究现状 11.3课题研究的意义 11.4开发环境 21.4.1数据库的选择 21.4.2.NET环境 31.4.3ASP.NET 32系统分析 42.1可行性分析 42.2功能需求 43系统设计 43.1系统设计原则 43.2系统总体流程 53.3数据库的设计 54系统功能模块 74.1用户登录模块 74.2用户注册模块 84.3设备一览模块 104.4设备调度模块 134.5设备维修模块 144.6设备报废模块 154.7用户信息模块 164.8资料修改模块 17总结 18参考文献 18致谢 20声明 211引言1.1课题背景设备管理是一项非常重要的工作。大多数设备管理办法是设备采购进来以后,将设备的基本情况和相关信息登记存档,然后将档案存档。以后档案基本就没人维护,如设备位置变迁、检修情况、设备当前运行状态等信息根本不会体现在设备台帐上,即设备跟踪信息不能及时体现在设备档案上。管理各项材料信息不仅效率低下,而且容易出错,安全性很差。并且在实际操作中,数据的查找和维护都不容易实现,容易发生差错,导致了管理费用增加,服务质量难以得到保证,从而影响企业的竞争力。使用设备管理系统,个人并能随时查询设备当前情况和历史情况,对设备的可靠性分析有直接作用,设备信息管理和出入库记录的快速高校检索,使操作简单安全,提供工作效率和质量。使管理人员从手工计算、统计工作中解脱出来。1.2国内外研究现状随着计算机技术在设备管理系统得到广泛应用,各式各样的设备管理系统,在各种不同性质、不同类型、不同规模的设备管理中发挥着越来越重要的作用。如何利用计算机技术和网络通讯技术,对设备资源进行科学的管理、有效的开发、实现资源共享、实现设备的现代化管理,是企业重要工作内容之一。上网搜索会发现,目前国内开发、使用的设备管理系统已经很多,从总体上说国内的设备管理系统已进入应用完善阶段。伴随着全球网络化的迅速发展,设备管理的自动化逐步走向网络化。所以设备管理系统必须具备有强劲的网络化功能,现在使用的设备管理系统大都只局限单位内使用,不具有网上互联功能,网络性能远远跟不上网络信息时代的步伐。设备管理系统要实现联机使用,要能为使用者能够联机查看和查询。信息社会的到来,网络化已成为现代设备管理发展的必然结果。1.3课题研究的意义与传统管理方式相比较,基于Web的设备管理系统能更加有效地进行信息管理。基于Web的设备管理系统应用Web数据库,对信息数据以数据库形式表示,更容易更新和管理。传统的管理方式往往以表格的形式进行管理,一旦数据过于庞大,要对这些数据进行管理时,就要花费大量的时间,而且很容易出错。对于基于Web的设备管理系统就不会有这样的问题。它利用计算机来处理信息数据的管理和更新,不仅提高了工作效率,减少了脑力和体力劳动,还大大提高了工作的准确性,不易出错。除此之外,基于Web的设备管理系统还能够及时传递设备信息。在传统的管理方式上,一旦要了解设备的信息时,由于时间和地域等原因的限制,并且人工操作时,难免会有这样那样的疏忽,这样就不能及时地了解设备信息,导致工作不能顺利地进行,严重的还会带来无可挽回的损失。而基于Web的设备管理系统在设备信息传递上则不太会有这样的问题,只要你有权限,就能够通过网络及时了解设备的详细信息。极大地方便了企业的正常运作。硬件环境:硬件平台是指开发与运行所需要的硬件环境,主要包括计算机机型及硬件配置。由于系统是一个小型的管理系统,因此对计算机硬件的要求不高,现在的计算机基本都能胜任所用的开发软件、应用软件平台及语言:系统在开发时选用了稳定性较强的WindowsXP中文版和VisualStudio.NET2003平台,开发技术是技术,数据库选用SQL2000,由于这些软件产品都是Microsoft公司的产品,因此彼此之间的兼容性较好,开发出的应用系统稳定性较高。选择这些开发平台和开发语言和工具,还因为其自身的特点。1.4.1数据库的选择选择SQL作为数据库的理由主要有以下几点:SQL之所以能够被用户和业界所接受,并成为国际标准,因为它是一个综合的、功能强大而且简捷易学的语言。SQL语言集数据查询、数据操作、数据定义和数据控制功能于一身,其主要特点如下:(1)一体化SQL语言风格统一,可以完成数据库活动中的全部工作,包括创建数据库、定义模式、更改和查询数据以及安全控制和维护数据库等,这为数据库应用系统的开发提供了良好的环境。用户在数据库系统投入使用后,还可以根据需要随时修改模式结构,并且不影响数据库的运行,从而使系统具有良好的可扩展性。(2)高度非过程化在使用SQL语言访问数据库时,用户没有必要告诉计算机一步一步地“如何”去实现,而只需要描述清楚要“做什么”,SQL语言就可以将要求交给系统,然后由系统自动完成全部工作。(3)语言简洁虽然SQL语言功能很强,但它只有为数不多的几条命令,另外,SQL的语法也比较简洁,它是一种描述性语言,很接近自然语言(英语),因此容易学习、掌握。(4)以多种方式使用SQL语言可以直接以命令方式交互使用,也可以嵌入到程序设计语言中使用。现在很多数据库应用开发工具(如.net、java、delphi等),都将SQL语言直接融入到自身的语言当中,使用起来非常方便。这些使用方式为用户提供了灵活的选择余地,而且不管是哪种使用方式,SQL语言的语法基本都是一样的。5微软公司的SQL2000,SQL2000具有开放性的接口,可以和任何的第三方软件共享数据,而且其具有灵活的扩充方式,完善的管理手段,是首选的数据库。1.4.2.NET环境对于.NET,Microsoft公司自己都没有一个详细确切的定义。但是我们可以这样认为:.NET是Microsoft公司提供的一系列产品的总称。具体说来,.NET由以下几个部分组成:.NETFramework、.NET企业服务器和.NET开发工具。.NETFramework是一个高性能的程序运行环境,他提供了具体的服务和技术,支持统一的类库,如VisualBasic、VisualC++、VisualC#等,方便开发人员建立相应的应用程序。.NET企业服务器是指SQLServer2000之类的由.NETFramework应用程序使用的服务器端产品。它们虽然不是由.NETFramework编写成的,但是他们都支持.NET。为了能够在.NETFramework上运行程序开发,Microsoft公司把VisualStudio进行了升级,并把升级后的产品命名为VisualStudio.NET。这就是.NET开发工具。1.4.3ASP.NET2001年Microsoft公司推出全心的ASP.NET,它抛弃了前面三个ASP的版本都使用的脚本语言,使用VisualBasic.NET作为它的默认语言。ASP.NET在结构上与前面的版本大不相同,它几乎完全是基于组建和模块化。Web应用程序的开发人员使用这个开发环境可以实现更加模块化的,功能更强大的应用程序。在ASP.NET中,所有程序依然保存在服务器端,但由服务器编译执行。当第一次执行一个程序时进行编译,当再次执行这个程序时,就在服务器端直接执行它的已编译好的程序代码,因而ASP.NET程序执行的速度有较大的提高。ASP.NET有较高的效率,提供了很高的重用性,对于实现同样功能的程序,ASP.NET使用的代码比较小。ASP.NET采用全新的编程环境,代表了技术发展的主流方向。从更深层次说,ASP.NET有优势体现在以下几个方面。(1)效率ASP.NET是建立在.NETFramework之上的。它可以使用VisualBasic、C++这样的模块程序设计语言,并且它在第一次执行时进行编译,之后的执行不需要重新编译就可以直接运行,所以速度和效率提高很多。(2)可重用性ASP.NET可以实现代码与内容的完全分离,使得维护方便。(3)代码量在ASP.NET中,程序员只要预先说明,ASP.NET可以自动实现功能。所以相对来说,要实现同样的功能,就可以少写很多代码。2系统分析在技术实现上,系统采用了基于web的仪器设备管理,web技术已经是当今一门成熟的技术,并且基于web的仪器设备管理的开发和维护不需要太多的人力和物理,开发周期短,可灵活部署在任何符合规范的应用服务器上,减少了投资,解决了系统维护升级复杂的问题。数据库拟采用微软公司的SQL2000,SQL2000具有开放性的接口,可以和任何的第三方软件共享数据,而且其具有灵活的扩充方式,完善的管理手段,是首选的数据库系统。2.2功能需求管理系统主要包括两大功能:(1)用户模块a用户信息:用户可以查看自己的基本信息b资料修改:用户的基本信息有时候会变化,比如等,对于这种情况就可以对资料及时修改更新。(2)设备管理模块a设备一览:查看所有的设备。b设备的添加和报废:对添加新增设备以及对报废设备的信息进行处理。c设备的维修和调拨:对维修中的设备的详细信息进行管理以及对设备的调拨及其信息管理。d设备的查询:根据设备名称查询设备,设备的查询使用模糊查询,以尽可能的把符合用户要求的设备显示给用户。3系统设计系统设计原则如下:a实用性用户能简单、方便地采集基础数据,实现信息共享与交换b稳定性为使系统稳定运行,应采用先进成熟的技术和工具进行开发c开放性利用Web技术,使各局域网能进行分布数据处理,各子系统能在Internet上进行数据处理和信息查询d通用性系统应适用于其他化纤厂的设备管理,具有一定的推广价值;e先进性采用先进的系统分析与开发工具,建立先进的设备管理信息系统。3.2系统功能模块图1系统功能模块3.3数据库的设计系统数据库共涉及五个数据表:用户信息:记录用户密码和资料。设备一览:目前所拥有的设备。调度设备:记录设备调度详细信息。设备维修:设备维修详细信息。设备报废:记录报废的设备。用户信息:记录用户密码和资料。表1用户信息中文字段名 英文字段名 数据类型 长度 允许为空用户名 usename char 100 NULL用户密码 pwd char 100 NULL用户性别 sex char 100 NULL用户职位 position char 100 NULL telephone char 100 NULL用户权限 power char 150 NULL设备一览:目前所拥有的设备。表2设备一览中文字段名 英文字段名 数据类型 长度 允许为空购买部门 buyteam char 30 NULL设备名称 name char 30 NULL设备种类 kind char 30 NULL设备型号 type char 30 NULL设备状态 state char 30 NULL使用人 usepeople char 30 √生产厂家 made char 30 NULL出厂日期 outtime char 30 NULL购买日期 buytime char 30 NULL购买价格 cost char 30 NULL启用日期 starttime char 30 √备注 notation char 500 √调度设备:记录设备调度详细信息。表3调度设备中文字段名 英文字段名 数据类型 长度 允许为空设备名称 name char 30 NULL原部门 oldteam char 30 NULL新部门 newteam char 30 NULL原使用者 olduse char 30 NULL新使用者 newuse char 30 NULL调度时间 time char 30 NULL备注 notation char 500 √设备维修:设备维修详细信息。表4设备维修中文字段名 英文字段名 数据类型 长度 允许为空设备名称 name char 30 NULL维修人员 mendpeople char 30 NULL维修工时 costtime char 30 NULL维修费用 money char 30 NULL故障原因 why char 500 NULL开始时间 starttime char 30 NULL结束时间 endtime char 30 NULL备注 attention char 500 √设备报废:记录报废的设备。表5设备报废中文字段名 英文字段名 数据类型 长度 允许为空购买部门 buyteam char 30 NULL设备名称 name char 30 NULL设备种类 kind char 30 NULL设备型号 type char 30 NULL生产厂家 made char 30 NULL出厂日期 outtime char 30 NULL购买日期 buytime char 30 NULL购买价格 cost char 30 NULL报废时间 badtime char 30 NULL备注 notation char 500 √4系统功能模块4.1用户登录模块用户登录模块主要是检查用户名和密码是否匹配,并且可以通过“注册”按钮进入注册页面。如果用户的用户名和密码匹配则进入系统;不匹配则转入登录错误页面。在登录错误页面用户可以选择进入登录页面和注册页面。系统对用户的登录方式采用的是用户名/密码方式,在用户进入系统的时候要求用户输入用户名和密码,并比较两者和数据库中用户名和密码对应。代码如下:conn.ConnectionString"SERVERlocal;USERIDsa;PWD;DATABASEatai"cmd.ConnectionconncmdmandText"select*fromuserlistwhereusername'"+Textusername.Text+"'andpwd'"+pwd+"'"Ifobjreader.HasRowsThenResponse.Redirect"index.6>html"ElseResponse.Redirect"false.htm"EndIf但是,使用明文对用户密码进行存储时,很容易被非法使用者识别。因此,先对密码进行哈希后再写入数据库中,让非法使用者不能识别,用户密码相对更为安全,代码入下:PublicSharedFunctionMD5ByValSourceinAsStringAsStringDimMD5SourceAsByte//.//.BytesSourceinDimMD5OutAsByteMD5CSPputeHashMD5SourceEndFunction实现截图:图2用户登录4.2用户注册模块用户在注册模块主要是为新用户提供注册,新用户在次填写详细信息进行注册,在注册的时候自动把权限设为普通用户。在用户注册的时候首先判断用户名是否存在,代码如下:cmdmandText"select*fromuserlistwhereusername'"+Textusername.Text+"'"Ifobjreader.HasRowsThen'存在args.IsValidFalseElse'不存在args.IsValidTrueEndIf在用户注册时,为了防止用户粗心,在输入密码时不小心输入错误,因此在用户输入密码后还需要用户再一次输入,通过判断两次输入是否相同来判断用户是否输入错误,相关代码如下:IfTextuserpwd.TextTextuserpassword.TextThen'匹配args.IsValidTrueElse'不匹配args.IsValidFalseEndIf当所有的条件都满足后才会向数据库中写入注册信息,写入数据库的代码如下:conn.ConnectionString"SERVERlocal;USERIDsa;PWD;DATABASEatai"cmd.ConnectionconnIfTextusername.TextSession"username"ThenElseIfTextuserpwd.TextTextuserpassword.TextThencmdmandText"insertintouserlistvalues'"+Textusername.Text+"','"+pwd+"','"+sexchoose.SelectedValue+"','"+position.SelectedValue+"','"+Texttelephone.Text+"','0'"Response.Redirect"useraddsuccess.htm"EndIfEndIf实现截图:图3用户注册4.3设备一览模块设备一览模块主要是查看目前所拥有的设备。该模块通过DataList控件来处理从数据源读取的数据。DataList控件的分页显示则是通过先根据当前页号Session“CurrPage”、分页大小PageSize来计算要显示的记录号范围,然后将数据集中需显示的记录存放到一个临时表tempbook中,再将该临时表绑定到DataList控件实现的,这样就可以显示指定页号的各记录。另外,为了在页面间传递页号值,使用了Session变量CurrPage,当用户单击“上一页”时,将Session“CurrPage”减1;当用户单击“下一页”时,将Session“Currpage”加1。在nabledwhatbutton中编写Session(“CurrPage”)的初值和结束处理。在设备一览页面,可以通过单击“添加设备”来增加新的设备。在DataList控件中绑定列中,“设备名称”采用超级连接,用户单击可以查看设备的详细信息,通过单击“修改”进入修改设备详细,在修改设备状态时,如果设备状态是维修则转入维修设备添加页面,如果是报废,则进入添加报废设备页面,在添加的同时更改设备一览中该设备的状态为相应状态;单击“删除”删除该设备的所有的信息。DataList控件的分页显示是通过先根据当前页号Session“CurrPage”、分页大小PageSize来计算要显示的记录号范围,当前页号Session“CurrPage”的代码如下:SubenabledwhatbuttonIfSession"currpage"1Thenfirstpage.EnabledFalseprevpage.EnabledFalseElsefirstpage.EnabledTrueprevpage.EnabledTrueEndIfIfSession"currpage"Session"totalpage"Thennextpage.EnabledFalselastpage.EnabledFalseElsenextpage.EnabledTruelastpage.EnabledTrueEndIfEndSub而分页大小PageSzie的计算代码如下:DimtotalrecAsInteger//.nt'计算总页数DimtotalpageAsIntegerIftotalrecpagesizeThentotalpage1ElseIftotalrecModpagesize0Thentotalpagetotalrec\pagesize+1Elsetotalpagetotalrec/pagesizeEndIfEndIfSession"totalpage"totalpage有了当前页号Session“CurrPage”和分页大小PageSize就可以计算出显示的记录号范围,然后将数据集中需显示的记录存放到一个临时表tempbook中,再将该临时表棒定到DataList控件来实现,这样就可以显示指定页号的个记录,相关代码如下:Dimi,jAsIntegerForipageno-1*pagesizeTopageno*pagesize-1Ifi//.nt-1ThenExitForForj0To//.nt-1//.umnName//.mjNext//.rowNextDataGridshow.DataSourcetempequipmentlist为了在页面间传递页号值,使用了Session变量CurrPage,当用户单击“上一页”时,将Session“CurrPage”减1;当用户单击“下一页”时,将Session“CurrPage”加1。判断代码如下:SubpagechangeByValsenderAsObject,ByValeAsCommandEventArgsSelectCaseemandArgumentCase"firstpage"Session"currpage"1Case"prevpage"IfSession"currpage"1ThenSession"currpage"-1ElseSession"currpage"1EndIfCase"nextpage"Session"currpage"+1Case"lastpage"Session"currpage"Session"totalpage"EndSelectenabledwhatbuttonbindlistSession"currpage"EndSub实现截图:图4设备一览4.4设备调度模块设备调度模块主要是查看所有处于调度中的设备,和调度设备的调度信息。该模块通过DataList控件处理从数据源读取的数据。绑定列中,“设备名称”采用超级连接,用户单击可以查看设备的详细调度信息,通过单击“修改”进行调度信息的修改;单击“删除”可以删除该设备的调度信息。修改调度信息代码如下:cmdmandText"insertintoallotvalues'"+Tname.Text+"','"+Toldteam.Text+"','"+Tnewteam.Text+"','"+Tolduse.Text+"','"+Tnewuse.Text+"','"+Ttime.Text+"','"+Tnotation.Text+"'"cmdmandText"updateequipmentlistsetbuyteam'"+Tnewteam.Text+"',usepeople'"+Tnewuse.Text+"'wherename'"+Tname.Text+"'"cmdmandText"select*fromallotwherenewteam'"+Tnewteam.Text+"'andnewuse'"+Tnewuse.Text+"'"Ifobjreader.HasRowsThenseccess.Text"添加成功"Tname.Text""Toldteam.Text""Tnewteam.Text""Tolduse.Text""Tnewuse.Text""Ttime.Text""Tnotation.Text""Elseseccess.Text"添加失败"EndIf实现截图:图5调度信息修改4.5设备维修模块设备维修模块主要是查看所有处于维修中的设备,及其详细信息。该模块同样采用了DataList控件来处理从数据源读取的数据。绑定列中,“设备名称”采用超级连接,用户单击可以查看详细的维修信息。通过单击“修改”可以修改设备的维修信息;单击“删除“按钮可以删除该设备的维修信息。对设备维修信息的修改代码如下:cmd.ConnectionconncmdmandText"updatebadequipmentsetbadtime'"+Tbadtime.Text+"',notation'"+Tnotation.Text+"'wherename'"+Tname.Text+"'"cmdmandText"select*frombadequipmentwherename'"+Tname.Text+"'andbadtime'"+Tbadtime.Text+"'"Ifobjreader.HasRowsThenseccess.Text"修改成功"EndIf维修信息的删除代码如下:cmdmandText"delet*frombadequipmentwherename'"+Tname.Text+"'"Response.Redirect"badequipment.aspx"实现截图:图6设备维护信息修改4.6设备报废模块设备报废模块主要是查看所有的报废了的设备,及其详细信息。该模块采用了DataList控件来处理从数据源读取的数据。绑定列中,“设备名称“采用了超级连接,用户单击可以查看详细信息。通过单击”修改“可以修改报废设备的信息;用户单击”删除“按钮可以删除该设备的信息。对报废设备信息的修改代码如下:cmdmandText"updatebadequipmentsetbadtime'"+Tbadtime.Text+"',notation'"+Tnotation.Text+"'wherename'"+Tname.Text+"'"cmdmandText"select*frombadequipmentwherename'"+Tname.Text+"'andbadtime'"+Tbadtime.Text+"'"Ifobjreader.HasRowsThenseccess.Text"修改成功"EndIf实现截图图7报废信息修改4.7用户信息模块用户信息模块主要是用户查看自己的详细资料。用户可能因为各种原因自己的资料有所改变,又忘了自己是不是已经对自己的资料进行了更新修改,用户则可以通过用户信息模块查看自己的信息是否正确。在用户登录的时候就首先把用户的信息进行绑定,代码如下:cmdmandText"select*fromuserlistwhereusername'"+Textusername.Text+"'andpwd'"+pwd+"'"Ifobjreader.HasRowsThencmdmandText"select*fromuserlistwhereusername'"+Session"name"+"'"DimdsAsNewDataSetobjadpt.Fillds,"userlist"DimuserlistAsDataTableds.Tables"userlist"Session"sex"//.m2Session"position"//.m3Session"telephone"//.m4Session"power"//.m5在用户查看自己的信息时,把绑定的用户信息显示出来,代码如下:usernameshow.TextSession"name"sexshow.TextSession"sex"p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论