博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CI框架整合微信公共平台接口
阅读量:6458 次
发布时间:2019-06-23

本文共 2760 字,大约阅读时间需要 9 分钟。

#CI框架控制器
_valid()) { #判判断是不是验证过 $echostr = $this->input->get('echostr'); if (!empty($echostr)) { #未验证 $this->load->view('valid_view', array('output' => $echostr)); } else { # 处理用户消息 $this->_responseMsg(); } } else#验证失败 { $this->load->view('valid_view', array('output' => 'Error!')); } } #用于接入微信的验证 private function _valid() { #获取token $token = TOKEN; $signature = $this->input->get('signature'); $timestamp = $this->input->get('timestamp'); $nonce = $this->input->get('nonce'); $tmp_arr = array($token, $timestamp, $nonce); sort($tmp_arr); $tmp_str = implode($tmp_arr); $tmp_str = sha1($tmp_str); return ($tmp_str == $signature); } #处理用户发送过来的消息 private function _responseMsg() { #获取获取表单提交过来的数据 $post_str = file_get_contents('php://input'); #判断是否为空 if (!empty($post_str)) { #解析微信传过来的 XML 内容 $post_obj = simplexml_load_string($post_str, 'SimpleXMLElement', LIBXML_NOCDATA); $from_username = $post_obj->FromUserName; $to_username = $post_obj->ToUserName; #接受用户输入的内容 $keyword = trim($post_obj->Content); #如果内容不为空 if (!empty($keyword)) { #文本类型的消息,本示例只支持文本类型的消息 $type = "text"; $content = $this->_parseMessage($keyword); #数据数组 $data = array( 'to' => $from_username, 'from' => $to_username, 'type' => $type, 'content' => $content, ); #分配数据 $this->load->view('response_view', $data); } else {
#如果为空 $type = "text"; $content = "请输入文字"; #数据数组 $data = array( 'to' => $from_username, 'from' => $to_username, 'type' => $type, 'content' => $content, ); #分配数据 $this->load->view('response_view', $data); } } else { #错误 $this->load->view('valid_view', array('output' => 'Error!')); } } #解析用户输入的字符串 private function _parseMessage($keyword) { #开启错误日记 log_message('debug', $keyword); #处理用户的关键字 return '你好~!~'; }}
#输出界面  view试图
]]>
]]>
]]>
]]>
0

 

转载地址:http://zrxzo.baihongyu.com/

你可能感兴趣的文章
18年selenium3+python3+unittest自动化测试教程(下)
查看>>
memcache数据库和redis数据库的区别(理论)
查看>>
我的友情链接
查看>>
MyBatis+Spring结合
查看>>
Office 365之SkyDrive Pro
查看>>
无缝滚动实现原理分析【公告栏】
查看>>
Java Web 高性能开发
查看>>
CentOS 4.4双网卡绑定,实现负载均衡
查看>>
Scala之柯里化和隐式转换
查看>>
获取androdmanifest里面的meta-data
查看>>
mysql拷贝表的几种方式
查看>>
用设计模式去掉没必要的状态变量 —— 状态模式
查看>>
健忘的正则
查看>>
[转]CMake快速入门教程:实战
查看>>
IntelliJ IDEA创建JavaWeb工程及配置Tomcat部署
查看>>
Markdown用法
查看>>
轮播插件swiper.js?
查看>>
网路流24题总结
查看>>
15 个 Android 通用流行框架大全
查看>>
IE8兼容@media和mp4视频的解决方案
查看>>