收藏 分享(赏)

基于php+mysql的微信公众平台的接口开发.docx

上传人:wo7103235 文档编号:6144233 上传时间:2019-03-30 格式:DOCX 页数:20 大小:988.75KB
下载 相关 举报
基于php+mysql的微信公众平台的接口开发.docx_第1页
第1页 / 共20页
基于php+mysql的微信公众平台的接口开发.docx_第2页
第2页 / 共20页
基于php+mysql的微信公众平台的接口开发.docx_第3页
第3页 / 共20页
基于php+mysql的微信公众平台的接口开发.docx_第4页
第4页 / 共20页
基于php+mysql的微信公众平台的接口开发.docx_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、全日制本科生毕业论文题 目: 基于 php+mysql 的微信公众平台的接口开发 学 院: 计算机与信息科学学院 专业年级: 计算机科学与技术(师范) 学生姓名: 学号: 指导教师: 职称: 年 月 日第 1 页 (共 17 页)基于 php+mysql 的微信公众平台的接口开发摘 要:此毕业设计是基于微信公众平台的微信墙,用 php+mysql这两款开源软件结合微信公众平台提供的接口模式开发。主要功能是:用户在客户端操作,后台获取用户的个人信息以及发送的消息,并输出到首页滚动显示。关键词:php+mysql;微信公众平台;微信墙;微信认证订阅号Abstract:This graduation

2、 design is based on the WeChat public platform WeChat wall, with the php+mysql two open source software combined with WeChats public platform for the development of the interface mode. The main function is: the user in the client, the background to get the users personal information and send the mes

3、sage, and output to the home page scrolling display.Key words:Php+mysql;WeChat public platform;WeChat wall;WeChat certified subscriber number微信公众平台,简称 WeChat。微信公众平台现已注册的公众账号大全的总数已超过 1000万个,已成为微信推广的广告主数量就有 3万个,最火的微信公众平台拥有千万级的粉丝 1。放眼各大高校,学生对微信使用比对 QQ的使用更多,抢红包,语音聊天,逛微信看文章,预定机票火车票等已成为我们生活中不可或缺的一部分,微信公众平

4、台成为一个趋势走进我们的生活。只通过微信就能完成几个 app才能做到的事。新生入学的迎新晚会上加入微信墙能加强新生在现场的互动。第 2 页 (共 17 页)1 开发环境为了方便该功能网站的开发,使用了 XAMPP环境集承包调试。XAMPP 环境集承包是一个易于安装,且包含 Maria DB数据库、PHP 脚本解析引擎和 Apache服务器,使用 notepadd+编辑代码,使用谷歌浏览器查看代码的效果。本地调试完毕上传至阿里服务器,进行线上调试。1.1 环境要求Apache或者 Nginx(IIS 的不行)Php5.3 以上(php5.2 微信端没回复)Mysql 开启 curl和 opens

5、sL关闭微信墙目录下 open_basedir(否则无法获取到用户头像)1.2 XAMPP 集成软件包XAMPP=Apache + MySQL + PHP + Perl,是一个完全免费,易于安装和使用Apache发行版,包含 Maria DB数据库、PHP 脚本解析引擎, Apache服务器和Perl。支持 Windows、Linux 和 OS X。安装包同时提供 phpMyAdmin、Webalizer等搭建 Web环境的常用工具,根据系统平台的不同,还提供 ProFTPD、FileZilla FTP Server、OpenLDAP、SQLite、mod_perl 等组件。2 课题分析2.1

6、 开发流程开发流程如图 2-1所示,先在官网注册微信公众平台,然后在自己的服务器放置签名文件用于对接,在进入微信官网修改开发者配置,当对接成功后第三方网站的操作也会影响到微信公众平台。第 3 页 (共 17 页)图 2-1 开发流程准备:申请微信号公众平台 注册地址:https:/ 2-2。申请微信公众号在第三方服务器部署签名文件在微信官网填写服务器配置配置数据库,创建数据表编辑微信墙端代码,实现引导用户操作获取用户信息,及其发送的信息首页输出展示信息微信墙功能测试第 4 页 (共 17 页)图 2-2 进入开发者模式2.1.1 填写服务器配置登录微信公众平台官网后,在公众平台官网的开发-基本

7、设置页面,勾选协议成为开发者,点击“修改配置”按钮,填写服务器地址(URL)、Token 和EncodingAESKey,其中 URL是开发者用来接收微信消息和事件的接口 URL。Token可由开发者可以任意填写,用作生成签名(该 Token会和接口 URL中包含的Token进行比对,从而验证安全性)。EncodingAESKey 由开发者手动填写或随机生成,将用作消息体加解密密钥 2。注意:先不要确认,因为这一步填写的token信息是没有被认证的,所以需要 checksignature文件,另请注意,微信公众号接口必须以 http:/或 https:/开头,分别支持 80端口和 443端口,

8、如图2-3所示。Signature:微信加密签名,signature 结合了开发者填写的 token参数和请求中的 timestamp参数、nonce 参数。Timestamp:时间戳第 5 页 (共 17 页)Nonce:随机数图 2-3 开发者模式配置Echostr:随机字符串开发者通过检验 signature对请求进行校验(下面有校验方式)。若确认此次 GET请求来自微信服务器,请原样返回 echostr参数内容,则接入生效,成为开发者成功,否则接入失败。加密/校验流程如下:(1)将 token、timestamp、nonce 三个参数进行字典序排序。(2)将三个参数字符串拼接成一个字符

9、串进行 sha1加密。(3)开发者获得加密后的字符串可与 signature对比,标识该请求来源于微信。2.1.2 编辑 checksignature 签名函数文件编辑 checksignature 签名函数文件,用于验证第三方网站提供的 token,验证 URL有效性成功后即接入生效,成为开发者。你可以在公众平台网站中申请微信认证,认证成功后,将获得更多接口权限 3。成为开发者后,用户每次向公众号发送消息、或者产生自定义菜单、或产生微信支付订单等情况时,开发者填写的服务器配置 URL将得到微信服务器推送过来的消息和事件,开发者可以依据自身业务逻辑进行响应,如回复消息。private func

10、tion checkSignature()第 6 页 (共 17 页)$signature = $_GET“signature“;$timestamp = $_GET“timestamp“;$nonce = $_GET“nonce“;$token = TOKEN;/定义的 token参数$tmpArr = array($token, $timestamp, $nonce);sort($tmpArr, SORT_STRING);$tmpStr = implode( $tmpArr );$tmpStr = sha1( $tmpStr );if( $tmpStr = $signature )retu

11、rn true;elsereturn false;2.2 网站整体的架构下面是开发的结构逻辑图 4 2-4 user-weichat-website工作流程第三方网站目录:Wall 根目录| | filescss js配置文件| img 用户头像文件夹| index.php 首页展示信息| db.php 数据库配置文件 | checksignature.php 验证签名文件| functions.php 公共函数文件2.3 配置数据库文件在 2.1过程已实现了 checksignature文件,将该文件放到服务器根目录,保存为 checksignature.php,微信官方会验证该签名文件,验

12、证成功后微信官方第 7 页 (共 17 页)会以 GET方式传值 5,那么我们就需要一个像盒子来存储这些信息,在这里我使用的图 2-4 user-weichat-website 工作流程是 mysql数据库管理软件。建立一个 db.php作为后续 php文件连接数据库导入的公共配置文件 6:responseText(收到了未知类型消息: . $this-getRequest(ms第 10 页 (共 17 页)gtype);2.4.4 首页输出展示信息从数据库获取用户的个人信息以及用户提交的文本信息,并输出到首页。导入数据库配置文件 db.php 并连接数据库:$link = mysqli_co

13、nnect(HOST,USER,PASS,DBNAME);if(!$link)die(“数据库连接失败!原因:“.mysqli_connect_error();mysqli_set_charset($link,“utf8“); /设置编码连接成功后,定义 sql查询语句,分页并 limit 5条控制首页显示输出信息,并且只查找 state为“1”的信息,代码见代码附录 3-5 index.php/首页输出数据库信息到目前为止,该网站最开始设计的功能(对接微信公众平台,引导用户操作进入微信墙,获取用户个人信息,获取用户想要展示的文本信息,输出到大屏幕所需要的函数文件,访问数据库文件,配置文件,已

14、经完成了,进入下一项:测试!3 功能测试在微信墙网站做完后,需要对该网站的每个功能进行测试。通过测试来确定每个功能是否完成了相应的效果,并对未达到理想效果的功能进行问题分析,从中找出问题所在并加以修改,修改后再测试直到达到正确结果为止。3.1 微信墙的测试微信端的测试是最直观的,当用户在指定微信公众号回复“微信墙测试”时,自动回复的内容是否成功的发送到该用户,数据库操作是否会正常执行,获取用第 11 页 (共 17 页)户个人信息的方法是否出错,微信墙首页的运行是否达到预想中的效果。这些都需要实际操作才能看出效果!4 实际效果的展示实际效果分为五步:(1)进入微信墙。(2)发送第一条内容。(3

15、)发送多条内容测试。(4)退出微信墙。(5)网站首页输出微信用户发送的内容。4.1 进入微信墙微信墙进入第一步测试,关注该公众号“帮帮 BNG”,按着流程进入微信墙,如图 4-1所示。当出现如 4-1 所示界面,即表示已成功进入微信墙。4.2 发送第一条测试内容发送第一条测试内容,按着提示直接在输入框编辑你想要发送的信息。如图4-2 所示。当出现如 4-2 所示界面,即表示第一条内容已成功发送。4.3 发送多条测试内容发送多条测试内容,继续在输入框编辑你想要发送的内容,如图 6-3 所示。当出现如 4-3 所示界面,即表示已成功发送多条内容。4.4 执行退出退出微信墙,如图 4-4 所示。当出

16、现如 4-4 所示界面,即表示已成功退出微信墙。4.5 首页展示第 12 页 (共 17 页)首页展示如图 4-5 所示。当首页出现上下弹出的信息,并且能看到用户名与用户的头像。如 4-5所示,即表示微信墙功能已实现!注意:当弹幕太多,会因为带宽的限制出现弹幕不能刷新的问题,所以当进行微信墙实际运用时,必须根据实际人数来购买相应的带宽以保持微信墙的顺利进行。第 13 页 (共 17 页)图 4-1 进入微信墙第 14 页 (共 17 页)图 4-2 发送第一条内容第 15 页 (共 17 页)图 4-3 多条测试内容第 16 页 (共 17 页)图 4-4 退出第 17 页 (共 17 页)图

17、 4-5 首页展示5 总结遇到的问题:(1)在数据库建表这一步出现了问题,每次自己认为正确的建表语句一执行就报错,回头检查,有少标点的,还有约束出现了冲突的,本来数据库操作是不难的,却耽搁了大半天时间,这说明对这方面知识疏忽了,通过这次毕业设计,加深了对 mysql-mariadb这款开源软件的认识,操作也更加熟练。(2)页面中的 sql语句,对某些函数运用不是很熟练如:mysqli_fetch_assoc ,mysqli_affected_rows,他们一个是遍历函数,一个是查询被影响的行数函数,对于函数,多运用几次就记住他们的作用以及相关性。(3)对 javascript的陌生,本来之前是

18、没怎么学 javascript的,这次毕业设计会运用到少量的 javascript,通过翻阅书籍,询问指导老师,学到了一些第 18 页 (共 17 页)javascript的知识,我们只有一直学习才不会被淘汰!(4)图片处理函数,获取用户个人信息包含了用户的头像,对于图片处理函数不是很懂,查了很多资料,询问了导师。最后学会了给图片随机命名,并保存到数据库,会熟练运用 fileupload函数。本次毕业设计实现了最开始想要实现的功能,建设一个微信墙。第一步:打通网站与微信官方的通道,第二步:用户关注,第三步:引导用户操作进入微信墙。第四步:输入内容测试。第五步:退出,第六步:首页展示。基本功能已

19、实现,但还可以有更好的方案,这需要更长的时间进行完善。可以添加黑名单功能,抽奖功能,投票功能等。由于这次毕业设计重点放在了微信公众平台与第三方的介入和微信公众平台接口的学习与使用,没有编写网站的后台管理权,希望以后可以更加完善该网站的后台以及网站的前端的整体功能。参考文献:1 高洛峰. 细说 php(第二版)M. 北京:电子工业出版社,2012.2 方倍工作室. 微信公众平台开发最佳实践(第二版)M. 北京:机械工业出版社,2015.3 易伟. 微信公众平台搭建与开发揭秘(第二版)M. 北京:机械工业出版社,2015.4 闫小坤. 微信公众平台开发基础与实战M. 北京:机械工业出版社,2015.5 钟志勇. 微信公众平台应用开发实战(第二版)M. 北京:机械工业出版社,2014.6 戴晟晖. 微信公众平台搭建、开发与实践指南M. 北京:机械工业出版社,2013.7 方倍工作室. 企业微信公众平台开发实战M. 北京:机械工业出版社,2013.8 于荷云. PHP+MySQL 网站开发全程实例(第二版)M. 北京:清华大学出版社,2015.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报