关键词不能为空

当前您在: 主页 > 英语 >

微信开发之菜单管理(基础篇)

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-15 17:30
tags:

-

2021年2月15日发(作者:暂时的英文)



今天系统的说一说微信开发关于添加菜单最基本的这一块,首


先还是打开开发文档看官方规定的规则是什么?









我们看到他是通过


htpp post


方式



调用一个


URL


地址,在调


用的时候呢,同过


post


方式传入我们的值,再看看传入的值是什


么呢 ?



没错,正如你就看到的


json< /p>


数据格式。








看< /p>









< p>






官方这样规定父菜单的个数为


3

个,


父菜单名称最多的汉字为


4


个 ,


在父菜单下允许创建


5


个子菜单,< /p>


子菜单名称最多字数不超过


7


个。


有了这个概念,


我们再来看这种


json


数据,


首先最外层的花括号





json


数据的基本格 式。往里走首先是一个“


botton


”,在他的


里面包含了我们所有的菜单,继续往里走,又是一个花括号对吧,


但是请你注 意,这里总共有三个,每个之间以逗号隔开,那这是什


么意思呢?这就是我们的父菜单的 操作区域,我们继续往里走看他


都父菜单操作域些什么内容呢?




首先是一个“


type


”,这主要是定义父菜单的菜单类型,所有


的菜单类型有俩种,“


click




“< /p>


view


”。“


click


”触发的是单


击事件,当你设置父菜单的


type< /p>



click


时,用户一点击这个设


置了的菜单,就会会触发单击事件,这个时候,我们一接受这种事


件 ,就可以对他做出相应的回复,例如,可以回复六种基本消息类


型的任意一种。



view



触发的是 一个跳转链接,


当用户一点击时,


就会跳转到你指定的跳转地址 上。




接着是一个


name


值,这个不用多说,父菜单的菜单名称。




继续是一个


key


或者


view


这块你得注意了。前 面我们说如果


设置菜单类型


(type)



click.


我们可以对应做出消息回复。


可是你


有没没有想过,


如果你的三个父菜单都将类型设 置成了


click,


那么


问题来了系统 怎么去识别是哪个菜单,用过户点击不同菜单时,我


们怎样对应回复不同的消息。这个时 候我们就需要对三个类型为


type


的菜单进行区分。


用什么区分呢?就是我们的


key


值。


当我设


置第一个父菜单类型


(type)



click


时,我对应他的


key


值为


ABOUTME




那么也就相当于我用


key


等于


ABOUTME


对这个菜单进行了一个标< /p>


记,当用户单击这个菜单时,我们就可以根据他的标记进行对应的


消息回复,


那么当我三个父菜单都将类型


(type)


设置成


click,


我可


以通过不同的


key


值,对他进行标识,在接收消息时,在根 据不同



KEY


值,做出不同的消息回 复。所以我们必须在


type



cli ck


的时候定义


key


值,

< p>
它们是绑定在一块的。


刚也有说当类型是


view


的时候,他会进行一个链接跳转,可是跳转到哪呢?所以我们是不


是得模仿一下


click


单独给他一个


url


规定他的跳转地址呢?没错


就是这样的。



所以我们可以得出最后的结论当菜单类型是


cli ck


时,他对应


的是


key

< p>
值。当类型是


view


时,他对应的是

< p>
url.


好了现在我们就


能很清楚的看懂这种数据 结构了。当你想改变菜单的时候,就知道


怎么改成你需要的菜单了。


接下来我们该就要用程序去处理了。首先你得访问这个


u rl



吧,我们见到都是在地址栏输入访问的地址去访问,这回 你得写程


序访问


url,


这该怎么实现 ?你别急,


php


为什么被称为世界上最好

的语言?这时候就是展示


php


功能的时候了,在


php


中有这样的一


个功能,

< br>curl



这功能类似于黑客技术,

可以模拟登陆去采集数据,


但是这个呢,我们用不到,我们只用它来访问

< p>
url


就可以了。他怎


么用呢?你可以打开手册具 体了解下,但是最基本的有这么几步:



首先初始化


curl_int()


然 后给赋值给一个变量比如


$$ch.


接下


来就可以对


$$ch


进行操作了。接着对


$$ch


进行执行并赋值具体语法:


$$output = curl_exec();


最后我们将资源关闭。语法为


cu rl_close($$ch)


。这么一看好像和


我们要访问的< /p>


url


地址并没有多大的联系。


curl


中有一个特别重要


的参数叫做


curl _setopt


主要用来各种设置,


curl

< br>中一切玄妙均在


此处。接下来我将代码粘过来并进行解释。




function https_request($$url, $$data = null)



{




$$curl = curl_init();




curl_setopt($$curl, CURLOPT_URL, $$url);




curl_setopt($$curl, CURLOPT_SSL_VERIFYPEER, FALSE);




curl_setopt($$curl, CURLOPT_SSL_VERIFYHOST, FALSE);




if (!empty($$data)){





curl_setopt($$curl, CURLOPT_POST, 1);





curl_setopt($$curl, CURLOPT_POSTFIELDS, $$data);




}




curl_setopt($$curl, CURLOPT_RETURNTRANSFER, 1);




$$output = curl_exec($$curl);




curl_close($$curl);




return $$output;



}



这块我主要是将他封装到 一个函数里面,并且通过


$$data


是否为空

< br>的判断,实现模拟


http



g et



post


请求。以后微信所有的 接口


请求就都可以用这个函数访问了。



函数体内第一条代码


curl


初始化



接着用设置选项设置 他要访问的


url


。这块的


url


由我们函数的参


数传进来。



由于微信都是用


https


比较安全的协议去传输, 需要对主机等进行


验证。我们这块用设置选项,将他设置不进行任何验证。



前面我们说这个可以实现


post



get


请求,这该怎么实现?首先

< br>得了解俩种传输方式是什么?是怎么传输数据的,


get


这种方式属


于简单暴力型,他会将你要的数据直接在地址栏上携带过去,而


post


呢属于委婉含蓄型,他这个比较安全,数据不会那么明显。知


道了这俩个特点我该怎么去用程序实现俩种呢?对于


get

< p>
我们不用


做处理因为他会自动把要传的值携带上,我们直接用


curl


访问携


带参数的


u rl


地址就可以获得数据了。可是


post

呢?我们得把一


个数据包给扔过去吧?所以我用一个变量来存放我的所有

< p>
post



据,就用


$$d ata


吧,如果他访问的地址方式是


post

< br>,我就将数据放



$$data


中 ,可是


get


方式并不需要啊,所以我设置

$$data


初始值



null,< /p>


只有当他需要访问


post


方式的


url


时,



我再将 这种数据传给


$$data


,他就将原来的


null


给替换成你需要传


入的数据了。这时候再访问,就可 以做到,


get



post

< p>
请求都能访


问得到。既然用


post


传值,肯定有和


get


不一样之处。所以这里


我给他来一个判断,当


$$data


的数据不为 空时,也就是我的传输方


式是


post


时,我要另加一些条件,加什么呢?






curl_setopt($$curl, CURLOPT_POST, 1);





curl_setopt($$curl, CURLOPT_POSTFIELDS, $$data);



加入这俩段代码,这个主要是开启了


curl



post


功能,并且将传


来的数据


$$data


, 放在了


curl


自己的文件区域里。那么这俩段代码

< p>
都是在满足


$$data


不为空的时候执行的,


所有他是放在


if


条件之内。



接下来是对


get


和< /p>


post


返回页面的一个说明



curl_setopt($$curl, CURLOPT_RETURNTRANSFER, 1);


如果为一的话,表示不会 返回页面内容,反之为


0


,则可以。












curl







< p>


output


=


curl_exec($$curl);



最后关闭我们的资源


curl_close($$curl);


在函数的结尾将结果返回


return $$output,< /p>


这样在调用函数出就可


以使用返回的结果。




我们函数传入的参数


< /p>


有俩个,无论何种方式肯定都得访问相


应的


url


,所以


url,


是必须的,而 针对


post


方式,需要额外的传


入数 据,所以我们定义起始值为


null


,只有用

< br>post


传入数据时,


$$data


才会有值。


-


-


-


-


-


-


-


-



本文更新与2021-02-15 17:30,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/655860.html

微信开发之菜单管理(基础篇)的相关文章