去年开始接触基于Weiphp的公众平台开发,一直没时间好好整理一下。

     下面开始讲解第一个自定义weiphp插件:MyHello的开发流程。

    1、插件创建。在weiphp管理后台依次点击“插件管理->创建插件”进入插件创建页面,填写插件的标识名、插件名、版本、作者、描述等信息,勾选“安装后是否启用”、“是否需要配置”两项,点击“确定”完成插件的创建。

    2、插件安装。在插件管理列表中点击“安装”完成插件的安装。

    3、插件管理。返回到weiphp管理前台,可以看到MyHello插件已经成功安装。

    4、改写配置文件。在weiphp的addons目录下默认生成的MyHello插件文件夹下面改写默认生成的config.php,添加如下所示配置项。

        

<?php
return array(
    'title'=>array(//配置在表单中的键名 ,这个会是config[random]
        'title'=>'插件名称',//表单的文字
        'type'=>'text',         //表单的类型
        'value'=>'MyHello',
    ),
    'cover'=>array(//配置在表单中的键名 ,这个会是config[random]
        'title'=>'封面',//表单的文字
        'type'=>'picture',         //表单的类型
        'value'=>'',
    ),
    'desc'=>array(//配置在表单中的键名 ,这个会是config[random]
        'title'=>'描述',//表单的文字
        'type'=>'textarea',         //表单的类型
        'value'=>'第一个自定义weiphp插件',
    ),
    'reply_type'=>array(//配置在表单中的键名 ,这个会是config[random]
        'title'=>'回复类型',//表单的文字
        'type'=>'radio',         //表单的类型
        'options'=>array(
            '0'=>'文本消息',
            '1'=>'单图文消息',
        ),
        'value'=>'0',
    ),
);
                    

5、查看配置项。可以看到配置文件已经正常响应。

6、微信响应。为WeixinAddonModel.class.php中编写微信响应代码。

<?php
            
namespace Addons\Myhello\Model;
use Home\Model\WeixinModel;
            
/**
 * Myhello的微信模型
 */
class WeixinAddonModel extends WeixinModel{
    function reply($dataArr, $keywordArr = array()) {
        $config = getAddonConfig ( 'Myhello' ); // 获取后台插件的配置参数    
        //dump($config);
        $title=$config['title'];
        $desc=$congig['desc'];
        $picurl=$config['cover']?get_cover_url($config['cover']):'';
        $url="http://baidu.com";
        $time=date('Y-m-d H:i:s',time());
        
    /*    $ans='';
        foreach($dataArr as $key=>$rs)
        {
            $ans.="[".$key."]=".$rs."\n";
        }
        $ans.="\n";
        foreach($keywordArr as $key=>$rs)
        {
            $ans.="[".$key."]=".$rs."\n";
        }*/
        
        if($config['reply_type']==0)
            $this->replyText($title."\n".$time);
        else{
            $articles[0]=array(
                'Title'=>$config['title'],
                'Description'=>$config['desc'],
                'PicUrl'=>$picurl,
                'Url'=>$url
            );
            $this->replyNews($articles);
        }
    }
}

7、编辑配置项。在后台配置页面填写配置信息,上传封面图片,并点“确定”提交配置项。

8、微信测试。在微信中回复“我的插件”或者“MyHello”时,根据配置项中选择的回复类型是“文本消息”还是“单图文消息”来进行回复。

欢迎关注我的个人测试公众账号:FM1994~一起交流学习。