微信公众平台入门到精通vol178238.docx
-
资源ID:62546370
资源大小:3.88MB
全文页数:30页
- 资源格式: DOCX
下载积分:20金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
微信公众平台入门到精通vol178238.docx
微信教程程跳票好好久了,今今天总算算更新一一章,把把通讯录录这个案案例完结结掉,之之前几章章有不少少朋友反反映写的的过于详详细了,大大家可能能更多的的是需要要一些思思路和方方法,所所以我这这次是将将通讯录录完整代代码提供供下载,回回复“微微信代码码”可以以下载完完整代码码包,建建议先下下载安装装了再看看文章,以以下是注注意事项项:1、数据据库结构构有改动动,大家家可以将将原来的的数据库库删除后后重新创创建,创创建方法法请查看看微信信公众平平台入门门到精通通Vool.115,新新数据库库创建代代码在wweixxinccourrse.txtt里。2、与微微信接口口文件为为wx_intterffacee.phhp,大大家可以以将里面面源代码码复制粘粘贴到自自己的接接口文件件里覆盖盖掉。3、其他他的文件件全部上上传到SSAE的的代码编编辑里,有有同名文文件可以以先删除除原来文文件再上上传。4、文件件说明:basee-cllasss.phhp 自定义义函数,无无需改动动classs_aadd.phpp 添加部部门,无无需改动动classs_mmanaagerr.phhp 部部门管理理,无需需改动rostter_addd.phhp 添加员员工,需需要改动动1188行的SStorragee空间名名称rostter_mannageer.pphp 员工管管理detaail.phpp 前端端查看员员工详情情,无需需改动listt.phhp 前前端查看看部门列列表,无无需改动动wx_ttpl.phpp 回复复消息的的模板,无无需改动动wx_iinteerfaace.phpp 微信信接口文文件,根根据自己己实际修修改名称称5、后台台文件没没有加样样式文件件,所以以看起来来会很简简陋,我我主要是是讲开发发方法,CCSS虽虽然我也也很强,但但是不在在教程范范畴里,有有想学的的可以自自己找些些网页模模板。6、程序序没有进进行优化化,其实实很多都都可以用用过程来来写,但但是为了了让大家家更好理理解,就就不厌其其烦的写写下吧昨天有不不少朋友友在问如如何测试试不知道道如何绑绑定账号号,具体体步骤是是先在后后台添加加一个员员工,然然后在微微信公众众账号里里根据提提示将添添加的员员工信息息输入完完成绑定定,如图图添加一一个员工工:第十四章章 公司司通讯录录开发四、公司司通讯录录开发首先回答答有些朋朋友的疑疑问为什什么要做做通讯录录案例?这个案案例貌似似没有什什么价值值,确实实从现实实使用来来看这个个案例真真没啥价价值,但但我是希希望通过过这个案案例教大大家学会会数据库库的使用用、后台台的开发发、微信信账号绑绑定、微微信搜索索、记录录翻页等等一些基基本方法法,然后后可以结结合自己己的实际际需求来来做开发发。上传员工工照片在添加员员工文件件(roosteer_aadd.phpp)中有有一个图图片上传传功能,图图片上传传在表单单里是使使用innputt控件的的fille属性性,如下下图:当提交表表单后,程程序会收收到一个个名称为为rossterr_piic的文文件变量量,文件件变量获获取是用用$_FFILEES,而而不是$_GEET或$_POOST,如如下图:第97行行是监测测是否有有选择文文件,$_FIILESS'rrostter_picc''naame''是上上传文件件的原始始文件名名。第1033到1005行获获取上传传文件名名的后缀缀第1077到1111行监监测后缀缀是否合合法。第1188行是保保存图片片到Sttoraage里里并返回回上传后后的图片片实际路路径赋值值给$oold_rossterr_piic。注意:1、上传传文件的的数据会会保存成成一个临临时文件件,weeb是不不能直接接访问用用户电脑脑文件的的,所以以我们读读取的源源文件是是$_FFILEES''rossterr_piic''ttmp_namme' 。2、由于于我将添添加和修修改是放放在同一一个文件件里,$oldd_roosteer_ppic在在表单内内是用来来存放修修改状态态下旧图图片文件件名称的的,当表表单提交交后如果果没有上上传图片片并且$oldd_roosteer_ppic为为空(即即不在修修改状态态)则会会提示上上传图片片,如果果上传了了图片则则更新$oldd_roosteer_ppic这这个变量量,最后后写入数数据库时时使用的的都是$oldd_roosteer_ppic的的值。后台的程程序基本本就是这这些,大大家可以以结合微微信公众众平台入入门到精精通VVol.15来来理解,如如果有不不明白的的可以后后台咨询询。下面面主要讲讲前台与与微信通通讯的程程序,都都在wxx_innterrfacce.pphp里里。微信账号号绑定微信用户户的账号号如何与与自己网网站的用用户系统统打通,这这个是很很多人关关心的问问题,其其实很简简单,我我们都知知道微信信用户在在关注公公众号或或者发送送消息时时都会有有一个唯唯一的OOPENNID传传过来,这这个OPPENIID就是是这个用用户对应应这个公公众账号号的唯一一身份标标示,我我们只要要将这个个OPEENIDD与自己己网站的的用户系系统一一一绑定就就可以了了。方法有两两种,一一是将OOPENNID作作为登陆陆页面或或者注册册页面的的URLL参数,当当用户点点击这个个URLL时跳转转到WAAP页面面(即自自己网站站)上进进行绑定定,另外外就是在在对话框框里进行行绑定,我我今天介介绍的就就是在对对话框里里进行绑绑定。首先是检检测用户户是否绑绑定了微微信号,这这里我写写了个函函数,如如下图:第5933行是定定义函数数的名字字为chheckk_usser,函函数传入入的变量量为$ffrommUseernaame,即即微信用用户的OOPENNID。第5988行是通通过传入入的OPPENIID为条条件,检检测在员员工数据据表中是是否存在在某条记记录的rrostter_opeenidd等于该该OPEENIDD。第6000到6009行是是返回函函数运行行的记过过,如果果有记录录的话返返回该条条数据,如如果没有有就返回回失败。在用户关关注公众众账号时时我就判判断是否否有绑定定过账号号,并且且根据绑绑定情况况回复不不同的欢欢迎词,如如下图:当检测到到用户关关注的事事件,调调用chheckk_usser这这个函数数,如果果返回不不是失败败则提示示使用帮帮助,否否则提示示绑定账账号,效效果如图图:当用户输输入BDD字符时时进入账账号绑定定模式,如如下图:先判断用用户是否否已经绑绑定过,绑绑定过给给提醒中中断执行行。否则则进入绑绑定流程程,由于于绑定操操作需要要分多个个步骤验验证多个个条件,然然后一并并查询数数据库,因因此我们们要保存存每一步步的动作作和数据据,这里里使用mmemccachhe来保保存每个个用户的的上一步步操作。这这里先保保存了BBD_00标示这这是绑定定的第一一个步骤骤,提示示用户信信息为“请请输入你你的姓名名”。memccachhe服务务的开启启请查看看微信信公众平平台入门门到精通通Vool.113,在在程序里里使用方方法为在在代码最最开头启启动meemcaachee,如下下图:保存meemcaachee的方法法为:$mc->seet(缓缓存变量量名, 保存的的数据, 0, 缓存存时间单单位秒);读取meemcaachee的方法法为:$mc->geet(缓缓存变量量名);我在程序序的开头头加了获获取meemcaachee值的代代码,每每次用户户请求时时都会从从memmcacche中中获取用用户上一一步的操操作和数数据。其其中$ffrommUseernaame."_ddo"为为用户操操作,$froomUssernnamee."_datta"为为用户数数据,用用$frromUUserrnamme可以以保证每每个用户户都有独独立的缓缓存变量量名。接下来等等用户输输入姓名名后,接接口会收收到新的的请求,这这个时候候由于mmemccachhe保存存过上步步标示,因因此这里里会根据据操作缓缓存的数数据判断断进入到到第二步步,$llastt_doo的值是是从程序序开始就就获取mmemccachhe值后后获取的的,如下下图:这里多了了一个保保存数据据的缓存存设置,保保存了用用户提交交的姓名名数据,同同时将操操作缓存存的值改改为了BBD_11,然后后继续提提示用户户输入工工号。当用户输输入工号号后,会会进入第第三步,如如下图:继续保存存数据,将将上一步步的数据据(姓名名)与本本次数据据(工号号)合并并用“|”分分割,同同时将操操作缓存存的值改改为了BBD_22,然后后继续提提示用户户输入手手机号。当用户输输入手机机号后,就就进入最最后一步步验证,如如下图:进入最后后一步后后先清空空操作和和数据缓缓存,然然后将之之前保存存的数据据$laast_do加加上本次次用户输输入内容容合并转转换成数数组,并并用liist函函数分别别赋值给给$roosteer_nnamee,$rrostter_nummberr,$rrostter_mp。再进行数数据库查查询满足足用户姓姓名、工工号和手手机与输输入数据据完全相相同并且且rossterr_oppeniid(员员工oppeniid)为为空的记记录,如如果有符符合条件件的记录录则更新新该记录录,将$froomUssernnamee(当前前操作用用户的oopennid)保保存到rrostter_opeenidd里,完完成绑定定。这个时候候我们输输入“hhelpp”就会会可以进进行后续续操作了了。PS:“输输入exxit退退出操作作”这个个也很简简单,当当用户输输入exxit的的时候程程序会清清空操作作和数据据缓存,也也就是说说所有之之前的操操作和数数据都没没有了,即即所有操操作重新新开始,如如下图:这个流程程使用了了memmcacche来来保存一一些临时时变量和和多步骤骤操作,除除了用来来绑定用用户账户户外,也也适合一一些调查查问卷或或者注册册登陆操操作。微信搜索索搜索其实实就是编编辑模式式下的关关键字自自动回复复,我这这里拿姓姓名搜索索举例,首首先我们们要先切切换当前前模式到到姓名搜搜索,如如下图:这部分代代码与账账号绑定定的第一一步是一一样的,我我们用mmemccachhe存放放当前的的操作,这这个时候候存放操操作动作作的缓存存变量里里就标示示了当前前是在姓姓名搜索索状态下下。同时时输出提提示,请请输入员员工姓名名。其实这步步可以理理解为进进入网站站的二级级导航页页面,一一个网站站有首页页和各种种导航栏栏目,那那么在这这个通讯讯录里帮帮助就是是首页,你你输入HHELPP就到了了首页,输输入XMM就到员员工查询询这个二二级栏目目,之后后除非你你输入BBM、GGH等一一些栏目目名,其其他的操操作都默默认是在在员工栏栏目下进进行。然后根据据提示输输入员工工名字进进行查询询,如下下图:从数据库库中查找找与用户户输入一一致的记记录,如如果没有有则返回回提醒:如果查询询到则返返回一个个图文消消息,这这里没有有去考虑虑员工重重名的情情况,所所以查询询和返回回结果都都是只取取一条记记录的。前端展现现原因我我只取工工号、姓姓名、当当前状态态、照片片等字段段返回,查查看详情情点击阅阅读原文文进入到到dettaill页,把把该员工工的IDD号(不不是工号号)作为为URLL参数传传递过去去,然后后再做一一次数据据库查询询将所有有字段提提取出来来展现。微信翻页页很多人非非常好奇奇ZTaalk的的公众账账号是如如何实现现文章查查询翻页页的,其其实原理理也很简简单,只只是把网网页上的的翻页代代码稍微微改装一一下,然然后使用用memmcacche保保存每个个用户当当前的页页码和搜搜索的关关键字就就可以了了。在通讯录录里是用用部门查查询来示示例的,首首先依然然是进入入部门查查询这个个栏目,如如下图:上面的代代码除了了保存当当前操作作状态为为部门查查询以外外,又用用另外一一个meemcaachee的变量量保存当当前搜索索关键字字和页码码“nuull | 1”,其其中nuull为为当前搜搜索关键键字(因因为一开开始用户户没有输输入所以以是空的的),11表示起起始页是是第一页页,然后后输出提提示,请请输入部部门名称称。当用户输输入部门门名称后后,先查查询这个个部门的的ID号号,因为为在员工工表里没没有直接接存放部部门名称称而是存存放的与与部门对对应的IID号,如如下图:在这里我我们获取取搜索关关键字会会有两个个来源,一一个是用用户输入入的,一一个是在在翻页时时在缓存存中保存存的,所所以先得得尝试从从缓存里里获取用用户之前前保存的的搜索关关键字,如如果值为为nulll则表表示这是是第一次次搜索,关关键字为为用户输输入的$froom_cconttentt,否则则就使用用缓存中中保存的的关键字字,这就就是为什什么能够够翻页的的关键,我我们利用用缓存机机制存放放了用户户之前输输入的搜搜索关键键字。有了搜索索关键字字然后查查询部门门表获取取部门IID号,获获取到后后再去查查询员工工表里该该ID下下的员工工总数,如如果总数数为0则则表示该该部门还还没有员员工直接接提示。否否则进入入到翻页页计算和和结果返返回,如如下图:第一个是是设置每每页显示示的条数数,我这这里是设设置成33条,加加上封面面消息和和尾部翻翻页提示示消息最最后显示示会是55条。当前页码码是从缓缓存中获获取,$lasst_ddataa在前面面已经使使用exxploode函函数以|为分分割字符符变成数数组,$lasst_ddataa0为搜索索关键字字,$llastt_daata1为为页码,根根据当前前页码计计算数据据库查询询开始的的记录指指针位置置。查询出结结果后进进行数据据转化,这这里做了了一个数数组方便便后面循循环输入入多图文文消息,每每个图文文消息其其实就44个元素素:标题题、描述述、图片片、链接接,先直直接用搜搜索关键键字+当当前页等等做一个个封面消消息,然然后循环环将数据据库查询询结果也也转化成成图文消消息的元元素。然后是判判断是否否有下一一页,如如下图:用符合搜搜索条件件的记录录总数去去除以每每页显示示数量,cceill是一个个向上舍舍入为最最接近的的整数的的函数,就就是ceeil(5/44)=22,而不不是1.25,这这样就知知道总页页数了,然然后判断断当前页页是否最最后一页页,如果果不是最最后一页页则将当当前页加加1然后后存放到到memmcacche里里,在下下次翻页页查询时时保存数数据的这这个meemcaachee变量里里其实已已经变成成“搜索索关键字字|22”。最后就是是输出多多图文消消息了,如如下图:在微信里里显示的的效果如如下:可能还有有很多人人很迷茫茫,如何何输入任任何字符符查看下下一页的的呢?我我画个流流程图可可能会比比较清楚楚,看下下图:大家可以以看到其其实从第第二页开开始用户户输入的的字符只只是触发发程序运运行,而而不能干干涉程序序运行的的结果,除除非输入入EXIIT,或或者HEELP这这些一级级栏目关关键字。关于通讯讯录就讲讲到这里里了,响响应朋友友们的建建议多讲讲些设计计理念,希希望大家家能够触触类旁通通,和自自己业务务相结合合。后面面还有两两个教程程也打算算用这个个方法来来做了,会会提供完完整代码码,讲一一些要点点,就是是间隔时时间会比比较久因因为要码码代码本文网络络独家授授权,任任何媒体体、机构构不得转转发!-ZTTalkk互动-KB244:不知知道能不不能增加加一个功功能可以以从前往往后显示示文章,想想看一下下你最初初写的文文章,一一直mmm感觉不不是很方方便,而而且最近近的好多多文章我我都看过过了,感感谢啦!Ztallk:这这个提议议挺不错错的,实实现也简简单,回回头加个个呗。扯了个犊犊子。:又是一一个毕业业季。三三毛阿姨姨说:“”人人生又有有多少场场华丽在在等着,不不多的,不不多的,即即使旅行行,也大大半平凡凡岁的岁岁月罢了了”。你你的大学学又又有有多少疯疯狂与激激情。Ztallk:没没考上大大学扯了个犊犊子。:所以你你的境界界比我好好。教育育误人子子弟Ztallk:我觉觉得大学学里不是是教导工工作技能能的,是是教人如如何观察察思考的的,如果果有可能能还是去去经历下下。百晶仪器器杨太平平:朱老老师您好好,之前前看您的的网名,以以为您是是个愤青青呢,今今天在虎虎嗅网看看了您的的那篇微微信文章章才知道道您是技技术大拿拿,一口口气看了了您的微微信公众众平台系系列文章章,当然然后面的的开发者者系列,看看的很晕晕,但是是也给了了我不少少启发,建建议这次次微信公公众平台台系统更更新,朱朱老师进进行完善善后出本本书,我我一定买买来好好好研读。字字里行间间不难发发现朱老老师绝不不是个“贼贼”,二二十个很很具有耐耐心,善善良的人人。文章章穿插广广告怎么么了,一一些人就就是容不不得别人人大量付付出后,稍稍稍收获获些,对对此,您您勿予理理睬,工工作顺利利!Ztallk:请允允许我小小小的傲傲娇一下下ZTallk每日日一曲,输输入“VV”欣赏赏,历史史欣赏请请输入“VVM”:Crassh CCityy Saaintts的BBrokke, 黑暗的情绪