实习二:网上商城订单系统功能模块开发.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实习 网上商城 订单 系统 功能模块 开发 完整版
- 资源描述:
-
实习二:网上商城订单系统功能模块开发(完整版) ———————————————————————————————— 作者: ———————————————————————————————— 日期: 25 个人收集整理 勿做商业用途 实习二 1. 在站点根目录下新建order文件夹,在该文件夹中设置个人购物订单payment。asp的静态效果及Css布局设置,效果如下图所示: Html代码如下所示 〈%@LANGUAGE=”VBSCRIPT” CODEPAGE=”936”%〉 <!DOCTYPE html PUBLIC "—//W3C//DTD XHTML 1。0 Transitional//EN" "http://www.w3。org/TR/xhtml1/DTD/xhtml1—transitional。dtd”〉 〈html xmlns="http://www.w3。org/1999/xhtml”> 〈head> <meta http-equiv=”Content-Type" content="text/html; charset=gb2312” /> <title>生成订单页面</title〉 〈link href="../styles/payment。css" rel=”stylesheet” type="text/css" /〉 〈/head〉 〈body〉 <table align="center" border=”0" class="cart” cellspacing=”1” cellpadding="4” width=”770"〉 〈tr class=”tdtbg"> <td colspan="5”〉购物车</td〉 〈/tr> 〈tr class=”tdtbg"〉 <td class="l1" 〉商品编号〈/td> 〈td class=”l2” 〉名称</td> <td class="l3" 〉单价</td〉 <td class="l4” 〉数量〈/td〉 〈td class=”l5” >金额</td〉 〈/tr〉 <tr class='tdbg’ > <td colspan=”5” >目前您的购物车是空的。</td> </tr〉 <tr class=’tdbg'> <td〉&nbsp;〈/td〉 〈td>&nbsp;</td〉 〈td〉 </td〉 〈td>&nbsp;〈/td〉 <td>&nbsp;〈/td〉 〈/tr〉 〈tr〉 <td colspan="5" align="center" class="total"〉总计金额:¥</td〉 〈/tr> <tr> 〈td colspan="5” align=”center"〉〈input type=”button” value="修改购物车"〉<input type="button” value=”返回继续购物"〉〈/td〉 </tr〉 </table> <form name=”form1" METHOD=”POST"> <table border=”0" class=”order” width=”770"> 〈tr〉 〈td colspan=”2" class=”info">您购物车中没有商品,不可以填写订单!〈/td> 〈/tr> 〈tr> 〈td height=”35” colspan="2" align=”center">〈strong><font color="#0000FF”〉 收货人信息 〈/font〉</strong>〈/td> </tr〉 <tr〉 <td class=”ol1” 〉会员名:〈/td> <td class="ol2"〉 〈/td〉 〈/tr〉 <tr〉 〈td class="ol1”>收货人姓名:〈/td〉 <td class="ol2”〉〈input type="text” name=”username” ize="15" maxlength=”25”> 〈span>*〈/span>〈/td> </tr> 〈tr〉 〈td class=”ol1">联系电话:</td> 〈td class=”ol2"><input type=”text" name="tel" maxlength="64">〈span>*〈/span〉</td〉 </tr〉 〈tr〉 〈td class=”ol1"〉收货地址:〈/td> 〈td class="ol2”><input type=”text” name="address" size=”40” maxlength="128”><span〉*</span〉</td〉 </tr> 〈tr〉 <td class=”ol1”>邮编:</td〉 〈td class=”ol2">〈input type=”text" name=”postcode” size="15” maxlength="25”〉<span>*</span〉</td〉 </tr〉 <tr〉 〈td class="ol1”〉付款方式:〈/td> 〈td class=”ol2”>〈select name="payment">〈option value="1">货到付款</option><option value=”2">网上支付</option〉〈/select〉<span〉*</span>〈/td〉 </tr> <tr> 〈td class=”ol1">备注:</td〉 〈td class="ol2"〉〈textarea name=”userremark" cols="70" rows=”10" 〉〈/textarea>〈span〉*〈/span>〈/td> </tr〉 〈tr> 〈td colspan=”2”〉<input type=”submit” value="提交订单”>〈input type="button" value=”返回继续购物”></td> 〈/tr〉 〈/table> </form> </body> 〈/html〉 Css代码如下所示: body { font-size:12px; background—color:#FFFFFF; background-image: url(。。/img/back.gif); background—repeat: repeat; } table { width:770px; margin:auto; } 。cart{ background—color:#F0F0FF; border:1px #884400 solid; } 。order { margin—top:20px; background-color:#F0F0FF; border:1px #884400 solid; } td { font-size:12px; text—align:center; } .l1,。l3,。l4{ width:15%; } 。l2{ width:30%; } 。tdtbg { color:#FFFFFF; background—color:#996633; } 。tdbg { color:#000000; background—color:#FFCC66; } 。total { color:blue;background-color:#FFFF66;” } .ol1{ width:20%; text-align:right; padding—right:15px; background:#996633; color:#FFFFFF; } .ol2{ text—align:left; background:#FFCC66; padding—left:15px; } span { color:#FF0000; } 。ordersuccess { align:center; border:0px; width:550px; } .info { text-align:center; font-size:18px; color:#FF0000; font—family:”黑体”; padding:10px; } 下面开始进行动态效果的开发.首先进行登录判断,根据登录成功标志变量session(“login”)是否为yes,如果是则表示登录成功,进入该页面下的购物车数据显示和订单表单的操作;否则,通过msgbox函数弹出一个对话框,并结束该网页的执行。代码如下: 在<%@LANGUAGE="VBSCRIPT” CODEPAGE="936"%〉之下加入: 〈!—-#include file=”.。/product/cartclass.asp”-—〉 〈% response。buffer=true response。expires=0 response。CacheControl="no-cache" if session(”loginyes")<〉"yes" then %〉 〈script language=”vbscript”〉 if msgbox(”您没有登录,不可以进行此操作!" & vbcrlf & ”是否回首页登录?”,292,”登录警示!”)=vbyes then window.location。href=".。/index。asp" else window。location.href="。。/product/basket。asp" end if </script〉 〈% response。end() end if %〉 购物车表格的内容与购物车网页文件basket。asp中购物车表格的设计是类似的,代码如下: <% dim ucart set ucart=new usercart ucart.createcart %> <!DOCTYPE html PUBLIC ”—//W3C//DTD XHTML 1.0 Transitional//EN” ”http://www。w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”> <html xmlns=”http://www.w3.org/1999/xhtml”〉 <head〉 <meta http—equiv=”Content-Type" content=”text/html; charset=gb2312" /〉 〈title〉生成订单页面〈/title〉 <link href=”。./styles/payment。css" rel="stylesheet" type="text/css” /〉 〈/head〉 <body〉 <table align="center" border=”0” class="cart” cellspacing=”1” cellpadding=”4" width="770”> <tr class="tdtbg”> <td colspan="5">购物车〈/td〉 </tr〉 〈tr class=”tdtbg”〉 <td class="l1” 〉商品编号〈/td〉 <td class=”l2” >名称〈/td〉 <td class="l3" >单价〈/td> <td class="l4” 〉数量〈/td> <td class=”l5" >金额〈/td〉 〈/tr〉 〈%if ucart.checkempty() then%> 〈tr class='tdbg' 〉 <td colspan=”5" 〉目前您的购物车是空的。〈/td〉 〈/tr> 〈% else for i=0 to ubound(ucart。viewcart(),2) %> <tr class=’tdbg'〉 <td>〈%=ucart。viewcart()(0,i)%></td〉 〈td>〈%=ucart.viewcart()(1,i)%〉</td> <td〉〈%=ucart。viewcart()(2,i)%〉</td〉 <td>〈%=ucart.viewcart()(5,i)%></td〉 〈td><%=ucart。viewcart()(3,i)*ucart.viewcart()(5,i)%〉〈/td〉 </tr〉 <%next%〉 〈%end if%> <tr> <td colspan=”5" align=”center" class="total”〉总计金额:<% if ucart。tprice()(1)="" then total=0 else total=ucart.tprice()(1) end if response。write total %>¥〈/td〉 〈/tr〉 页面效果如下所示: 关于网页中的订单表单中显示的数据是从数据库中会员信息表member中取出来的,具体操作选择“应用程序—绑定",点击添加按钮,进入如下对话框: 然后展开记录集把相应字段拖放到相应位置,效果如下所示: 然后在表单form1中,添加5个隐藏控件,代码如下: <input type=”hidden” name=”oldurl”> <input type="hidden” name=”action" value="paid”〉 〈input name=”ordertime” type="hidden” value="<%=now()%〉”〉 〈input name=”userid" type=”hidden" value=”<%=(Recordset1.Fields.Item(”id").Value)%〉"〉 <input name="total" type="hidden” value="〈%=total%>"〉 然后选择应用程序———服务器行为命令,单击添加按钮-—-插入记录,在弹出的对话框中进行如下所示的设置: 此时,网站具备了提交订单的功能,用户在如下面 检查购物车信息是否有误,检查收货人信息是否需要修改(注意:谁登陆就默认谁是收货人),比如你的收货人信息想要改为张三,那么直接在该页面上修改即可。如下: 改完成后,击交单,此时orderform数据库中会新增一条记录,如下所示: 下面开始设置订单插入成功后跳转至paymentsuccess。aspe页面,该页面的效果如下所示: 实现代码如下: 〈%@LANGUAGE=”VBSCRIPT" CODEPAGE="936”%〉 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ”http://www。w3。org/TR/xhtml1/DTD/xhtml1—transitional.dtd”> 〈html xmlns=”http://www.w3.org/1999/xhtml"> 〈head> <meta http-equiv="Content—Type” content=”text/html; charset=gb2312" /〉 〈title>结账成功页面〈/title〉 〈script language="javascript"〉 function gouwu(){ window。location。href="../product/showclass。asp"; } 〈/script> <style type="text/css"〉 〈!-— body { font-size:12px; background-color:#FFFFFF; background—image: url(img/back.gif); background—repeat: repeat; } 。ordersuccess { align:center; border:0px; width:550px; } .tdbg { color:#000000; background—color:#FFCC66; text-align:center; } 。tdtbg {color:#FFFFFF; background—color:#996633; } --〉 〈/style〉 </head〉 〈body〉 〈table class="ordersuccess" align=”center" border="0" cellspacing=”1" cellpadding=”4" width="550”〉 <tr class=”tdtbg"〉 〈td align="center"〉<strong〉提交订单成功〈/strong></td> </tr> <tr class="tdbg”〉 <td align="center”〉 您的订单已经提交成功,请等待我们给您发货。 请尽快付款,以便我们尽快给你们发货! 〈a href="#”>付款</a〉 〈/br〉</br>〈/br> 〈a href=”#">订单查询</a〉</td〉 </tr〉 <tr class=”tdbg"> <td>〈input type=”button" value="返回继续购物" onClick=gouwu()"/>〈/td> </tr> 〈/table> 〈/body> 〈/html〉 在该页面中会根据付款类型的选择提示不同的信息,如选择的是货到付款,则显示“您的订单已经提交成功,请等待我们给您发货”,如选择的是货到付款,则显示“请尽快付款,以便我们尽快给您发货!付款" 为了取得刚提交成功的订单信息,可以通过对订单信息表orderform中所有的记录进行按照orderid字段的降序排序,并取得的第一条记录即是刚提交成功的订单记录。具体如下: 然后,利用判断语句实现,代码如下: 〈tr class=”tdbg"〉 〈td align=”center”〉 <%if (Recordset1.Fields.Item("payment”)。Value)=1 then%〉 您的订单已经提交成功,请等待我们给您发货. 〈%else%> 请尽快付款,以便我们尽快给你们发货! <a href=”#”〉付款〈/a> <%end if%> </br〉</br></br〉 <a href=”#”〉订单查询</a〉</td> 将session购物车中的所有信息内容存储至数据表orderform_sub中并清空购物车,具体实现代码参照如下: <body〉 <% dim ucart set ucart=new usercart ucart.createcart() set rs=server.CreateObject("adodb.recordset”) sql="select * from orderform_sub" rs.open sql,MM_conn_STRING,1,3 for i=0 to ubound(ucart。viewcart(),2) rs.addnew rs("orderid”)=(Recordset1。Fields。Item("orderid")。Value) rs(”proid")=ucart。viewcart()(0,i) rs("proname")=ucart.viewcart()(1,i) rs(”proprice")=ucart.viewcart()(2,i)*0.8 rs("proamount”)=ucart.viewcart()(5,i) next rs。update rs。close set rs=nothing total=ucart。tprice()(1) session。contents.remove(”usercart”) %〉 〈table class=”ordersuccess" align=”center” border="0" cellspacing="1” cellpadding=”4” width="550”〉 <tr class="tdtbg”〉 〈td align=”center”〉<strong〉提交订单成功〈/strong>〈/td〉 </tr> <tr class=”tdbg"〉 〈td align=”center"> 〈%if (Recordset1.Fields。Item(”payment").Value)=1 then%〉 您的订单已经提交成功,请等待我们给您发货。 <%else%> 请尽快付款,以便我们尽快给你们发货! <a href=”#">付款〈/a> <%end if%〉 </br〉</br>〈/br> <form name="dopay" action=”orderlist.asp" method=”post”〉 〈input type="hidden” name="paytotal" value=”<%=total%〉"> 〈input type=”hidden” name="orderid” value=”<%=(Recordset1.Fields。Item(”orderid”)。Value)%>"> </form〉 <a href=”#" onclick="sub()"〉订单查询〈/a〉</td> 〈/tr> <tr class=”tdbg"> <td><input type="button” value=”返回继续购物” onClick=gouwu()"/>〈/td〉 〈/tr> </table> 〈/body> 单击订单查询超链接实现跳转至订单查询页面orderlist.asp,并传输订单号及该订单的总价格。具体实现思路是把订单号和订单的总价格分别放至表单dopay中的两个隐藏区域的值中,然后通过“订单查询"超链接的“单击”动作激活表单dopay的提交工作,代码如下: 〈a href=”#”〉付款</a> <%end if%> </br〉</br></br〉 <form name=”dopay" action=”orderlist。asp” method="post"> <input type=”hidden" name=”paytotal” value="<%=total%〉"〉 〈input type="hidden" name=”orderid" value=”〈%=(Recordset1.Fields.Item("orderid”).Value)%〉”〉 </form> 〈a href="#” onclick=”sub()"〉订单查询</a></td〉 </tr> 此时设置basket.asp页面中的结账按钮,单击结账按钮就会实现页面跳转至payment.asp,,代码如下: input type=”button" value=”结账" onclick="jiezhang()”> 〈script language=”javascript"〉 function jiezhang(){ window.location。href="。。/order/payment.asp" } 下面开始设计订单查询页面orderlist.asp 页面效果如下: 实现代码如下: <%@LANGUAGE="VBSCRIPT” CODEPAGE=”936”%〉 〈!DOCTYPE html PUBLIC "—//W3C//DTD XHTML 1.0 Transitional//EN” ”http://www.w3.org/TR/xhtml1/DTD/xhtml1—transitional.dtd”> <html xmlns="http://www。w3。org/1999/xhtml"〉 <head〉 <meta http-equiv=”Content-Type" content=”text/html; charset=gb2312” /> <title〉订单查询页面〈/title〉 〈link href=".。/styles/index。css” rel=”stylesheet" type=”text/css” /> <link href="../styles/payment。css” rel=”stylesheet" type="text/css” /> 〈link href="。。/styles/orderlist。css" rel="stylesheet" type="text/css” /〉 〈/head〉 <body> 〈div id="box"> <!——#include file=”../inc/top。asp”--〉 〈p align=”center"〉〈font size="+1”〉〈b〉您没有登录,不可以进行此操作,请返回〈a href=".。/index.asp”〉首页</a〉登录</b>〈/font></p〉 <div id=”left”〉 <table width=””> <tr〉〈td>您没有订单!〈/td>〈/tr〉 <tr>〈td〉<%= Session("MM_Username”) %〉客户,您的订单如下:</td></tr〉 <tr>〈td>〈a href=”#">订单</a〉〈/td></tr> </table〉 〈div〉 ; 〈/div〉 </div> 〈div id=”right"> 〈table align=”center" border=”0” class="cart” cellspacing=”1" cellpadding="4”〉 〈tr class=”tdtbg”> <td colspan=”5”>订单详细内容〈/td〉 </tr〉 <tr class=”tdtbg"> 〈td class=”l1” 〉商品编号〈/td〉 <td class=”l2" 〉名称〈/td〉 <td class=”l3” >单价</td〉 〈td class="l4” 〉数量</td〉 〈td class="l5" >金额</td〉 〈/tr> <tr class=’tdbg'> <td〉1</td> <td>1</td> <td>1</td> 〈td>1</td> 〈td>1</td〉 〈/tr> <tr> <td colspan=”5" align=”center" class="total">总计金额:1¥〈/td> 〈/tr〉 </table> <table border="0” class=”order" > 〈tr> <td height="35” colspan=”2" align="center">〈strong〉<font color=”#0000FF”〉 收货人信息 </font></strong>〈/td〉 </tr〉 <tr〉 <td class="ol1" 〉会员名:</td〉 〈td class="ol2”〉1〈/td〉 </tr> 〈tr〉 〈td class=”ol1"〉收货人姓名:</td> 〈td class=”ol2”>1〈/td〉 〈/tr> 〈tr> <td class=”ol1”〉联系电话:〈/td> <td class=”ol2”〉1〈/td> 〈/tr〉 〈tr〉 <td class="ol1”>收货地址:〈/td〉 〈td class=”ol2”〉1〈/td〉 〈/tr〉 〈tr> <td class=”ol1”〉邮编:〈/td> <td class=”ol2"〉1〈/td> </tr〉 <tr〉 <td class=”ol1">付款方式:</td> <td class=”ol2">1〈/td> </tr> <tr><td> 〈form action="pay.asp" method="post" name="dopay”> <input type=”hidden” name="paytotal" value=””> 〈input type=”hidden" name=”orderid” value=”"〉 〈/form> 〈/td〉</tr> <tr> 〈td class=”ol1”>备注:</td〉 〈td class="ol2”〉1〈/td> </tr〉 〈/table> 〈/div〉 〈!—-#include file=”。。/inc/foot。asp"--> 〈/div〉 〈/body> </html〉 Orderlist.css代码如下: @charset "gb2312”; *{ margin:5px; } body{ color:#F00; } #box #left{ float:left; width:170px; margin-right:10px; text—align:center; } #box #right table{ width:585px; } 在该页面中实现一个功能,判断用户是否登录,如果登录则显示该用户的订单信息,否则提示用户“您没有登录,不可以进行此操作,请返回”,并给出一个首页的超链接。实现代码如下: 〈div id=”box”> 〈!--#include file=”。./inc/top。asp"—-> <%if session(”loginyes")〈〉"yes" then%> <p align=”center"〉<font size="+1”〉<b〉您没有登录,不可以进行此操作,请返回<a href="。。/index.asp"〉首页</a〉登录</b〉〈/font〉〈/p〉 <!--#include file=".。/inc/foot。asp"--〉 <% response。end() end if %> 然后对div=left这个盒子的内容进行动态开发,首先在应用程序-绑定标签中展开session,把session中的MM_username拖放到网页“客户”文本之前。 然后选择应用程序-绑定命令,单击添加按钮—记录集,进入记录集对话框,具体设计如图: 单击记录集对话框中的高级按钮,把sql代码改成如下所示的效果。 选中页面中您没有订单哪一行,选择应用程序-服务器行为命令,单击添加按钮—显示区域-如果记录集为空则显示区域. 选中订单文本后,选择应用程序—服务器行为命令,单击添加按钮—重复区域,具体设置如下图所示: 下面完善订单文本的超链接效果,使得单击订单文本能在右边的名为right框架内显示订单详细信息,而且能把订单编号传输过去,具体代码如下所示: <tr> 〈td〉〈a href=”orderlist.asp?orderid=〈%=(Recordset1.Fields。Item("orderid”)。Value)%>”〉订单<%=i%〉〈/a>〈/td〉 〈/tr〉 其中<%=i%〉主要是用来显示订单编码,利用i变量来实现订单编码的全部程序,如下所示: 〈tr><td><%= Session("MM_Username") %〉客户,您的订单如下:〈/td></tr〉 <%i=1%〉 〈% While ((Repeat1__numRows <〉 0) AND (NOT Recordset1。EOF)) %> <tr> 〈td〉<a href=”orderlist。asp?orderid=〈%=(Recordset1.Fields。Item(”orderid")。Value)%>"〉订单<%=i%>〈/a〉〈/td> </tr〉 〈% i=i+1 Repeat1__index=Repeat1__index+1 Repeat1__numRows=Repeat1__numRows-1 Recordset1.MoveNext() Wend %〉 下面接收传输过来的订单编号然后根据orderid来查询出数据表orderform_sub中订单编号为orderid的商品记录信息。具体设置如下图: 然后把相应的字段拖放到网页的相应位置,如下图所示: 然后选中改行设置重复区域。其代码为: <% While ((Repeat2__numRows <> 0) AND (NOT Recordset2.EOF)) %> <tr class=’tdbg'〉 〈td〉〈%=(Recordset2.Fields。Item(”proid")。Value)%〉</td> <td〉〈%=(Recordset2.Fields。Item("proname”).Value)%〉</td〉 〈td〉<%=(Recordset2.Fields。Item("proprice").Value)%〉〈/td> 〈td〉〈%=(Recordset2。Fields.Item(”proamount")。Value)%〉</td〉 〈td>〈%=(Recordset2.Fields。Item(”proamount”)。Value)*(Record展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




实习二:网上商城订单系统功能模块开发.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/2670429.html