微信的两种运营模式

编辑模式:使用微信公众平台提供的功能

开发者模式:通过腾讯的api接口调用相应程序进行二次开发

编辑模式

应用场景:

l 不具备开发能力的运营者

l 主要是进行品牌宣传、新闻媒体、自助客服的公众帐号

l 运营初期,不需要特别多的功能

l 开发模式系统升级、故障等特殊情况

功能演示:

1)自动回复

被添加自动回复:当我们订阅或关注微信公众平台时,系统自动发送的回复,我们称之为关注回复或订阅回复。

关键词自动回复:当用户输入的关键词与我们系统设置的关键词相匹配时,自动返回的回复。

消息自动回复:当用户输入的关键词与我们系统设置的关键词不匹配时,自动返回的回复。

2)自定义菜单(只有订阅号认证和服务号)

案例1:简易号码簿

项目需求:

用户关注后或输入?自动弹出自定义回复文本信息如下:

l 【1】特种服务号码

l 【2】通讯服务号码

l 【3】银行服务号码

l 【@】用户反馈

回复1

常用特种服务号码:

匪警:110

火警:119

急救中心:120

回复2

常用通讯服务号码:

中移动:10086

中电信:10000

中联通:10010

回复3

银行服务号码

建设银行:95533

工商银行:99588

农业银行:95599

回复4

尊敬的用户,为了更好的为您服务,请将系统的不足之处反馈给我们。

反馈格式:@+建议内容

例如:@希望增加***号码

回复:感谢您的宝贵建议,我们会努力为您提供更好的服务!

关注:

欢迎关注简易号码簿!

在这里,我们为您提供常用号码查询服务。您可以通过文本菜单交互或关键字搜索的方式查找号码。

快回复?开始体验吧!

未全匹配:当我们输入的关键词带?即可实现匹配

已全匹配:只有当我们输入关键词?才能实现匹配

案例2:仿2345网址导航

自定义菜单

一级菜单:最多3个

二级菜单:最多5个

项目需求:

便捷生活:

  网址导航:http://m.2345.com/

  天气冷暖:http://waptianqi.2345.com

  快递查询:http://tools.2345.com/m/kuaidi.htm

轻松娱乐:

讲笑话:http://m.2345.com/index.php?c=happy

找小说:http://book.2345.com/m/

看视频:http://v.2345.com/m/

更多选择:

社交:http://m.2345.com/index.php?c=category&id=3

应用:http://m.2345.com/index.php?c=category&id=24

招聘:http://m.2345.com/index.php?c=category&id=31

开发者模式

默认情况微信只开启了编辑模式,两者无法共存,所以开启开发者时,必须关闭编辑模式

编辑模式原理图:

开发者模式原理图

准备:

自定义服务器:(BAE)

1)微信验证接口下载

找到php示例文件下载地址:单击下载

2)微信验证接口分析

这是php示例代码内容,必须保证你在公众平台中填写的token和这里定义的TOKEN常量的值保持一致

第一次做服务器配置(验证)的时候,运行valid()方法。

通过验证之后,就可以通过微信往这边发消息了,这时候就不需要再验证了,所以要将valid()方法注释掉,运行responseMsg()方法。如下:

3)微信响应接口

//响应信息

public function responseMsg()

{

//get post data, May be due to the different environments

//$GLOBALS["HTTP_RAW_POST_DATA"]功能与$_POST类似用于接收HTTP POST数据,两者不同在于GLOBALS可以接收xml数据

$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

//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 */

//解析xml时,不解析entity实体(防止产生文件泄露)

libxml_disable_entity_loader(true);

//simplexml_load_string载入xml到字符串

$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);

//用户的微信端(手机端)

$fromUsername = $postObj->FromUserName;

//微信公众平台

$toUsername = $postObj->ToUserName;

//接收用户发送过来的数据,存储$keyword里

$keyword = trim($postObj->Content);

//时间戳

$time = time();

//定义文本消息xml模板

$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 ))

{

//定义返回消息类型(text文本)

$msgType = "text";

//返回响应回复

$contentStr = "欢迎光临传智播客,客官有什么能为您服务的么?";

//sprintf()函数,把字符串按照指定模式进行格式化%s

//有两个重要参数(格式化字符串,格式化变量)

$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);

echo $resultStr;

}else{

echo "Input something...";

}

}else {

echo "";

exit;

}

}

php微信开发 -- 两种运营模式及服务器配置的更多相关文章

  1. 一步一步学FRDM-KE02Z(一):IAR调试平台搭建以及OpenSDA两种工作模式设置

    摘要:FRDM-KE02Z是飞思卡尔公司较为新的微控制器,学习和开发资料较少.从本篇开始会陆续介绍其相关的开发流程,并完成一个小型的工程项目.这是本系列博客的第一篇,主要介绍开发环境IAR for A ...

  2. Spark on YARN两种运行模式介绍

    本文出自:Spark on YARN两种运行模式介绍http://www.aboutyun.com/thread-12294-1-1.html(出处: about云开发)   问题导读 1.Spark ...

  3. JAVA学习篇--JAVA两种编程模式控制

    在Drp项目中,解说了两种编程模式Model 1和Model2.以下是对这两种模式的简单理解.以及因为Model2是基于MVC架构的模式,就将我们易混淆的MVC与我们之前学的三层架构进行对照学习一下. ...

  4. spark on mesos 两种运行模式

    spark on mesos 有粗粒度(coarse-grained)和细粒度(fine-grained)两种运行模式,细粒度模式在spark2.0后开始弃用. 细粒度模式 优点 spark默认运行的 ...

  5. Spark on YARN的两种运行模式

    Spark on YARN有两种运行模式,如下 1.yarn-cluster:适合于生产环境.        Spark的Driver运行在ApplicationMaster中,它负责向YARN Re ...

  6. thinkphp 的两种建构模式 第一种一个单入口里面定义两个模块,前台和后台,函数控制模块必须function.php前台加载前台模块的汉书配置文件,后台加载后台模块的汉书配置文件,公共文件共用。第二种架构模式两个单入口文件,分别生成两个应用定义define。。。函数可以定义配置文件。。。。

    thinkphp 的两种建构模式  第一种一个单入口里面定义两个模块,前台和后台,函数控制模块必须function.php前台加载前台模块的汉书配置文件,后台加载后台模块的汉书配置文件,公共文件共用. ...

  7. 【Spark篇】--Spark中Standalone的两种提交模式

    一.前述 Spark中Standalone有两种提交模式,一个是Standalone-client模式,一个是Standalone-master模式. 二.具体         1.Standalon ...

  8. LR两种录制模式的区别

    loadrunner的录制模式分为如下两种录制模式: HTML-based script,也称为高层录制: URL-based script,也称为底层录制. 两种录制模式的区别:1)脚本不同:高层录 ...

  9. tensorflow学习之(二)Seesion的两种打开模式

    #Seesion的两种打开模式 import tensorflow as tf matrix1 = tf.constant([[3,3]])#一行两列的一个矩阵 matrix2 = tf.consta ...

随机推荐

  1. java 常见判断题

    1 根据下面的代码,String s = null;会抛出NullPointerException异常的有(). ) ) ) ) ) ) ) ) 说明:逻辑运算符:&&和|| 是按照“ ...

  2. 关于HTTP协议(未完)

    转 : https://www.cnblogs.com/ranyonsue/p/5984001.html

  3. cocos2dx 3.3 getParentToNodeTransform bug

    cocos2dx 3.3中getParentToNodeTransform实现如下: const Mat4& Node::getParentToNodeTransform() const { ...

  4. WCF使用net.tcp绑定时的注意事项

    IIS Express没有net.tcp绑定功能,本地测试的话只能使用本机的IIS进行承载,并且需要相应的配置(参见上一篇文章). 算了,直接举一个配置例子吧,懒得写了... <system.s ...

  5. ie浏览器不兼容css媒体查询的解决办法

    有些页面布局复杂,在不同分辨率下表现需要一致,这时需要用媒体查询根据不同分辨率进行百分比定位(不能用像素定位),如: @media screen and (max-width: 1600px) { . ...

  6. SQLYog Enterprise注册码分享

    SQLYog Enterprise注册码 Name:3ddownSerial:7c799fe606582b12 用户名:luowuzhe注册码:c84a12fa6ea3cb54   SQLyog 8. ...

  7. 【NOI】9272 偶数个三

    题目 链接:bajdcc/ACM 描述 在所有的N位数中,有多少个数中有偶数个数字3?结果模12345.(1<=N<=10000) 样例输入 2 样例输出 73 方法一:穷举 评价:最简单 ...

  8. LINQ架构简单描述

    写在前面的话:课堂上老师只是简单提了一下LINQ,当时听着老师对它的描述,感觉非常神奇,不用去操作繁琐的SQL语句了,读取数据库的操作居然能向写C#代码一样方便,但是一直没有机会去学习使用它. LIN ...

  9. rzsz安装【转】

    环境:CentOS 发生情况:需要安装工具:szrz 工具进行 windows 和linux传文件 安装方式:从网上其他教程找的所以就按照如下方式操作 1. 下载软件 rzsz-3.34.tar.gz ...

  10. 关于一个页面的tab切换整体页面刷新而tab标签处是同一个文件怎么做焦点的问题

    解决方法,不能直接写点击效果就要在超链接中加一个参数,根据参数的值去给变焦点的效果,实现方法如下: <div class="vip_search">           ...