跳转到内容

暴力吸粉,强制关注公众号,再引导进入相关页面

绑定了认证服务号的话,可以生成一个二维码给用户扫描,然后关注成功后,再在公众号里弹出提示信息引导用户进入相关页面。 这样就实现了暴力吸粉。也就是说先让用户必须要关注公众号,才提示进入相关页面。这样就避免了用户直接扫码进入页面,却没有关注公众号的问题。

下面这段代码就是生成关注公众号的二维码,里边带有相关的参数信息

<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 代码如下,大家可以参考

<?php
if (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'])}">

最后大家可以扫码体验 img

img

img

特别提醒,如果你觉得单篇图文不好看,多篇图文更好看的话,也可以对单篇图片做一下设置修改。比如系统原来的是下面这个

<?php
if (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>";
}
}

你可以修改成下面这个样子

<?php
if (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>";
}
}

img