无线点餐系统的设计与实现_第1页
无线点餐系统的设计与实现_第2页
无线点餐系统的设计与实现_第3页
无线点餐系统的设计与实现_第4页
无线点餐系统的设计与实现_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

PAGE2PAGE10公司案例题目:无线点餐系统的设计与实现目录TOC\o"1-3"\h\u17176无线点餐系统的设计与实现 230410第一章绪论 3222741.1研究的背景及意义 331841第二章设计原理和方法 3210832.1架构概述 3301042.2关键技术简介 4302262.3开发工具及环境 5268832.4应用平台 623106第三章系统需求分析 6293803.1需求分析 617708第四章系统概要设计 761694.1模块的划分与功能设计 7100084.2功能模块的设计 7287334.3数据库结构的设计 8189664.4连接数据库的设计与实现 95534第五章系统实现 10319965.1主菜单界面 10106115.1.1功能描述 10315025.1.2登录界面的设计 10177075.1.3功能描述 1077355.1.4界面设计 11205745.1.5功能实现及关键代码 1160755.2更新界面 12100095.2.1功能描述 1230205.2.2界面设计 1371055.2.3功能实现及关键代码 1336845.3注销与结账界面 14309505.3.1功能描述 14133935.3.2界面设计 1527365.3.3功能实现及关键代码 1516736结论 1613529参考文献 17

无线点餐系统的设计与实现摘要:今天我们生活在充满数字的时代,随着GPRS、CDMA1X、蓝牙、WLAN等无线技术的突飞猛进,移动生活、移动办公逐渐由概念转为现实,信息数据随手可及。特别是广域无线数据传输技术的成熟,运营商的大力推广,WLAN的应用日渐普及,逐步渗透到金融、公安、教育、物流、商贸等行业中,并日益影响到人们生活的方方面面,种种梦想化为现实成为了可能。对于传统的餐饮业而言,也在潜移默化中感受到无线网络的无穷魅力。通常情况,餐厅点餐、送单、结账都采用人工传递,这种工作流程效率低下,而且在就餐高峰期人员繁杂的情况下,服务员在快速手写点餐、人工送单中可能还会增加误操作的几率,造成客人投诉,影响到服务质量,甚至有损餐厅的美誉度。为了解决这个问题,新乡逗号网络公司为一些规模较大的酒楼餐厅开始考虑利用这种最为先进、最具时尚潮流的网络技术来建设一套灵活、快捷的信息管理系统,以优化管理流程,使酒店的服务和管理得到实质性的提升,提高品牌形象和行业核心竞争力。本设计主要讲述了新乡逗号网络技术有限公司设计点餐系统的基本功能和数据库的设计方法。设计最终达成了包括用户登录,点菜管理功能模块,点菜管理功能模块、并台管理功能模块、转台管理功能模块、查台管理功能模块、结台管理功能模块、更新管理功能模块、注销功能模块、设置功能模块等。并且系统能够正常运行,各个界面交互性较好。在系统规划中先后用数据流程图,系统功能结构图分析了系统所需的各种数据,详细的展示了系统的各个功能模块,并给出了主要功能运用界面图。关键词:WLAN;ANDROID;无线点餐第一章绪论1.1研究的背景及意义餐饮传统的点菜方式是纯人工操作,由服务员记录顾客点的菜,在具体工作中容易出现以下问题:手写单据字迹潦草从而导致上错菜、传菜分单出错现象严重、加菜和查账程序较繁琐。处理特殊口味有遗漏和偏差、客人催菜遗忘现象较频繁、计算账单易出错、不方便人员管理等等。为了解决这个问题,新乡逗号网络公司开发的无线点餐模式应运而生。它不仅可以有效地提高餐饮业的工作效率,更可以规范服务体系,提高整体服务质量和管理水平,并为规模化经营提供了坚实的技术基础。我们生活在一个充斥着数字技术的世界里,数字技术几乎侵入到我们生活的每个细节。点餐系统在使用上不及Wi-Fi点餐系统便利:服务员依然使用手持终端为顾客点餐,当消费者点完餐后,服务员将存储在手持终端内的点餐信息,对准布置在餐厅各个位置的红外接收端进行发射,接收端会将点餐信息通过网线传送到前台计算机。前台计算机会对点餐信息进行分类处理,然后将点餐信息分别发送给收银台和厨房。第二章设计原理和方法2.1架构概述新乡逗号网络技术公司的设计主要讲述了无线点餐系统的基本功能和基于Android平台的软件开发、数据库的设计方法。设计最终达成了用户登录、点菜管理、桌位管理,收费管理,等点餐系统的基本功能。并且系统能够正常运行,各个页面交互性较好。在整个设计中基本运用基础的Android进行功能编程,也运用到了一些前端控件来控制输入信息,对输入信息进行验证,通过JDBC连接数据库。在系统规划中先后用数据流程图、系统功能结构图分析了系统所需的各种数据,详细的展现了系统的各个功能模块并给出了主要功能运行界面图。该点餐系统目前已有比较完善的管理与使用功能。开发点餐系统是为了满足酒店管理的需要,以现代化的创新思维模式去工作。无线点餐系统主要用到的采用模型-视图-控制器MVC架构的设计模式。MVC架构是"Model-View-Controller"的缩写,中文翻译为"模型-视图-控制器"。MVC应用程序总是由这三个部分组成。Event(事件)导致Controller改变Model或View,或者同时改变两者。只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。类似的,只要Controller改变了View,View会从潜在的Model中获取数据来刷新自己。MVC架构最早是smalltalk语言研究团提出的,应用于用户交互应用程序中。smalltalk语言和java语言有很多相似性,都是面向对象语言,很自然的SUN在petstore(宠物店)事例应用程序中就推荐MVC架构作为开发Web应用的架构模式。MVC架构是一种架构,其实需要其他模式协作完成。在J2EE模式目录中,通常采用servicetoworker模式实现,而servicetoworker模式可由集中控制器模式,派遣器模式和PageHelper模式组成。而Struts只实现了MVC的View和Controller两个部分,Model部分需要开发者自己来实现,Struts提供了抽象类Action使开发者能将Model应用于Struts框架中。2.2关键技术简介JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序,同时,JDBC也是个商标名。有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBCAPI,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,新乡逗号网络技术公司的程序员只需用JDBCAPI写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。2.3开发工具及环境Eclipse平台Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。Eclipse最初是由IBM公司开发的替代商业软件VisualAgeforJava的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(EclipseFoundation)管理。2003年,Eclipse3.0选择OSGi服务平台规范为运行时架构。2007年6月,稳定版3.3发布。2008年6月发布代号为Ganymede的3.4版。2009年7月发布代号为GALILEO的3.5版。Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。Eclipse的主要构成Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——EclipsePlatform、JDT、CDT和PDE.JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,EclipsePlatform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。EclipsePlatform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。EclipseSDK(软件开发者包)是EclipsePlatform、JDT和PDE所生产的组件合并,它们可以一次下载。这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到EclipsePlatform中的工具。EclipseSDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。Eclipse项目生产的软件以GPL发布,第三方组件有各自自身的许可协议。Tomcat服务器Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。2.4应用平台Android平台Android是基于Linux内核的操作系统,早期由Google开发,后由开放手机联盟开发。它采用了软件堆的架构,主要分为三部分。底层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写程序的一部分。另外,为了推广此技术,Google和其它几十个手机公司建立了开放手机联盟。Android在未公开之前常被传闻为GPhone。它采用了软件堆层(softwarestack,又名软件叠层)的架构,主要分为三部分:底层以Linux核心为基础,由c语言开发,只提供基本功能。中间层包括函数库Library和虚拟机VirtualMachine,由C+开发。最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以java编写。第三章系统需求分析3.1需求分析数字化餐饮管理系统是处于导入市场的阶段。无线点餐系统管理软件供应商在餐饮行业市场满地找餐饮老板,希望出售自己产品。而餐饮老板在这个信息化满天飞的时代,总要受到影响,也希望通过这种数字化管理软件使得自己经营的餐饮能更有效的得到管理,能更多的盈利。但是,由于,餐饮业界人士对这个无线点餐管理软件不能辩认,或者说识别出好的适应本身餐馆经营模式的无线点餐管理软件所需时间较长,因而,总的来说,他们处于一种观望状态,或者考察时间相对来说较长。一个好的系统,必须要进行完善而且全面的系统分析。系统分析做好了,那就能够指导项目良好地发展下去。当然,系统分析需要以需求分析为基础,不过,在本项目中并未做仔细的需求分析,故在此不谈。首先,我们得确定使用新乡逗号网络技术公司的这个系统的用户应该有顾客、厨师、管理员(包括收银员,只是其权限有限制)。顾客和管理员应该是系统数据的起点,由他们做出相应的操作,然后系统进行处理;厨师则为系统数据的终点,因为最终的任务分配情况是反映到厨师身上的。整个系统的关键任务就是保证顾客所点菜品能够由厨师完成,系统保证能将做菜任务准确无误地传达给厨师。该系统在性能功能上应达到如下需求:(1)操作简单、界面友好:完全控件式的页面布局,使得菜品,资讯,座位等信息的录入工作更简便,许多选项包括餐厅信息,桌位,包房信息等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。(2)即时可见:对客户预定餐饮信息的处理(包括录入、删除)将立即在另一应用端及服务器的对应栏目显示出来,达到“即时点击、即时见效”的功能;(3)系统运行应该快速、稳定、高效和可靠;(4)在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。第四章系统概要设计系统的概要设计主要对系统的总体功能如何设计,如何划分模块,系统的数据库如何设计进行研究。它为系统的详细设计做铺垫。在系统的设计过程中起着非常重要的作用。4.1模块的划分与功能设计本系统主要分两部分:终端设备和后台管理。终端设备能实现更新,计费,注销等功能。4.2功能模块的设计终端系统主要有以下几个模块构成:结台管理、更新管理、注销、设置等功能。结台——在顾客就餐完毕后,计费付帐而设定的功能,是客人能够一目了然,不用担心有什么算错的问题。更新——就是随时对酒店的就餐信息例如:桌位,计费,加菜等功能的更新,与服务器保持一致。注销——在顾客结账以后进行的步骤,方便后来的客人能够及时了解酒店的信息。设置——原准备有一些简单的设置,后来没有实现。无线点餐系统无线点餐系统开桌查台更新转台并台注销结账开桌点菜更新桌号更新菜谱查账结账登录图4-1结构图4.3数据库结构的设计数据库设计(DatabaseDesign)是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程,就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。数据库的设计过程大致可分为5个步骤:(1)需求分析调查和分析用户的业务活动和数据的使用情况,弄清所用数据的种类、范围、数量以及它们在业务活动中交流的情况,确定用户对数据库系统的使用要求和各种约束条件等,形成用户需求规约。(2)概念设计对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中住处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。新乡逗号网络技术公司以扩充的实体—(E-R模型)联系模型方法为例,第一步先明确现实世界各部门所含的各种实体及其属性、实体间的联系以及对信息的制约条件等,从而给出各部门内所用信息的局部描述(在数据库中称为用户的局部视图)。第二步再将前面得到的多个用户的局部视图集成为一个全局视图,即用户要描述的现实世界的概念数据模型。(1)逻辑设计主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。与此同时,可能还需为各种数据处理应用领域产生相应的逻辑子模式。这一步设计的结果就是所谓“逻辑数据库。(2)物理设计根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构(包括文件类型、索引结构和数据的存放次序与位逻辑等)、存取方法和存取路径等。这一步设计的结果就是所谓“物理数据库”。(3)验证设计在上述设计的基础上,收集数据并具体建立一个数据库,运行一些典型的应用任务来验证数据库设计的正确性和合理性。一般,一个大型数据库的设计过程往往需要经过多次循环反复。当设计的某步发现问题时,可能就需要返回到前面去进行修改。因此,在做上述数据库设计时就应考虑到今后修改设计的可能性和方便性。(6)运行与维护设计;在数据库系统正式投入运行的过程中,必须不断地对其进行评调整与修改。总共创建了三张表分别是:订单详细表(orderdetailtbl)、订单表(ordertbl)、桌号表(tabletbl)订单详细表:列出了顾客所点的菜的种类与数量,还有对菜的备注要求。订单表:列出订单用户,所在桌号,客人几位,是否结算等。桌号表:对桌位进行编号并标注其状态时有人还是空。4.4连接数据库的设计与实现本系统采用java语言编写,使用jdbc连接Mysql数据库,所以要用到java中的connection对象和mysql驱动连接到数据库。其实现代码如下所示。Stringdriver=com.mysql.jdbc.DriverStringurl=jdbc:mysql://localhost:3360/wireless_db?useUnicode=true&characterEvcoding=utf-8Stringusername=rootStringpassword=Connectionconn;Class.forName(driver);Conn=DriverManager.getConnection(url,username,password)只有成功连接到了数据库才能进行其他操作,否则就无法开展以下的设计与实现工作了。可见,连接数据库是一个很关键的步骤。第五章系统实现5.1主菜单界面5.1.1功能描述主菜单界面包含点菜管理、并台管理、转台管理、查台管理、结台管理、更新管理、注销、设置等八个功能模块。每个功能模块提供一种服务,包含一组功能操作,界面简单明了方便服务人员操作。5.1.2登录界面的设计登录界面主要是由服务人员来操作的,所以要简单明了易操作。利用数据库对用户信息进行核对,核对正确后利用界面跳转到主菜单界面。每一位服务人员有自己单独的一个账号密码用来登录,这样可以责任到人,不至于出现混乱,否则出现错误都不知道是哪个环节的问题。5.1.3功能描述服务人员可通过用户名和密码进入移动终端首界面来为顾客服务。而服务人员的账号密码是提前在服务器数据库中设置的,每个服务人员都有自己单独的唯一的一个账号密码用来登录,这样可以达到责任到人。5.1.4界面设计图5-1用户登录图5.1.5功能实现及关键代码新乡逗号网络技术公司以单独建立一个Activity用来控制用户的登录,再用户输入账号与密码时,系统先判断用户账号密码是否为空,为空则跳出一个对话框给用户提示;如果不为空则再从EditView中取的账号密码与服务器中的账号密码进行匹配,如果匹配成功则利用Intent语句跳转到下一个主菜单界面。实现登录主要代码及分析:loginBtn.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){if(validate()){//通过validate()判断账号密码是否为空if(login()){//通过login()连接数据库核对是否一致Intentintent=newIntent(LoginActivity.this,MainMenuActivity.class); startActivity(intent);//启动Activity传递intent来跳转页面 }Else{ showDialog("用户名称或者密码错误,请重新输入!");}}}});}对登录按钮添加监听事件,在服务人员输入账号密码后点击登录后,终端会先判断是否满足validate()方法,此方法是防止账号密码为空时的登录提示,如果为空会跳出一对话框进行提示账号密码是必填项,如果不空,则再判断是否满足login()方法,login()方法是用来与数据库进行连接比较核对是否一致,一致则顺利登录跳转到下一个Activity即主菜单界面,否则出现账号密码错误的提示,登录失败;privatevoidsaveUserMsg(Stringmsg){//将用户信息保存到配置文件 Stringid="";//用户编号 Stringname="";//用户名称 String[]msgs=msg.split(";"); //获得信息数组 intidx=msgs[0].indexOf("=");//以“=”为分隔符 id=msgs[0].substring(idx+1);//获取id号 idx=msgs[1].indexOf("="); name=msgs[1].substring(idx+1);//获取名称 SharedPreferencespre=getSharedPreferences("user_msg",MODE_WORLD_WRITEABLE);//共享信息,运用本地数据库SQLite SharedPreferences.Editoreditor=pre.edit(); editor.putString("id",id); editor.putString("name",name); mit(); }此方法是在login()方法中再与后台数据库查询成功后调用的,也将登录用户信息保存在终端系统的本地数据库中,存储方便快捷。这也正是基于Android平台的优点,拥有自己独立的数据库SQLite,它是一套轻量级的数据库引擎,可供其他应用程序调用。5.2更新界面5.2.1功能描述此功能按键主要是为了保持数据的同步,时刻保持服务器和客服端的数据一致。一个是与服务器更新菜谱表数据的,另一个是更新餐桌表数据的。5.2.2界面设计图5-2更新图5.2.3功能实现及关键代码更新功能其实就是要保持终端系统中的数据库与服务器中的数据库随时保持一致。调用updateMenu()和updateTable()这两个方法来保持数据一致。新乡逗号网络技术公司设计的无线点餐系统的两个方法代码大致相同,不过一个是保持菜单表的一致,一个是保持桌号表的一致。privatevoidconfirm(finalintitem){AlertDialog.Builderbuilder=newAlertDialog.Builder(this);builder.setMessage("你真的要更新吗?").setCancelable(false).setPositiveButton("确定",newDialogInterface.OnClickListener(){ publicvoidonClick(DialogInterfacedialog,intid){ if(item==1){ updateMenu(); Toast.makeText(UpdateActivity.this,"菜单表更新成功!",Toast.LENGTH_SHORT).show(); }else{ updateTable(); Toast.makeText(UpdateActivity.this,"桌号表更新成功!",Toast.LENGTH_SHORT).show(); } } }).setNegativeButton("取消",newDialogInterface.OnClickListener(){ publicvoidonClick(DialogInterfacedialog,intid){ dialog.cancel(); } }); AlertDialogalert=builder.create(); alert.show(); }5.3注销与结账界面5.3.1功能描述结账界面:点击结账按钮以后会跳转到下一个界面用来总计消费金额及详细款项,一目了然,方便顾客查账。注销界面:在服务人员准备下班后,服务人员即可点击注销按钮,退出本次登录。5.3.2界面设计图5-3结账图图5-4注销图5.3.3功能实现及关键代码结账实现的主要代码:从服务器获得订单编号,显示总计消费金额,再点击结算按钮以后,通过payBtn.setEnabled(false)方法就会是结算按钮失效,不能再次点击生效,这也是为了是否结算更加明了,不易让顾客和酒店服务员出现多次结账的错误。也是人性化设计的一方面。OnClickListenerpayListener=newOnClickListener(){//结算监听器publicvoidonClick(Viewv){StringorderId=orderIdEt.getText().toString();//获得订单编号Stringurl=HttpUtil.BASE_URL+"servlet/PayMoneyServlet?id="+orderId;//请求服务器urlStringresult=HttpUtil.queryStringForPost(url);//获得查询结果Toast.makeText(PayActivity.this,result, //显示结算结果Toast.LENGTH_LONG).show(); payBtn.setEnabled(false);//使结算按钮失效 }};注销实现的主要代码:此功能的实现比较简单,通过AlertDialog.Builder创建对话框,在对话框中添加两个按钮,一个确定一个取消并添加监听,来对注销进行操作。在确定注销时运用SharedPreferences来对登录信息清空,同时也调用Intent来使页面进行跳转到登录界面。privatevoidlogout(){AlertDialog.Builderbuilder=newAlertDialog.Builder(this);builder.setMessage("真的要退出系统吗?").setCancelable(false).setPositiveButton("确定",newDialogInterface.OnClickListener(){publicvoidonClick(DialogInterfacedialog,intid)

温馨提示

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

评论

0/150

提交评论