微信公众平台入门到精通vol17.doc
《微信公众平台入门到精通vol17.doc》由会员分享,可在线阅读,更多相关《微信公众平台入门到精通vol17.doc(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、微信教程跳票好久了,今天总算更新一章,把通讯录这个案例完结掉,之前几章有不少朋友反映写的过于详细了,大家可能更多的是需要一些思路和方法,所以我这次是将通讯录完整代码提供下载,回复“微信代码”可以下载完整代码包,建议先下载安装了再看文章,以下是注意事项:1、数据库结构有改动,大家可以将原来的数据库删除后重新创建,创建方法请查看微信公众平台入门到精通Vol.15,新数据库创建代码在weixincourse.txt里。2、与微信接口文件为wx_interface.php,大家可以将里面源代码复制粘贴到自己的接口文件里覆盖掉。3、其他的文件全部上传到SAE的代码编辑里,有同名文件可以先删除原来文件再上
2、传。4、文件说明:base-class.php 自定义函数,无需改动class_add.php 添加部门,无需改动class_manager.php 部门管理,无需改动roster_add.php 添加员工,需要改动118行的Storage空间名称roster_manager.php 员工管理detail.php 前端查看员工详情,无需改动list.php 前端查看部门列表,无需改动wx_tpl.php 回复消息的模板,无需改动wx_interface.php 微信接口文件,根据自己实际修改名称5、后台文件没有加样式文件,所以看起来会很简陋,我主要是讲开发方法,CSS虽然我也很强,但是不在教程
3、范畴里,有想学的可以自己找些网页模板。6、程序没有进行优化,其实很多都可以用过程来写,但是为了让大家更好理解,就不厌其烦的写下吧昨天有不少朋友在问如何测试不知道如何绑定账号,具体步骤是先在后台添加一个员工,然后在微信公众账号里根据提示将添加的员工信息输入完成绑定,如图添加一个员工:第十四章 公司通讯录开发四、公司通讯录开发首先回答有些朋友的疑问为什么要做通讯录案例?这个案例貌似没有什么价值,确实从现实使用来看这个案例真没啥价值,但我是希望通过这个案例教大家学会数据库的使用、后台的开发、微信账号绑定、微信搜索、记录翻页等一些基本方法,然后可以结合自己的实际需求来做开发。上传员工照片在添加员工文件
4、(roster_add.php)中有一个图片上传功能,图片上传在表单里是使用input控件的file属性,如下图:当提交表单后,程序会收到一个名称为roster_pic的文件变量,文件变量获取是用$_FILES,而不是$_GET或$_POST,如下图:第97行是监测是否有选择文件,$_FILESroster_picname是上传文件的原始文件名。第103到105行获取上传文件名的后缀第107到111行监测后缀是否合法。第118行是保存图片到Storage里并返回上传后的图片实际路径赋值给$old_roster_pic。注意:1、上传文件的数据会保存成一个临时文件,web是不能直接访问用户电脑文
5、件的,所以我们读取的源文件是$_FILESroster_pictmp_name 。2、由于我将添加和修改是放在同一个文件里,$old_roster_pic在表单内是用来存放修改状态下旧图片文件名称的,当表单提交后如果没有上传图片并且$old_roster_pic为空(即不在修改状态)则会提示上传图片,如果上传了图片则更新$old_roster_pic这个变量,最后写入数据库时使用的都是$old_roster_pic的值。后台的程序基本就是这些,大家可以结合微信公众平台入门到精通Vol.15来理解,如果有不明白的可以后台咨询。下面主要讲前台与微信通讯的程序,都在wx_interface.php里
6、。微信账号绑定微信用户的账号如何与自己网站的用户系统打通,这个是很多人关心的问题,其实很简单,我们都知道微信用户在关注公众号或者发送消息时都会有一个唯一的OPENID传过来,这个OPENID就是这个用户对应这个公众账号的唯一身份标示,我们只要将这个OPENID与自己网站的用户系统一一绑定就可以了。方法有两种,一是将OPENID作为登陆页面或者注册页面的URL参数,当用户点击这个URL时跳转到WAP页面(即自己网站)上进行绑定,另外就是在对话框里进行绑定,我今天介绍的就是在对话框里进行绑定。首先是检测用户是否绑定了微信号,这里我写了个函数,如下图:第593行是定义函数的名字为check_user
7、,函数传入的变量为$fromUsername,即微信用户的OPENID。第598行是通过传入的OPENID为条件,检测在员工数据表中是否存在某条记录的roster_openid等于该OPENID。第600到609行是返回函数运行的记过,如果有记录的话返回该条数据,如果没有就返回失败。在用户关注公众账号时我就判断是否有绑定过账号,并且根据绑定情况回复不同的欢迎词,如下图:当检测到用户关注的事件,调用check_user这个函数,如果返回不是失败则提示使用帮助,否则提示绑定账号,效果如图:当用户输入BD字符时进入账号绑定模式,如下图:先判断用户是否已经绑定过,绑定过给提醒中断执行。否则进入绑定流程
8、,由于绑定操作需要分多个步骤验证多个条件,然后一并查询数据库,因此我们要保存每一步的动作和数据,这里使用memcache来保存每个用户的上一步操作。这里先保存了BD_0标示这是绑定的第一个步骤,提示用户信息为“请输入你的姓名”。memcache服务的开启请查看微信公众平台入门到精通Vol.13,在程序里使用方法为在代码最开头启动memcache,如下图:保存memcache的方法为:$mc-set(缓存变量名, 保存的数据, 0, 缓存时间单位秒);读取memcache的方法为:$mc-get(缓存变量名);我在程序的开头加了获取memcache值的代码,每次用户请求时都会从memcache中
9、获取用户上一步的操作和数据。其中$fromUsername._do为用户操作,$fromUsername._data为用户数据,用$fromUsername可以保证每个用户都有独立的缓存变量名。接下来等用户输入姓名后,接口会收到新的请求,这个时候由于memcache保存过上步标示,因此这里会根据操作缓存的数据判断进入到第二步,$last_do的值是从程序开始就获取memcache值后获取的,如下图:这里多了一个保存数据的缓存设置,保存了用户提交的姓名数据,同时将操作缓存的值改为了BD_1,然后继续提示用户输入工号。当用户输入工号后,会进入第三步,如下图:继续保存数据,将上一步的数据(姓名)与本
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 公众 平台 入门 精通 vol17
限制150内