最近在做微信公众平台上做个微信留言的功能。遇到的一些问题和解决方法,分享给大家。
说明:用的是CI框架
首先是配置文件中
autoload.php中
$autoload['libraries'] = array('database', 'session');
$autoload['helper'] = array('url');
config.php中
$config['base_url'] = 'http://www.xxxx.tk';//用的是免费域名 自己的项目域名
$config['encryption_key'] = 'weixin';//关于session的key 随便设置就行
$config['sess_encrypt_cookie'] = TRUE;//当时没有设置为true ,导致session不起作用了。
//接下来就是正式的开发了
首先我是在自定义才上做了个微留言的菜单。
json格式的自定义菜单
$data = '{
"button":[
{
"name":"web微盟",
"sub_button":[
{
"type":"click",
"name":"微留言",
"key":"microMessage"
}]
}]
}
根据类型来判断
$MsgType=trim($post_obj->MsgType);//获取信息类型
$e=$post_obj->Event;//获取事件
switch($MsgType){
case "event":
if($e=="CLICK"){
$eventKey=$post_obj->EventKey;
switch ($eventKey) {
case 'microMessage':
$content=$this->receiveMessage($post_obj);
break;
}
}
break;
if($e=="CLICK" && $eventKey=='microMessage'){
$data = array(
'to' => $from_username,
'from' => $to_username,
'type' => 'news',
'content' =>$content,
'time'=>time(),
'num'=>1,
'title'=>"微留言",
'picurl'=>base_url('/public/admin/image/main.jpg'),
'url'=>site_url("/admin/mes/".$from_username),
//尤其是这里一定要注意了。把from_username也就是用户的openid,当时就是想把用户的openid存入数据库,这个是图文消息的图片url,把用户的openid带上就可以了,然后再前台把这个openid写到input的隐藏域中,我用的是ajax提交,在提交的时候重新获取,同用户输入的标题和内容一块提交后台的控制器中最后存入数据库中,到时候做回复也比较容易。
);
$this->load->view('admin/imagetext', $data);
}
}
public function mes($parm){
$data['id']=$parm;
$this->load->view('admin/mes',$data);
}
//图文消息的内容
public function receiveMessage($obj){
$contentStr="点击进入留言页面,赶快点击吧。";
return $contentStr;
}
//模板代码
<input type="hidden" value="<?php echo $id;?>" id="oid">
<input name="wxname" type="text" class="px" id="wxname1" placeholder="请输入您的昵称" />
<textarea name="info" class="pxtextarea" style=" height:60px;" id="info1" placeholder="请输入留言" /></textarea>
ajax提交格式
var wxname = $("#wxname1").val();
var info = $("#info1").val();
var openid = $("#oid").val();
var submitData = {
wxname:wxname,
message: info,
openid:openid
};
var url="<?php echo site_url('admin/addInfo');?>"; //一定要注意颜色的部分。
$.post(url, submitData,
function(data) {
if (data.success == true) {
alert(data.msg);
setTimeout('window.location.href=location.href',1000);
return;
} else {}
},
"json")
//最后处理并入库 控制器中处理。
$data=$this->input->post();
$res=$this->Mesinfo_model->insertMessage($data);
if($res){
$arr=array('success'=>true,'msg'=>'留言成功');
echo json_encode($arr);
}
好了,这些是我的一些小小的经验。大家有什么想法或者意见请评论或者qq:905766491
相关推荐
微信开发实例 微信公众平台开发教程-深入浅出微信公众平台实战开发(微网站、LBS云、Api接口调用、服务号高级接口)1.微信接口前期准备。由北风网提供,微信开发实例微信公众平台基础篇: 1)微信公众平台简介:开发...
最新微信公众平台源码 C# ASP.NET 微商城 微网站 微支付.. 完整版源码非编译版
微信公众平台应用开发实战-完整扫描版.pdf 全书一共9章,在逻辑上分为四大部分:第一部分(第1章)介绍了微信公众平台的开发模式、数据交互方式,以及开发公众平台应用所需要的各项技术;第二部分(第2~4章)首先...
深入浅出微信公众平台实战开发(微网站、LBS云、Api接口调用、服务号高级接口) 入门到精通 详细讲解微信公众开发
微信机器人源码 微信公众平台机器人源码
《微信公众平台企业应用开发实战》全面介绍了微信公众平台已开放API的功能、使用方法及应用场景,详细解读了微信公众平台应用开发所需的各种技术、方法和技巧,深入讲解了微信公众平台开源开发框架Senparc.Weixin.MP...
《微信公众平台企业应用开发实战》全面介绍了微信公众平台已开放API的功能、使用方法及应用场景,详细解读了微信公众平台应用开发所需的各种技术、方法和技巧,深入讲解了微信公众平台开源开发框架Senparc.Weixin.MP...
[点微]微信平台Discuz 论坛微信运营首选平台TOM微信运营平台绑定接口教程【第一步】、登录微信公众平台https://mp.weixin.qq.com【第
PHP微信公众平台开发,内容丰富,涵盖了多个PHP微信公众平台开发的方面,适合于初学者来学习借鉴。
艾媒咨询(iiMedia Research)调查分析认为,尽管微信在短期内赢得了市场和用户,微信公众平台也急速发展,但调查显示有以下几点值得关注: 1、微信公众平台热度很高,但是实际营销效果和用户黏性比预期低; 2、...
全书一共9章,在逻辑上分为四大部分:第一部分(第1章)介绍了微信公众平台的开发模式、数据交互方式,以及开发公众平台应用所需要的各项技术;第二部分(第2~4章)首先详细讲解了微信公众平台开放的所有API的功能...
这是本人根据微信公众平台接口文档简单得不能再简单的资料编写的一个范例,希望对各位delphi程序员开发微信应用带来点帮助。 文件包中包含两个例程,一个是服务器端的,另一个是为方便在本地测试,模拟微信服务器推...
微信公众平台
本教程一共包含六个部分,主要涵盖以下相关内容:微信公众平台账号申请、微信公众平台登录、微信公众平台注册、微信公众平台认证、微信公众平台运营及微信公众平台开发模式介绍。 教程内容通俗易懂,适合各种人群...
本书由前腾讯公司软件开发工程师根据微信6.x版撰写,紧跟微信公众平台的技术发展,是目前微信公众平台应用开发领域涵盖内容较全面、系统和深入的一本书。本书全面介绍了微信公众平台的开发模式、环境搭建、消息接口...
微信公众平台开发文档2016最新
全书一共9章,在逻辑上分为四大部分:第一部分(第1章)介绍了微信公众平台的开发模式、数据交互方式,以及开发公众平台应用所需要的各项技术;第二部分(第2~4章)首先详细讲解了微信公众平台开放的所有API的功能...
微信 公众平台 接口