用户登录

回到项目 .. 先在微信接口类里再添加一个新的方法 .. 名字是 update_user_weixin_session .. 方法有两个参数,$user_id .. 还有 $session .. 这个方法可以更新指定用户的 $session ..

方法里面用一下 update_user_meta .. 这个函数可以更新用户的 meta 信息,也就是用户的自定义字段 .. 先是用户的 id 号,这里就是 $user_id .. 然后是字段的名字,可以用一个 wx_openid .. 第三个参数是对应的值 .. 这里用 $session 里的 openid 的值 ..

复制一份 .. 修改一下 .. meta 的名字是 wx_session_key .. 对应的值是 session 里的 session_key ..

用户的 meta 的名字我们可以自己定义 .. wx 这个前缀表示的就是 weixin ..

在上面的 bind 方法里,可以先去做一下判断 .. 用一下 is_wp_error ,把 $session 交给它,如果 $session 是个 wordpress 错误,这个方法就会返回 true .. 如果是这样的话, 我们可以直接 return 这个 $session ..

如果 session 不是个错误,可以用一下 $this 的 update_user_weixin_session .. 一个 $user_id ,还有一个 $session ..

返回一个 ok ..

这里用的 $user_id 再去定义一下 .. 它的值就是 $request 里面的 userId .. 在小程序的用户档案页面,我们发送给微信接口的数据里面,userId 表示的就是用户的 id 号 ..

数据库客户端

下面可以再找一个数据库的客户端 .. 比如 mysql 的 workbench .. mac 用户也可以使用 sequel pro ..

连接到网站数据库 .. 选择网站的数据库 ..

再选中数据库里面的 wp_usermeta 这个数据表 .. 它里面的东西就是网站上的用户的 meta 信息 .. 搜索一下 meta_key

操作符选择 contains .. 搜索的是 wx_ 前缀的 meta key .. 暂时还没有找到结果 ..

测试

回到小程序 .. 再去试一下 .. 按一下 确定 ..

返回的数据是个 WordPress 错误 ... 这是因为在 get_weixin_session 这个方法里面,APP_ID 的值现在是个无效的值 .. 再修改一下 .. 让它等于环境变量文件里的 WX_APP_ID ..

再回到微信开发者工具 .. 刷新一下页面 ... 按一下 确定 .. 这里返回的数据是 ok .. 说明成功获取到了用户的微信登录状态,并且更新了用户的 meta 信息 ..

打开数据库客户端 .. 刷新一下 ..

这回再搜索 wx 前缀的 meta 信息的时候,会找到两条结果 .. 注意 user_id 的值是 18 ,这个用户就应该是在小程序那里申请绑定微信的那个用户的 id 号 ..

meta_key 有个 wx_openid ,它的值是微信用户在我们的应用上的唯一标识 .. wx_session_key 是这个用户的微信的登录状态 ..

openid 的值不会变,不过 session_key 的值以后会有变化 ..

回到小程序 .. 刷新一下页面 .. 再按一下 确定 .. 小程序会重新调用 wx.login 接口,它会刷新用户的登录状态 ..

然后再到数据库客户端这里检查一下 .. 刷新 ..

你会发现这个用户的 wx_session_key 的值跟之前相比会有一些变化 ..

保存微信用户 openid 与 session_key《 微信小程序:微信绑定 #6 》

统计

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

社会化网络

关于

微信订阅号

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