【oeasy丨ps丨教程】微信公众服务号的开发
oeasy吧
全部回复
仅看楼主
level 11
overmind1980 楼主



视频来自:优酷
2014年11月12日 07点11分 1
level 11
overmind1980 楼主
<?php
$xjson = *{
"button":[
{
"name":"教程",
"sub_button":[
{
"type":"click",
"name":"设计",
"key":"sheji"
},
{
"type":"click",
"name":"办公",
"key":"office"
},
{
"type":"click",
"name":"编程",
"key":"program"
},
{
"type":"click",
"name":"硬件",
"key":"hardware"
},
{
"type":"click",
"name":"应用",
"key":"application"
}]
},
{
"name":"各基地",
"sub_button":[
{
"type":"click",
"name":"贴吧",
"key":"tieba"
},
{
"type":"click",
"name":"微博",
"key":"weibo"
},
{
"type":"click",
"name":"淘宝答疑",
"key":"taobao"
},
{
"type":"click",
"name":"赞助",
"key":"zhifubao"
},
{
"type":"click",
"name":"加群",
"key":"shequn"
}]
},
{
"name":"关于",
"sub_button":[
{
"type":"click",
"name":"oeasy",
"key":"oeasy"
},
{
"type":"click",
"name":"签到",
"key":"qiandao"
},
{
"type":"click",
"name":"下载",
"key":"download"
}]
}]
}*;
$url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=CGhmX29jayyJ2X9tlBprwVaXAR493Be9N4srWnkfk3oENiUpv1-SMlT7NbhOnrpUaZRoJ6XwUnp-3nSR5CqQOAWYP0Ui4qzsnlD8nuThB1k";
$result = vpost($url,$xjson);
var_dump($result);
function vpost($url,$data){ // 模拟提交数据函数
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); // 对认证证书来源的检查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); // 从证书中检查SSL加密算法是否存在
curl_setopt($curl, CURLOPT_USERAGENT, *Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)*); // 模拟用户使用的浏览器
// curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
// curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包x
curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
$tmpInfo = curl_exec($curl); // 执行操作
if (curl_errno($curl)) {
echo *Errno*.curl_error($curl);//捕抓异常
}
curl_close($curl); // 关闭CURL会话
return $tmpInfo; // 返回数据
}
?>
2014年11月12日 07点11分 2
level 11
overmind1980 楼主
<?php
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
if (!isset($_GET[*echostr*])) {
$wechatObj->responseMsg();
}else{
$wechatObj->valid();
}
class wechatCallbackapiTest
{
public function valid()
{
$echoStr = $_GET["echostr"];
//valid signature , option
if($this->checkSignature()){
echo $echoStr;
exit;
}
}
private function checkSignature()
{
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ){
return true;
}else{
return false;
}
}
public function responseMsg()
{
//get post data, May be due to the different environments
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
//logger("R ".$postStr);
//extract post data
if (!empty($postStr)){
$postObj = simplexml_load_string($postStr, *SimpleXMLElement*, LIBXML_NOCDATA);
$RX_TYPE = trim($postObj->MsgType);
switch ($RX_TYPE)
{
case "text":
$resultStr = $this->receiveText($postObj);
break;
case "event":
$resultStr = $this->receiveEvent($postObj);
break;
case "location":
$resultStr = $this->receiveLocation($postObj);
break;
default:
$resultStr = "";
break;
}
//logger("T ".$resultStr);
echo $resultStr;
}else {
echo "";
exit;
}
}
/*
先在http://developer.simsimi.com/api申请key,试用版的只能用7天,付费版的按次数收费
然后替换你申请到的*key*,付费版用户同时将http://sandbox.api.simsimi.com/改成http://api.simsimi.com/
*/
function callSimsimi($keyword)
{
$params[*key*] = "c838941f-aee4-4440-af0c-a4eag542b2a0";
$params[*lc*] = "ch";
$params[*ft*] = "1.0";
$params[*text*] = $keyword;
$url = "http://sandbox.api.simsimi.com/request.p?key=".$params[*key*];
$url = $url."&lc=".$params[*lc*];
$url = $url."&ft=".$params[*ft*];
$url = $url."&ft=".$params[*ft*];
return $url;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
$message = json_decode($output,true);
$result = "";
if ($message[*result*] == 100){
//过滤广告
if (stripos($message[*response*],"微信") > 0
|| stripos($message[*response*],"QQ") > 0) {
$result = "小o谢谢你的关注与支持";
}else{
$result = $message[*response*];
}
}else{
$result = "说什么好呢?";
}
return $result;
}
2014年11月12日 07点11分 3
level 11
overmind1980 楼主
private function receiveText($postObj)
{
$funcFlag = 0;
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
$keyword = trim($postObj->Content);
$resultStr = "";
$contentStr = "";//现在是自动答录 我知道了 ^-^";
//$contentStr = callSimsimi($keyword);
//include("database.php");
if(is_array($contentStr)){
$resultStr = $this->transmitNews($postObj, $contentStr, $funcFlag);
}else{
$resultStr = $this->transmitText($postObj, $contentStr, $funcFlag);
}
return $resultStr;
}
private function receiveEvent($object)
{
$contentStr = "";
switch ($object->Event)
{
case "subscribe":
$contentStr = $this->transmitHello();
break;
case "CLICK":
switch ($object->EventKey)
{
case "sheji":
$contentStr = array();
$contentStr[] = array("Title"=>"色彩构成", "Description"=>"oeasy教你玩转色彩构成,看视频的时候得注意流量,保持距离,爱护眼睛哦,^-^。", "PicUrl"=>"
", "Url" =>"http://v.youku.com/v_show/id_XNTM5MTcyMTM2.html?f=19134047");
$contentStr[] = array("Title"=>"ps", "Description"=>"oeasy教你玩转ps,看视频的时候得注意流量,保持距离,爱护眼睛哦,^-^。", "PicUrl"=>"
", "Url" =>"http://v.youku.com/v_show/id_XODUxMjQwNDg=.html?f=3233168");
$contentStr[] = array("Title"=>"flash", "Description"=>"oeasy教你玩转flash,看视频的时候得注意流量,保持距离,爱护眼睛哦,^-^。", "PicUrl"=>"
", "Url" =>"http://v.youku.com/v_show/id_XMTIyNDg4MDg0.html?f=3792192");
$contentStr[] = array("Title"=>"premiere", "Description"=>"oeasy教你玩转premiere,看视频的时候得注意流量,保持距离,爱护眼睛哦,^-^。", "PicUrl"=>"
", "Url" =>"http://v.youku.com/v_show/id_XNzQwMjAzOTA4.html?f=22531496");
break;
case "office":
$contentStr = array();
$contentStr[] = array("Title"=>"word", "Description"=>"oeasy教你玩转word,看视频的时候得注意流量,保持距离,爱护眼睛哦,^-^。", "PicUrl"=>"
", "Url" =>"http://v.youku.com/v_show/id_XNzQyMjE5MzY=.html?f=3024114");
$contentStr[] = array("Title"=>"excel", "Description"=>"oeasy教你玩转excel,看视频的时候得注意流量,保持距离,爱护眼睛哦,^-^。", "PicUrl"=>"
", "Url" =>"http://v.youku.com/v_show/id_XMjYzNTcwODA=.html?f=1725675");
$contentStr[] = array("Title"=>"ppt", "Description"=>"oeasy教你玩转ppt,看视频的时候得注意流量,保持距离,爱护眼睛哦,^-^。", "PicUrl"=>"
", "Url" =>"http://v.youku.com/v_show/id_XMjY0NTg2Njg=.html?f=1728524");
break;
case "program":
$contentStr = array();
$contentStr[] = array("Title"=>"网页制作", "Description"=>"oeasy教你玩转网页制作,看视频的时候得注意流量,保持距离,爱护眼睛哦,^-^。", "PicUrl"=>"
", "Url" =>"http://v.youku.com/v_show/id_XMzIyMTg0Nzgw.html?f=17063209");
break;
case "hardware":
$contentStr = array();
$contentStr[] = array("Title"=>"电路", "Description"=>"oeasy教你玩转电路,看视频的时候得注意流量,保持距离,爱护眼睛哦,^-^。", "PicUrl"=>"
", "Url" =>"http://v.youku.com/v_show/id_XNDI5ODA3OTg4.html?f=17911607");
$contentStr[] = array("Title"=>"电波", "Description"=>"oeasy教你玩转电波,看视频的时候得注意流量,保持距离,爱护眼睛哦,^-^。", "PicUrl"=>"
", "Url" =>"http://v.youku.com/v_show/id_XNjE5MjU1ODUy.html?f=20343843");
break;
case "application":
2014年11月12日 07点11分 4
level 1
[乖]老师 没有组织机构代码的能申请个服务好么
2014年11月12日 13点11分 6
可以的 但是有的高级功能用不了
2014年11月13日 02点11分
回复 overmind1980 :恩[乖]
2014年11月13日 09点11分
回复 被袭胸的炮姐 :也可以申请服务号的?
2014年11月15日 20点11分
level 8
不明觉厉
2014年11月13日 07点11分 8
level 11
早就想整个这个玩了,谢谢老师哈哈哈哈哈
2014年11月13日 15点11分 9
level 5
必须赞下老师,不过就是感觉好复杂!
2014年11月15日 09点11分 10
level 8
好棒,就是复杂。加油学习
2014年11月16日 15点11分 11
level 7
发现我越来越喜欢Oeasy了,真想来个挑灯夜战!
2014年11月17日 06点11分 12
level 1
感恩老师!感恩!感恩!
2015年07月09日 03点07分 13
level 1
这个个人订阅号不能用吧。
2015年09月13日 11点09分 14
level 2
那一大串的是代码还是什么?看的眼都花了。昨晚在优酷上看那个“我的世界”和“太鼓”的视频教程,感觉好高端哦。强行围观一下。
2015年09月14日 03点09分 15
level 8
[哈哈]
2016年02月29日 08点02分 16
level 2
那代码在哪里找呀[黑线]
2022年05月12日 09点05分 17
1