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



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



