多账号微信公众平台的SDK(TP3.2.2)含有示例demo

wxmp

详细地址:http://git.oschina.net/yansongda/WeixinSystem_BasedOnTP

一、说明

基于最新 Thinkphp3.2.2 开发而成。
开发这套程序是因为自己管理着几个微信公众号,想着简单化、结构化、易管理化以前的程序而开发。

本人学生一枚,如果代码有写的不好的地方,希望您评论指出,或通过issue提出。

感谢!

二、使用方法

1、开启“微信公众平台”的“开发者中心”。
“URL”填入:http://serverName/index.php/Index/一个公众号方法(例如:http://wx.abc.com/index.php/Index/index)。
“TOKEN”填入:ysdweixin。您也可以在Common/Conf/config.php 下自行配置。

2、在 IndexController 控制器中code出该方法的逻辑。
示例代码中已经给出一个订阅号和一个服务号的方法。这里贴出部分代码


/**
* 闫嵩达 微信公众
* @return [type] [description]
*/
public function index(){
$appid = '';
$appsecret = '';
$weixin = new CommonLibWeixinWeixin($appid, $appsecret);
$typeData = $weixin->getTypedata();
$typeData['met'] = 'index';
$this->assign('data', $typeData);
$this->display();
}

3、在 EventWidget 中code出该方法的逻辑。
示例代码中已经给出一个订阅号和一个服务号的方法。这里贴出部分代码


public function index($data)
{
$wx = new CommonLibWeixinWeixin();
if ( $data['Event']['Event'] == 'subscribe' ) {
$result = array(
'MsgType' => 'text',
'Content' => '感谢您的关注!所有功能正在开发中,请您耐心等待!'
);
}

return $wx->toWeixin($result);
}

4、在 TextWidget 中code出该方法的逻辑。
示例代码中已经给出一个订阅号和一个服务号的方法。这里贴出部分代码


public function index($data){
$result = array(
'MsgType' => 'text',
'Content' => "如果您不是留言的话……nrn您可以发送“help”或者“?”获取使用帮助。nrn如果您确定要留言,您放心,您的留言我已经收到,我会尽快回复你的。nrn谢谢您的支持!^_^"
);
$wx = new CommonLibWeixinWeixin();
if ( $data['Content'] == '退出' ) {
$wx->setValue('do',null);
$result = array(
'MsgType' => 'text',
'Content' => '您已经成功退出!'
);
return $wx->toWeixin($result);
}
if ( $data['Content'] == '谢谢' ) {
$wx->setValue('do',null);
$result = array(
'MsgType' => 'text',
'Content' => '不用谢,这是我们应该做的!感谢您的支持!'
);
return $wx->toWeixin($result);
}
if ( $data['Content'] == '快递' ) {
$wx->setValue('do', 'express');
$result = array(
'MsgType' => 'text',
'Content' => '请以 快递公司名称!快递单号 的格式输入您需要查询的快递(如:汇通!210541983361)'
);
return $wx->toWeixin($result);
}
if ( $data['Content'] == '翻译' ) {
$wx->setValue('do', 'translate');
$result = array(
'MsgType' => 'text',
'Content' => '请输入要翻译的词语或短语(中英文皆可)'
);
return $wx->toWeixin($result);
}
if ( $data['Content'] == '天气' ) {
$result = $wx->weather();
return $wx->toWeixin($result);
}

/* 以下为API函数调用处理 */
$lastdo = $data['lastdo'];
if ( $lastdo == 'express' ) {
$result = $wx->express($data['Content']);
}
if ( $lastdo == 'translate' ) {
$result = $wx->translate($data['Content']);
}

return $wx->toWeixin($result);
}

5、拿起手机开始测试吧~

三、使用说明

1、一个公众号对应一个控制器方法、一个EventWidget和一个TextWidget。因此可以管理多个微信公众账号。代码中有相应实例

2、Weixin.class.php 位于 CommonLibWeixin 文件夹下。可独立出来单独使用。
如果不在TP系统内,则应该重写 getValue() 、setValue()和getToken()方法,因为这些方法中应用了TP内置的S函数。由于时间关系,目前没有判断这个函数的存在与否,也没有写出相应的替代方案。

3、Api.class.php 里面写出了常用的API函数,比如快递查询,天气查询等。也可独立出来单独使用。

四、注意

现在该项目目前正在完善中……关注oschina随时更新



本文链接:多账号微信公众平台的SDK(TP3.2.2)含有示例demo

转载声明:本站文章若无特别说明,皆为原创,转载请注明来源:@闫嵩达,谢谢!^^


发表评论

电子邮件地址不会被公开。 必填项已用*标注