用户登录

处理绑定微信帐号的接口我们要自己去创建一个 .. 在后端项目里面,打开 web .. app .. plugins ,找到自己定义的插件,我的插件的名字叫 ninghao-wp-rest .. 在插件的 includes 下面的 endpoints 这个目录的下面,创建一个新的 php 文件 .. 名字可以是 class-ninghao-wp-rest-weixin-controller.php

在这个 php 文件里,定义一个类,这个类里面就是接口相关的功能 .. 定义一个类 .. 名字可以是 Ninghao_WP_REST_Weixin_Controller .. 让这个类继承 WP_REST_Controller ..

里面添加一个 construct 方法 .. $this .. namespace 设置成 weixin/v1 .. 就是在类的实例里添加一个 namespace 变量 .. 它的值是 weixin/v1 ..

再添加一个公开的方法 .. 名字是 register_routes .. 在这个方法里 .. 用一下 register_rest_route 去注册一个新的 REST 路由 .. 就是我们说的后端服务接口 ..

方法的第一个参数是路由的 namespace,也就是命名空间,其实就是路由的地址里面的一个前缀 .. 这里用 $this.. namespace 表示 .. 第二个参数是路由的基本的部分 .. 可以设置成 /bind .. 这样我们定义的这个接口的地址就是 weixin/v1/bind

第三个参数是个数组 .. 数组里是个 endpoint,也可以是一组 endpoint .. 这个 endpoint 就是这个接口提供的一个功能 .. 这里我们只需要一个 .. 直接添加一个 methods .. 对应的值就是这个 endpoint 支持的 HTTP 方法 .. 这里我们用 WP_REST_Server::EDITABLE 来表示 . 它的值可以是 POST,PUT 还有 PATCH ..

callback 是个功能回调 .. 用当前实例里的 bind 方法来处理对这个 endpoint 的请求 .. 再添加一个 permission_callback ,它是一个权限检查用的回调 ..

用一个当前实例里面的 bind_permissions_check 这个方法处理对这个 endpoint 请求的权限检查 ..

因为绑定微信帐号,要更新用户在网站上的一些信息,所以要检查用户是不是有权限可以做这件事 ..

权限

这个权限检查的功能,可以去复制一块核心自带的代码 .. 打开 wp .. wp-includes .. rest-api .. 在 endpoints 下面,找到 class-wp-rest-users-controller.php .

搜索一下 update_item_permissions_check ..

复制一下这个方法 ..

把它粘贴在我们自己创建的这个类里面 .. 修改一下方法的名字,叫它 bind_permissions_check

这个方法里面还用了一个 get_user .. 回去再找到这个 get_user ... 搜索一下 .. function get_user

复制一下这里定义的这个方法 .. 也把它粘贴在自己定义的类里面 ..

绑定

下面再定义一个方法 .. 名字是 bind .. 接受一个 $request 参数 .. 它里面会包含请求里的数据 ..

在方法里,我们先简单的 return 一个 ok ..

注册

让 WordPress 知道新定义的这个 REST 接口,还得再去配置一下 .. 打开插件根目录下面的这个 php 文件 ..

在文件的一开始,先导入刚才定义的类文件 .. 名字是 class-ninghao-wp-rest-weixin-controller.php

然后在文件的底部 .. 复制一份这个 add_action .. 动作的名字是 rest_api_init .. 在后面这个回调里 .. 新建一个 Ninghao_WP_REST_Weixin_Controller 实例 ..

再用一下它里面的 register_routes 去注册接口 ..

实例的名字可以换成 weixin ..

绑定微信帐号的服务接口(WordPress)《 微信小程序:微信绑定 #6 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点