- 包名(mp)
- 目录(app/mp)
必须是认证的服务号,方可使用。
配置
登录公众号 mp.weixin.qq.com
在 设置与开发 -> 基本配置 找到 服务器配置
消息加解密方式 选 安全模式(推荐)
URL填写
域名/mp/open/server
H5登录
域名/mp/open/index?/mp/open/welcome
支持功能
支持:菜单
、关注回复
、关键词回复
回复支持:文本
、图文
、素材
菜单支持:URL
、图文
、图片(素材)
、打开小程序
同步聊天记录、同步素材
用户扫码事件处理
add_action('mp.server',function(&$arr)){
$arr['ret_message'] = "有值时会向用户返回信息";
});
其中$arr
数组key有event
、msg_type
、event_key
、content
、openid
需要记录日志的话请使用 trace($msg,'info')
函数
$arr['ret_message']
的格式
- 文本
$arr['ret_message'] = '文本内容';
- 素材图片
$arr['ret_message'] = [
'MsgType'=>'image',
'Image'=>['MediaId'=>$media_id],
];
同步素材及聊天记录
- 开启计划任务
php think mp_sync
可每小时执行一次
技术相关
- 通过H5授权取用户信息
$one = get_user_openid($openid,'weixin_mp');
将有 nickname
、avatar
、 access_token
、refresh_token
- 取用户openid是否关注了公众号
$res = db_get("mp_subscribe",['openid'=>$openid],1);
其中 event
为 subscribe
或 unsubscribe
,时间字段subscribe_at
、unsubscribe_at
分别表示关注时间、取消关注时间。
- 公众号接口查寻用户当前是否关注公众号
mp_get_user_info($openid)
其中 subscribe
为1时表示已关注
unionid 暂不支持
一个公众号用户有openid
,如果同一主体有多个公众号或小程序,在微信开放平台绑定后,此时会员将有unionid
字段。
同一个用户在同一个主体下的多个公众号、小程序下unionid
的值是一样的。
部分页面效果
注:其中【报名】为enroll报名模块、如只安装mp公众号模块是不会出现报名的。