插件使用教程:微信公众号

模板消息通知配置

我们将介绍如何开发模板消息,即如何用程序发送模板消息功能。
本文分为以下三个部分:

  1. 申请模板消息权限

  2. 开发模板消息SDK

  3. 构造模板消息体并发送


一、申请模板消息权限

模板消息的申请需账号已经开通微信支付权限。

在微信公众平台的后台,依次进入“功能->添加功能插件->模板消息”,即可申请模板消息。


blob.png


申请时,选择2个和自己相关的行业即可。

blob.png


提交并且申请通过后,可以在模板库中看到模板消息列表

blob.png

进入想要使用的模板,点击添加


二、发送模板消息

我们以一个IT行业的充值成功通知的横版为例,它的内容如下。

blob.png


那么我们的代码可以写成这样:

$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' => ''
]


公众号绑定用户账号

关注或互动公众号时自动提示绑定账号

image.png

微信分享 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、登录微信公众号平台

https://mp.weixin.qq.com

申请已认证的服务号


2、在开发-基本设置中,找到以下参数

image.png

并设置服务器的ip到白名单中


3、登录宸逸cms后台,微信配置菜单去

image.png

填写微信的参数 appid和appsecret

token和encodein值点生成按钮即可


4、返回到微信公众号平台,配置服务器信息

image.png

把(3)中的 Token和EncodingAESKey分别复制到微信里面,URL就填写(3)中的服务器地址

解密方式选择:明文模式


提交验证即可



提交验证失败的可能性?

微信接入配置



方法一、服务器是否开启了防火墙,需要关闭试试

方法二、手动打开服务器的url,是否显示异常乱码,显示一片白板说明正常的

image.png

方法三、测试微信是否能成功访问到你服务器

1、在服务器新建一个文件,test.php,内容如下:

2、然后网页中手动访问test.php文件,看看服务器的根目录是否生成的有fangwen开头的txt文件,如果有的话就下一步

3、进入微信公众号平台,然后把url地址中的index.php改成test.php

微信接入配置

然后提交配置,这样比如会提示:验证失败

4、然后返回到服务器目录中,查看是否生成新的txt文件,如果没有生成就多试几次

----如果一直不生成txt文件,那么就断定微信公众号无法访问你的网站服务器了,这时候只能找【服务器商】!


把内容模块里的文章推送到微信公众号

1、进入内容模块文章管理


2、选中需要推送的文章

单击底部推送微信公众号

{xunruicms_img_title}


3、推送执行中

image.png


image.png

推送给48小时内互动过的微信粉丝用户



未配置微信接入参数

image

当提示:未配置微信接入参数

可能原因:

网站的cache目录权限不够,导致上面的配置信息没有生成到缓存之中,导致cms无法读取接入参数

微信登录失败

redirect_uri域名与后台配置不一致,错误代码10003

image

需要知道后台配置的域名是多少?

image

这个就是我们后台配置的域名,这个域名一定要在微信公众号平台中添加安全域名权限

image


如果开启了后台手机域名绑定功能时,必须也把手机域名也加上去

模块内容推送到公众号

image

将文章内容作为模板消息推送给你微信公众号

image


1、申请模板消息模板,去微信公众号平台申请

2、申请成功后,有如下参数信息:

模版ID **************
开发者调用模版消息接口时需提供模版ID
标题班级通知
行业教育 - 院校
详细内容{{first.DATA}}
班级:{{keyword1.DATA}}
通知人:{{keyword2.DATA}}
时间:{{keyword3.DATA}}
通知内容:{{keyword4.DATA}}
{{remark.DATA}}


3、微信-公众号消息-内容模板群发,设置模板参数

image

这里支持变量语法和函数语法。

参数解析:

first:调用文章标题字段
keyword1:固定一个字:无
keyword2:调用网站名称
keyword3:调用文章更新时间字段
keyword4:调用文章简介字段
remark:固定文字:查看详情,点击进入文章详情页

4、然后回到文章列表页面,点发送模板消息

image


5、然后全部粉丝都可以收到以下这种提醒

image

迅睿官网微信扫码登录写法

网页模板中的登录链接和js函数(需要引入cms关键js库)

  微信扫码登录 

新建模板(default是模板目录名可适当的修改):
image

login_qcode.html代码如下:


    
    关注微信公众号
    
    
    
 




扫码之后单击登录网站

最终效果:https://www.xunruicms.com/member.html?c=login


宸逸官网微信扫码登录写法

手机版的模板怎么添加呢 ?

扫码适合pc端,不适用于手机端,手机端直接用微信提供的jssdk唤起微信app。