电子商城shopping详细设计说明书_第1页
电子商城shopping详细设计说明书_第2页
电子商城shopping详细设计说明书_第3页
电子商城shopping详细设计说明书_第4页
电子商城shopping详细设计说明书_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

1、“梦之队”文档编号产品版本密级文件状态:正在修改V正式发布All-T-2011/11/13Versio n 1.0内部项目名称电子商城shopping共29页电子商城shopping详细设计说明书文档拟制:“梦之队”项目组长:谭建锋批准人:拟制日期:2012年8月1日精品资料推荐目录1引言41.1编写目的41.2背景41.3定义41.4参考资料42程序系统的结构 53模块1 (会员登录注册与资料修改)设计说明 123.1程序描述123.2功能133.3输入输出133.4尚未解决的问题154模块2 (商品介绍与购买)设计说明 154.1程序描述154.2功能164.3输入输出164.4尚未解决的

2、问题 195模块3 (购物车)设计说明 195.1程序描述195.2功能205.3输入输出215.13尚未解决的问题 236模块4 (订单)设计说明 236.1程序描述236.2功能236.3输入输出246.4尚未解决的问题 247模块5 (公告)设计说明 267.1程序描述267.2功能267.3输入输出277.4尚未解决的问题298模块 6 (销售排行)设计说明 268.1程序描述268.2功能268.3输入输出278.4尚未解决的问题 298模块7 (后台管理)设计说明 268.1程序描述268.2功能268.3输入输出278.4尚未解决的问题 29第页1详细设计说明书1 引言1.1 编

3、写目的编写详细设计说明书的目的是为了使开发人员在完成概要设计说明书的基础上, 完成概 要设计规定的各项功能的具体实现。编写详细设计说明书的目的就是为程序员写出实际的程序代码提供依据。 它是软件详细 设计阶段所有任务和所有相关人员所需的参考资料。1.2 背景说明:a 软件系统的名称:基于 Java 和数据库的电子商城系统b 任务提出者:实训教师吕老师c 开发者:梦之队d 完成的系统可以在 Myeclipse 上运行,用户可在此进行各种网上购物操作。1.3 定义列出本文件中用到专门术语的定义和外文首字母组词的原词组。详细设计: 在概要设计的基础上, 对其功能模块或部件进行实现设计, 是编程人员能写

4、 出程序代码。用户接口:是指一个程序与程序使用者交互的部分。 算法:详细设计中实现某项功能的数据处理流程及处理方法。SDK : Software Development Kit 即软件开发工具包。1.4 参考资料a【1】概要设计说明书b【2】需求分析说明书c【3】Java 与 web 开发设计d【4】数据库2程序系统的结构该系统分为七大部分: 会员注册与登录及其资料修改、商品介绍与购买、商品销售 排行、购物车、订单、商城公告、查询搜索 。下面使该系统的流程图和功能图。前台管理模块第页5后台管理模块(一)流程图会员注册与登录及其资料修改购物车订单继续购物去收银台结账清空购物车第页送货地址付款信息

5、送货方式公告查询搜索I1添加公告信息 公告标题公告歹y表| -删除公告查看公告详细信息搜素商品名商 品 类商品名会 员 编会员名订单号订单状第页商品类本系统采用三层架构设计,它的工作原理如图所示第页17用户界面层业务处理层数据库数据存储层3模块1给出商品ID查询商品信息组织SQL语句查询数据库(会员登录线注册及资料修改设计ean明操作页面顾客在进行第一次购物之前要讲行会员登记。-一般要求输入真实返回商品对象返回查询结果厨有的姓名、通讯地址、联系电话品信息Email地址等基本信息。注册完后, 系统会自动生成一个 会员ID”和密码,并在网页上显示出来。顾客一 定要记住自己的ID号和密码,为了防止密

6、码泄漏,顾客可以自己修改 密码;3.1程序描述本程序描述的是用户申请会员和对会员的资料修改功能,包括:登录、注册、重置、填 写、保存、重填、返回。3.2功能为了统一管理,系统规定只有会员才能购买商品,所以要购买商品的新用户 必须先进行用户注册。用户注册的入口位置在网站首页的左侧。 用户点击“注册” 即可进入用户注册页面,会员注册地 址:地 区:|请选择二1書|请选择二帀|请选择二1城区冰 邮 掏:| 4联系电话:|凜确定保存重新填写返回publicboolea n addMember(Memberl nf memberl nf)boolea nflag= true ;try con =DBC

7、onn ecti on.get In it().getC onn();String sql= in sert intouserI nf(userName,password,Email,userRa nk,c on sume,userState,creatTime,modifyime) values;pst =con .prepareStatement(sql);pst .setString(1,memberlnf.getMemberName();pst .setString(2, memberInf.getPassword();pst .setString(3, memberlnf.getEm

8、ail();pst .setlnt (4,1);pst .setDouble(5,0);pst .setString(6,1);pst .setDate(7,newjava.sql.Date(System.curre ntTimeMillis();pst .setDate(8, (java.sql.Date) memberInf.getModifyime(); flag= pst .execute。;return flag; catch (Exception e)return flag; fin allyDBConnection.getInit ().closeAll(con , pst ,

9、rs );网站要求用户名必须唯一,用户可以先看自己的用户名是否被注册。 由于是网络 程序,所以注册后在保存用户信息时候, 还需要再次对注册用户进行检测。 如果 不存在,则保存该用户信息。否则提示该名用户已经被注册,请重新注册,如图:会邑注册用户名:ate密 码:确认宦珂:区:肛面三|习市|青山满区二型区*码定幌存董新埴兮巻目|会员注册5TLJ1用尸名:盘处出横圃用户名代码如下:如果用户输入的用户名存在,并且冻结字段的值不为1,则判断用户输入的密码是否正确,如果密码也正确,则成功登录,否则提示登录失败。如图:I令员登录F Htmbir Login悠好! 您现在可购物了 !i酣登录代码如下publ

10、ic boolea nvalidMember(Str ing memberName,Stri ng memberPassword)boolea n flag = ture;try con =DBC onn ecti on.get In it().getC onn();Stri ng sql=select cou nt(*) from userI nf whereuserName= +memberName+ and password=+memberPassword+Statement st=con .createStatement();rs =st.executeQuery(sql);rs .n

11、ext();if ( rs .getInt(1)0)flag= false ;return flag; catch (Exception e)return flag;fin allyDBConnection.getlnit ().closeAll(con , pst , rs );如果密码不小心泄露了或者是搬家了,为了能够购买到商品并成功送货到 门,用户可在会员资料修改页面对密码或地址簿进行修改M em b&r会门资料修改修改用尸名:1K-ftiil :123席蜡家码; 旌改住码:MKJAM W姓名池littik区陕施电话会员资料修改页面publicboolea nboolea nmodify

12、MemberAddr(MemberAddr memberAddr) flag= true ;try con =DBC onn ecti on.get In it().getC onn();Stri ng sql=update userAddr setuser name=+memberAddr.getMembername()+address= +memberAddr.getAddress()+prov in ce=+memberAddr.getProv in ce()+city=+memberAddr.getCity()+, region=postcode= +memberAddr.getPos

13、tcode()+,pho ne= +memberAddr.getPho ne()+ whereuserlD=+memberAddr.getMemberlD()+;Statement st=con .createStatement();flag=st.execute(sql);st.close();return flag; catch (Exception e)e.pri ntStackTrace();return flag;fin allyDBCo nn ectio n.get In it ().closeAll(+memberAddr.getRegi on()+con , pst , rs

14、);III3.3输入输出项输入的数据是用户填写的基本信息。 输出是从硬盘中读取的文件数据等,或错误警告信息、消息框。3.4尚未解决的问题在本程序的模块中部分功能还未得到全部完善,因时间关系,有进一步优化的空间。4模块2(商品介绍与购买)设计说明进入网上商店,挑选商品。顾客可以按产品类别检索商品,也可以输入产品名称等信息,通配检索数据库,找出所关心的商品;查看商品细节说明,了解价格、付款及送货方式、购物说明等信息;4.1程序描述本程序描述的是对商品的详细介绍以及购买流程,包括:查看、分类、购买、收藏、用 户评论。4.2功能新品上架在前台首页中,单击“新品上架”超链接可以进入到新品上架页面(53上

15、架 2900. D购据j 收淼小至我MUft 1餌门口你厅扌斤1观在诃夷V 它护ri D、口訓元黄致迴性她裁他鏗俶L韶. 眦碑 7戸n a ORFtJff)现在有货悶买| 歌救上架新品消息保存在商品信息表tb_bookinfo中,以字段newbook标志,当 newbook字段的值为1时,代表该图书为上架新品。上架新品页面关键代码:%public List showNewGoods() try conn =DBC onn ecti on.get In it().getC onn();newjava.util.Date curre ntDate=curre ntTimeMillisjava.ut

16、il.Date(System.currentTimeMillis();/ 获取本地时间/7天内创建curre ntDate.setDatecurenDate.getDate()-7); 的商品为新品newString time=SimpleDateFormat(yyyy-MM-ddStringsql= select).format(curre ntDate);* from goods where createTtime+time+ Stateme nt st=conn.createStateme nt();rs =st.executeQuery(sql);List goodsList=new

17、ArrayList();while ( rs .next()Goods goods= new Goods();goods.setGoodID(rs .getlnt(goodID);goods.setGoodName(rs .getString(goodName);goods.setGood lnfo(rs .getString(goodl nfo);goods.setMarketPrice(rs .getDouble(marketPricegoods.setShopp in gPrice(rs .getDouble(shoppingPricegoods.setDiscou nt(rs .get

18、Double(discou nt);goods.setGoodCategory(rs .getInt(goodCategorygoods.setGoodAmou nt(rs .getInt(goodAmou nt );goods.setGoodRa nk(rs .getlnt(goodRank);goods.setIsBarga in(rs .getString(IsBargai n);goods.setlsValid(rs .getString(IsValid);goods.setGoodImage(rs .getString(goodlmage );goods.setCreator(rs

19、.getlnt(Creator);goods.setCreateTtime(rs .getDate(CreateTtime)goods.setModifier(rs .getlnt(Modifier);goods.setModifyTime(rs .getDate(ModifyTime);goodsList.add(goods););););st.close();retur ngoodsList; catch (Exception e) e.pri ntStackTrace(); return n ull ; fin allyDBConn ecti on.getI nit().closeAll

20、(conn , pst , rs );特价商品与新品上架功能实现基本一致,在此不作过多解析商品的分类第页19在首为了方便用户查询所需商品信息,在网站中设置了商品分类显示模块页面右侧有图点击一大分类后又有许多小分类,点击小分类即可查看到相应商品信息果类L曰(Q香蓊t 美iff品分类列表当前选择的类别:t水果类况香蕉】4.3输入输出项输入的数据是用户填写的基本信息。输出是从硬盘中读取的文件数据等,或错误警告信息、消息框。4.4尚未解决的问题在本程序的模块中部分功能还未得到全部完善,因时间关系,有进一步优化的空间。5模块3(购物车)设计说明第页18选中商品后,输入购买数量并点击 “选购 ”按钮,将商

21、品放入购物车; 选购结束,检查购物车,核实商品和数量是否正确,如有出入, 可以重新调整商品和数量,如无误,则去 “收银台 ”结帐。5.1 程序描述本程序描述的是用户对商品的购买及退换,包括:购买、更改数目、结账、清空购物。5.2 功能在购物车主要包括所选商品的添加, 查看购物车,单件商品购买数量的修改, 清空购物车 4 部分。1. 添加到购物车 cart_add.jsp主要采用 Vector 类型的变量 cart 来存储购物数据的,被保存在 Session 中,然后将商品信息保存到 cart 中,主要代码: public void addCart(Goods goods, int quanti

22、ty) / 将商品添加到购物车 if (invaliadInStock(goods.getGoodID()0) / 查询数据库, 看是否有库存 量if ( items = null ) / 判断是否为 null/ 第一次进来items = new ArrayList();Item item =new Item(goods,quantity);items .add(item); else / 否则就直接添加进去 Iterator it = items .iterator(); boolean isFind =false ; / 是否找到相同的商品while (it.hasNext()Item i

23、tem = it.next();/ 判断商品是否已经存在在购物车中 if (item.getGoods().getGoodID() =, 存在的话 数量直接相加goods.getGoodID()isFind = true ;item.setQuantity(quantity+item.getQuantity();break ;/没有找到就新建一个商品Itemif (isFind =false )Item item = new ltem(goods,qua ntity);items .add(item);System. out .print( 商品添加成功,请查看购物车!);else Syste

24、m. out .print( 该商品没有库存,跳转到主页面”);2. 查看购物车查看购物车页面首先需要判断购物车是否为空,如果为空将页面直接跳转到 购物车为空页面cart_see.jsp,否则显示购物车信息。代码如下:public ArrayList getAllItem(Item item) / 获得购物车商品列表return items ;3. 单件商品购买数量的修改Crt编号商品屯称市场价1弼入类电观U rLC-y cY;90D.C总计 uvo退回趨的胸物车第页21繼御购物|去临眾台站醸|洁茫陶切丰代码如下:public量void motifyCart(Goods goods,int q

25、ua ntity) /修改购物车中商品数if (invaliadInStock(goods.getGoodlD()quantity) Iterator its=items .iterator。;while (its.hasNext()Item item = its. next();if (item.getGoods().getGoodlD()=goods.getGoodlD() item.setQua ntity(qua ntity);break ;4. 清空购物车实现的方法很简单,只需要将保存在Session中的购物信息清空即可,清空 购物车页面代码为:public void clearCa

26、rt() / 清空购物车items .clear();如图5.3输入输出项输入的数据是用户填写的基本信息。输出是从硬盘中读取的文件数据等,或错误警告信息、消息框。5.4尚未解决的问题在本程序的模块中部分功能还未得到全部完善,因时间关系,有进一步优化的空间。6模块4第页21(订单)设计说明收银台提交购物清单、选择付款方式及送货方式。完成购物过程生成订单6.1程序描述本程序描述的是用户申请会员和对会员的资料修改功能,包括:登录、注册、重置、填 写、保存、重填、返回。6.2功能生成订单时,不但要保存用户订单中所购头的商品信息和订单信息,同时还需要返回一个可供用户随时查询的唯一订单号。用户查看购物车页

27、面中的“去收银台结帐”超连接即可进入到收银台页面填写订 单信息,在该页面中系统会根据用户登录的用户名自动填写用户基本信息,除用户名不可更改外,其他的均可修改,收银台页面的运行结果如图第页251弓&fit名:iMb :呵宇櫻/ ffiH t fitt喜户谑迪并publicint addOrder(Order order) /添加订单,即结算以后生成订单厂 TtWfe址t址自天涨人曲屋里負排耳鬼何旧達贾 桂:怦刖安?II可罷E超岀 麺计1天焉天粘rint orderlD = 0;try conn = DBConn ecti on. get In it ().getC onn();Stri ng s

28、ql =in sert intoorders(userlD,reciver,address,prov in ce,city,regi on ,postcode,ph on e,orderTotalM on ey,payWay,bill,se ndWay,se ndTime,orderRemark,orderState,crea teTime,modifyTime)+values(? ? ?)pstmt =conn .prepareStatement(sql , PreparedStatement.RETURN_GENERATED_KEYS ); /传入参数:Stateme nt.RETURN_

29、GENERATED_KEYS/pstmt.setInt(1, order.getOrderlD();pstmt .setInt(1, order.getMemberID();pstmt .setString(2 , order.getReciver();pstmt .setString(3 , order.getAddress();pstmt .setString(4 , order.getProvince();pstmt .setString(5, order.getCity();pstmt .setString(6 , order.getRegion();pstmt .setString(

30、7, order.getPostcode();pstmt .setString(8, order.getPhone();pstmt .setDouble(9 , order.getOrderTotalMoney();pstmt .setInt(10 , order.getPayWay();pstmt .setInt(11, order.getBill();pstmt .setInt(12 , order.getSendWay();pstmt .setInt(13, order.getSendTime();pstmt .setString(14, order.getOrderRemark();p

31、stmt .setString(15,order.getOrderState();pstmt .setDate(16, order.getCreatTime();pstmt .setDate(17, order.getModifyTime();pstmt .executeUpdate();/ 执行 sqlrs = pstmt .getGeneratedKeys();/ 获取结果rs .next();orderID =rs .getInt(1);/ 取得 id 的值 catch (ClassNotFoundException e1) e1.pri ntStackTrace(); catch (S

32、QLException e) e.pri ntStackTrace();conn , pstmt , rs );fin allyDBCo nn ectio n.get In it().closeAll(return orderID;在收银台页面 cart_checkout.jsp 中,首先应用判断用户是否已经购物, 然后再判断用户是否登录, 如果用户没有购物或是没有登录都将给予提示并返回到 网站首页。关键代码为:生成订单后,若想要退去订单,在 order.jsp 页面判断此订单为“新订单”后, 有一取消按钮,点击即可退去订单。代码如下: public boolean DeleteOrder(

33、int OrderID) / TODO Auto-generated method stubconn = Db. getConn ();boolean flag =true ;try pstmt = conn.prepareStatement(delete from T_Order whereOrderID=? );pstmt .setInt(1, OrderID);flag =pstmt .execute();return flag; catch (SQLException e) e.printStackTrace();return flag;6.3 输入输出项输入的数据是用户填写的基本信息

34、。 输出是从硬盘中读取的文件数据等,或错误警告信息、消息框。6.4 尚未解决的问题在本程序的模块中部分功能还未得到全部完善,因时间关系,有进一步优化的空间。7模块5(销售排行)设计说明销售明细表中的数量分组并统计销售数量再应用子查询获取销售数量最高的前几位商品7.1程序描述本程序描述的是用户申请会员和对会员的资料修改功能,包括:登录、注册、重置、填 写、保存、重填、返回。7.2功能该页面运行结果如图所示售排行S 君 USort第页451. 新新人蔓家庭影尿2. 呑圣歌冰縮2960.02950 0响买|收窿品.收SK |3.同刨电观950.0聘矢1收裁|4.蔣悻等厘子 2950. 0响买1收豪|

35、5小天使电视 2950.0购买1收就|销售排行销售排行数据主要是将销售明细表中的数量ISBN字段分组并统计销售数量再应用子查询获取销售数量最高的前 5的商品,最后再使用连接查询获取相应的商品信息,关键代码如下:public List SearchDetail(int subTypeid)try conn =DBC onn ecti on.getI nit().getC onn();Stri ng sql=select * from goods wheregoodCategory= +subTypeid+;Statement st=conn .createStatement();第页25rs =

36、st.executeQuery(sql);new ArrayList();List GoodsList= while ( rs .next()Goods goods= new Goods();goods.setGoodID( goods.setGoodName( goods.setGoodInfo(rs.getInt( goodID );.getString(.getString(rsrsgoodName ); goodInfo );goods.setMarketPrice( goods.setShoppingPrice( goods.setDiscount( goods.setGoodCat

37、egory( goods.setGoodAmount(rsrs .getDouble( marketPrice rs .getDouble(.getDouble(rs .getInt( rs .getInt();shoppingPricediscount );goodCategory goodAmount);););goods.setGoodRank( goods.setIsBargain( goods.setIsValid( goods.setGoodImage( goods.setCreator(rsrsrs.getInt( rs .getString( .getString( rs .g

38、etString(goodRank );IsBargainIsValid );.getInt( CreatorgoodImage);););goods.setCreateTtime( goods.setModifier( goods.setModifyTime( GoodsList.add(goods);rsrs .getDate( CreateTtime .getInt( Modifier ); rs .getDate( ModifyTime););st.close();return GoodsList; catch (Exception e)e.printStackTrace();retu

39、rn null finally conn , pst , rs );DBConnection. getInit ().closeAll(7.3 输入输出项输入的数据是用户填写的基本信息。 输出是从硬盘中读取的文件数据等,或错误警告信息、消息框。7.4 尚未解决的问题在本程序的模块中部分功能还未得到全部完善,因时间关系,有进一步优化的空间。8模块6(网站后台主要功能)设计说明在后台设计中主要有7个模块,分别是:后台登录,商品管理, 商品分类管理,会员管理,订单管理,公告管理,查询搜索8.1程序描述本程序描述的是用户申请会员和对会员的资料修改功能,包括:登录、注册、重置、填 写、保存、重填、返回。

40、8.2功能后台登录验证管理员(登陆)弔門呂:1 1底 码=11聒认| 里| 魁同|代码:publicboolea nvalidAdmi n( Stri ng admi nN ame,Stri ng adm in Password)boolea nflag= true ;try con =DBC onn ecti on.get In it ().getC onn();Stri ng sql= select cou nt(*) from Admin whereadm inN ame=+adm inN ame+ and adm in Password=+admi nPassword+Statemen

41、t st=con .createStatement();rs =st.executeQuery(sql);rs .next();if ( rs .getInt0)flag= false ;returnflag; catch (Exception e)returnflag;fin allyDBConnection.getInit().closeAll(con , pst , rs );会员管理用户系统管理员查看用户基本信息并对于经常失信的用户予以冻结或解冻。信息管理页面的运行结果如图会员详细信息至丰信息用户名:1密 码!E_mail :123稍黒金航:122.0合员铸纽;1用户状閒;0刨建时间:

42、2012-07-24收益比址姓名:1地址:地区;湖南眷邵阳市邵阳区区邮銅:5423S联系电话:123456返回代码:public MemberInf showMember( int memberID) try con =DBConnection. getInit ().getConn();+memberID+ String sql= select * from userInf where userID= Statement st= con .createStatement(); rs =st.executeQuery(sql); rs .next();MemberInf ui= new Mem

43、berInf();rs .getInt( userID );rs .getString( userName .getString( Email ); .getDouble( consume );ui.setMemberID(ui.setMemberName(ui.setEmail( ui.setConsume(rsrs);ui.setMemberRank( ui.setMemberState( ui.setCreatTime(rsrs .getInt( userRank ); rs .getString( userState .getDate(creatTime););ui.setModify

44、ime(return ui;rs.getDate(modifyime); catch (Exception e) e.printStackTrace(); return null ; finallyDBConnection. getInit().closeAll(con ,pstrs);publicMemberAddr showMemberAddr(int userID) try con =DBConnection.getInit ().getConn();from userAddr where .createStatement();rs =st.executeQuery(sql);Strin

45、g sql= select Statement st=userID=+userID+ conrs .next();MemberAddr ma= ma.setAddressID( ma.setMemberID(new MemberAddr();rs .getInt( addressID ); rs .getInt( userID );ma.setMembername(ma.setAddress( ma.setProvince( ma.setCity( rs ma.setRegion(rs .getString( username ); rs .getString( address );rs .g

46、etInt( province );ma.setPostcode(ma.setPhone(.getInt( city );rs .getInt( region );rs .getString( postcode ); rs .getString( phone );ma.setCreatTime(rs .getDate(creatTime);ma.setModifyime(rs .getDate(modifyime);st.close();return ma; catch (Exception e)e.pri ntStackTrace();return n ull ;fin allyDBConn

47、 ecti on.get In it ().closeAll(con , pst , rs );仄1 別衰Member L/st用户名真实姓名Email会员等级创連时间蒜结111123 122.C12S12-07-24犷22220 01200T-08-21J.abcabc255Q.C12012-08-02当前页数:1/1第一页 上一贡下一页 是后一帀在介绍如何冻结用户和对已经被冻结的用户进行解冻之前,首先让我们对 会员表进行简要的分析,在会员信息表中,除了包括用户基本信息字段外,还包 括一个标记用户信息是否被冻结的字段userstate,该字段为int型,默认值为0,在设计程序时候规定该字段的

48、值只有0和1两个,0代表未冻结,1代表已经被冻结。由此可见,实现冻结用户只需将该用户的userstate 字段值设置为1即 可,实现解冻只需将userstate 字段设置为0即可。实现冻结用户页面的关键代码如下:publicboolea nin validMember(intmemberID) boolea nflag= true ;try con=DBC onn ectio n.get In it().getCo nn();String sql=update userI nf set userState=0 whereuserID= +memberlD+ ;Statement st=con

49、.createStatement();flag=st.execute(sql);st.close();return flag; catch (Exception e)e.pri ntStackTrace();return flag; fin allyDBConn ecti on.get In it().closeAll(con , pst , rs );public boolea n effectMember( int memberID)boolea nflag= true ;try con =DBC onn ecti on.get In it().getC onn();String sql= up

温馨提示

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

评论

0/150

提交评论