插件使用教程:微信公众号
模板消息通知配置
我们将介绍如何开发模板消息,即如何用程序发送模板消息功能。
本文分为以下三个部分:
申请模板消息权限
开发模板消息SDK
构造模板消息体并发送
一、申请模板消息权限
模板消息的申请需账号已经开通微信支付权限。
在微信公众平台的后台,依次进入“功能->添加功能插件->模板消息”,即可申请模板消息。
申请时,选择2个和自己相关的行业即可。
提交并且申请通过后,可以在模板库中看到模板消息列表
进入想要使用的模板,点击添加
二、发送模板消息
我们以一个IT行业的充值成功通知的横版为例,它的内容如下。
那么我们的代码可以写成这样:
$rt = \Phpcmf\Service::M('member')->weixin_template(1, 'Lp2EsbCMCt0jKdZhnHRPYXRuKEETE9sh96RC9hKflmA', [ 'first' => [ 'value' => '会员充值信息', 'color' => '#173177', ], 'accountType' => [ 'value' => '账号', 'color' => '#173177', ], 'account' => [ 'value' => 'admin', 'color' => '#173177', ], 'amount' => [ 'value' => '8888元', 'color' => '#173177', ], 'result' => [ 'value' => '充值成功', 'color' => '#173177', ], 'remark' => [ 'value' => '如有疑问,请联系我们。', 'color' => '#173177', ], ] );
三、发送函数weixin_template
\Phpcmf\Service::M('member')->weixin_template($uid, $id, $data, $url = '', $color = '') $uid 会员id 此会员必须绑定微信 否则发不出去 $id 微信模板id 你申请的id $data 通知内容 和微信提供的数据保持一致 $url 详细地址 (可留空) $color top颜色(可留空)
返回值
[ 'code' => 0/1, 'msg' => '' ]
公众号绑定用户账号
关注或互动公众号时自动提示绑定账号
微信分享 Jssdk类
Jssdk在内容页面show.html模板页面调用代码:
init_file('weixin');$signPackage=\Phpcmf\Service::L('jssdk','weixin')->GetSignPackage();?>
注释部分需要自己完善内容!
微信端设置安全域名权限:
微信官方文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115
判断是否关注过
判断当前已经登录的账号是否关注过微信公众号
1、PHP里面
if ($this->uid) { if (\Phpcmf\Service::M()->table('member_oauth')->where('uid', $this->uid)->where('oauth', 'wechat')->counts()) { 关注了 } else { 没有关注 } }
2、模板里面
{if $member.uid} {if \Phpcmf\Service::M()->table('member_oauth')->where('uid', $member.uid)->where('oauth', 'wechat')->counts()} 已经关注 {else} 没有关注 {/if} {else} 没有登录 {/if}
微信自动回复二次开发
本教程需要熟悉php的开发者
系统自带的自动回复功能是按关键词数据进行匹配、按指定模块内容进行匹配两种匹配方式,在实际项目中可能会对其他表进行查询回复
新建文件:
dayrui/App/Weixin/Plugins/AutoReply/Run.php
此文件用于开发者写自动查询的回复功能
他基于微信Home.php控制器
回复关键字变量:$this->data['Content'] // 回复文本方法 $this->_to_weixin_text("这是自动回复的内容");
微信接入配置
1、登录微信公众号平台
申请已认证的服务号
2、在开发-基本设置中,找到以下参数
并设置服务器的ip到白名单中
3、登录宸逸cms后台,微信配置菜单去
填写微信的参数 appid和appsecret
token和encodein值点生成按钮即可
4、返回到微信公众号平台,配置服务器信息
把(3)中的 Token和EncodingAESKey分别复制到微信里面,URL就填写(3)中的服务器地址
解密方式选择:明文模式
提交验证即可
提交验证失败的可能性?
方法一、服务器是否开启了防火墙,需要关闭试试
方法二、手动打开服务器的url,是否显示异常乱码,显示一片白板说明正常的
方法三、测试微信是否能成功访问到你服务器
1、在服务器新建一个文件,test.php,内容如下:
2、然后网页中手动访问test.php文件,看看服务器的根目录是否生成的有fangwen开头的txt文件,如果有的话就下一步
3、进入微信公众号平台,然后把url地址中的index.php改成test.php
然后提交配置,这样比如会提示:验证失败
4、然后返回到服务器目录中,查看是否生成新的txt文件,如果没有生成就多试几次
----如果一直不生成txt文件,那么就断定微信公众号无法访问你的网站服务器了,这时候只能找【服务器商】!
把内容模块里的文章推送到微信公众号
1、进入内容模块文章管理
2、选中需要推送的文章
单击底部推送微信公众号
3、推送执行中
推送给48小时内互动过的微信粉丝用户
未配置微信接入参数
当提示:未配置微信接入参数
可能原因:
网站的cache目录权限不够,导致上面的配置信息没有生成到缓存之中,导致cms无法读取接入参数
微信登录失败
redirect_uri域名与后台配置不一致,错误代码10003
需要知道后台配置的域名是多少?
这个就是我们后台配置的域名,这个域名一定要在微信公众号平台中添加安全域名权限
如果开启了后台手机域名绑定功能时,必须也把手机域名也加上去
模块内容推送到公众号
将文章内容作为模板消息推送给你微信公众号
1、申请模板消息模板,去微信公众号平台申请
2、申请成功后,有如下参数信息:
模版ID ************** 开发者调用模版消息接口时需提供模版ID 标题班级通知 行业教育 - 院校 详细内容{{first.DATA}} 班级:{{keyword1.DATA}} 通知人:{{keyword2.DATA}} 时间:{{keyword3.DATA}} 通知内容:{{keyword4.DATA}} {{remark.DATA}}
3、微信-公众号消息-内容模板群发,设置模板参数
这里支持变量语法和函数语法。
参数解析:
first:调用文章标题字段 keyword1:固定一个字:无 keyword2:调用网站名称 keyword3:调用文章更新时间字段 keyword4:调用文章简介字段 remark:固定文字:查看详情,点击进入文章详情页
4、然后回到文章列表页面,点发送模板消息
5、然后全部粉丝都可以收到以下这种提醒
迅睿官网微信扫码登录写法
网页模板中的登录链接和js函数(需要引入cms关键js库)
微信扫码登录
新建模板(default是模板目录名可适当的修改):
login_qcode.html代码如下:
关注微信公众号 ![]()
扫码之后单击登录网站
最终效果:https://www.xunruicms.com/member.html?c=login
手机版的模板怎么添加呢 ?
扫码适合pc端,不适用于手机端,手机端直接用微信提供的jssdk唤起微信app。