去年开始接触基于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~一起交流学习。

再谈Weiphp公众平台开发——1、增加插件的更多相关文章

  1. 再谈Weiphp公众平台开发——1、成语接龙插件

    易错点,注意插件的命名 1.创建插件.在weiphp管理后台创建成语接龙插件,勾选安装后立即启用,不需要配置项和管理列表.点“确定”完成插件的创建. 2.安装插件. 3.检测插件是否成功安装.返回到w ...

  2. 微信公众平台开发:Web App开发入门

    WebApp与Native App有何区别呢?Native App:1.开发成本非常大.一般使用的开发语言为JAVA.C++.Objective-C.2.更新体验较差.同时也比较麻烦.每一次发布新的版 ...

  3. [转]抢先Mark!微信公众平台开发进阶篇资源集锦

    FROM : http://www.csdn.net/article/2014-08-01/2820986 由CSDN和<程序员>杂志联合主办的 2014年微信开发者大会 将于8月23日在 ...

  4. Senparc.Weixin.MP SDK 微信公众平台开发教程(十七):个性化菜单接口说明

    前不久微信上线了个性化菜单接口,Senparc.Weixin SDK也已经同步更新. 本次更新升级Senparc.Weixin.MP版本到v13.5.2,依赖Senparc.Weixin版本4.5.4 ...

  5. 【原创】【2015最新】微信公众平台开发手把手入门之一:缘起微信公众号(PHP,MYSQL, BAE)

    最近因为业务的需要,老板布置做了两个月简单的的微信公众平台开发,从网上搜了一些资料,实话说资料不多. 在参考学习的过程中也遇到了不少难缠的小问题,虽然不难逾越,但是确实浪费了时间. 我发现网上仅有不多 ...

  6. Senparc.Weixin.MP SDK 微信公众平台开发教程(四):Hello World

    =============  以下写于2013-07-20 ============= 这一篇文章其实可以写在很前面,不过我还是希望开发者们尽多地了解清楚原理之后再下手. 通过上一篇Senparc.W ...

  7. Senparc.Weixin.MP SDK 微信公众平台开发教程(七):解决用户上下文(Session)问题

    从这篇文章中我们已经了解了微信公众平台消息传递的方式,这种方式有一个先天的缺陷:不同用户的请求都来自同一个微信服务器,这使得常规的Session无法使用(始终面对同一个请求对象,况且还有对方服务器Co ...

  8. Senparc.Weixin.MP SDK 微信公众平台开发教程(十二):OAuth2.0说明

    紧接上一篇<Senparc.Weixin.MP SDK 微信公众平台开发教程(十一):高级接口说明>,这里专讲OAuth2.0. 理解OAuth2.0 首先我们通过一张图片来了解一下OAu ...

  9. Senparc.Weixin.MP SDK 微信公众平台开发教程(十四):请求消息去重

    为了确保信息请求消息的到达率,微信服务器在没有及时收到响应消息(ResponseMessage)的情况下,会多次发送同一条请求消息(RequestMessage),包括MsgId等在内的所有文本内容都 ...

随机推荐

  1. Java数据结构与排序算法——堆和堆排序

    //================================================= // File Name : Heap_demo //--------------------- ...

  2. VC----Class Style类风格和窗口风格

    CS_BYTEALIGNCLIENT:以字节边界来对齐窗口客户区,这个风格会影响 窗口 的宽度和水平位置.实际上没有看到效果. CS_BYTEALIGNWINDOW:以字节边界来对齐窗口,这个风格会影 ...

  3. 【MVC5】画面多按钮提交

    画面上有个多个按钮时,如何绑定到各自的Action上? 1.追加如下MultipleButtonAttribute类 1 using System; 2 using System.Reflection ...

  4. Yii2 如何更好的在页面注入JavaScript

    先添加一个widgets <?php /** * User: yiqing * Date: 14-9-15 * Time: 下午12:09 */ namespace common\widgets ...

  5. jQuery里$(this)和this的区别在哪?

    $(this)是jquery对象,能调用jquery的方法,例如click(), keyup().而this,则是html元素对象,能调用元素属性,例如this.id,this.value.例如假设已 ...

  6. VS Code 开发asp.net core 遇到的坑

    摘要 微软发布.NET Core 1.0,ASP.NET Core 1.0 与 Entity Framewok 1.0也有一段时间了,一直没进行这方面的学习,节前公司让调研这方面的可行性.所以还是从最 ...

  7. abrtd是什么进程

    abrtd 是一个守护进程监控的应用程序崩溃.当发生崩溃时,它将收集的崩溃(核心文件的命令行, etc .)application ,并采取措施根据类型崩溃并根据 abrt.conf config 文 ...

  8. 什么时候使用tab键来对齐代码和代码的风格

    在大括号嵌套语法中, 最好是左右(前后) 大括号单独占一行, 这样的嵌套关系最清晰 也就是说, c/c++的风格是最清晰的. 而java php将 左大括号放在上一行的末尾, 稍次一点. 不过在if ...

  9. Sphinx扩展安装安装

    Coreseek官方教程中建议php使用直接include一个php文件进行操作,事实上php有独立的sphinx模块可以直接操作coreseek(coreseek就是sphinx!)已经进入了php ...

  10. SAS学习笔记<一>

    三个周末的SAS课程宣告结束, 总结下来 第一周的统计原理简介 第二周/第三周讲解SAS的基本操作. 总体下来,对自己的知识结构有了一个新的梳理,对比大学时期,某个老师一上来就教我们SAS编程,而未考 ...