分享

微信开发 介绍+案例使用 52 (上)

 知识书馆 2022-07-19 发布于广东

价值万元的微信教程上

目录

价值万元的微信教程上

一、微信历史起源

1、微信起源

2、为什么要学习微信开发

3、微信与微信公众平台区别

4、微信推荐

5、内容提纲

二、微信公众平台

1、微信平台登陆

2、微信功能详解

1)群发功能:

2)自动回复

三、微信公众平台开发者模式

1、微信公众平台开发原理

1)微信的编辑模式

2)微信的开发者模式

2、如何建立腾讯服务器与自定义服务器的联系

1)拥有自己的服务器(BAESAE

2)设置微信接头暗号(微信API接口)

3)系统如何验证腾讯服务器是否与自定义服务器产生沟通:

4)更改wx_sample.php文件为api.php并上传到SAE平台

5)填写微信开发者中心的url接口与token令牌

6)保存验证

7)注释掉一下代码

8)调用responseMsg方法

3reponseMsg()方法分析:

四、微信的6大接口

1、文本消息接口

2、图片消息接口

3、语音消息

4、视频消息

5、地理位置接口

案例:模拟简易号码簿

五、微信的3大发送接口

1、文本消息回复接口

2、音乐回复接口

扩展案例:在线音乐平台(作业)

3、图文接口(重点)

六、订阅接口

七:LBS开发

1、什么是LBS

2、基于LBS的微信开发

3、地址位置接口信息

扩展案例:百度API返回当前距离最近的酒店信息(作业)

扩展案例:使用高德地图返回当前位置与指定位置信息(步行、驾车、公交)(作业)

八、小黄鸡(小贱鸡)微信机器人开发

1)模拟POST请求

2)如何使用curl

3curl模拟破解小黄鸡

扩展案例:小i机器人,图灵机器人(作业)


一、微信历史起源

1、微信起源

12011121日,腾讯推出微信(张小龙)

22012820日,腾讯推出微信公众平台功能,同年11月开放第三方接口

320131月微信突破3亿,海外版wechat用户也达到7000万,以前和韩国客户沟通也是通过微信,可见微信已随处不在

2、为什么要学习微信开发

20136月速途研究院发布调查报告,22%的微信用户在使用订阅公众账号功能,而只算微信有3亿用户,就约有6000多万用户在使用微信公众平台功能。

3、微信与微信公众平台区别

微信:点对点

微信公众平台:一对多

4、微信推荐

5、内容提纲

       微信公众平台

       微信官方接口分析

       微信开发原理

       微信6大接口的全解析

       lbs开发+小贱鸡(或小i机器人)

       响应式设计

       curl与自定义菜单

       数据库支持

       案例开发

二、微信公众平台

1、微信平台登陆

https://mp.weixin.qq.com

登陆后,如下图所示

2、微信功能详解

1)群发功能:

订阅号:每天可以群发1条信息

服务号:拥有自己的自定义菜单,每月可以群发4条信息

2)自动回复

被添加自动回复(关注|订阅回复):当我们关注或订阅某个公众账号时,系统自动回复信息

关键词自动回复:当我们输入的关键词与用户输入的关键词相匹配时,自动回复设定的信息

未全匹配:模糊匹配

已全匹配:精准匹配

消息自动回复:当我们输入的关键词与用户输入的关键词不匹配时,系统自动回复消息自动回复

三、微信公众平台开发者模式

1、微信公众平台开发原理

1)微信的编辑模式

2)微信的开发者模式

2、如何建立腾讯服务器与自定义服务器的联系

1)拥有自己的服务器(BAESAE

创建应用gzitcast888

2)设置微信接头暗号(微信API接口)

单击开发者文档里面的接入指南,下载api接口文件

3)系统如何验证腾讯服务器是否与自定义服务器产生沟通:

4)更改wx_sample.php文件为api.php并上传到SAE平台

5)填写微信开发者中心的url接口与token令牌

6)保存验证

7)注释掉一下代码

8)调用responseMsg方法

注:有时由于微信缓存问题,可能导致代码无法立即生效,可以采用取消关注并再次关注或等待片刻解决此问题。

3reponseMsg()方法分析:

sprintf函数:格式化字符串

语法:第一个参数是要格式化的字符串,后面的参数与要格式化的数据是一一对应

四、微信的6大接口

文本消息 图片消息  语音消息   视频消息   地理位置消息  链接消息(图文消息)

1、文本消息接口

接口语法:

如果用户发送的消息为文本消息,那么MsgType参数text文本类型,MsgId可省略

示例代码:

添加以下信息,用于判断接收信息类型

通过判断msgType变量判断发送消息类型

测试:

2、图片消息接口

通过接口信息可知:如果MsgTypeimage代表当前为图片消息接口

3、语音消息

如果用户发送的消息为语音消息,那么MsgType参数voice语音类型

4、视频消息

如果用户发送的消息为视频消息,那么MsgType参数video

5、地理位置接口

如果用户发送的消息为地理位置消息,那么MsgType参数为location

6、链接消息

如果用户发送的消息为链接消息,那么MsgType参数为link

案例:模拟简易号码簿

当系统输入?或?号时,系统自动弹出一下提示:

客官,有什么能为您服务的么?我们有很多特殊服务哦?

1】特种服务号码

2】通讯服务号码

3】银行服务号码

4】用户反馈

当用户输入1234时,系统自动返回如下信息,示例代码如下:

其他代码请自行完成。

效果如下:

五、微信的3大发送接口

1、文本消息回复接口

文本XML模板

参考实例代码:

1)组装XML

2)使用文本消息回复

2、音乐回复接口

1)音乐消息接口XML模板:

2)使用音乐接口发送消息

效果:

扩展案例:在线音乐平台(作业)

思路:

关键词:音乐(文本消息接口)

如果是音乐回复,那么必须采用音乐回复接口:

重点有4个参数:标题\描述\标准链接\高清链接

3、图文接口(重点)

1)创建图文接口模板信息

2)使用单图文消息回复

3)使用多图文消息回复

效果如下:

六、订阅接口

微信5秒:

订阅接口(关注接口)XML模板

通过以上XML信息可以得出以下结论:

关注接口有两个参数不同于其他接口:

MsgTypeevent

Eventsubscribe(订阅)

1)添加接收参数变量

2)判断与执行

七:LBS开发

1、什么是LBS

LBSLocation Based Service):基于地理位置的服务

2、基于LBS的微信开发

$longitude 经度

$latitude 纬度

3、地址位置接口信息

通过观察可知:如果用户发送地理位置,那么我们在微信端接收时,首先接收MsgTypelocation,且可以接收到Location_X,Location_Y两个节点

$longitude = Location_Y;

$latitude = Location_X;

1:通过经纬度确认用户所在地理位置

思路:可以通过第三方接口来实现对经纬度的判断

Google Map API(需翻墙)

百度地图API

高德地图API

凯立德API

以百度地图API为例:

http://developer.baidu.com/

通过分析可知:

参数格式如下:

ak=密钥

location=经度,维度

output=jsonxml

实验运行接口地址:发现可以正常返回信息,说明当前接口请求为get请求

file_get_contents模拟get请求

1)接收经纬度参数

2)使用第三方(百度LBS服务)确定当前地理位置

运行效果:

2:案例:在三个地区开了三家餐馆,通过LBS服务为客户提供最近的餐馆信息

通过坐标拾取工具选点:

广州东站店:113.331222,23.156737

中山大学店:113.304775,23.103031

天朗明居店:113.398294,23.132483

可以采用百度API的测距接口,如下图:

通过观察可知:

ak = 密钥

waypoints :要测距经纬度信息,多个信息之间通过;隔开

output = xml|json :返回结果

通过运行可知,其模拟的是get请求

file_get_contents

示例代码:

运行效果:

扩展案例:百度API返回当前距离最近的酒店信息(作业)

思路:采用百度的周边搜索接口,已图文形式返回距离我们最近的5家酒店

扩展案例:使用高德地图返回当前位置与指定位置信息(步行、驾车、公交)(作业)

思路:高德地图

八、小黄鸡(小贱鸡)微信机器人开发

小黄鸡(国外):语言萌萌哒

小九机器人:语言滑稽,什么都敢说

i机器人:语言正规

图灵机器人:比较正规,语言库丰富

以小九机器人为例:

http://www./小黄鸡(内核:小九)

在实际开发可能并没有很多接口提供给我们直接使用,这个时候我们就必须通过一些手段来获取其接口信息

抓包:

Fiddler

HttpWatch

HttpWatch为例:

打开网址,输入hello查看显示框信息:

分析以上结果可以得出以下结论:

真实的请求地址为http://www./ajax.php

发送请求为post请求(PHP要模拟post

发送的参数为para

1)模拟POST请求

curl库:

PHP[1] 支持的由Daniel Stenberg创建的libcurl库允许你与各种的服务器使用各种类型的协议进行连接和通讯。

libcurl目前支持httphttpsftpgophertelnetdictfileldap协议。libcurl同时也支持HTTPS认证、HTTP POSTHTTP PUT FTP 上传(这个也能通过PHPFTP扩展完成)HTTP 基于表单的上传、代理、cookies和用户名+密码的认证。

2)如何使用curl

curl四步走:

第一步:初始化curl请求(句柄)

$ch = curl_init();

第二步:设置请求参数

curl_setopt($ch,CURL参数,CURL参数的值);

第三步:执行curl操作

$output = curl_exec($ch);

第四步:关闭curl句柄

curl_close($ch);

3curl模拟破解小黄鸡

扩展案例:小i机器人,图灵机器人(作业)

i地址:http://www./algorithm.jsp  

图灵机器人:http://www./openapi/cloud/proexp.jsp

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多