• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >微信公众号 > 微信公众号开发完整教程一

微信公众号开发完整教程一

作者:匿名 字体:[增加 减小] 来源:互联网

匿名通过本文主要向大家介绍了教程,完整,开发等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
这篇文章介绍的内容是关于微信公众号开发完整教程一,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

因为工作的需要,这一两年对微信公众号和小程序,项目制作的比较多。所以我才打算写一篇全面的制作教程,当然了,最好的教程是微信工作平台的文档。我这里只是讲述一下我的工作中的制作流程。所有相关文章的源码,我托管在我自己的github上面,欢迎关注:地址点击打开链接。接下来开始我们的教程。

1.微信与公众平台的区别:

微信:即时聊天的软件,属于一对一的关系

微信公众平台:属于一对多的关系。

2.订阅号与服务号的区别:

订阅号:针对个人或媒体每天可以群发1条信息,默认不具有自定义菜单。服务器号:针对企业或银行每月可以群发4条信息,默认具有自定义菜单。运营主体是组织(比如企业、媒体、公益组织)的,可以申请服务号。运营主体是组织和个人的可以申请订阅号,但是个人不能申请服务号。

3.公众平台的两种模式:

1、编辑模式:直接使用微信公众平台所提供的后台操作进行用户交互。编辑模式可以使用在如下的场景:不具备开发能力的运营者,主要是进行品牌宣传、新闻媒体、自助客服的公众账号,运营初期,不需要特别多的功能,开发模式系统升级,故障等特殊情况

2、开发者模式:直接使用接口代码实现用户的交流

4.微信公众平台前期准备:

注册公众平台,拥有线上服务器

5.认识一下编辑模式:

原理:

5.1消息群发:


选择对象选择素材进行群发:


5.2:自定义菜单:

启用自定义菜单,并开启:


点击查看,进入设置界面:



5.3自动回复:


上述讲述的主要是编辑模式的使用,我想很多人应该都会使用,其实和我们平常在论坛编辑文章和帖子差不多。

6.开发者模式

原理:



6.1第一步我们要开启开发者模式:

注意:在开启开发者模式之后编辑模式中部分功能不能正常使用。即开发者模式跟编辑模式存在冲突。进入设置界面:


修改配置:


设置结果如下图:填写上你的服务器文件地址,token,点击提交,验证即可。如果提交并验证通过,就进入到开发者模式



6.2我线上的验证代码如下:


public function valid(){
//获取随机字符串
$echoStr = input("echostr");
if($echoStr){
// 验证接口的有效性,由于接口有效性的验证必定会传递echostr 参数
if($this ->checkSignature()){
echo $echoStr;
exit;
}
}else{
$this->responseMsg();
}
}
protected function checkSignature()
{
// 微信加密签名
$signature = input("signature");
$timestamp = input("timestamp");//时间戳
$nonce =input("nonce");//随机数
$token = "weixin";  //token值,必须和你设置的一样
$tmpArr =array($token,$timestamp,$nonce);
sort($tmpArr,SORT_STRING);
$tmpStr = implode($tmpArr);
$tmpStr =sha1($tmpStr);
if($tmpStr == $signature){
return true;
}else{
return false;
}
}

关于上述代码中的变量来源,微信都有详细的说明,我搭建的公众号使用的是PHP7.0版本,TP5.0框架。在这里说明一下。

上述代码只会执行一次,开启开发者模式之后,就不会在执行,只会执行上述代码中的

responseMsg

方法。

我们先上传一段测试代码试试,回复文本消息,是否有回复,代码如下:


public function responseMsg()
{
        //get post data, May be due to the different environments
        $postStr = file_get_contents('php://input');    
  //extract post data
        if (!empty($postStr)){
/* libxml_disable_entity_loader is to prevent XML eXternal Entity Injection,
                   the best way is to check the validity of xml by yourself */
libxml_disable_entity_loader(true);
  $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
$keyword = trim($postObj->Content);
$time = time();
$textTpl = "<xml>
                            <ToUserName><![CDATA[%s]]></ToUserName>
                            <FromUserName><![CDATA[%s]]></FromUserName>
                            <CreateTime>%s</CreateTime>
                            <MsgType><![CDATA[%s]]></MsgType>
                            <Content><![CDATA[%s]]></Content>
                            <FuncFlag>0</FuncFlag>
                            </xml>";
                if(!empty( $keyword ))
{
      $msgType = "text";
    $contentStr = "Welcome to wechat world!";
    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
    echo $resultStr;
}else{
    echo "Input something...";
}
}else {
    echo "";
    exit;
}
}

结果如下:

,由于微信的网页授权的限制,所以我们可以申请测试账号,我这里使用的就是测试账号。上述的开启开发者模式是一样的。只需要去申请一个测试账号就好。申请的地方:



如果出现上述的代码,说明我们已经测试成功。接下来,我们开始获取access_token的值,这个参数对于我们来说很重要。因为

access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。access_token

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 微信小游戏基于微信开发工具入门讲解
  • 微信公众号开发完整教程一
  • 5 分钟实现微信支付接入教程
  • 0基础微信开发入门视频教程的资料分享
  • 微信微网站开发视频教程
  • 微信开发公众号平台视频教程
  • 微信小程序开发简易教程一

相关文章

  • 微信开发协议的说明
  • 微信现金红包接口实现红包发放的示例代码分享
  • 微信开发之JS动态修改样式
  • 用ASP.NET实现微信JS-SDK支付的实例详解
  • 传智和黑马的微信公众平台开发视频教程资源推荐
  • 微信小程序 scroll-view组件实现列表页实例代码
  • js微信分享API
  • C#微信开发系列-自定义菜单管理
  • 微信公众平台开发基础概念介绍
  • 争夺移动支付入口,苹果VS微信:谁动了谁的蛋糕?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 微信开发之引用其他js文件实例详解
    • 微信硬件JS-Api开发不完全指南
    • 有关页面工具的文章推荐10篇
    • 关于微信支付开发的10篇课程推荐
    • Native是什么?Native用法总结
    • 微信公众号开发微信的消息类型解析
    • 如何使用koa2搭建微信第三方公众平台
    • 实现微信小程序路由跳转指定页面的代码实例
    • 详细步骤,zabbix配置微信企业号实现报警方法-附代码
    • C#开发微信门户及应用-微信多客服功能及开发集成

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有