关于微信公众号开发:01微信公众号开发入门篇

本篇文章讲的是,开发一个简略的网页,应用内网浸透工具把本机作为一个服务器,联合微信公众号,手机上点击即可拜访到您的网站。 1.开发无关一个简略的网页应用到的工具 Hbuilder 1.1 我的项目构造 1.2 语言<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> </head> <body> IndexPage </body></html>2.内网浸透 2.1 下载内网浸透工具https://www.ngrok.cc/ 下载Ngrok客户端(windows_amd64)下载解压:注册登录 2.2 购买服务器 输出域名和本地ip、端口号点击编辑配置服务器服务器端口号和本地端口号统一 2.3 双击bat启动ngrok双击bat启动ngrok,输出购买的隧道id启动胜利后如下图回车启动胜利 2.4 应用域名拜访内网服务http://zhou1314.free.idcfengy... 3.申请微信开发者测试帐号http://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo用手机扫描网页上的二维码,如下图。在手机上点批准 拷贝 appid, appsecret Appid为空: 多刷新几次。也有可能是网络问题。 4.设置公众号回调 5.手机拜访公众号 6.设置菜单6.1 用网页调试工具6.1.1 取access_token在后盾找到获取access_token的入口,在新窗口中关上网页。如下图 查看文档,如下图。 在调试网页中获取access_token,如下图拷贝access_token 获取access_token失败了,起因是appid,appsecrt过期了,要刷新从新获取appid,appsecrt 6.1.2 创立菜单在调试网页中找到创立菜单的的接口,填上access_token 6.1.3 删除菜单删除菜单,查看问题 6.1.4 从新创立菜单 6.1.5 body外面的代码{ "button": [ { "type": "click", "name": "今日歌曲", "key": "V1001_TODAY_MUSIC" }, { "name": "菜单", "sub_button": [ { "type": "view", "name": "搜寻", "url": "http://zhou1314.free.idcfengye.com/wx/index.html" }, { "type": "click", "name": "赞一下咱们", "key": "V1001_GOOD" } ] } ]}7.最初就是这样子扫一扫测试手机界面成果 ...

November 3, 2020 · 1 min · jiezi

微信公众号生成新浪短网址-快速生成

有没有想过,向一个公众号发送长链接,然后公众号给你回复一个短网址? 其实很简单: <?phpdefine("TOKEN", "xiao");//用于回复用户消息function responseMsg(){ $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; if (!empty($postStr)){ $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); $fromUsername = $postObj->FromUserName; $toUsername = $postObj->ToUserName; $MsgT = $postObj->MsgType; $time = time(); //如果用户发的text类型 if($MsgT=="text"){ $key = trim($postObj->Content); $textTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <Content><![CDATA[%s]]></Content> </xml>"; $msgType = "text"; //生成短网址 $dwzapi = "http://api.t.sina.com.cn/short_url/shorten.json?source=3271760578&url_long=".$key; $dwzpost = file_get_contents($dwzapi); $dwzjsondecode = json_decode($dwzpost,true); //发送 $contentStr = $dwzjsondecode[0]['url_short']; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $resultStr; exit; }else{ $textTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <Content><![CDATA[%s]]></Content> </xml>"; $msgType = "text"; //发送 $contentStr = "请发送链接"; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $resultStr; exit; } //如果用户发的event(事件)类型 if($MsgT=="event"){ $Event = $postObj->Event; if ($Event==subscribe) { $contentStr = "欢迎关注"; }else{ $contentStr = "希望您下次关注,但您收不到此条消息了"; } $textTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <Content><![CDATA[%s]]></Content> </xml>"; $Title = $postObj->Title; $Description = $postObj->Description; $Url = $postObj->Url; $msgType = 'text'; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $resultStr; exit; } }else{ echo "不对"; exit; }} $echoStr = $_GET["echostr"]; //如果有$echoStr说明是对接 if (!empty($echoStr)) { //对接规则 $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $token = TOKEN; $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr, SORT_STRING); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr ); if( $tmpStr == $signature ){ echo $echoStr; }else{ echo ""; exit; } }else{ responseMsg(); }?>配置方法:1、登录公众号2、打开基本配置 ...

August 17, 2019 · 1 min · jiezi

超级方便好用的微信公众号菜单管理扩展

看了 FastAdmin 中有一个微信管理插件,就萌生了自己做一个的想法。展示DEMOhttp://wechat-menu.lzis.me素材选择菜单设置菜单事件处理配置其他事件处理配置,比如收到文本消息、订阅、取消订阅等安装$ composer require largezhou/wechat-menu -vvv详细使用方法https://github.com/largezhou/…重点[????????????]觉得有用的话,不要吝啬你的 Star⭐ 呀。

January 29, 2019 · 1 min · jiezi