微擎:测试公众号获取不到openid,进入封面链接加多个GPC参数

针对于测试公众号获取不到openid

本人条件是通过内网映射,把自己电脑挂成微擎服务器,然后与微信提供的微信测试公众号进行相互的配置,来进行测试的。以下为微信测试公众号链接。

https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

有时候你会发现,在你的写测试方法里面,有时候会获得不到openid,其实关键在于要触发模块addons的封面链接,即mainfest.XML里面的

		<cover>           
			<entry title="交易记录" do="transaction" state="" direct="false" />
			<entry title="操作记录" do="operate" state="" direct="false" />
			<entry title="设备管理" do="management" state="" direct="false" />
		</cover>

比如操作记录,它触发的是site.php里面的doMobileOperate()方法,然后把这个作为测试方法,在里面打印openid。


你需要自己在微擎,设置你的封面链接的触发关键字。

1.你在测试公众号里发送,你设置的测试关键字,然后系统知道你触发的是你的写的模块的封面,之后你的模块就能获取到你的openid了。

2.发送了关键字还不好使,那么你再点一下你的封面链接,进入doMobileOperate()方法里去,之后你的模块就能获取到你的openid了。

进入封面链接加多个参数:

由于我的app端的设计是MVC的,进入到doMobileOperate()后,我还想进入到控制器里面去,那么在site.php写如下方法:

    public function doMobileOperate(){
        global $_W;
        $dir = IA_ROOT . '/addons/' . $this->modulename . '/';
        $dir .= 'app/';
        $file = $dir . 'index.php';
        if(file_exists($file)) {
            global $_GPC;
            $_GPC['do']='scangenerate';
            $_GPC['ac']='scan';
            $_GPC['op']='door_teacher';
            $_GPC['info_id']='XX';
            $_GPC['door']='X';
            $_GPC['random']='XXXXXXXXX';
            $_GPC['device_name']='XX馆';
            require $file;
            exit;
        }
    }

其中do,ac,op参数是用于选择控制器里面的某个方法的。用$_GPC来直接设置链接的get参数,但实际你查看链接时,发现链接只具体到do参数,因为封面链接只会具体到do。

其实也不用上面这样设置参数,因为如果已经能获取到openid的话,那就点实际的链接就行了。。。只是提供更一种思路。


posted @ 2018-04-24 17:13  allMayMight  阅读(244)  评论(0编辑  收藏  举报