新闻发布系统论文.doc

上传人:yyf 文档编号:3935819 上传时间:2019-10-10 格式:DOC 页数:25 大小:288KB
返回 下载 相关 举报
新闻发布系统论文.doc_第1页
第1页 / 共25页
新闻发布系统论文.doc_第2页
第2页 / 共25页
新闻发布系统论文.doc_第3页
第3页 / 共25页
新闻发布系统论文.doc_第4页
第4页 / 共25页
新闻发布系统论文.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《新闻发布系统论文.doc》由会员分享,可在线阅读,更多相关《新闻发布系统论文.doc(25页珍藏版)》请在三一文库上搜索。

1、GDGM-QR-03-077-B/1Guangdong College of Industry & Commerce毕业综合实践报告Graduation synthesis practice report基于Web的投票发布系统填写英文标题系别: 计算机系班级: 黄学良 学生姓名: 09软件 学号: 0913115指导老师: 彭丹完成日期: 2010.5.20摘 要重写摘要(3、4百字左右),写清楚开发投票系统的必要性,投票系统的功能、特点、采用的主要技术、论文的内容是如何组织的。关键词:投票信息投票发布投票管理网络23目录毕业综合实践报告1摘 要1目录1一、 前言3(一)产品投票系统概述3(

2、二)研究意义3(三) 设计技术及开发环境31、 设计技术32、 开发环境4二、 可行性分析4(一) 组织和管理可行性4(二) 经济可行性5(三) 技术可行性5三、 需求分析5(一) 现行业务分析51、 业务流程52、 功能分析6(二) 系统建模71、 用户登录用例图72、 投票管理用例图83、 投票管理用例图84、 评论管理用例图95、 投票类型管理用例图106、 用户管理用例图10四、 系统设计11(一) 系统分析11(二) 系统设计111、 用户登录模块流程图112、 投票管理模块流程图123、 投票管理模块流程图124、 评论管理模块流程图125、 投票类型管理模块流程图136、用户管理

3、模块流程图13(二) 数据库设计131、 数据库概念设计132、 数据库逻辑设计14五、 系统实现15附 录20(一) 用户手册201、 系统的支持平台202、 安装说明20基于Web的产品投票系统一、 前言网络投票是通过Internet网友进行投票,一般会有一些建议等等,这有可能对发出人建议一些较好的方法,能有最完美的方法解决问题。 由于网络投票需要进行相关投票软件和网络投票技术的升级和开发,如今最专业的网络投票公司如:顶点科技投票公司等,由于投票技术一般都是突破各种网站的限制,提升网络投票技术的先进性,要不断的对投票软件进行相关的升级,这样才能更好的投票各种网站的限制,最终达到全自动化。(

4、一)产品投票系统概述网络投票是投票为中心的社会化网络服务,统计和显示完全由软件,无须人工参与,在一定程度上能够保证投票的公正性,比如你要做一个调查,你可以在网络平台上自己创建一个投票系统,大体分为两种,一种是选择题形式,出一个问题然后通过单选或者多选进行投票;还一种是问答题形式,就是给出一个问题,要别人回答然后从回答的结果中进行统计。 为了防止作弊,提高大众认可公平性,可以采取一下方法,网络投票主要采用以下方法进行技术处理: 1. Session验证法 2.IP地址验证法 3.Referer验证法 4.cookic 限制5.注册用户投票限制(二)研究意义由于网络投票需要进行相关投票软件和网络投

5、票技术的升级和开发,如今最专业的网络投票公司如:顶点科技投票公司等,由于投票技术一般都是突破各种网站的限制,提升网络投票技术的先进性,要不断的对投票软件进行相关的升级,这样才能更好的投票各种网站的限制,最终达到全自动化。(三) 设计技术及开发环境1、 设计技术ASP 是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术。 指 Active Server Pages(动态服务器页面) ,运行于 IIS 之中的程序 。(1) ASP.net页面技术ASP.net 是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。ASP.net提供

6、许多比现在的Web开发模式强大的的优势。(2) ASP.net组件技术ASP.net是把基于通用语言的程序在服务器上运行。不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。(3) XML Web使用 ASP.NET 创建的 XML Web 服务可使您远程访问服务器。使用 XML Web 服务,商家可以提供其数据或商业规则的可编程接口,之后可以由客户端和服务器端应用程序获得和操作。通过在客户端/服务器和服务器/服务器方案中的防火墙范围内使用标准(如 XML 消息处理和 HTTP),XML Web 服务可启用数据交换。以任何语言编写的

7、且运行在任何操作系统上的程序都能调用 XML Web 服务。(4) ASP.NETASP.NET 使用基于文本的、分级的配置系统,简化了将设置应用于服务器环境和 Web 应用程序的工作。因为配置信息是存储为纯文本的,因此可以在没有本地管理工具的帮助下应用新的设置。配置文件的任何变化都可以自动检测到并应用于应用程序。详细信息,请参阅ASP.NET 配置。2、 开发环境(1) VS软件我们要开发。.net的系统,却需要安装的是SV。.net是开发任何.net系统必须安装的工具包,而c#是指.net下的一种语言等这些工具包,在不需要开发这些功能时是不需要安装的。(2) 数据库软件SQL Server

8、二、 可行性分析可行性分析是系统开发前的一项关键步骤,它是通过对整个系统的需求,技术及开发方法,以及开发人员,所需资金的综合考虑以评估对于该系统的开发是否符合实际。可行性分析包括:组织和管理上的可行性、技术可行性、经济可行性。(一) 组织和管理可行性目前大部分程序都是用了模块化设计,这样能够为将来的扩展提供了基础和方便性。将整个系统划分为多个功能模块,并根据开发小组成员的实际能力分配相应的模块,这种将系统功能平行划分的方法有助于系统开发的组织和管理。(二) 经济可行性投票具有信息量大,内容丰富等特点,如果依靠传统投票发布系统,可能导致效率低下,内容受地域影响大;而基于Web的投票发布系统具有信

9、息及时、准确、传输量大等特点,相比传统的投票发布系统,能够解决效率所带来的问题。系统化的管理能够为企业发展提速,为企业带来更多的机遇。开发环境使用微型计算机即可,所需开发的组件基本都是开源的,免费使用的同时也有良好的社区支持。(三) 技术可行性因为开发使用的组件和软件基本基于开源的,免费使用的同时也有良好的社区支持,所以要解决的问题主要来源于系统开发遇到的细节问题。应解决的主要问题及技术要求:l 收集系统开发所使用的足够的信息l 按实际应用的可行性划分模块,确定模块功能l 建立完善的数据库支持环境l 使用JSP语言实现前台页面视图三、 需求分析(一) 现行业务分析1、 业务流程本系统的主要流程

10、是系统管理员或投票管理员通过用户登录模块验证进入后台管理系统,根据自身的权限使用相应的功能。业务流程图大体如下:投票系统前台显示和投票后台管理登录界面选择投票查看结果验证失败信息输入提交投票显示相应信息提交限制IP确认身份不限制限制检测IP时间不允许通过IP存在上次时间IP不存在系统配置管理投票项目管理用户管理时间允许获取投票更新数据删除用户修改密码删除增加修改添加用户图 投票发布系统业务流程图2、 功能分析根据使用系统的要求不同,用户可分为以下三类:(1) 普通用户普通用户有投票相关和评论相关的操作。(2) 投票管理员投票管理员是普通用户通过用户登录模块登录,该角色可以管理投票信息,管理投票

11、信息,管理评论信息,管理投票类型。(3) 系统管理员系统管理员是普通用户通过用户登录模块登录,该角色可以管理用户信息。投票发布系统具体分为用户登录、投票管理、投票管理、评论管理、投票类型管理、用户管理等模块,主要功能概述如下:(1) 用户登录模块投票发布系统按照使用人群对系统的要求分为三类用户,分别是普通用户、投票管理员、系统管理员。每类用户都具备相应的能力。要进行后台信息的管理,投票管理员和系统管理员都必须经过后台管理登录页面进行登录。(2) 投票管理模块本模块涉及投票投票的相关操作,普通用户可以投递投票稿给系统;投票管理员可以查看普通用户的投票、审阅投票、删除投票。(3) 投票管理模块本模

12、块涉及投票的相关操作,普通用户可以查看投票、查询投票;投票管理员包含了普通用户的所有操作,另外还可以修改投票、添加投票、发布投票、删除投票。 (4) 评论管理模块本模块涉及投票评论的相关操作,普通用户可以添加评论、支持评论、反对评论、举报评论;除了举报评论,投票管理员拥有普通用户其余所有的操作,另外还可以删除评论。(5) 投票类型管理模块本模块涉及投票类型管理的相关操作,而且只有投票管理员可以使用。投票管理员可以查看投票类型、修改投票类型,添加投票类型、删除投票类型。(6) 用户管理模块本模块涉及用户管理的相关操作,而且只有系统管理员可以使用。系统管理员可以查看用户、修改用户信息、添加用户、删

13、除用户。(二) 系统建模1、 用户登录用例图此图显示了用户登录后台管理系统的用例,当用户要登录后台时,需跳转到登录页面输入用户名与密码,验证成功后才能进行相关的管理操作。用户登录模块登录登出普通用户图 用户登录用例图2、 投票管理用例图此图显示了普通用户和投票管理员进行投票相关操作的用例:普通用户可以在前台页面跳转到投递投票页面,填写相关信息投递投票到系统中待投票管理员审阅;投票管理员可以查看用户的投票,审阅投票,删除投票。投票管理模块投票管理员普通用户投票查看投票审阅投票删除投票图 投递管理用例图3、 投票管理用例图此图显示了普通用户和投票管理员进行投票相关操作时的用例:普通用户可以查看投票

14、、查询投票;投票管理员包括了普通用户的操作,另外还可以修改投票、添加投票、发布投票、删除投票。普通用户投票管理模块查询投票投票管理员查看投票修改投票添加投票发布投票删除投票图 投票管理用例图4、 评论管理用例图此图显示了普通用户和投票管理员进行评论相关操作时的用例:普通用户可以查看评论,添加评论,支持或反对评论,举报恶意评论;除了举报评论,投票管理员包括普通用户其余的操作,另外还可以删除评论。评论管理模块查看评论普通用户投票管理员删除评论添加评论支持评论反对评论举报评论图 评论管理用例图5、 投票类型管理用例图此图显示了投票管理员进行投票类型管理相关操作的用例:包括了查看已有的投票类型,修改投

15、票类型,添加投票类型,删除投票类型。投票类型管理模块查看投票类型投票管理员修改投票类型添加投票类型删除投票类型图 投票类型管理用例图6、 用户管理用例图此图显示了系统管理员进行用户管理相关操作的用例:包括了查看已有用户,修改用户信息,添加新用户,删除用户。用户管理模块查看用户系统管理员修改用户信息添加用户删除用户图 用户管理用例图四、 系统设计(一) 系统分析本系统采用了面向对象,结构化的设计技术与快速原型法相结合的开发方法。投票发布系统作为世界上许多信息发布系统的雏形,基本的功能是确定的,信息处理过程明确,为了用最经济的方法开发出一个可实际运行的系统模型,所以这里选择了快速原型开发模型。采用

16、面向对象设计方法,使系统的可复用性和易扩充性得到提高。同样,结构化自顶向下的设计方法,从总体到部分,合理划分系统功能结构,降低系统各功能的耦合性,这样更利于后期的维护。在系统分析和概要设计时使用快速原型开发模型构建系统原始模型,这种相比其它开发模型,比较适合小型开发者使用,此类开发模型符合人们认识事物的规律,系统开发循序渐进,反复修改,确保较好的用户满意度;开发周期短,费用相对少;由于有用户的直接参与,系统更加贴近实际;易学易用,减少用户的培训时间;应变能力强。本系统基于B/S架构,用户都通过从浏览器端(Browser)链接到服务器端(Server)获取信息。同时网站开发使用的是基于B/S架构

17、的三层架构。在这种结构下,用户工作界面是通过浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层结构。(二) 系统设计1、 用户登录模块流程图用户登录模块是投票发布系统区分普通用户和管理员的主要功能模块,通过验证用户身份,为其提供使用系统的相应功能的权限。普通用户不用登录即已拥有使用投票发布系统的许多基本功能,如浏览投票,查询投票等等。为了管理后台信息,管理员需要通过登录才能获取管理能力。管理员通过打开登录页面,输入登录信息,点击“提交”按钮提交信息,验证成功后,跳转到相应管理模块的主页面,如果验证不通过,显示错误信息,返回登

18、录页面继续操作。点击“重填”按钮把输入框清空。不通过通过登录页面登录输入登录信息投票管理模块提交表单验证显示错误信息图 用户登录模块流程图2、 投票管理模块流程图在此模块,普通用户可以投票。当用户需要投递投票的时候,打开投票页面,输入投票内容,点击投票按钮提交信息,若投票成功,显示成功页面并提示用户关闭页面,若投票失败,则显示错误信息,返回到投票页面继续操作。若要放弃投票操作,点击取消按钮回到NRS投票网站主页。在此模块,投票管理员可以查看投票、审阅投票、删除投票。本模块需要管理员完成登录才使用,登录成功后跳转到“投票管理主页”。点击“查看投票”链接,投票信息将以分类列表显示。点击“待审阅”链

19、接显示未经过审阅的投票,点击“审阅已通过”链接显示已通过审阅的投票,点击“审阅未通过”链接显示未通过审阅的投票。点击具体某条投票信息的标题链接跳转到“投票详细信息页面”,在此页面可以查看投票内容的详细信息,点击下方的“通过”按钮实现审阅通过,点击“不通过”按钮实现审阅不通过,审阅后都跳转到投票管理主页继续审阅其它投票。若点击“通过并发布”按钮,则跳转到“投票编辑页面”继续操作,点击“删除”按钮删除该投票,此时投票信息并非完全删除,只是状态改变了并隐藏起来,若要完全删除,打开“投票管理主页”左边的“回收站”链接,找到相应投票点击旁边的删除按钮实现完全删除。图 投票管理模块流程图3、 投票管理模块

20、流程图在此模块,普通用户可以查看投票、查询投票。普通用户可以在NRS网站的主页上查看到投票列表,点击投票的标题链接跳转到“投票详细内容页面”查看投票全部内容。若要查询投票可以在NRS主页的搜索栏输入关键字查询,或者打开“查询页面”进行查询,可以按关键字或日期查询。若查询结果不为0则显示结果列表,点击结果列表的标题可跳转到该投票的“投票详细页面”。结果为空时就显示提示信息。在此模块,投票管理员可以查看投票、查询投票、编辑投票、添加投票、发布投票、删除投票。图 投票管理模块流程图4、 评论管理模块流程图在此模块,普通用户可以查看评论、添加评论、支持评论、反对评论、举报评论。在此模块,投票管理员可以

21、查看评论、添加评论、支持评论、反对评论、删除评论。图 评论管理模块流程图5、 投票类型管理模块流程图在此模块,投票管理员可以查看投票类型、编辑投票类型、添加投票类型、删除投票类型。6、用户管理模块流程图在此模块,系统管理员可以查看用户、修改用户信息、添加用户、删除用户。(二) 数据库设计数据库设计是项目开发和系统设计中非常重要的一个环节,在这里要特别强调数据库设计的重要性,是因为数据库设计就像建设高楼大厦的根基一样,如果设计不好,在后来的系统维护、变更和功能扩充时,甚至在系统开发过程中都会引起比较大的问题。1、 数据库概念设计将需求分析得到的用户需求抽象为信息结构及概念模型的过程是概念结构设计

22、。为了描述数据库结构的概念模式,这里采用E-R图来描述数据库的实体关系。(1) 用户登录模块的E-R图如下:管理员用户名密码ID类型添加时间最后登录时间状态图 管理员E-R图(2) 投票类型管理模块的E-R图如下:投票类型名称ID添加时间状态最后修改时间图 投票类型E-R图(3) 投票管理模块的E-R图如下:投票标题导语ID正文添加时间状态投票类型ID投票者投票者Email图 投票E-R图(4) 投票管理模块的E-R图如下:投票标题导语ID正文添加时间最后修改时间状态投票类型ID发布时间投票ID发布者ID图 投票E-R图(5) 评论管理模块的E-R图如下:2、 数据库逻辑设计(1) 管理员E-

23、R图转换成关系表结构如下:admin表(管理员表)字段名称字段说明字段类型可否为空主键备注id唯一标识符int否是自增字段userName用户名varchar(20)否password密码varchar(20)否type用户类型varchar(20)否state状态varchar(10)否默认值为“未激活”addDateTime添加时间datetime否lastLoginDateTime最后登录日期时间datetime是(2) 投票类型E-R图转换成关系表结构如下:voteMasster(投票主表)字段名称字段说明字段类型可否为空主键备注id唯一标识符int否是自增字段name名称varcha

24、r(20)否state状态varchar(10)否addDateTime添加时间datetime否lastReviseDateTime最后修改时间datetime是(3) 投票E-R图转换成关系表结构如下:voteDetails(投票从表)字段名称字段说明字段类型可否为空主键备注id唯一标识符int否是自增字段contributor投票者varchar(20)是默认值为“匿名人士”c_email投票者Emailvarchar(40)是默认值为“无”title标题varchar(40)否newsLead导语varchar(300)否bodyText正文varchar(10000)否state状态

25、varchar(10)否默认值为“待审阅”addDateTime添加时间datetime否newsTypeId投票类型IDvarchar(20)否外键fk_newsTypeId_ntId五、 系统实现using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using

26、System.Web.UI.HtmlControls;/引入数据库的命名突然间using System.Data.SqlClient;/ / DB 数据的服务类/ public class DB SqlConnection con = null;/定义一个类属性,类型为SQL连接 SqlCommand cmd = new SqlCommand();/针对数据库操作的命令对象 /利用构造函数初始化public DB() con = new SqlConnection(server=localhost;database=vote3;uid=sa;pwd=123456;); public SqlCo

27、nnection getCon() if(con.State=ConnectionState.Closed) con.Open();/打开连接 return con; /关闭连接 public void clear() if (con.State = ConnectionState.Open) con.Close(); /根据传入的SQL语句 执行 并返回结果 public string executeGetReturn(string strSql)/strSql 是传入SQL命令语句 /得到数据库的连接 并且这个连接是打开 /getCon(); /建立一个 命令对象 cmd.Connecti

28、on = getCon();/命令对象是需要基于 一个已经打开了的连接 cmd.CommandText = strSql;/指定数据库命令对象的 执行语句 string result = cmd.ExecuteScalar().ToString();/执行命令语句,并将其以字符串的形式返回 clear(); return result; /根据传入的SQL语句,执行并返回一个指向前的数据流DataReader public SqlDataReader getSdr(string strSql) cmd.Connection = getCon(); cmd.CommandText = strSq

29、l; SqlDataReader sdr = cmd.ExecuteReader(); return sdr; myController类using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System

30、.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class myController_vote : System.Web.UI.UserControl DB DBManager = new DB();/实例化一个数据库的服务类 private int ID = 0; public int _ID set ID = value; /get return this.ID; protected void Page_Load(object sender, EventArgs e) /PageLoad方法 是在页面一加载的时

31、候就会执行的方法 getID(); getVoteTile(); bindData(); /获取系统配置里 前台要举行的投票 ID public void getID() string strSql = select id from voteConfig;/这是我们需要执行的SQL语句 if(ID=0) ID = Convert.ToInt32(DBManager.executeGetReturn(strSql);/获取系统配置的投票ID /获取 投票的标题 public void getVoteTile() string strSql = select voteTitle from vote

32、Master where id= + ID; this.lblVoteTitle.Text = DBManager.executeGetReturn(strSql); /投票项数数据绑定 public void bindData() string strSql=select voteDetailsID,voteItem from voteDetails where ID=+ID; SqlDataReader sdr = DBManager.getSdr(strSql); this.radlOption.DataSource = sdr;/指定数据源 this.radlOption.DataTe

33、xtField = voteItem;/指定要显示的字 this.radlOption.DataValueField = voteDetailsID;/指定主键字 this.radlOption.DataBind();/绑定Rd,这一句一定要写,否则看不到内容 sdr.Close(); protected void radlOption_SelectedIndexChanged(object sender, EventArgs e) 参考文献1 孙鑫Struts 2 深入详解M北京:电子工业出版社,2008.72 唐汉明,翟振兴,兰丽华,关宝军,申宝柱北京:人民邮电出版社,2008.4附 录(

34、一) 用户手册1、 系统的支持平台l 操作系统:Windows XP SP3或以上版本l 数据库软件:SQL Server 2005l .net环境:.net 2.0l 编程语言:C#l 服务器:l 客户端软件:2、 安装说明(1) 配置数据库服务器l 安装SQL本系统选用的是SQL 作为数据库服务器,到其官方网站进行下载,下载后的文件为该版本是个绿色软件,解压缩即可使用。该根目录包含以下几个最常用的子目录。l 启动SQLSQL的安装文件解压缩完成后,它的安装过程结束,但此时还不能够使用。要使用SQL,必须启动SQL的服务。需要使用bin目录下的sql命令,命令行语法为:sqld consol

35、e。步骤为:执行【开始】【菜单】【运行】命令,输入“cmd”,进入Windows命令窗口。然后通过【cd】命令进入到“SQL解压盘符:/sql/bin”目录,执行上面的命令行,即可启动SQL的服务。l 创建数据库在这里可以把源程序包里提供的database目录下的test文件夹复制到mysql安装目录下的data子目录中即可实现数据库的创建。create database vote3use vote3-创建管理员信息表drop table admincreate table admin(id int identity(1,2) primary key,-主键,标识字userName varch

36、ar(20) not null,-管理员登录账号password varchar(20) not null,-登录密码)insert into admin(userName,password) values(hxl,hxl)select * from admin-投票主表drop table voteMastercreate table voteMaster(id int identity (1,1) primary key,voteTitle varchar(30) not null,-投票的标题(针对什么内容进行投票)voteSum int default(0)-相应标题下投票的总票数,初

37、始值为)insert into voteMaster(voteTitle) values(对我们产品的满意度)insert into voteMaster(voteTitle) values(你从哪得知路通轮胎)select * from voteMasterselect * from voteDetails-创建投票从表drop table voteDetailscreate table voteDetails(id int foreign key references voteMaster(id),-外键约束,确保数据的完整性voteDetailsID int identity (1,1)

38、 primary key,-主键voteItem varchar(20) not null,-参与投票的选项voteNum int default(0)-相应选手得到票数)insert into voteDetails(id,voteItem) values(1,非常满意)insert into voteDetails(id,voteItem) values(1,比较满意)insert into voteDetails(id,voteItem) values(1, 很一般)insert into voteDetails(id,voteItem) values(1,有待改进)insert int

39、o voteDetails(id,voteItem) values(2,友情链接)insert into voteDetails(id,voteItem) values(2, 百 度)insert into voteDetails(id,voteItem) values(2, 广 告)insert into voteDetails(id,voteItem) values(2, 杂 志)-创建更新总票数的触发器create trigger updateVoteSumon voteDetailsfor updateasbeginupdate voteMaster set voteSum = vot

40、eSum+1 where id=(select top 1 id from inserted)end-创建系统配置信息表create table voteConfig(id int foreign key references voteMaster(id),-外键约束,确保数据的完整性checkIP int default(0),-系统是否限制IP,0限制,1为不限制checkTime int default(0)-限制时间间隔,单位(分钟))insert into voteConfig(id) values(1)select *from voteConfig-创建投票者信息表create t

41、able voter(id int foreign key references voteMaster(id),-该用户针对哪项调查进行投票,也加上外键约束ip varchar(30) not null,-该用户的IPvoteTime datetime default (getdate(),-用户的投票赶时间voteNum int default(1)-该用户针对项目投票的次数)delete from voterinsert into voter(id,ip) values(1,222.123.12.199)select *from voter指导教师评语:初评成绩:指导教师签名:年 月 日毕业综合实践(设计)评审小组意见:终评成绩:组长签章:年 月 日备注

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1