<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>购物车下单 &#8211; 个人随笔</title>
	<atom:link href="/label/%E8%B4%AD%E7%89%A9%E8%BD%A6%E4%B8%8B%E5%8D%95/feed" rel="self" type="application/rss+xml" />
	<link>/</link>
	<description></description>
	<lastBuildDate>Sat, 19 May 2018 12:31:34 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6.1</generator>

<image>
	<url>/wp-content/uploads/2022/01/cropped-截屏2022-01-01-18.57.09-32x32.png</url>
	<title>购物车下单 &#8211; 个人随笔</title>
	<link>/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>TP3.2商城 （七）接口、CURL、手机注册、购物车下单</title>
		<link>/%e5%90%8e%e5%8f%b0%e6%a1%86%e6%9e%b6/4240.html</link>
					<comments>/%e5%90%8e%e5%8f%b0%e6%a1%86%e6%9e%b6/4240.html#respond</comments>
		
		<dc:creator><![CDATA[Mr.Lee]]></dc:creator>
		<pubDate>Sat, 19 May 2018 12:31:34 +0000</pubDate>
				<category><![CDATA[TP3.2]]></category>
		<category><![CDATA[TP3.2商城]]></category>
		<category><![CDATA[后台框架]]></category>
		<category><![CDATA[CURL]]></category>
		<category><![CDATA[手机注册]]></category>
		<category><![CDATA[接口]]></category>
		<category><![CDATA[购物车下单]]></category>
		<guid isPermaLink="false">/?p=4240</guid>

					<description><![CDATA[接口概述 接口介绍 接口又称为API(Application Programming Interface应用程 [&#8230;]]]></description>
										<content:encoded><![CDATA[<h1>接口概述</h1>
<h2>接口介绍</h2>
<p>
  接口又称为API(Application Programming Interface应用程序编程接口)。是一些预先定义的函数，目的是提供应用程序与开发人员基于某软件或硬件的访问一组例程的能力，而又无需访问源码或理解内部工作机制的细节。
</p>
<p>
  一切皆为接口。只要能够提供一种服务就是接口。对于常见的接口返回数据格式为xml或者json
</p>
<h2>接口的使用原理</h2>
<p><img fetchpriority="high" decoding="async" width="948" height="389" src="/wp-content/uploads/2018/05/word-image-3779.png" class="wp-image-4241" srcset="/wp-content/uploads/2018/05/word-image-3779.png 948w, /wp-content/uploads/2018/05/word-image-3779-300x123.png 300w, /wp-content/uploads/2018/05/word-image-3779-768x315.png 768w" sizes="(max-width: 948px) 100vw, 948px" /></p>
<p>
  本质就是发送请求然后响应
</p>
<h2>接口使用的注意事项</h2>
<p>
  当调用别人所提供的接口时最为重要的看文档。在文档中一定会具体的列出请求地址、请求方式、请求参数、返回格式跟返回的数据。对于比较重要的接口往往都会提供demo例如支付。对于不需要回调的接口可以直接本地进行测试。如果需要回调必须发布到外网中才可以测试
</p>
<p>
  回调：当调用别人的接口完成之后，别人的接口还需要在调用自己提供的接口
</p>
<h2>curl使用</h2>
<p>
  使用curl必须开启curl扩展
</p>
<h3>curl使用步骤</h3>
<ol>
<li>
  打开会话curl_init
</li>
<li>
  设置参数curl_setopt
</li>
<li>
  执行请求curl_exec
</li>
<li>
  关闭会话curl_close
</li>
</ol>
<h3>使用curl实现get请求</h3>
<p><img decoding="async" width="1085" height="704" src="/wp-content/uploads/2018/05/word-image-3780.png" class="wp-image-4242" srcset="/wp-content/uploads/2018/05/word-image-3780.png 1085w, /wp-content/uploads/2018/05/word-image-3780-300x195.png 300w, /wp-content/uploads/2018/05/word-image-3780-768x498.png 768w, /wp-content/uploads/2018/05/word-image-3780-1024x664.png 1024w" sizes="(max-width: 1085px) 100vw, 1085px" /></p>
<h3>使用curl实现post请求</h3>
<p>
  ①创建表单
</p>
<p><img decoding="async" width="876" height="560" src="/wp-content/uploads/2018/05/word-image-3781.png" class="wp-image-4243" srcset="/wp-content/uploads/2018/05/word-image-3781.png 876w, /wp-content/uploads/2018/05/word-image-3781-300x192.png 300w, /wp-content/uploads/2018/05/word-image-3781-768x491.png 768w" sizes="(max-width: 876px) 100vw, 876px" /></p>
<p>
  ②创建php文件对请求进行处理
</p>
<p><img loading="lazy" decoding="async" width="729" height="302" src="/wp-content/uploads/2018/05/word-image-3782.png" class="wp-image-4244" srcset="/wp-content/uploads/2018/05/word-image-3782.png 729w, /wp-content/uploads/2018/05/word-image-3782-300x124.png 300w" sizes="(max-width: 729px) 100vw, 729px" /></p>
<p>
  ③使用curl工具发送post请求
</p>
<p><img loading="lazy" decoding="async" width="1002" height="701" src="/wp-content/uploads/2018/05/word-image-3783.png" class="wp-image-4245" srcset="/wp-content/uploads/2018/05/word-image-3783.png 1002w, /wp-content/uploads/2018/05/word-image-3783-300x210.png 300w, /wp-content/uploads/2018/05/word-image-3783-768x537.png 768w" sizes="(max-width: 1002px) 100vw, 1002px" /></p>
<p>
  结果如下
</p>
<p><img loading="lazy" decoding="async" width="688" height="120" src="/wp-content/uploads/2018/05/word-image-3784.png" class="wp-image-4246" srcset="/wp-content/uploads/2018/05/word-image-3784.png 688w, /wp-content/uploads/2018/05/word-image-3784-300x52.png 300w" sizes="(max-width: 688px) 100vw, 688px" /></p>
<h2>调用第三方接口的案例</h2>
<h3>申请接口使用权限</h3>
<p><a href="https://www.juhe.cn/">https://www.juhe.cn/</a>
</p>
<p>
  聚合数据为一个专门提供接口服务的平台。部分接口免费使用。
</p>
<p>
  ①注册为会员
</p>
<p>
  ②登录到会员中心进行个人的认证
</p>
<p><img loading="lazy" decoding="async" width="186" height="289" src="/wp-content/uploads/2018/05/word-image-3785.png" class="wp-image-4247" /></p>
<p>
  ③申请接口使用权限
</p>
<p><img loading="lazy" decoding="async" width="1177" height="449" src="/wp-content/uploads/2018/05/word-image-3786.png" class="wp-image-4248" srcset="/wp-content/uploads/2018/05/word-image-3786.png 1177w, /wp-content/uploads/2018/05/word-image-3786-300x114.png 300w, /wp-content/uploads/2018/05/word-image-3786-768x293.png 768w, /wp-content/uploads/2018/05/word-image-3786-1024x391.png 1024w" sizes="(max-width: 1177px) 100vw, 1177px" /><br />
<img loading="lazy" decoding="async" width="797" height="565" src="/wp-content/uploads/2018/05/word-image-3787.png" class="wp-image-4249" srcset="/wp-content/uploads/2018/05/word-image-3787.png 797w, /wp-content/uploads/2018/05/word-image-3787-300x213.png 300w, /wp-content/uploads/2018/05/word-image-3787-768x544.png 768w" sizes="(max-width: 797px) 100vw, 797px" /></p>
<p>
  ④对申请的接口进行认证
</p>
<p><img loading="lazy" decoding="async" width="1074" height="159" src="/wp-content/uploads/2018/05/word-image-3788.png" class="wp-image-4250" srcset="/wp-content/uploads/2018/05/word-image-3788.png 1074w, /wp-content/uploads/2018/05/word-image-3788-300x44.png 300w, /wp-content/uploads/2018/05/word-image-3788-768x114.png 768w, /wp-content/uploads/2018/05/word-image-3788-1024x152.png 1024w" sizes="(max-width: 1074px) 100vw, 1074px" /><br />
<img loading="lazy" decoding="async" width="808" height="528" src="/wp-content/uploads/2018/05/word-image-3789.png" class="wp-image-4251" srcset="/wp-content/uploads/2018/05/word-image-3789.png 808w, /wp-content/uploads/2018/05/word-image-3789-300x196.png 300w, /wp-content/uploads/2018/05/word-image-3789-768x502.png 768w" sizes="(max-width: 808px) 100vw, 808px" /></p>
<p>
  ⑤查看身份认证标识
</p>
<p><img loading="lazy" decoding="async" width="1100" height="217" src="/wp-content/uploads/2018/05/word-image-3790.png" class="wp-image-4252" srcset="/wp-content/uploads/2018/05/word-image-3790.png 1100w, /wp-content/uploads/2018/05/word-image-3790-300x59.png 300w, /wp-content/uploads/2018/05/word-image-3790-768x152.png 768w, /wp-content/uploads/2018/05/word-image-3790-1024x202.png 1024w" sizes="(max-width: 1100px) 100vw, 1100px" /></p>
<h3>查看接口使用文档</h3>
<p>
  ①进入接口文档
</p>
<p><img loading="lazy" decoding="async" width="1343" height="407" src="/wp-content/uploads/2018/05/word-image-3791.png" class="wp-image-4253" srcset="/wp-content/uploads/2018/05/word-image-3791.png 1343w, /wp-content/uploads/2018/05/word-image-3791-300x91.png 300w, /wp-content/uploads/2018/05/word-image-3791-768x233.png 768w, /wp-content/uploads/2018/05/word-image-3791-1024x310.png 1024w" sizes="(max-width: 1343px) 100vw, 1343px" /><br />
<img loading="lazy" decoding="async" width="1029" height="487" src="/wp-content/uploads/2018/05/word-image-3792.png" class="wp-image-4254" srcset="/wp-content/uploads/2018/05/word-image-3792.png 1029w, /wp-content/uploads/2018/05/word-image-3792-300x142.png 300w, /wp-content/uploads/2018/05/word-image-3792-768x363.png 768w, /wp-content/uploads/2018/05/word-image-3792-1024x485.png 1024w" sizes="(max-width: 1029px) 100vw, 1029px" /></p>
<p>
  ②查看文档
</p>
<p><img loading="lazy" decoding="async" width="1025" height="536" src="/wp-content/uploads/2018/05/word-image-3793.png" class="wp-image-4255" srcset="/wp-content/uploads/2018/05/word-image-3793.png 1025w, /wp-content/uploads/2018/05/word-image-3793-300x157.png 300w, /wp-content/uploads/2018/05/word-image-3793-768x402.png 768w, /wp-content/uploads/2018/05/word-image-3793-1024x535.png 1024w" sizes="(max-width: 1025px) 100vw, 1025px" /></p>
<p>
  返回数据结果如下
</p>
<p><img loading="lazy" decoding="async" width="782" height="554" src="/wp-content/uploads/2018/05/word-image-3794.png" class="wp-image-4256" srcset="/wp-content/uploads/2018/05/word-image-3794.png 782w, /wp-content/uploads/2018/05/word-image-3794-300x213.png 300w, /wp-content/uploads/2018/05/word-image-3794-768x544.png 768w" sizes="(max-width: 782px) 100vw, 782px" /></p>
<h3>演示调用接口</h3>
<p>
  ①编写代码调用接口
</p>
<p><img loading="lazy" decoding="async" width="1117" height="488" src="/wp-content/uploads/2018/05/word-image-3795.png" class="wp-image-4257" srcset="/wp-content/uploads/2018/05/word-image-3795.png 1117w, /wp-content/uploads/2018/05/word-image-3795-300x131.png 300w, /wp-content/uploads/2018/05/word-image-3795-768x336.png 768w, /wp-content/uploads/2018/05/word-image-3795-1024x447.png 1024w" sizes="(max-width: 1117px) 100vw, 1117px" /></p>
<p>
  ②查看结果
</p>
<p><img loading="lazy" decoding="async" width="1361" height="232" src="/wp-content/uploads/2018/05/word-image-3796.png" class="wp-image-4258" srcset="/wp-content/uploads/2018/05/word-image-3796.png 1361w, /wp-content/uploads/2018/05/word-image-3796-300x51.png 300w, /wp-content/uploads/2018/05/word-image-3796-768x131.png 768w, /wp-content/uploads/2018/05/word-image-3796-1024x175.png 1024w" sizes="(max-width: 1361px) 100vw, 1361px" /></p>
<h2>本地接口案例</h2>
<p>
  APP登录
</p>
<h3>编写接口文档</h3>
<table>
<tr>
<td colspan="4">
<p>
  用户登录接口
</p>
</td>
</tr>
<tr>
<td>
<p>
  请求地址
</p>
</td>
<td colspan="3">
<p>
  http://shop.com/demo/demo5.php
</p>
</td>
</tr>
<tr>
<td>
<p>
  请求方式
</p>
</td>
<td colspan="3">
<p>
  http协议的get或者post
</p>
</td>
</tr>
<tr>
<td>
<p>
  返回结果格式
</p>
</td>
<td colspan="3">
<p>
  Json
</p>
</td>
</tr>
<tr>
<td>
<p>
  请求参数
</p>
</td>
<td>
<p>
  Username
</p>
</td>
<td>
<p>
  用户名
</p>
</td>
<td>
<p>
  必填项
</p>
</td>
</tr>
<tr>
<td></td>
<td>
<p>
  Password
</p>
</td>
<td>
<p>
  密码
</p>
</td>
<td>
<p>
  必填项
</p>
</td>
</tr>
<tr>
<td>
<p>
  返回结果
</p>
</td>
<td>
<p>
  Status
</p>
</td>
<td>
<p>
  状态码
</p>
</td>
<td>
<p>
  0失败1为成功
</p>
</td>
</tr>
<tr>
<td></td>
<td>
<p>
  Msg
</p>
</td>
<td>
<p>
  提示信息
</p>
</td>
<td></td>
</tr>
<tr>
<td></td>
<td>
<p>
  Data
</p>
</td>
<td>
<p>
  数据集合
</p>
</td>
<td>
<p>
  包括了多个信息
</p>
</td>
</tr>
</table>
<h3>代码实现</h3>
<p>
  ①编写代码
</p>
<p><img loading="lazy" decoding="async" width="1090" height="692" src="/wp-content/uploads/2018/05/word-image-3797.png" class="wp-image-4259" srcset="/wp-content/uploads/2018/05/word-image-3797.png 1090w, /wp-content/uploads/2018/05/word-image-3797-300x190.png 300w, /wp-content/uploads/2018/05/word-image-3797-768x488.png 768w, /wp-content/uploads/2018/05/word-image-3797-1024x650.png 1024w" sizes="(max-width: 1090px) 100vw, 1090px" /></p>
<p>
  ②效果
</p>
<p><img loading="lazy" decoding="async" width="1006" height="131" src="/wp-content/uploads/2018/05/word-image-3798.png" class="wp-image-4260" srcset="/wp-content/uploads/2018/05/word-image-3798.png 1006w, /wp-content/uploads/2018/05/word-image-3798-300x39.png 300w, /wp-content/uploads/2018/05/word-image-3798-768x100.png 768w" sizes="(max-width: 1006px) 100vw, 1006px" /></p>
<h1>短信接口</h1>
<h2>短信接口注册</h2>
<p>
  ①注册会员
</p>
<p><a href="http://www.yuntongxun.com/">http://www.yuntongxun.com/</a>
</p>
<p><img loading="lazy" decoding="async" width="1217" height="508" src="/wp-content/uploads/2018/05/word-image-3799.png" class="wp-image-4261" srcset="/wp-content/uploads/2018/05/word-image-3799.png 1217w, /wp-content/uploads/2018/05/word-image-3799-300x125.png 300w, /wp-content/uploads/2018/05/word-image-3799-768x321.png 768w, /wp-content/uploads/2018/05/word-image-3799-1024x427.png 1024w" sizes="(max-width: 1217px) 100vw, 1217px" /></p>
<p>
  ②登录进入控制台查看身份标识
</p>
<p><img loading="lazy" decoding="async" width="1332" height="604" src="/wp-content/uploads/2018/05/word-image-3800.png" class="wp-image-4262" srcset="/wp-content/uploads/2018/05/word-image-3800.png 1332w, /wp-content/uploads/2018/05/word-image-3800-300x136.png 300w, /wp-content/uploads/2018/05/word-image-3800-768x348.png 768w, /wp-content/uploads/2018/05/word-image-3800-1024x464.png 1024w" sizes="(max-width: 1332px) 100vw, 1332px" /></p>
<p>
  ③创建应用
</p>
<p><img loading="lazy" decoding="async" width="1195" height="587" src="/wp-content/uploads/2018/05/word-image-3801.png" class="wp-image-4263" srcset="/wp-content/uploads/2018/05/word-image-3801.png 1195w, /wp-content/uploads/2018/05/word-image-3801-300x147.png 300w, /wp-content/uploads/2018/05/word-image-3801-768x377.png 768w, /wp-content/uploads/2018/05/word-image-3801-1024x503.png 1024w" sizes="(max-width: 1195px) 100vw, 1195px" /><br />
<img loading="lazy" decoding="async" width="948" height="560" src="/wp-content/uploads/2018/05/word-image-3802.png" class="wp-image-4264" srcset="/wp-content/uploads/2018/05/word-image-3802.png 948w, /wp-content/uploads/2018/05/word-image-3802-300x177.png 300w, /wp-content/uploads/2018/05/word-image-3802-768x454.png 768w" sizes="(max-width: 948px) 100vw, 948px" /></p>
<p>
  查看应用列表
</p>
<p><img loading="lazy" decoding="async" width="1012" height="451" src="/wp-content/uploads/2018/05/word-image-3803.png" class="wp-image-4265" srcset="/wp-content/uploads/2018/05/word-image-3803.png 1012w, /wp-content/uploads/2018/05/word-image-3803-300x134.png 300w, /wp-content/uploads/2018/05/word-image-3803-768x342.png 768w" sizes="(max-width: 1012px) 100vw, 1012px" /><br />
<img loading="lazy" decoding="async" width="856" height="565" src="/wp-content/uploads/2018/05/word-image-3804.png" class="wp-image-4266" srcset="/wp-content/uploads/2018/05/word-image-3804.png 856w, /wp-content/uploads/2018/05/word-image-3804-300x198.png 300w, /wp-content/uploads/2018/05/word-image-3804-768x507.png 768w" sizes="(max-width: 856px) 100vw, 856px" /></p>
<p>
  ④查看模板列表
</p>
<p><img loading="lazy" decoding="async" width="1126" height="537" src="/wp-content/uploads/2018/05/word-image-3805.png" class="wp-image-4267" srcset="/wp-content/uploads/2018/05/word-image-3805.png 1126w, /wp-content/uploads/2018/05/word-image-3805-300x143.png 300w, /wp-content/uploads/2018/05/word-image-3805-768x366.png 768w, /wp-content/uploads/2018/05/word-image-3805-1024x488.png 1024w" sizes="(max-width: 1126px) 100vw, 1126px" /></p>
<p>
  ⑤设置测试号码
</p>
<p><img loading="lazy" decoding="async" width="1110" height="555" src="/wp-content/uploads/2018/05/word-image-3806.png" class="wp-image-4268" srcset="/wp-content/uploads/2018/05/word-image-3806.png 1110w, /wp-content/uploads/2018/05/word-image-3806-300x150.png 300w, /wp-content/uploads/2018/05/word-image-3806-768x384.png 768w, /wp-content/uploads/2018/05/word-image-3806-1024x512.png 1024w" sizes="(max-width: 1110px) 100vw, 1110px" /></p>
<h2>查看使用文档或者找demo</h2>
<p>
  ①找到文档入口地址
</p>
<p><img loading="lazy" decoding="async" width="1317" height="159" src="/wp-content/uploads/2018/05/word-image-3807.png" class="wp-image-4269" srcset="/wp-content/uploads/2018/05/word-image-3807.png 1317w, /wp-content/uploads/2018/05/word-image-3807-300x36.png 300w, /wp-content/uploads/2018/05/word-image-3807-768x93.png 768w, /wp-content/uploads/2018/05/word-image-3807-1024x124.png 1024w" sizes="(max-width: 1317px) 100vw, 1317px" /></p>
<p>
  ②找到短信文档的入口
</p>
<p><img loading="lazy" decoding="async" width="1076" height="439" src="/wp-content/uploads/2018/05/word-image-3808.png" class="wp-image-4270" srcset="/wp-content/uploads/2018/05/word-image-3808.png 1076w, /wp-content/uploads/2018/05/word-image-3808-300x122.png 300w, /wp-content/uploads/2018/05/word-image-3808-768x313.png 768w, /wp-content/uploads/2018/05/word-image-3808-1024x418.png 1024w" sizes="(max-width: 1076px) 100vw, 1076px" /></p>
<p>
  ③下载demo
</p>
<p><img loading="lazy" decoding="async" width="950" height="509" src="/wp-content/uploads/2018/05/word-image-3809.png" class="wp-image-4271" srcset="/wp-content/uploads/2018/05/word-image-3809.png 950w, /wp-content/uploads/2018/05/word-image-3809-300x161.png 300w, /wp-content/uploads/2018/05/word-image-3809-768x411.png 768w" sizes="(max-width: 950px) 100vw, 950px" /></p>
<p>
  ④目录说明
</p>
<p><img loading="lazy" decoding="async" width="891" height="263" src="/wp-content/uploads/2018/05/word-image-3810.png" class="wp-image-4272" srcset="/wp-content/uploads/2018/05/word-image-3810.png 891w, /wp-content/uploads/2018/05/word-image-3810-300x89.png 300w, /wp-content/uploads/2018/05/word-image-3810-768x227.png 768w" sizes="(max-width: 891px) 100vw, 891px" /></p>
<h2>测试短信发送</h2>
<p>
  ①将下载的demo拷贝到web目录下
</p>
<p><img loading="lazy" decoding="async" width="936" height="389" src="/wp-content/uploads/2018/05/word-image-3811.png" class="wp-image-4273" srcset="/wp-content/uploads/2018/05/word-image-3811.png 936w, /wp-content/uploads/2018/05/word-image-3811-300x125.png 300w, /wp-content/uploads/2018/05/word-image-3811-768x319.png 768w" sizes="(max-width: 936px) 100vw, 936px" /></p>
<p>
  ②修改发送短信的文件
</p>
<p><img loading="lazy" decoding="async" width="1138" height="674" src="/wp-content/uploads/2018/05/word-image-3812.png" class="wp-image-4274" srcset="/wp-content/uploads/2018/05/word-image-3812.png 1138w, /wp-content/uploads/2018/05/word-image-3812-300x178.png 300w, /wp-content/uploads/2018/05/word-image-3812-768x455.png 768w, /wp-content/uploads/2018/05/word-image-3812-1024x606.png 1024w" sizes="(max-width: 1138px) 100vw, 1138px" /></p>
<p>
  ③继续修改发送短信文件实现发送短信
</p>
<p><img loading="lazy" decoding="async" width="1051" height="496" src="/wp-content/uploads/2018/05/word-image-3813.png" class="wp-image-4275" srcset="/wp-content/uploads/2018/05/word-image-3813.png 1051w, /wp-content/uploads/2018/05/word-image-3813-300x142.png 300w, /wp-content/uploads/2018/05/word-image-3813-768x362.png 768w, /wp-content/uploads/2018/05/word-image-3813-1024x483.png 1024w" sizes="(max-width: 1051px) 100vw, 1051px" /></p>
<p>
  ④测试查看
</p>
<p><img loading="lazy" decoding="async" width="750" height="236" src="/wp-content/uploads/2018/05/word-image-3814.png" class="wp-image-4276" srcset="/wp-content/uploads/2018/05/word-image-3814.png 750w, /wp-content/uploads/2018/05/word-image-3814-300x94.png 300w" sizes="(max-width: 750px) 100vw, 750px" /></p>
<h2>短信注册的流程</h2>
<p><img loading="lazy" decoding="async" width="1066" height="452" src="/wp-content/uploads/2018/05/word-image-3815.png" class="wp-image-4277" srcset="/wp-content/uploads/2018/05/word-image-3815.png 1066w, /wp-content/uploads/2018/05/word-image-3815-300x127.png 300w, /wp-content/uploads/2018/05/word-image-3815-768x326.png 768w, /wp-content/uploads/2018/05/word-image-3815-1024x434.png 1024w" sizes="(max-width: 1066px) 100vw, 1066px" /></p>
<h2>项目中实现短信注册</h2>
<h3>将发送短信封装成为函数</h3>
<p>
  ①拷贝SDK类文件
</p>
<p><img loading="lazy" decoding="async" width="915" height="337" src="/wp-content/uploads/2018/05/word-image-3816.png" class="wp-image-4278" srcset="/wp-content/uploads/2018/05/word-image-3816.png 915w, /wp-content/uploads/2018/05/word-image-3816-300x110.png 300w, /wp-content/uploads/2018/05/word-image-3816-768x283.png 768w" sizes="(max-width: 915px) 100vw, 915px" /></p>
<p>
  ②创建发送短信的函数
</p>
<p><img loading="lazy" decoding="async" width="1068" height="671" src="/wp-content/uploads/2018/05/word-image-3817.png" class="wp-image-4279" srcset="/wp-content/uploads/2018/05/word-image-3817.png 1068w, /wp-content/uploads/2018/05/word-image-3817-300x188.png 300w, /wp-content/uploads/2018/05/word-image-3817-768x483.png 768w, /wp-content/uploads/2018/05/word-image-3817-1024x643.png 1024w" sizes="(max-width: 1068px) 100vw, 1068px" /><br />
<img loading="lazy" decoding="async" width="1077" height="500" src="/wp-content/uploads/2018/05/word-image-3818.png" class="wp-image-4280" srcset="/wp-content/uploads/2018/05/word-image-3818.png 1077w, /wp-content/uploads/2018/05/word-image-3818-300x139.png 300w, /wp-content/uploads/2018/05/word-image-3818-768x357.png 768w, /wp-content/uploads/2018/05/word-image-3818-1024x475.png 1024w" sizes="(max-width: 1077px) 100vw, 1077px" /><br />
<img loading="lazy" decoding="async" width="1026" height="170" src="/wp-content/uploads/2018/05/word-image-3819.png" class="wp-image-4281" srcset="/wp-content/uploads/2018/05/word-image-3819.png 1026w, /wp-content/uploads/2018/05/word-image-3819-300x50.png 300w, /wp-content/uploads/2018/05/word-image-3819-768x127.png 768w, /wp-content/uploads/2018/05/word-image-3819-1024x170.png 1024w" sizes="(max-width: 1026px) 100vw, 1026px" /></p>
<p>
  ③编写测试代码
</p>
<p><img loading="lazy" decoding="async" width="1083" height="395" src="/wp-content/uploads/2018/05/word-image-3820.png" class="wp-image-4282" srcset="/wp-content/uploads/2018/05/word-image-3820.png 1083w, /wp-content/uploads/2018/05/word-image-3820-300x109.png 300w, /wp-content/uploads/2018/05/word-image-3820-768x280.png 768w, /wp-content/uploads/2018/05/word-image-3820-1024x373.png 1024w" sizes="(max-width: 1083px) 100vw, 1083px" /><br />
<img loading="lazy" decoding="async" width="583" height="167" src="/wp-content/uploads/2018/05/word-image-3821.png" class="wp-image-4283" srcset="/wp-content/uploads/2018/05/word-image-3821.png 583w, /wp-content/uploads/2018/05/word-image-3821-300x86.png 300w" sizes="(max-width: 583px) 100vw, 583px" /></p>
<h3>正式使用短信验证码注册</h3>
<p>
  ①修改注册表单
</p>
<p><img loading="lazy" decoding="async" width="1128" height="700" src="/wp-content/uploads/2018/05/word-image-3822.png" class="wp-image-4284" srcset="/wp-content/uploads/2018/05/word-image-3822.png 1128w, /wp-content/uploads/2018/05/word-image-3822-300x186.png 300w, /wp-content/uploads/2018/05/word-image-3822-768x477.png 768w, /wp-content/uploads/2018/05/word-image-3822-1024x635.png 1024w" sizes="(max-width: 1128px) 100vw, 1128px" /></p>
<p>
  ②绑定点击事件触发ajax
</p>
<p><img loading="lazy" decoding="async" width="924" height="676" src="/wp-content/uploads/2018/05/word-image-3823.png" class="wp-image-4285" srcset="/wp-content/uploads/2018/05/word-image-3823.png 924w, /wp-content/uploads/2018/05/word-image-3823-300x219.png 300w, /wp-content/uploads/2018/05/word-image-3823-768x562.png 768w" sizes="(max-width: 924px) 100vw, 924px" /></p>
<p>
  ③创建方法实现请求接口发送短信
</p>
<p><img loading="lazy" decoding="async" width="1090" height="673" src="/wp-content/uploads/2018/05/word-image-3824.png" class="wp-image-4286" srcset="/wp-content/uploads/2018/05/word-image-3824.png 1090w, /wp-content/uploads/2018/05/word-image-3824-300x185.png 300w, /wp-content/uploads/2018/05/word-image-3824-768x474.png 768w, /wp-content/uploads/2018/05/word-image-3824-1024x632.png 1024w" sizes="(max-width: 1090px) 100vw, 1090px" /><br />
<img loading="lazy" decoding="async" width="1048" height="343" src="/wp-content/uploads/2018/05/word-image-3825.png" class="wp-image-4287" srcset="/wp-content/uploads/2018/05/word-image-3825.png 1048w, /wp-content/uploads/2018/05/word-image-3825-300x98.png 300w, /wp-content/uploads/2018/05/word-image-3825-768x251.png 768w, /wp-content/uploads/2018/05/word-image-3825-1024x335.png 1024w" sizes="(max-width: 1048px) 100vw, 1048px" /></p>
<p>
  ④查看session中的内容
</p>
<p><img loading="lazy" decoding="async" width="881" height="334" src="/wp-content/uploads/2018/05/word-image-3826.png" class="wp-image-4288" srcset="/wp-content/uploads/2018/05/word-image-3826.png 881w, /wp-content/uploads/2018/05/word-image-3826-300x114.png 300w, /wp-content/uploads/2018/05/word-image-3826-768x291.png 768w" sizes="(max-width: 881px) 100vw, 881px" /><br />
<img loading="lazy" decoding="async" width="521" height="200" src="/wp-content/uploads/2018/05/word-image-3827.png" class="wp-image-4289" srcset="/wp-content/uploads/2018/05/word-image-3827.png 521w, /wp-content/uploads/2018/05/word-image-3827-300x115.png 300w" sizes="(max-width: 521px) 100vw, 521px" /></p>
<p>
  ⑤实现倒计时效果
</p>
<p><img loading="lazy" decoding="async" width="1066" height="707" src="/wp-content/uploads/2018/05/word-image-3828.png" class="wp-image-4290" srcset="/wp-content/uploads/2018/05/word-image-3828.png 1066w, /wp-content/uploads/2018/05/word-image-3828-300x199.png 300w, /wp-content/uploads/2018/05/word-image-3828-768x509.png 768w, /wp-content/uploads/2018/05/word-image-3828-1024x679.png 1024w" sizes="(max-width: 1066px) 100vw, 1066px" /><br />
<img loading="lazy" decoding="async" width="788" height="408" src="/wp-content/uploads/2018/05/word-image-3829.png" class="wp-image-4291" srcset="/wp-content/uploads/2018/05/word-image-3829.png 788w, /wp-content/uploads/2018/05/word-image-3829-300x155.png 300w, /wp-content/uploads/2018/05/word-image-3829-768x398.png 768w" sizes="(max-width: 788px) 100vw, 788px" /></p>
<h2>手机短信注册入库</h2>
<p>
  ①修改表结构
</p>
<p><img loading="lazy" decoding="async" width="783" height="386" src="/wp-content/uploads/2018/05/word-image-3830.png" class="wp-image-4292" srcset="/wp-content/uploads/2018/05/word-image-3830.png 783w, /wp-content/uploads/2018/05/word-image-3830-300x148.png 300w, /wp-content/uploads/2018/05/word-image-3830-768x379.png 768w" sizes="(max-width: 783px) 100vw, 783px" /></p>
<p>
  ②修改自定义模型中字段
</p>
<p><img loading="lazy" decoding="async" width="1018" height="429" src="/wp-content/uploads/2018/05/word-image-3831.png" class="wp-image-4293" srcset="/wp-content/uploads/2018/05/word-image-3831.png 1018w, /wp-content/uploads/2018/05/word-image-3831-300x126.png 300w, /wp-content/uploads/2018/05/word-image-3831-768x324.png 768w" sizes="(max-width: 1018px) 100vw, 1018px" /></p>
<p>
  ③实现注册入库
</p>
<p><img loading="lazy" decoding="async" width="1076" height="613" src="/wp-content/uploads/2018/05/word-image-3832.png" class="wp-image-4294" srcset="/wp-content/uploads/2018/05/word-image-3832.png 1076w, /wp-content/uploads/2018/05/word-image-3832-300x171.png 300w, /wp-content/uploads/2018/05/word-image-3832-768x438.png 768w, /wp-content/uploads/2018/05/word-image-3832-1024x583.png 1024w" sizes="(max-width: 1076px) 100vw, 1076px" /><br />
<img loading="lazy" decoding="async" width="1066" height="492" src="/wp-content/uploads/2018/05/word-image-3833.png" class="wp-image-4295" srcset="/wp-content/uploads/2018/05/word-image-3833.png 1066w, /wp-content/uploads/2018/05/word-image-3833-300x138.png 300w, /wp-content/uploads/2018/05/word-image-3833-768x354.png 768w, /wp-content/uploads/2018/05/word-image-3833-1024x473.png 1024w" sizes="(max-width: 1066px) 100vw, 1066px" /></p>
<p>
  注册后查看数据
</p>
<p><img loading="lazy" decoding="async" width="847" height="317" src="/wp-content/uploads/2018/05/word-image-3834.png" class="wp-image-4296" srcset="/wp-content/uploads/2018/05/word-image-3834.png 847w, /wp-content/uploads/2018/05/word-image-3834-300x112.png 300w, /wp-content/uploads/2018/05/word-image-3834-768x287.png 768w" sizes="(max-width: 847px) 100vw, 847px" /></p>
<h1>购物车下单</h1>
<h2>3.1、显示结算页</h2>
<p>
  ①修改购物车中的结算连接
</p>
<p><img loading="lazy" decoding="async" width="1071" height="487" src="/wp-content/uploads/2018/05/word-image-3835.png" class="wp-image-4297" srcset="/wp-content/uploads/2018/05/word-image-3835.png 1071w, /wp-content/uploads/2018/05/word-image-3835-300x136.png 300w, /wp-content/uploads/2018/05/word-image-3835-768x349.png 768w, /wp-content/uploads/2018/05/word-image-3835-1024x466.png 1024w" sizes="(max-width: 1071px) 100vw, 1071px" /></p>
<p>
  ②创建方法校验是否登录
</p>
<p><img loading="lazy" decoding="async" width="984" height="585" src="/wp-content/uploads/2018/05/word-image-3836.png" class="wp-image-4298" srcset="/wp-content/uploads/2018/05/word-image-3836.png 984w, /wp-content/uploads/2018/05/word-image-3836-300x178.png 300w, /wp-content/uploads/2018/05/word-image-3836-768x457.png 768w" sizes="(max-width: 984px) 100vw, 984px" /></p>
<p>
  ③创建Order控制器方法
</p>
<p><img loading="lazy" decoding="async" width="980" height="611" src="/wp-content/uploads/2018/05/word-image-3837.png" class="wp-image-4299" srcset="/wp-content/uploads/2018/05/word-image-3837.png 980w, /wp-content/uploads/2018/05/word-image-3837-300x187.png 300w, /wp-content/uploads/2018/05/word-image-3837-768x479.png 768w" sizes="(max-width: 980px) 100vw, 980px" /></p>
<p>
  ④处理模板显示数据
</p>
<p><img loading="lazy" decoding="async" width="1087" height="695" src="/wp-content/uploads/2018/05/word-image-3838.png" class="wp-image-4300" srcset="/wp-content/uploads/2018/05/word-image-3838.png 1087w, /wp-content/uploads/2018/05/word-image-3838-300x192.png 300w, /wp-content/uploads/2018/05/word-image-3838-768x491.png 768w, /wp-content/uploads/2018/05/word-image-3838-1024x655.png 1024w" sizes="(max-width: 1087px) 100vw, 1087px" /><br />
<img loading="lazy" decoding="async" width="1263" height="665" src="/wp-content/uploads/2018/05/word-image-3839.png" class="wp-image-4301" srcset="/wp-content/uploads/2018/05/word-image-3839.png 1263w, /wp-content/uploads/2018/05/word-image-3839-300x158.png 300w, /wp-content/uploads/2018/05/word-image-3839-768x404.png 768w, /wp-content/uploads/2018/05/word-image-3839-1024x539.png 1024w" sizes="(max-width: 1263px) 100vw, 1263px" /></p>
<h2>3.2、结算下单</h2>
<h3>3.2.1、数据表创建</h3>
<p>
  ①创建订单总表
</p>
<p>
  CREATE TABLE `shop_order` (
</p>
<p>
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
</p>
<p>
    `user_id` int(11) NOT NULL DEFAULT &#8216;0&#8217;,
</p>
<p>
    `tel` char(11) NOT NULL DEFAULT &#8221; COMMENT &#8216;联系电话&#8217;,
</p>
<p>
    `address` varchar(255) NOT NULL DEFAULT &#8221; COMMENT &#8216;收货人地址&#8217;,
</p>
<p>
    `shr` varchar(255) NOT NULL DEFAULT &#8221; COMMENT &#8216;收货人&#8217;,
</p>
<p>
    `total_price` decimal(10,2) NOT NULL DEFAULT &#8216;0.00&#8217; COMMENT &#8216;总价格&#8217;,
</p>
<p>
    `addtime` int(11) NOT NULL DEFAULT &#8216;0&#8217; COMMENT &#8216;下单时间&#8217;,
</p>
<p>
    `com` char(10) NOT NULL DEFAULT &#8221; COMMENT &#8216;快递公司的编号&#8217;,
</p>
<p>
    `no` varchar(255) NOT NULL DEFAULT &#8221; COMMENT &#8216;快递的运单号&#8217;,
</p>
<p>
    `status` tinyint(4) NOT NULL DEFAULT &#8216;0&#8217; COMMENT &#8216;订单的状态 0表示下单  1已支付 2、已发货&#8217;,
</p>
<p>
    PRIMARY KEY (`id`)
</p>
<p>
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
</p>
<p>
  ②创建订单详情表
</p>
<p>
  CREATE TABLE `shop_order_detail` (
</p>
<p>
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
</p>
<p>
    `order_id` int(11) NOT NULL DEFAULT &#8216;0&#8217; COMMENT &#8216;订单ID对应order表中的ID字段&#8217;,
</p>
<p>
    `goods_id` int(11) NOT NULL DEFAULT &#8216;0&#8217; COMMENT &#8216;商品ID&#8217;,
</p>
<p>
    `goods_attr_id` varchar(255) NOT NULL DEFAULT &#8221; COMMENT &#8216;商品属性值的ID组合&#8217;,
</p>
<p>
    `goods_count` int(11) NOT NULL DEFAULT &#8216;0&#8217; COMMENT &#8216;购买的数量&#8217;,
</p>
<p>
    PRIMARY KEY (`id`)
</p>
<p>
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
</p>
<h3>3.2.2、实现订单的入口</h3>
<p>
  ①修改表单提交
</p>
<p>
  处理提交的地址
</p>
<p><img loading="lazy" decoding="async" width="1061" height="388" src="/wp-content/uploads/2018/05/word-image-3840.png" class="wp-image-4302" srcset="/wp-content/uploads/2018/05/word-image-3840.png 1061w, /wp-content/uploads/2018/05/word-image-3840-300x110.png 300w, /wp-content/uploads/2018/05/word-image-3840-768x281.png 768w, /wp-content/uploads/2018/05/word-image-3840-1024x374.png 1024w" sizes="(max-width: 1061px) 100vw, 1061px" /></p>
<p>
  设置为表单提交
</p>
<p><img loading="lazy" decoding="async" width="1120" height="702" src="/wp-content/uploads/2018/05/word-image-3841.png" class="wp-image-4303" srcset="/wp-content/uploads/2018/05/word-image-3841.png 1120w, /wp-content/uploads/2018/05/word-image-3841-300x188.png 300w, /wp-content/uploads/2018/05/word-image-3841-768x481.png 768w, /wp-content/uploads/2018/05/word-image-3841-1024x642.png 1024w" sizes="(max-width: 1120px) 100vw, 1120px" /></p>
<p>
  ②创建方法实现订单数据入库功能
</p>
<p><img loading="lazy" decoding="async" width="910" height="613" src="/wp-content/uploads/2018/05/word-image-3842.png" class="wp-image-4304" srcset="/wp-content/uploads/2018/05/word-image-3842.png 910w, /wp-content/uploads/2018/05/word-image-3842-300x202.png 300w, /wp-content/uploads/2018/05/word-image-3842-768x517.png 768w" sizes="(max-width: 910px) 100vw, 910px" /></p>
<p>
  ③创建模型方法
</p>
<p><img loading="lazy" decoding="async" width="1092" height="679" src="/wp-content/uploads/2018/05/word-image-3843.png" class="wp-image-4305" srcset="/wp-content/uploads/2018/05/word-image-3843.png 1092w, /wp-content/uploads/2018/05/word-image-3843-300x187.png 300w, /wp-content/uploads/2018/05/word-image-3843-768x478.png 768w, /wp-content/uploads/2018/05/word-image-3843-1024x637.png 1024w" sizes="(max-width: 1092px) 100vw, 1092px" /><br />
<img loading="lazy" decoding="async" width="1065" height="547" src="/wp-content/uploads/2018/05/word-image-3844.png" class="wp-image-4306" srcset="/wp-content/uploads/2018/05/word-image-3844.png 1065w, /wp-content/uploads/2018/05/word-image-3844-300x154.png 300w, /wp-content/uploads/2018/05/word-image-3844-768x394.png 768w, /wp-content/uploads/2018/05/word-image-3844-1024x526.png 1024w" sizes="(max-width: 1065px) 100vw, 1065px" /><br />
<img loading="lazy" decoding="async" width="1079" height="267" src="/wp-content/uploads/2018/05/word-image-3845.png" class="wp-image-4307" srcset="/wp-content/uploads/2018/05/word-image-3845.png 1079w, /wp-content/uploads/2018/05/word-image-3845-300x74.png 300w, /wp-content/uploads/2018/05/word-image-3845-768x190.png 768w, /wp-content/uploads/2018/05/word-image-3845-1024x253.png 1024w" sizes="(max-width: 1079px) 100vw, 1079px" /></p>
<h1>面向接口编程</h1>
<h2>面向接口编程介绍</h2>
<p>
  当有多个子项目存在时，如果有业务逻辑需要修改，对应的每个子项目都需要进行代码的修改。此方式就会比较麻烦。考虑项目的扩展性。可以对每一个子项目按照MVC值保留 V与C。一旦涉及到数据操作。全部通过调用接口实现。对于接口组合到一起就是API项目
</p>
<p><img loading="lazy" decoding="async" width="840" height="452" src="/wp-content/uploads/2018/05/word-image-3846.png" class="wp-image-4308" srcset="/wp-content/uploads/2018/05/word-image-3846.png 840w, /wp-content/uploads/2018/05/word-image-3846-300x161.png 300w, /wp-content/uploads/2018/05/word-image-3846-768x413.png 768w" sizes="(max-width: 840px) 100vw, 840px" /></p>
<h2>接口项目部署</h2>
<p>
  ①下载TP5的源码
</p>
<p><img loading="lazy" decoding="async" width="910" height="507" src="/wp-content/uploads/2018/05/word-image-3847.png" class="wp-image-4309" srcset="/wp-content/uploads/2018/05/word-image-3847.png 910w, /wp-content/uploads/2018/05/word-image-3847-300x167.png 300w, /wp-content/uploads/2018/05/word-image-3847-768x428.png 768w" sizes="(max-width: 910px) 100vw, 910px" /></p>
<p>
  ②拷贝TP源码到项目目录下
</p>
<p><img loading="lazy" decoding="async" width="1043" height="507" src="/wp-content/uploads/2018/05/word-image-3848.png" class="wp-image-4310" srcset="/wp-content/uploads/2018/05/word-image-3848.png 1043w, /wp-content/uploads/2018/05/word-image-3848-300x146.png 300w, /wp-content/uploads/2018/05/word-image-3848-768x373.png 768w, /wp-content/uploads/2018/05/word-image-3848-1024x498.png 1024w" sizes="(max-width: 1043px) 100vw, 1043px" /></p>
<p>
  ③配置虚拟主机
</p>
<p><img loading="lazy" decoding="async" width="899" height="480" src="/wp-content/uploads/2018/05/word-image-3849.png" class="wp-image-4311" srcset="/wp-content/uploads/2018/05/word-image-3849.png 899w, /wp-content/uploads/2018/05/word-image-3849-300x160.png 300w, /wp-content/uploads/2018/05/word-image-3849-768x410.png 768w" sizes="(max-width: 899px) 100vw, 899px" /></p>
<p>
  ③设置host文件
</p>
<p><img loading="lazy" decoding="async" width="560" height="448" src="/wp-content/uploads/2018/05/word-image-3850.png" class="wp-image-4312" srcset="/wp-content/uploads/2018/05/word-image-3850.png 560w, /wp-content/uploads/2018/05/word-image-3850-300x240.png 300w" sizes="(max-width: 560px) 100vw, 560px" /></p>
<p>
  ④重启Apache访问测试
</p>
<p><img loading="lazy" decoding="async" width="960" height="496" src="/wp-content/uploads/2018/05/word-image-3851.png" class="wp-image-4313" srcset="/wp-content/uploads/2018/05/word-image-3851.png 960w, /wp-content/uploads/2018/05/word-image-3851-300x155.png 300w, /wp-content/uploads/2018/05/word-image-3851-768x397.png 768w" sizes="(max-width: 960px) 100vw, 960px" /></p>
]]></content:encoded>
					
					<wfw:commentRss>/%e5%90%8e%e5%8f%b0%e6%a1%86%e6%9e%b6/4240.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
