暴力吸粉,强制关注公众号,再引导进入相关页面
绑定了认证服务号的话,可以生成一个二维码给用户扫描,然后关注成功后,再在公众号里弹出提示信息引导用户进入相关页面。 这样就实现了暴力吸粉。也就是说先让用户必须要关注公众号,才提示进入相关页面。这样就避免了用户直接扫码进入页面,却没有关注公众号的问题。
下面这段代码就是生成关注公众号的二维码,里边带有相关的参数信息
<img src="{:fun('Wxapp@mp_code','bbs'.$id.'-'.$userdb['uid'])}">实际就是通过一个函数生成二维码的图片
fun('Wxapp@mp_code','bbs'.$id.'-'.$userdb['uid'])第二个参数,是类似这样的 bbs22-45 参数是可以随意的。你可以传入多个参数,用区分符隔开,后续自己对应处理。而bbs是给他一个特殊的标志,以区别不同的扫码事件
程序实现代码如下
<?php
if (preg_match("/^bbs([\d]+)-([\d]*)$/", $data['keyword'],$array)) { $id = $array[1]; $uid = $array[2]; $url = get_url(urls('bbs/content/show',['id'=>$id,'p_uid'=>$uid])); return "<a href=\"$url\">请点击查看详情!</a>";}你可以把上面这段代码另存为abc.php或者是123.php都可以,名字可以随意的。然后放在
\application\common\ext\weixin_mp_scan\ 这个目录,或者是 \plugins\weixin\ext\weixin_mp_scan\
我们推荐放在 \plugins\weixin\ext\weixin_mp_scan\ 此目录下面。因为这里就可以实现全局调用了。没必要占用common目录
注意,上面这种是简单的显示一个文字链接,如果要显示图文介绍链接的话,可以用下面的代码
<?php
if (preg_match("/^bbs([\d]+)-([\d]*)$/", $data['keyword'],$array)) { $id = $array[1]; $uid = $array[2]; $url = get_url(urls('bbs/content/show',['id'=>$id,'p_uid'=>$uid])); //return "<a href=\"$url\">请点击查看详情!</a>"; $class = "app\\bbs\\model\\Content"; //注意这里是bbs模块 $obj = new $class; $info = $obj->getInfoByid($id,true); return [ 'title'=>$info['title'], 'picurl'=>$info['picurl']?tempdir($info['picurl']):'', 'about'=>get_word(del_html($info['content']),150), 'url'=>get_url(iurl('bbs/content/show',['id'=>$id,'p_uid'=>$uid])), ];}特别提醒,对于是专题的话,可以是二维数组,比如
<?php
if (preg_match("/^bbs([\d]+)-([\d]*)$/", $data['keyword'],$array)) { return [ [ 'title'=>'主标题', 'picurl'=>'主图', 'about'=>'介绍一', 'url'=>'链接一', ], [ 'title'=>'标题二', 'picurl'=>'图二', 'about'=>'介绍二', 'url'=>'链接二', ], ];}另外系统自带一个通用频道的示例\plugins\weixin\ext\weixin_mp_scan\content.php
代码如下,大家可以参考
<?phpif (preg_match("/^qb-([a-z]+)-([\d]+)-([\d]*)$/", $data['keyword'],$array)) { $dirname = $array[1]; $id = $array[2]; $uid = $array[3]; if (modules_config($dirname)) { $url = get_url(urls($dirname.'/content/show',['id'=>$id,'p_uid'=>$uid])); $class = "app\\{$dirname}\\model\\Content";; $obj = new $class; $info = $obj->getInfoByid($id,true); return [ 'title'=>$info['title'], 'picurl'=>$info['picurl']?tempdir($info['picurl']):'', 'about'=>get_word(del_html($info['content']),150), 'url'=>get_url(iurl($dirname.'/content/show',['id'=>$id,'p_uid'=>$uid])), ]; }elseif(plugins_config($dirname)){ $url = get_url(purl($dirname.'/content/show',['id'=>$id,'p_uid'=>$uid])); return "<a href=\"$url\">请点击进入活动页</a>"; }}可以在任何频道的内容页里放入如下的二维码图片,下面这个是通用型的。
<img src="{:fun('Wxapp@mp_code','qb-'.config('system_dirname').'-'.$id.'-'.$userdb['uid'])}">
最后大家可以扫码体验



特别提醒,如果你觉得单篇图文不好看,多篇图文更好看的话,也可以对单篇图片做一下设置修改。比如系统原来的是下面这个
<?phpif (preg_match("/^qb-([a-z]+)-([\d]+)-([\d]*)$/", $data['keyword'],$array)) { $dirname = $array[1]; $id = $array[2]; $uid = $array[3]; if (modules_config($dirname)) { $url = get_url(urls($dirname.'/content/show',['id'=>$id,'p_uid'=>$uid])); $class = "app\\{$dirname}\\model\\Content";; $obj = new $class; $info = $obj->getInfoByid($id,true); return [ 'title'=>$info['title'], 'picurl'=>$info['picurl']?tempdir($info['picurl']):'', 'about'=>get_word(del_html($info['content']),150), 'url'=>get_url(iurl($dirname.'/content/show',['id'=>$id,'p_uid'=>$uid])), ]; }elseif(plugins_config($dirname)){ $url = get_url(purl($dirname.'/content/show',['id'=>$id,'p_uid'=>$uid])); return "<a href=\"$url\">请点击进入活动页</a>"; }}你可以修改成下面这个样子
<?phpif (preg_match("/^qb-([a-z]+)-([\d]+)-([\d]*)$/", $data['keyword'],$array)) { $dirname = $array[1]; $id = $array[2]; $uid = $array[3]; if (modules_config($dirname)) { $url = get_url(urls($dirname.'/content/show',['id'=>$id,'p_uid'=>$uid])); $class = "app\\{$dirname}\\model\\Content";; $obj = new $class; $info = $obj->getInfoByid($id,true); return [ [ 'title'=>$info['title'], 'picurl'=>$info['picurl']?tempdir($info['picurl']):'', 'about'=>get_word(del_html($info['content']),150), 'url'=>get_url(iurl($dirname.'/content/show',['id'=>$id,'p_uid'=>$uid])), ], [ 'title'=>'你的网站名称', 'picurl'=>'你的LOGO地址,必须是http开头', 'about'=>'介绍可以不写,因为不会显示', 'url'=>get_url(iurl($dirname.'/content/show',['id'=>$id,'p_uid'=>$uid])), //这里可以写你的网站网址 ], ]; }elseif(plugins_config($dirname)){ $url = get_url(purl($dirname.'/content/show',['id'=>$id,'p_uid'=>$uid])); return "<a href=\"$url\">请点击进入活动页</a>"; }}