运营人员也称之为公众号管理员。 ##运营人员注册 对于一些开放性的平台,超级管理员可以在后台开启运营人员注册(默认是开启的) 而一些固定运营的平台,则可以关闭注册功能,直接由超级管理员从后台分配账号 开启注册后,超级管理员同样可以设置这些注册的人员是否需要审核(默认不需要审核)。如果开启了审核,那么注册的运营人员每次登录时都会停留在等待审核的提示页面中,直到审核通过后才能直接进入平台 ##运营人员登录 ### 普通登录 一般情况下,运营人员都是通过账号密码登录进行登录 ### 扫码登录 扫码登录是指运营人员不需要账号密码,直接用微信扫码就能完成登录。具体可以在我们的体验环境上体验: http://demo.weiphp.cn 默认是没有开启扫码登录功能,需要超级管理员在后台开启,并且配置一个可以生成事件二维码的认证服务号后,就可以愉快地用上高大上的扫码登录功能了。 >(这里应该有配置的截图和说明) 扫码登录的原理图: ![](https://box.kancloud.cn/b24ebe0ee6cfdf4674ae5db5c491ec8a_1126x826.png) >[info] 目前只有认证的服务号才有生成事件二维码的权限,所以你懂的,其它公众号都无法实现扫码登录的功能 用户扫码后,如果该用户还没有关注服务号,会让其先关注,关注成功后就可以完成登录,对于开放平台来说也是一种增粉的方式 运营人员在PC端进入登录界面后,系统判断后台是否开启了扫码登录功能,如开启就使用配置的服务号生成一个事件二维码。 这个二维码带有系统分配的全局唯一的uniqid参数 当前登录界面会通过AJAX每隔一秒到后台判断下uniqid是否绑定上了用户的uid,直到绑定为止,否则一直轮循判断。 当用户拿出手机微信扫二维码时,微信会返回当前用户的openid和这个码的uniqid。 系统拿到openid到数据库里查询对应的uid,如果没有查询到,说明该用户还没绑定过微信,无法得到用户的uid 这时需要先通过账号密码登录一次,得到用户的uid,然后把这个uid和openid关联上,并且保存到数据库 得到openid与uid的关系后,就可以为uniqid绑定uid了,可以把uniqid与uid的关联关系信息保存到缓存里 PC端通过轮循判断从缓存里得到uniqid对应的uid后,停止轮循 通过uid获取对应的用户信息,然后用系统里的初始化自动登录需要的参数,如session,cookie的设置等 完成登录,系统自动跳转进入运营管理后台,至此全部登录完成 >[warning] 扫码登录可能会出现二维码无法正常显示的问题,处理方法如下: 一直无法显示:应该是配置公众号没有生成事件码的权限,或者公众号的配置参数不对,导致是access_token一直获取失败 有时不显示:应该是你的公众号配置了多个平台,导致access_token在别的平台更新了,而weiphp平台得不到更新而导致access_token过期无法使用,只能排查并删除多个平台的配置信息,并且清空weiphp的缓存让其重新更新access_token来解决 ##运营人员授权 超级管理员可以对每个运营人员进行公众号、应用等维度进行授权。 比如除人运营人员自己创建的公众号,可以授权一些别人创建的公众号,方便团队一起运营。 同时还可以对某些应用进行授权,比如群发信息应用只授权创建人可发,其它运营人员不可发。 判断是否为运营管理员的函数: ~~~ is_admin($uid) ~~~ 当然还有更细致的权限控制,详细请看《权限控制》这一章节