网上书店web课程设计_第1页
网上书店web课程设计_第2页
网上书店web课程设计_第3页
网上书店web课程设计_第4页
网上书店web课程设计_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、目录 第第 1 1 章章 引言引言.2 第第 2 2 章章 系统技术及运行系统技术及运行环环境境.2 2.1 ASP.NET 简介.2 2.2 VISUAL STUDIO 2008 简介 .2 第第 3 3 章章 系统分析系统分析.3 3.1 需求分析 .3 3.2 识别实体 .3 第第 4 4 章章 总体设计总体设计.4 4.1 三层架构层次的划分 .4 4.2 系统功能图 .4 第第 5 5 章章 关键性构件及各层次实现关键性构件及各层次实现.5 5.1 设计和开发流程 .5 第第 6 6 章章 公共模块公共模块.8 6.1 系统主界面 .8 6.2 登录及注册模块 .8 6.2.1 登录

2、.8 6.2.2 注册.9 6.2.3 修改密码.10 6.3 图书搜索 .11 6.4 管理员模块 .13 6.4.1 角色管理.13 6.5 用户管理 .14 6.5.1 主界面.14 6.5.2 修改用户角色及备注信息.15 6.5.3 我的个人信息及更新.17 6.6 图书管理 .18 6.6.1 主界面.18 6.6.2 添加图书.19 6.6.3 查看图书详细信息及更新.21 6.6.4 查看图书销售情况.21 6.7 订单管理 .22 6.7.1 查看订单信息.22 6.7.2 查看订单子项信息.23 6.8 类别管理 .24 6.8.1 主界面.24 6.8.2 添加图书类别.

3、25 6.9 普通用户模块 .25 6.9.1 用户信息中心查看(我的个人信息及更新).25 6.9.2 购买图书(我的购物车).26 6.9.3 结算中心.28 6.9.4 订单管理(查看订单信息).29 6.9.5 查看订单详细信息.30 6.9.6 查看图书详细信息及留言.30 第第 7 7 章章 设计体会及今后的改进设计体会及今后的改进意意见见.34 第第 8 8 章章 参考文献参考文献.34 第第 1 1 章章 引言引言 21 世纪是个信息化的时代,现代计算机技术的发展,为各行各业的发展创造了一个全 新的时代背景人们的生活、工作等已经越来越离不开计算机科学的运用,而 Internet

4、 的应用加速了这种趋势。随着全球经济一体化步伐的加快,在信息时代的今天,各企业商 家所关心的不再局限于自身的产品质量、生产设备、员工的素质,更多的是关心自己的销 售群体(客户群) ,关心他们的想法、需求、购买目的。网上书店系统的存在给予广大用户 能不出门也能买到书,搜索到自己想要的书籍。随着网站的大规模化,它的存在就成为互 联网生活中不可缺少的一部分。本系统主要采用 ASP.NET,开发语言为,主要实现的 是用户管理,订单查询,实现购物结账等功能,由于水平有限,很多地方做的还不是很好, 有待以后加以改进加强。在下面的各章节中,我将详细的介绍网上书店系统 e-book 的开发 过程和所涉及的问题

5、以及解决方法。 第第 2 2 章章 系统技术及运行环境系统技术及运行环境 2.12.1 ASP.NETASP.NET 简介简介 ASP.NET 是统一的 Web 应用程序平台,它提供了为建立和部署企业级 Web 应用程序 所必需的服务。ASP.NET 为能够面向任何浏览器或设备的更安全的、更强的可升级性、更 稳定的应用程序提供了新的编程模型和基础结构。 ASP.NET 是 Microsoft .NET Framework 的一部分,是一种可以在高度分布的 Internet 环境中简化应用程序开发的计算环境。.NET Framework 包含公共语言运行库, 它提供了各种核心服务,如内存管理、线

6、程管理和代码安全。它也包含 .NET Framework 类库,这是一个开发人员用于创建应用程序的综合的、面向对象的类型集合。 ASP.NET 提供了下面的优点: 可管理性: ASP.NET 使用基于文本的、分级的配置系统,简化了将设置应用于服务器 环境和 Web 应用程序的工作。因为配置信息是存储为纯文本的,因此可以在没有本地管理 工具的帮助下应用新的设置。配置文件的任何变化都可以自动检测到并应用于应用程序。 详细信息,请参阅 ASP.NET 配置。 安全: ASP.NET 为 Web 应用程序提供了默认的授权和身份验证方案。开发人员可以 根据应用程序的需要很容易地添加、删除或替换这些方案。

7、 与现有 ASP 应用程序的兼容性: ASP 和 ASP.NET 可并行运行在 IIS Web 服务器上 而互不冲突;不会发生因安装 ASP.NET 而导致现有 ASP 应用程序崩溃的可能。ASP.NET 仅处理具有 .aspx 文件扩展名的文件。具有 .asp 文件扩展名的文件继续由 ASP 引擎来 处理。需要注意的是会话状态和应用程序状态并不在 ASP 和 ASP.NET 页面之间共享。 2.2.2 2 VisualVisual StudioStudio 20082008 简介简介 Visual Studio 是微软公司推出的开发环境。是目前最流行的 Windows 平台应用程序 开发环境

8、。目前已经开发到 9.0 版本,也就是 Visual Studio 2008。 Visual Studio 可 以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络 服务、智能设备应用程序和 Office 插件。 第第 3 3 章章 系统分析系统分析 3.1 需求分析 网上书店系统为用户提供一系列网上购书服务。 系统包含两类用户,即管理员和普通用户。针对这两类用户,系统根据登录时的角色 判断,跳转到相应的页面为其提供操作。网上书店系统实现了图书信息的列表显示,用户 通过选择图书种类进入对应种类的图书列表,也可以输入图书名称进行模糊查询。普通用 户可以

9、针对某一本书进行放入购物车、查看详细信息、查看留言等操作,在结算中心,系 统为用户创建当次购书订单,默认为“未结”状态。同时系统为普通用户提供订单管理操 作,方便用户查看订单,并可以针对以前的未结订单进行已结操作。 管理员负责整个系统的运行与维护,针对图书、订单、留言、用户、角色等,执行添 加、删除、修改等操作。 管理员和普通用户的功能模块图如下: 图 3.1 系统功能模块图 3.23.2 识别实体识别实体 在系统功能模块设计上,按管理信息系统的设计要求,每个系统都必须有输入、输出、 统计、维护、基础数据设置等功能。网上书店系统的数据操作包括角色、用户、图书、图 书种类、订单、订单子项、留言等

10、,共同协调完成系统的运行与维护。 各实体属性:各实体属性: 1. 角色:角色:角色 ID、角色名称 2. 用户:用户:用户 ID、用户名、真实姓名、密码、地址、联系电话、创建日期、角色 ID 3. 图书种类:图书种类:图书种类 ID、种类名称、上级种类 ID 4. 图书:图书:图书 ID、图书名称、所属种类 ID、详细描述、供应商、数量、进货价格、销售价 格、图片信息 5. 订单:订单:订单 ID、所属用户 ID、图书总量、订单总费用、创建日期、订单状态 (2)性能要求: 页面美观大方,实现无刷新技术,操作方便直观,有安全保障机制,后台使用 SQLServer2005 数据库。 第第 4 4

11、章章 总体设计总体设计 4.14.1 三层架构层次的划分三层架构层次的划分 目前,典型的分层架构是三层架构,依次是数据访问层、业务逻辑层和表示层。综合 现有的成功实践和.NET 平台的特殊性,本系统中将三层架构的层次划分如下: 数据访问层负责与数据源的交互,即数据的插入、删除、修改以及从数据库中读 出数据等操作。对数据的正确性和可用性不负责,对数据的用途不了解,不负担任何业务 逻辑。 业务逻辑层负责系统领域业务的处理,负责逻辑性数据的生成、处理及转换。对 流入的逻辑性数据的正确性及有效性负责,对流出的逻辑性数据及用户性数据不负责,对 数据的呈现样式不负责。 表示层负责接收用户的输入、将输出呈现

12、给用户以及访问安全性验证。对流入的 数据的正确性和有效性负责,对呈现样式负责,对呈现友好的错误信息负责。 4.24.2 系统功能图系统功能图 图 4.2 系统功能图 第第 5 5 章章 关键性构件及各层次实现关键性构件及各层次实现 5.15.1 设计和开发流程设计和开发流程 基于需求分析的应用,现将基于.NET 平台的分层架构系统开发划分为以下几个阶段: (1).数据库的设计 (2).确定先行实体 (3)先行实体的实体类设计 (4).先行实体的数据访问层实现 (5).先行实体的业务逻辑层实现 (6).先行实体的表示层实现 (7).整合调试 (8).实现其他实体相关模块 (9).总体测试 5.2

13、5.2 数据库设计数据库设计 根据实体设定以及简要的需求分析,数据库设计如下: ER 图图 (数据库表格设计如下: 1 角色表 Roles 列名数据类型Allow nulls描述备注 roleIDintN角色 ID主键 roleNameVarchar (50)Y角色名称 2 用户表 Users 列名数据类型Allow nulls描述备注 userIDintN用户 ID主键 userNameVarchar(50)N用户名 realNameVarchar(50)N真实姓名 pwdVarchar(50)N密码 addrVarchar(200)N联系地址 phoneVarchar(20)Y联系电话 c

14、reateDatedatetimeN创建时间 roleIDintN角色 ID外键 remarkVarchar(2000)Y备注 3 图书表 Book 列名数据类型Allow nulls描述备注 bookIDintN图书 ID主键 bookNameVarchar(200)N图书名称 caregoryIDintN类别 ID外键 dataVarchar(50)Y图片信息 infoVarchar(2000)Y内容简介 sellVarchar(200)Y出版社 buyInDatedatetimeN购入时间 quantityintY图书数量 inPricemoneyY进书价格 discountfloatY

15、折扣 remarkVarchar(2000)Y备注 4 图书类别表 Category 列名数据类型Allow nulls描述备注 categoryIDintN类别 ID主键 categoryNameVarchar(50)Y类别名称 parentIDintN上一级类别 ID外键 remarkVarchar(2000)Y备注 5 留言表 Comment 列名数据类型Allow nulls描述备注 commentIDintN留言 ID主键 titleVarchar(200)N留言题目 bodyVarchar(2000)Y留言内容 createDatedatetimeN留言时间 userIDintN用

16、户 ID外键 bookIDintN图书 ID外键 6 订单表 OrderForm 列名数据类型Allow nulls描述备注 orderFormIDintN订单 ID主键 userIDintN用户 ID外键 totalNumintY图书总数量 totoalMoneymoneyY图书总价格 orderDatedatetimeN创建时间 stateVarchar(2000)Y订单状态 7 订单子项表 OrderItem 列名数据类型Allow nulls描述备注 orderItemIDintN订单子项 ID主键 bookIDintN图书 ID外键 orderFormIDintN订单 ID外键 nu

17、mintN图书数量 pricemoneyN图书单价 第第 6 6 章章 公共模块公共模块 6.16.1 系统主界面系统主界面 登录页面,管理员登录后可进入管理员页面,普通用户进入普通用户界面。 图 6.1 系统主界面 6.26.2 登录及注册模块登录及注册模块 .1 登录登录 输入用户名和密码点击登录按钮,确认身份后用户进入系统,若为空或者错误时会有 相应的提示信息。登录后根据用户的角色系统进入不同界面,用户可以选择进行其他操作。 图 6.2.1 登陆界面 代码如下: Users us = UserManager.Login(txtUsername.Text.Trim(), t

18、xtpwd.Text.Trim(); Sessionuser = us;/保存用户 if (us != null) if (us.Role.RoleName = 管理员) Response.Redirect(/Manager/UserInfo/UserManager.aspx); else Response.Redirect(/Cart/BookSearch.aspx); else Response.Write(alert(用户名或密码错误);); .2 注册注册 新用户填写注册信息,提交注册为系统用户,默认用户的角色为“普通用 户” 。 图 6.2.2 注册界面 代码如下:

19、if (Page.IsValid) Users us = new Users(); us.UserName = this.txtusername.Text; us.Pwd = this.txtpwd.Text; us.RealName = this.txtrealname.Text; us.Phone = this.txtphone.Text; us.Addr = this.txtaddr.Text; us.Remark = this.txtremark.Text; BookModels.Roles role = new BookModels.Roles(); role.RoleID = 2;

20、 us.Role = role; us.CreateDate = System.DateTime.Now.ToString(); if (UserManager.AddUser(us) != null) Response.Write(alert(注册成功); else Response.Write(alert(注册失败,请重新填写); .3 修改密码修改密码 用户登录系统后就能修改密码。修改时除需要输入用户名和旧密码,另外 还需要对新密码进行确认。提交后自动保存到数据库中。 图 6.2.3 修改密码界面 代码如下: user=(Users)Sessionuser;/保存用户 i

21、f (user != null) this.lblUsername.Text = user.UserName; if (Page.IsValid)/点击修改事件 string newPwd = this.txtNewPwd.Text; string message = UserManager.ModifyPwd(newPwd,user.UserID); Response.Write(alert( + message + ); /密码判断 string pwd = this.txtOldPwd.Text; if (pwd.Equals(user.Pwd) args.IsValid = true;

22、 else args.IsValid = false; 6.36.3 图书搜索图书搜索 系统用户及游客可以输入图书名称进行模糊查询,结果以表格的形式显示, 并可以进入相应页面查看详细信息。 图 6.3 图书搜索界面 1 图 6.3 图书搜索界面 2 代码如下:/绑定根据书名进行模糊查询的方法 string bookname = this.txtBookname.Text; IList book = BookBLL.BookManager.GetBooksBybookname(bookname); this.GridView1.DataSource = book; this.GridView1.

23、DataBind(); 6.46.4 管理员模块管理员模块 .1 角色管理角色管理 提供浏览、添加删除、修改角色的功能。 图 6.4 角色界面 代码如下: /点击修改事件 protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) int roleid = int.Parse(this.GridView1.Rowse.RowIndex.Cells0.Text); /获取角色Id BookBLL.RolesManager.DeleteRoleById(roleid); Respons

24、e.Write(alert(删除成功);); protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) this.GridView1.EditIndex = e.NewEditIndex; Bind(); protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) int roleid = int.Parse(this.GridView1.DataKeyse.RowIndex.Value.ToString

25、(); stringrolename=(TextBox)(this.GridView1.Rowse.RowIndex.Cells1.Controls0).Tex t.ToString(); BookModels.Roles role = new BookModels.Roles(); role.RoleID = roleid; role.RoleName = rolename; BookBLL.RolesManager.ModifyUserRole(role); this.GridView1.EditIndex = -1; Response.Write(alert(修改成功);); Bind(

26、); protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) this.GridView1.EditIndex = -1; Bind(); 6.56.5 用户管理用户管理 .1 主界面主界面 系统列出当前所有用户的基本信息,可以进行删除用户功能,并提供修改 操作的链接。管理员还可以按照角色和用户名进行分类和精确查询。 图 6.5.1 用户管理主界面 1 图 6.5.1 用户管理主界面 2 图 6.5.1 用户管理主界面 3 代码如下: /使用 dropdown

27、list 绑定图书类别 this.ddlCategorySearch.DataSource = BookBLL.RolesManager.GetAllRoles(); this.ddlCategorySearch.DataValueField= roleID; this.ddlCategorySearch.DataTextField = roleName; this.ddlCategorySearch.DataBind(); .2 修改用户角色及备注信息修改用户角色及备注信息 管理员通过主页面的链接,进入修改页面,修改用户的角色及备注信息。 图 6.5.2 修改用户角色界面 代

28、码如下: protected void Page_Load(object sender, EventArgs e) if (!Page.IsPostBack) Users users = (Users)Sessionuser; if (users = null) /Response.Redirect(); else DisplayUserInfo(); private void DisplayUserInfo() int userId=int.Parse(Request.QueryStringuserId.ToString(); Users user = BookBLL.UserManager

29、.GetUserById(userId); txtremark.Text = user.Remark; lblUsername.Text = user.UserName; Bind(); this.ddlRoleselect.SelectedItem.Text = user.Role.RoleName; protected void btnModify_Click(object sender, EventArgs e) Users u = new Users(); u.UserID = int.Parse(Request.QueryStringuserId.ToString(); BookMo

30、dels.Roles role = new BookModels.Roles(); role.RoleID = int.Parse(this.ddlRoleselect.SelectedValue.ToString(); u.Role = role; u.UserName = lblUsername.Text; u.Remark = txtremark.Text; BookBLL.UserManager.ModifyRemark(u); Response.Write(alert(修改成功);); .3 我的个人信息及更新我的个人信息及更新 显示当前管理员的基本信息,并可以根据需

31、要进行更新操作。 图 6.5.3 管理员信息管理界面 代码如下: protected void Page_Load(object sender, EventArgs e) if (!Page.IsPostBack) Users user = (Users)Sessionuser; if (user = null) /Response.Redirect(); else DisplayUserInfo(); private void DisplayUserInfo() Users user = (Users)Sessionuser; this.txtusername.Text = user.Use

32、rName; txtrealname.Text = user.RealName; txtremark.Text = user.Remark; txtphone.Text = user.Phone; txtaddr.Text = user.Addr; lblcreatedate.Text = user.CreateDate.ToString(); lblRole.Text = user.Role.RoleName; protected void btnOk_Click1(object sender, EventArgs e) Users user = (Users)Sessionuser;/获取

33、登陆用户的信息 user.UserName = this.txtusername.Text; user.RealName = txtrealname.Text; user.Remark = txtremark.Text; user.Phone = txtphone.Text; user.CreateDate = System.DateTime.Now.ToString(); user.Addr = txtaddr.Text; BookBLL.UserManager.ModifyUser(user); Response.Write(alert(修改用户信息);); 6.66.6 图书管理图书管理

34、 .1 主界面主界面 提供图书的按类别与书名查询的功能,结果在表格中显示。 图 6.6.1 图书管理主界面 代码如下: /使用 dropdownlist 进行查询 protected void ddlCategorySelect_SelectedIndexChanged(object sender, EventArgs e) string bookID = this.ddlCategorySelect.SelectedValue.ToString(); Book book = BookBLL.BookManager.GetBookById(int.Parse(bookID);

35、IList books = new List(); books.Add(book); this.GridView1.DataSource = books; this.GridView1.DataBind(); /实现删除功能 protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) int bookId=int.Parse(this.GridView1.Rowse.RowIndex.Cells0.Text); BookBLL.BookManager.DeleteBookById(bookId);

36、 Response.Write(alert(删除成功);); .2 添加图书添加图书 为管理员提供添加图书的功能,可以将本地的图书各项信息中,存入数据 库。 图 6.6.2 添加图书界面 代码如下: protected void btnAdd_Click(object sender, EventArgs e) Book book = new Book(); book.BookName = this.txtbookname.Text; book.BuyInDate=System.DateTime.Now.ToString(); book.Info=this.txtInfo.Tex

37、t; book.Data = this.txtdata.Text; book.InPrice=decimal.Parse(this.txtinprice.Text); book.Quantity=int.Parse(this.txtquantity.Text); book.Discount=float.Parse(this.txtdiscount.Text); Category category = new Category(); category.CategoryID = int.Parse(this.DropDownList1.SelectedValue.ToString(); book.

38、Category = category; book.Remark=this.txtremark.Text; book.Sell=this.txtSell.Text; if (BookBLL.BookManager.AddBook(book)!= null) Response.Write(alert(添加成功); else Response.Write(alert(添加失败,请重新填写); .3 查看图书详细信息及更新查看图书详细信息及更新 页面显示相应选择图书的详细信息,包括图书基本内容、留言等,并进行 修改。 图 6.6.3 查看图书信息界面 代码如下: /用户类别第一时间显

39、示 this.DropDownList1.SelectedItem.Text = book.Category.CategoryName; /获取用户修改后的类别 Category categoty=new Category (); categoty.CategoryName = this.DropDownList1.SelectedItem.Text; categoty.CategoryID = int.Parse(this.DropDownList1.SelectedValue.ToString(); book.Category = categoty; .4 查看图书销售情况

40、查看图书销售情况 管理员可以通过类别选择查看的图书,并将其销售结果已表格形式显示在 下方。 图 6.6.4 查看图书销售界面 代码如下: protected void btnSearch_Click(object sender, EventArgs e) string bookName = this.txtBookname.Text; IList books = BookBLL.BookManager.GetBooksBybookname(bookName); if (books.Count 0) BookModels.Book book = (BookModels.Book)books0;

41、IList ots = BookBLL.OrderItemManager.GetOrderItemByBookId(book.BookID); this.GridView1.DataSource = ots; this.GridView1.DataBind(); 6.76.7 订单管理订单管理 .1 查看订单信息查看订单信息 为管理员提供查看订单信息的功能,页面中分“已结订单”和“未结订单” 显示,可以根据需要删除无效的订单,并提供查看详细信息的链接。 图 6.7.1 查看订单界面 代码如下: /根据状态查询订单方法 public static IList GetOrderBy

42、State(string state) string sql = select * from OrderForm where state = + state+; IList list = new List(); DataTable table = DBHelper.GetDataSet(sql); foreach (DataRow row in table.Rows) OrderForm order = new OrderForm(); order.OrderFormID = (int)rowOrderFormID; order.OrderDate = rowOrderDate.ToStrin

43、g(); order.TotalNum = (int)rowTotalNum; order.TotoalMoney = decimal.Parse(rowTotoalMoney.ToString(); order.State = (string)rowState; order.User = UsersService.GetUserById(int)rowuserID); list.Add(order); return list; .2 查看订单子项信息查看订单子项信息 管理员在订单管理页面选择某条订单信息进行查看,跳转到订单子项页面, 方便管理员查看订单的详细信息。 图 6.7

44、.2 查看订单子项界面 6.86.8 类别管理类别管理 .1 主界面主界面 以表格形式显示当前系统所有的图书种类,点击“编辑” ,可以类别名称、 备注进行更新修改操作,同时提供删除功能的链接。 图 6.8.1 类别管理主界面 .2 添加图书类别添加图书类别 填写表单信息,包括类别名称、备注等,选择“添加” ,将当前信息存入数 据库。 图 6.8.2 添加图书类别界面 6.96.9 普通用户模块普通用户模块 .1 用户信息中心查看(我的个人信息及更新)用户信息中心查看(我的个人信息及更新) 显示执行当前操作的普通用户的个人信息,并可以根据需要执行更

45、新操作。 图 6.9.1 用户信息查看界面 .2 购买图书(我的购物车)购买图书(我的购物车) 普通用户将图书浏览页面进行查看后点击购物操作后,自动存入购物车中, 在购物车中用户可以修改所要购买图书的数量,并提供“去结算中心”的链接。 图 6.9.2 购物车界面 1 图 6.9.2 购物车界面 2 if (!IsPostBack) if (SessionCart != null) Bind(); public void Bind() int orderFormId = int.Parse(Request.QueryStringorderFormId.ToString(); th

46、is.GridView1.DataSource = BookBLL.OrderItemManager.GetOrderItemByorderformid(orderFormId); this.GridView1.DataKeyNames = new string orderItemId ; this.GridView1.DataBind(); protected void btnJiesusnCenter_Click(object sender, EventArgs e) OrderForm form = new OrderForm(); form.OrderFormID= int.Parse

47、(Request.QueryStringorderFormId.ToString(); int totalNum=0; decimal totalPrice = 0; for (int i = 0; i this.GridView1.Rows.Count; i+)/使用循环,获取总数量总价格 Label lblPrice=this.GridView1.Rowsi.FindControl(lblPrice) as Label; Label lblNum = this.GridView1.Rowsi.FindControl(lblNum) as Label; totalPrice = totalPrice + (decimal.Parse(lblPrice.Text) * int.Parse(lblNum.Text); totalNum = totalNum + (int.Parse(lblNum.Text); form.TotalNum = totalNum; form.TotoalMoney = totalPrice; SessionorderForm = form; Response.Redirect(/Cart/Check.aspx

温馨提示

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

评论

0/150

提交评论