一个朋友让我帮他的新网站做一些小功能,如下:
输入快递公司、快递运单号,在注册、登录等场景中查询所有快递的动态(从哪里开始,到哪里)手机验证码(需要一定的防刷策略),通过输入公司名称的关键词,查看公司是否已注册,提供了法人信息、名称相似的公司等,以及可用的接口和文件。需求1和需求2通过聚合数据网站提供的接口来实现。需求3通过聚类数据实现。
因为我朋友的站点是用ThinkPHP编写的,所以这三个函数也是用ThinkPHP编写的,以保持以后的代码兼容。
项目的所有文件都放在GitHub上,一些敏感数据已经被隐藏,需要您自行替换,地址如下:
GitHub地址:使用聚合数据API查询快递数据—短信验证码—企业核心名
因为这3个函数没有官方产品,他们需要嵌入到网站的每个功能模块在未来,为了把它很容易,这三个函数的代码都写在一个文件,你只需要关注以下文件:
/Home/ Conf/http://www.zhucesz.com/参数配置文件/Home/Controller/http://www.zhucesz.com/后端代码,API请求和处理/Home/ View/http://www.zhucesz.com/前端HTML
分别把上面两个网站的“express”、“text”、“name check”文件的地址,按照里面的说明,把KEY和URL信息放在配置文件Home/Conf/http://www.zhucesz.com/中,方便以后重用。
通用API文档
短信API文档
核心名称-文档
注意:只有管理员批准了添加到网站后台的短信模板后,才能调用短信API服务
最后,Home/Conf/http://www.zhucesz.com/配置文件内容如下:
为防止恶意用户使用暴露的短信接口,需要对每个电话号码进行记录。如:
一旦你向手机号码发送短信验证码,60秒内你不能再次发送,你必须在一小时内填写短信验证码,否则它就过时了,这样ajax请求就不会被机器人使用,你必须在你的表单中使用一个图像验证码来提交数据,我们稍后会讨论表单验证码,创建一个表结构,如下所示来记录SMS发送记录:
Mobile是手机号码。Tpl_id是在网站后台添加并审批通过的短信模板。代码是要发送的验证码(通常为4位或6位)。你也可以直接在GitHub上的/ public目录中找到这个SQL文件。您可以直接将其恢复到MySQL数据库。
最终效果如下:
因为这三个函数都需要表单验证代码,所以先实现它。
打开/Home/View/http://www.zhucesz.com/,注意图像验证码img标签,以及相应的javascript
对应的后端代码在/Home/Controller/http://www.zhucesz.com/
因为这三个函数实际上都是通过网络请求第三方网站的API地址,所以可以统一成一个通用的方法。您可以传入三个变量:URL、参数数组、请求方法(不管是否post,默认值为0),并返回一个JSOn格式的数据。
之后,我们可以调用这个通用方法来获取交付数据、发送短信、查询企业名称。
最终效果如下:
打开/ Home /视图/ http://www.zhucesz.com/
取消这个段落的注释(我使用了一个死数组使程序工作,因为我没有足够的查询平衡时,我的开发)
发送并验证短信验证码
无需进一步ado,前端HTML直接对代码进行处理。这里实际上有两种操作,一种是“给我发一个号码为XXXXX的验证码”,另一种是“我已经收到并填写了验证码,请查看我填写的验证码是否正确”。
同样,后端有点复杂,因为有两个动作
因为界面最初一次只提供一个关键字,而朋友的站点一次需要多个用“”分隔的关键字,所以提交并返回到前端的数据需要被处理(循环通过多个列表)。
前端代码相对简单
后端代码
这三个函数现在都已经完成了,但是您可以在策略方面更进一步,防止恶意用户使用接口做坏事。例如,
每天只能发送数量有限的验证码(因为目前,即使每分钟发送一次,每天结束时仍然相当可观)。注册完成后,再次请求发送验证码时,只能发送“现有”数据表中的手机号码。你不能把“找回密码”发送给还没有注册的人。
企业核心名查询接口
1. 企业名称的网络
http://www.zhucesz.com/
2、西安工商网上报名平台
http://www.zhucesz.com/
?0 2
如需了解更多公司核名、企业注册核名、商标核名、网上核名、关注了解更多公司核名等资讯。