博客管理系统实验报告_第1页
博客管理系统实验报告_第2页
博客管理系统实验报告_第3页
博客管理系统实验报告_第4页
博客管理系统实验报告_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、河 南 工 程 学 院 实实 习习 报报 告告 课程名称 ASP.NET 程序设计实训 设计题目 博客管理系统 系(部) 计算机学院 班级 信息管理 1133 学 号 姓 名 实习时间 2013.12.302014.1.3 指导教师 李艳玮 2014 年 1 月 3 日 实 习(训) 报 告评语 等级: 评阅人: 职称: 年 月 日 目录 摘摘 要要.I 一一 概论概论.2 1 实训题目 .2 2 课题开发背景 .2 3 课题开发意义 .2 二二 系统分析系统分析.2 1 系统需求分析 .2 2 系统可行性分析 .3 三三 系统设计目标和原则系统设计目标和原则.4 1 系统目标 .4 2 系统

2、流程图 .4 3 系统开发环境 .5 四四 系统功能系统功能设设计计.5 1 系统功能结构 .5 2 系统功能描述 .6 五五 数据库设计数据库设计.7 1 数据库概要设计 .7 2 数据库概念设计 .7 3 数据库逻辑设计 .8 六六 系统详细设计系统详细设计.10 1 网站首页 .10 2 博客的登录 .12 3 博客的注册 .14 4 回应管理模块 .16 5 类别管理模块 .18 七七 实训总结实训总结.19 参考文参考文献献.21 I 摘 要 博客(Blog)是目前 Internet 上最流行、最时尚的应用,其英文全称为 WebBlog,原意为网络日志,是一种十分简易的“傻瓜”式个人

3、信息发布方式。它 代表着网络是时代的个人“读者文摘” ,是以超链接为介质的网络日记。更简明的定 义,就是一种简便的网站内容管理系统(CMS) ,其内容有时效性,并且一般进行分 类,可通过评论等形式实现作者与读者的交流,同时提供符合标准的内容摘要。 Blog 作为一种新的生活方式、新的工作方式和新的学习方式已经被越来越多的 人所接受,并且正在改变着传统的网络和社会结构。网络信息不再是虚假不可验证 的;交流和沟通更有明确的选择和方向性;单一的思想和群体的智慧结合变得更加 有效;个人出版变成人人都可以实现的梦想。Blog 正在影响和改变着我们的生活。 本次实训将实现一个具有简单发布和管理功能的 Bl

4、og 平台。 本博客管理系统包括前台用户注册、用户登录、阅读文章、发表评论、发表留 言等功能模块,以及后台管理员管理、会员管理、类型管理、文章管理、评论管理、 通信管理等功能模块,并构建了一个博客管理系统的基本体系结构。 本系统采用 Microsoft Visual Studio 2008 集成开发环境进行编程开发,配合使用 微软数据库系统 SQL SERVER 2005 数据库来存储网站中用到的数据信息。 关键词:关键词:博客管理系统网站设计 ,Microsoft Visual Studio 2008 , SQL SERVER 2005 数据库 一一 概论 1 实训题目 博客管理系统 2 课

5、题开发背景 博客的个性化和平民视角使得它提供的信息更贴近人们的生活,所以很多人都 想建立自己的网站空间。过去,传统的网络交往方式主要是留言本、BBS、IM 及聊 天室等,但它们或多或少都存在着不足。留言本主要用来留言,不能进行留言回复; BBS 主要用来讨论问题;IM 要想发挥作用,必须要交流的双方同时在线;而聊天更 是闲人的乐园。博客可以说是一种网络虚拟社区,在这里用户可以通过网络日志的 形成方便、快捷地发表自己的心得体会。 3 课题开发意义 博客是一个自由的发布平台,每个人自由的在互联网上通过个人博客发表自己 的心声,而有些人则在全球成千上万的浏览者中赢得影响力。博客作为一种新表达 方式,

6、它不仅传播情绪,而且包括大量的智慧、意见和思想。某种意义上来说,它 也是一种新的文化象征。博客的出现和繁荣,真正凸显网络的知识价值,标志着互 联网发展开始步入更高的阶段。本网站包含有关文章信息,可以供用户阅读,网站 中还设计留言板,方便用户进行留言交流学习和工作的健康心得和经验。本网站还 开发有文章管理、通信管理、链接管理等模块,方便用户使用。通过博客平台,大 家可以相互促进,共同成长,从而进一步提升自己。 二 系统分析 1 系统需求分析 任何一个软件项目的开发都是从需求调查开始,博客管理系统也不例外。系统 管理员通过前台页面进入后台管理模块后,可对注册的博客用户进行管理,包括对 3 注册用户

7、的添加、查找、修改和删除等操作;而博客用户通过前台登录后,可对自 己的博客空间进行管理,包括发布自己的网络日志、收藏个人图片、与相关人员进 行交流和沟通以及删除访问者发表的评论等。 针对博客管理系统的一些需求,总结出如下信息。 用户分普通用户、管理员用户和超级管理员用户。 超级管理员可以对博客管理员进行管理和权限设置。 博客管理员涉及对博客类型管理、文章管理、图片管理、评论管理、链接管 理、留言管理和通信管理。 普通用户可以阅读文章、发表回应、留言和评论。 一种文章类型有多篇文章。 一篇文章有多篇评论。 2 系统可行性分析 可行性分析(Feasibility Analysis)也称为可行性研究

8、,是在系统调查的基础上, 针对新网站的开发是否具备必要性和可能性,对新网站的开发从技术、经济、社会 的方面进行分析和研究,以避免投资失误,保证新网站的开发成功。可行性研究的 目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。为了确定开发 具有可行性,对本系统主要进行了以下三个方面的分析。 (1)经济可行性 经济可行性主要包括支出、效益和投资回收周期。关于支出,一方面要完全利 用现有的设备,看是否需要增加新的硬件设备。另一方面需要经常性的软件维护费 用。关于效益,目前的情况还不能具体确定,只能根据后期的点击率和使用效率来 确定。关于投资回收周期,估计是系统运行后的一年。 (2)技术可行

9、性 技术可行性分析主要是分析技术条件能否顺利完成开发工作,硬、软件能否满 足开发者的需要等。在软件方面,本系统采用的是 ASP.NET 进行开发,前台网页设 计使用的是 Microsoft Visual Studio 2008,而数据库系统采用的是 SQL2005。通过分 析,在软、硬件方面现有工具与环境完全可以实现系统的开发,因此具有技术上的 可行性。 (3)社会因素可行性 社会因素可行性主要包括法律方面的可行性和使用方面的可行性。法律方面的 4 可行性指系统的研发和开发所涉及到的软件都选用正版,不会侵犯他人、集体和国 家的利益,遵循相关的法律规定;使用方面的可行性指使用本软件的人员只需要要

10、 求有一定的上网基础,能做到一个合格的博客就行。 三三 系统设计目标和原则系统设计目标和原则 1 系统目标 本系统属于小型的 Web 版数据库系统,有效地创建了一个网络虚拟社区,使 用户可以及时有效并轻松地与他人交流。通过此网站可以达到以下目标: 界面简洁,框架清晰、美观大方。 用户通过网络日志的形式迅速、便捷地发布自己的心得体会。 为充分展现网络读者与作者的交互性,采用动态网页技术实现博客信息在 线发布。 信息查询灵活、方便,数据存储安全、可靠。 实现强大的博客后台管理功能。 实现后台管理中的各种查询,如定位查询、模糊查询等。 对用户输入的数据,系统进行严格的数据检验,尽可能排除人为地错误。

11、 网站最大限度地实现易维护性和易操作性。 2 系统流程图 在博客管理网站用户可以使用前台系统浏览所有网站内容,可以在网站内阅读 文章,发表评论,发表留言。管理员登录到后台后,可以执行内部数据操作,可以 增加、删除系统用户信息,可以增加、删除、更新版块内容。 在这里主要介绍的是登录博客管理系统网站后,系统整体用例图,如图 3-1 所 示。 5 网民注册 访客会员 匿 名 访 问 注 册 访 问 博 客 访 客 查 看 文 章 登录 注 册 用 户 查 看 文 章 发表评论文章 留 言 管 理 评 论 管 理 管 理 中 心 登录 管理注册用户管理管理员用户 系统管理中心 登录 系统管 理员 否

12、是 否 图 3-1 博客网站流程图 3 系统开发环境 (1)网站开发环境 网站开发环境:Microsoft Visual Studio 2008 集成开发环境 网站开发语言:ASP.NET+C# 网站后台数据库:SQL Server 2005 开发环境运行平台:Windows XP/ Windows 7 (2)服务器端 Web 服务器:Internet 信息服务(IIS)管理器 数据库服务器:SQL Server2005 浏览器:IE6.0 (3)客户端 浏览器:IE6.0 分辨率:最佳效果 1024*768 像素 四 系统功能设计 1 系统功能结构 博客管理系统网站功能结构如图 4-1 所示

13、 6 服务器客户端 系统管理员 管理员登录 博客访问者 匿名注册 注册 博客管理员 管 理 中 心 博 客 主 页 修 改 注 册 用 户 查 找 注 册 用 户 删 除 注 册 用 户 查 找 管 理 员 添 加 管 理 员 删 除 管 理 员 修 改 管 理 员 阅 读 文 章 发 表 评 论 发 表 留 言 类 型 管 理 文 章 管 理 评 论 管 理 链 接 管 理 留 言 管 理 图 片 管 理 通 信 管 理 图 4-1 博客管理系统功能结构图 2 系统功能描述 (1)网站客户端系统功能描述 博客管理系统设计的最终目的是为用户提供一个知识资源共享和信息交流的良好 平台。在网站客户

14、端,已注册用户可以浏览博客主页,输入正确的用户名、密码和 验证码即可成功登陆,从而进行相应的个人博客管理,如:类型管理、文章管理、 评论管理、链接管理、留言管理、图片管理等。每个管理模块都具有相应的关键字 查询、添加信息、修改信息、批量管理等功能;博客匿名用户可以浏览博客主页的 文章信息、评论信息,也可以发表留言等。如果想要成为本网站的一名普通用户, 可进行注册,单击注册可接受网站的相关协议,填写个人资料等。注册成功后即可 具有对博客管理的一些权限。 (2)网站服务器端系统功能描述 系统管理员成功登录博客主页之后,点击左上角导航栏中的管理员登录,输入 正确的用户名、密码和验证码即可成功登录到超

15、级管理员页面。超级管理员具有修 改注册用户、查找注册用户、删除注册用户、查找管理员、添加管理员、修改管理 员、删除管理员等一系列功能。每个模块都具有相应的关键字查询、信息添加、信 息修改、批量管理等功能。本网站界面设计简单大方,操作快捷方便。管理员可对 博客系统中出现的不良信息进行有效的管理,从而保证网站各种信息的健康向上。 7 五 数据库设计 在程序开发过程中,数据库设计是一个非常重要的环节。一个设计良好的数据库 结构,可以提高效率、方便维护、而且以后为进行功能的扩充留有余地。 1 数据库概要设计 本网站采用 SQL Server 2005 数据库,名称为,其中包含 9 张数据表。系统数 据

16、表结构图如图 5-1 所示。 图 5-1 系统数据结构图 2 数据库概念设计 博客作者在发表文章时,可根据文章类型分类发布,一种文章类型有多篇文章。 同时,一个完整的网站还要有一些友情链接。文章类型信息实体 E-R 图和链接信息 实体 E-R 图分别如图 5-2 和图 5-3. 文章信息类型 文章类型文章编号 链接信息 链接编号 网站名称 链接地址 图 5-2 文章类型信息实体 E-R 图 图 5-3 链接信息实体 E-R 图 对于博客作者发表文章时,访客有时要发表留言和评论,这可以增进博客作者 和访客之间的交流与沟通。留言信息实体 E-R 图 5-4 和评论信息实体 E-R 图 5-5。 8

17、 留言信息 留言编号 留言标题 网友昵称 留言日期 留言内容 个人主页 留言回复 评论信息 评论编号 昵称 评论标题 评论标题 评论标题 评论标题 图 5-4 留言信息实体 E-R 图 图 5-5 评论信息实体 E-R 图 博客是以个人为中心的信息摘选,是展现个人风采的一种网络日志。当博客文章 发表后会有相应的人气指数等。文章信息实体 E-R 图 5-6。为了增强系统的安全性 每个用户只有通过正确的系统登录才有权限进行一些基本信息的管理。后台用户实 体 E-R 图 5-7。 文章信息 文章发表日子 文章作者 文章摘要 文章标题 文章内容文章人气留言回复 文章编号 文章类型编号 文章类型名 文章

18、回复数 用户名称 用户编号 用户密码 网站后台用户 图 5-6 文章信息实体 E-R 图 图 5-7 网站后台用户实体 E-R 图 3 数据库逻辑设计 在设计完数据库实体 E-R 图之后,将根据实体 E-R 图设计数据表结构。 (1)ST-news(文章信息列表) 文章信息列表用来记录文章信息,如图 5-8 所示。 9 图 5-8 文章信息列表 (2)ST-replay(评论信息列表) 评论信息列表用来保存评论信息,如图 5-9 所示。 图 5-9 评论信息列表 (3)ST-message(留言信息列表) 留言信息列表用来保存留言信息,如图 5-10 所示。 图 5-10 留言信息列表 (4)

19、文件夹组织结构 在此将网站文件的组织结构展示出来, 如图 5-11 所示。 10 图 5-11 文件夹架构 六 系统详细设计 网站的详细设计主要包括组员在博客管理系统中所负责的各个板块,并对重要 版块的功能、设计思路、核心代码和实现结果进行详细的描述。 网站的详细设计主要包括组员在博客管理系统中所负责的各个板块,并对重要 版块的功能、设计思路、核心代码和实现结果进行详细的描述。 1 网站首页 (1)功能描述:在网站首页中实现的功能有浏览文章、留言、评论、注册用户、找 回密码、普通管理员登录、超级管理员登录等。 (2)设计思路:此页面的控件主要有标签、文本框、按钮等,对各控件的属性进行 设置,从

20、而实现界面友好、功能齐全。 (3)核心代码: protected void Page_Load(object sender, EventArgs e) / 在此处放置用户代码以初始化页面 11 string ST_dns = ConfigurationSettings.AppSettingsconStr; /最新推荐文章 string ST_cmd_sql = select top 10 * from ST_news where ST_n_iscmd=1 order by ST_n_date desc; ST_myConn = new SqlConnection(ST_dns); SqlDat

21、aAdapter ST_classCmd = new SqlDataAdapter(select ST_c_id, ST_c_name from ST_class , ST_myConn); SqlDataAdapter ST_cmdCmd = new SqlDataAdapter(ST_cmd_sql,ST_myConn); DataSet ST_classds = new DataSet(); ST_classCmd.Fill(ST_classds,类别列表); DataSet ST_cmdds = new DataSet(); ST_cmdCmd.Fill(ST_cmdds,推荐文章);

22、 ClassList.DataSource = new DataView(ST_classds.Tables0); ClassList.DataBind(); CmdList.DataSource = new DataView(ST_cmdds.Tables0); CmdList.DataBind(); /调用自定义 NewsBlogList_Bind 方法 NewsBlogList_Bind(); if (Request.Cookiescolors!=null) string ST_test = Request.Cookiescolors.Value; String ST_colorList

23、 = ST_test.Split(new char , ); ST_bgcolor = ST_colorList0; ST_tcolor = ST_colorList1; else ST_bgcolor = #FFDE94; ST_tcolor = #efe3ce; Page.DataBind(); 12 (4)实现结果如图 6-1 所示。 图 6-1 网站首页 2 博客的登录 (1)功能描述:当注册好的用户输入用户名、密码、验证码与后台数据库的一样时, 用户就能进入自己的管理界面,从而实现自己的发表文章、删除文章等功能。 (2)设计思路:此页面的控件主要有标签、文本框、按钮等,同时还添加了一

24、些验 证控件对输入的信息格式、范围等进行验证,从而保证用户信息的正确性。 (3)核心代码: protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) /生成一个随机数,在初始化时将其显示出来,作为验证码 Random yzm = new Random(); this.labVali.Text = yzm.Next(1000, 9999).ToString(); 13 protected void btnOK_Click(object sender, EventArgs e) if (this.txtVali.Te

25、xt != this.labVali.Text) Response.Write(alert(验证码错误); location=javascript:history.go(-1); else int i = this.checkLogin(txtUid.Text, txtPwd.Text); if (i 0) / Response.Write(alert(登录成功!); location=/Module/Blog/ST_BlogIndex.aspx); /Response.Write(alert(登录成功!); SessionUserName = this.txtUid.Text; Sessio

26、nPassWord = this.txtPwd.Text; Page.Response.Redirect(/Module/Blog/ST_BlogIndex.aspx); else Response.Write(用户名称或密码错误!); public int checkLogin(string loginName, string loginPwd) SqlConnection con = new SqlConnection(Server=(local);database=db_Blog;Uid=sa;Pwd=); SqlCommand myCommand = new SqlCommand(se

27、lect count(*) from tb_Blog where UserName=loginName and PassWord=loginPwd, con); myCommand.Parameters.Add(new SqlParameter(loginName, SqlDbType.NVarChar, 50); myCommand.ParametersloginName.Value = loginName; myCommand.Parameters.Add(new SqlParameter(loginPwd, SqlDbType.NVarChar, 50); myCommand.Param

28、etersloginPwd.Value = loginPwd; myCommand.Connection.Open(); int i = (int)myCommand.ExecuteScalar(); myCommand.Connection.Close(); return i; (4)实现结果如图 6-2 所示。 14 图 6-2 博客的登录 3 博客的注册 (1)功能描述:在此模块中实现了对用户的注册。用了很多验证控件,对有的不能 为空,有的必须为数值等功能。 (2)设计思路:此页面的控件主要有标签、文本框、按钮等,同时还添加了一些验 证控件对输入的信息格式、范围等进行验证,从而保证用户注

29、册信息的正确性。 (3)核心代码: protected void btnOK_Click(object sender, EventArgs e) /定义一个 SqlData 的新实例对象 SqlData da = new SqlData(); /调用公共类的 ExceRead 方法,返回 SqlDataReader 类型的数据 SqlDataReader read = da.ExceRead(select * from tb_Blog where UserName= + this.txtName.Text + ); /读取数据库中的数据 read.Read(); /判断用户是否已经注册 if

30、(read.HasRows) if (this.txtName.Text = readUserName.ToString() Response.Write(alert(对不起,该用户已 经注册!);location=Register.aspx); return; read.Close(); /定义一个字符串,插入相关的用户注册信息 string P_str_Com = insert into tb_Blog(UserName,PassWord,ReallyName,Birthday,Address,PostCode,Subject,Email,Ho mePhone,MobilePhone,QQ

31、,ICQ, Question,Answer,Sex,RegTime,IP) + values( + this.txtName.Text + , + this.txtPwd.Text + , + this.txtRealName.Text + , + this.txtBirthday.Text + + , + this.txtAddress.Text + , +this.txtPostCode.Text+ , + this.txtSubject.Text + , + this.txtEmail.Text + + , +this.txtHphone.Text + , + this.txtMphon

32、e.Text + , +this.txtQQ.Text+ 15 , +this.txtICQ.Text + , + this.txtQues.Text + + , + this.txtAns.Text + , + this.ddlSex.SelectedValue + , + DateTime.Now.ToString() + , + Page.Request.UserHostAddress + ); if (!ValidateDate1(txtBirthday.Text) location=Register.aspx); /调用公共类中的 ExceSQL 方法,执行 insert 语句 bo

33、ol add = da.ExceSQL(P_str_Com); if (add) Response.Write(alert(恭喜您!注册成功! );location=././BlogIndex.aspx); else Response.Write(alert(对不起!您注册失败!); location=javascript:history.go(-1); protected void Button1_Click(object sender, EventArgs e) SqlData da = new SqlData(); SqlDataReader read = da.ExceRead(sel

34、ect * from tb_Blog where UserName= + this.txtName.Text + ); read.Read(); if (read.HasRows) if (this.txtName.Text = readUserName.ToString() Response.Write(alert(对不起,该用户已 经注册!);location=Register.aspx); else Response.Write(alert(恭喜您,该用户可以注 册!);); read.Close(); (4)实现结果如图 6-3 所示。 16 图 6-2 博客的注册 4 回应管理模块

35、(1)功能描述:在此回应管理中用户可以很清楚的看到回应着和回应着回应的内容, 也可以对其信息删除。 (2)设计思路:此页面主要调用后台数据库。网友的回应如果涉及不健康信息,管 理员会进行及时有效的管理。 (3)核心代码: protected void Page_Load(object sender, System.EventArgs e) / 在此处放置用户代码以初始化页面 /*判断是否登录*/ ST_check_Login(); /*建立链接*/ string ST_dns = ConfigurationSettings.AppSettingsconStr; ST_myConn = new

36、SqlConnection(ST_dns); if(!Page.IsPostBack) ST_Replay_Bind(); 17 private void ST_Replay_Bind() string ST_sql = select * from ST_replay; /调用公共类 SqlData 中的 ExceDS 方法,返回一个 DataSet 类型的 数据集 ReplayList.DataSource = sd.ExceDS(ST_sql); ReplayList.DataKeyNames = new string ST_r_id ; ReplayList.DataBind(); pr

37、otected void CheckBox2_CheckedChanged(object sender, EventArgs e) for (int i = 0; i = ReplayList.Rows.Count - 1; i+) CheckBox cbox = (CheckBox)ReplayList.Rowsi.FindControl(CheckBox1); if (CheckBox2.Checked = true) cbox.Checked = true; else cbox.Checked = false; protected void Button1_Click(object se

38、nder, EventArgs e) CheckBox2.Checked = false; for (int i = 0; i = ReplayList.Rows.Count - 1; i+) CheckBox cbox = (CheckBox)ReplayList.Rowsi.FindControl(CheckBox1); cbox.Checked = false; protected void ReplayList_RowDeleting(object sender, GridViewDeleteEventArgs e) /创建公共类 SqlData 的一个新实例对象 SqlData da

39、 = new SqlData(); /调用公共类中的 ExceSQL,执行删除的 SQL 语句 bool delete = da.ExceSQL(delete from ST_replay where ST_r_id= + ReplayList.DataKeyse.RowIndex.Value.ToString() + ); if (delete) Response.Write(alert(删除成功!); location=ST_admin_replay.aspx); else 18 Response.Write(alert(删除失败!); location=ST_admin_replay.a

40、spxx); (4)实现结果如图 5-4 所示。 图 6-4 回应管理模块 5 类别管理模块 (1)功能描述:在此回应管理中用户可以很清楚的看到回应着和回应着回应的内容, 也可以对其信息删除。 (2)设计思路:此页面主要调用后台数据库。网友的回应如果涉及不健康信息,管 理员会进行及时有效的管理。 (3)核心代码: protected void Page_Load(object sender, EventArgs e) /建立数据库连接 string ST_dns = ConfigurationSettings.AppSettingsconStr; ST_myConn = new SqlConn

41、ection(ST_dns); if (!IsPostBack) /调用自定义方法 ST_Type_List_Bind()进行数据绑定 ST_Type_List_Bind(); public void ST_check_Login() 19 if (SessionUserName = null) Response.Write(alert(对不起!您还不是会员,请先注册再 登录!);location=././BlogIndex.aspx); Response.End(); protected void btnSearch_Click(object sender, EventArgs e) Sql

42、Data da = new SqlData(); string search = this.ddlSelect.SelectedValue; switch (search) case 文章编号: da.BindData(this.ClassList, Select * From ST_class Where ST_c_id Like % + this.txtKey.Text + %and BlogID= + ID + ); break; case 文章类型: da.BindData(this.ClassList, Select * From ST_class Where ST_c_name Like % + this.txtKey.Text + %and BlogID=

温馨提示

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

评论

0/150

提交评论