【第四篇】开发微信应用之继承Addon类介绍

Api.php是与微信交互响应控制器,因此该控制器并不需要继承Addon,其它在 controller目录下的控制器,如果没有特别的情况,我们建议你都继承 Addon,因为它能够在开发帮你处理很多东西,快速开发。
如何显示模板与模板赋值?
<?php
namespace addons\myDemo\controller;
use app\common\controller\Addon;

class index extends Addon
{
public function index(){
$this->assign('name','RhaPHP');
$this->fetch();
}

}
经常使用到的有:
public function demo()
{
dump($this->mid);//获取公众号有标识 ID
dump($this->mpInfo);//获取公众号信息
dump($this->getAaddonConfigByMp);//获取当前公众的当前应用配置信息
dump($this->addonInfoByFile);//获取当前公众的当前应用Config.php文件中的config配置项
dump($this->addonInfoByDb);//获取当前公众的当前应用安装后的数据库中的配置Config.php文件中的config配置项

}
因为要更加灵活,所以控制不分前台或者后台,如果你当前控制器需要管理员才能操作的怎么办?其实也是很简单的:代码如下:
class index extends Addon
{
public $adminLogin=true;//需要管理员登录才可操作本控制器
public function index()
{

$this->assign('name', 'RhaPHP');
$this->fetch();
}
 public $adminLogin=true;设为 true 系统认为该控制器是管理员才可以操作的。拥有业务菜单的控制器都需要此项。

如果你想把页面只限于微信里面打开:
class index extends Addon
{

public $onlyWexinOpen=true;//限制需要在微信里面打开
public function index()
{
$this->assign('name', 'RhaPHP');
$this->fetch();
}


如果此应用需要微信授权登录?
class index extends Addon
{
public $isWexinLogin=true;//需要微信授权登录
public function index()
{

$this->assign('name', 'RhaPHP');
$this->fetch();
}
这里需要你注意一下,这里考虑到了一些没有授权登录权限的公众号。所以使用微信登录首先要到公众号-》【授权&注册】先配置好。如下图:

1.png

有网页授权登录权限的请选择系统自动注册,没有授权登录的请选择回复注册|登录。回复注册|登录是使用响应机制的。你可以设置关键词,或者自定菜单触发关键词,然后系统会以图文形式回复为登录入口。其中的跳转地址就是用户点击进入完成登录后,需要跳到的页面地址,一般是你的应用地址。这里的目录就是获取到粉丝的 openid.这里出发点是考虑到没有授权的公众号要做会员中心,用户组,优惠率,等等。

重点重点重点的来了!!!!!
这里可能有同学要骂我了?如果我很多应用都需要获取 openid啊,你这里跳转地址只有一个哇。其实我已经帮你想到这个问题的啦。按照国际惯例,没有页面授权登录的公众号的微信应用都使用了回复关键词或者自定菜单触发关键词,回复图文,然后进入该应用后系统自动的把 openid 传参到该应用的 URL中了 使用 get,或者 input()获取 openid。后台配置如下图:

1.png


还有很多比较有意思的设计逻辑。大家在使用过程自然会发现的。有任何改进或者问题欢迎大家反馈。谢谢大家
 

10 个评论

public $onlyWexinOpen=true;//限制需要在微信里面打开

哥 wei 哥你拼音不好啊
还有个问题 页面授权登录以后获取到Openid 然后通过openid获取用户信息 有没有封装方法 我好像没找到
geeson

geeson 回复 masu

这个问题合适以问题发布,你发布后,我详细的回复一下!因为这样可以帮助到更多开发者。
masu

masu 回复 geeson

好的
geeson

geeson 回复 masu

讲真的,我真的不太会拼音,感觉这样是最简的了,只能少写一个i,哈哈
我觉得对于没有网页授权的公众号,是不是还可以有个借用授权的机制?不过不知道这样会不会增加系统复杂度
geeson

geeson 回复 qshaw

会在今后的版本增加这些的功能
建议可以开发类似音乐相册类以及H5邀请函这样的插件,这样方便推广和使用
红香

红香 回复 geeson

改下呗。
geeson

geeson 回复 红香

改哪里?

要回复文章请先登录注册