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,微信官方会验证该签名文件,验证成功后微信官方第 7 页 (共 17 页)会以 GET方式传值 5,那么我们就需要一个像盒子来存储这些信息,在这里我使用的图 2-4 user-weichat-website 工作流程是 mysql数据库管理软件。建立一个 db.php作为后续 php文件连接数据库导入的公共配置文件 6:responseText(收到了未知类型消息: . $this-getRequest(ms
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。