去年开始接触基于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. codeforces 723B Text Document Analysis(字符串模拟,)

    题目链接:http://codeforces.com/problemset/problem/723/B 题目大意: 输入n,给出n个字符的字符串,字符串由 英文字母(大小写都包括). 下划线'_' . ...

  2. hdu 4006 The kth great number(优先队列)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4006 题目大意: 第一行 输入 n k,后有 n 行,对于每一行有两种状态 ,①“I x” : 插入 ...

  3. C#--使用存储过程

    过程: 1.连接数据库 2.设置执行类型为存储过程,区别于SQL语句 3.得到执行结果,返回值.输出参数等 //连接数据库 string connstr = "Data Source=ZGC ...

  4. xenserver安装使用

    1.下载参考:http://blog.sina.com.cn/s/blog_61c07ac50102vf55.html 2.安装(个人笔记本配置了12G的内存,所以在VM Workstation 11 ...

  5. PHP任意文件包含绕过截断新姿势

    前言 此方法是@l3m0n叔叔给我分享的,原文已经发布在90sec 我没有90sec的账号,所以自己实践一下,顺道安利给访问我博客的小伙伴. 适用情况 可以控制协议的情况下,如果%00无法截断包含,可 ...

  6. MVC下分页的自定义分页一种实现

    1.引言 在MVC开发中我们经常会对数据进行分页的展示.通过分页我们可以从服务端获取指定的数据来进行展示.这样既节约了数据库查询的时间也节约了网络传输的数据量.在MVC开发中使用的比较多的应该是MVC ...

  7. .NET安全审核检查表

    书籍名称:Web安全设计之道 -.NET代码安全,界面漏洞防范与程序优化   .NET安全审核检查表   检查项 任务描述 设计环节     Security descisions should no ...

  8. C#中(int)a和Convert.ToInt32(a)有什么区别

    首先,在 C# 中,int 其实就是 System.Int32,即都是32位的. 其次,(int) 和 Convert.ToInt32 是两个不同的概念,前者是类型转换,而后者则是内容转换,它们并不总 ...

  9. 最万能的解决mysql数据库的各种问题的办法

    ubuntu下安装mysql及卸载mysql方法 1. 删除mysql a. sudo apt-get autoremove --purge mysql-server-5.0 b. sudo apt- ...

  10. MVC中你必须知道的13个扩展点

    MVC中你必须知道的13个扩展点 pasting 转:http://www.cnblogs.com/kirinboy/archive/2009/06/01/13-asp-net-mvc-extensi ...