NodeJS微信公众平台开发

微信是手机用户必备的App,微信最开始只是作为社交通讯应用供用户使用,但随着用户量不断的增加,微信的公众号在微信上表现出来了它强大的一面,微信公众平台具有四大优势:1、平台更加稳固;2.用户关系更加平等;3.信息精选、定位准确; 微信的开放平台,微信公众平台凭借4大优点受到企业喜爱,企业通过微信公众平台把企业中的资讯信息和服务功能在这个平台完美呈现;作为前沿的开发者微信开发势在必行,虽然外面流行的编程语言都支持微信公众平台的开发,但是我个人还是偏喜欢NodeJs,相比其他编程语言来灵活很多,开发成本低。

使用NodeJs进行微信公众平台开发,你只需要在命令行中敲几个命令修改及少数的代码就可以完成很多的工作;Let go;

如果不会NodeJs的朋友,可以先看我写的两篇基础文章,对于聪明绝顶的你来说,花不了你多少时间;

       基础篇:  NodeJs初学者经典入门解析

       Web篇: NodeJs使用Express开发Web项目

  首先你需要在你电脑任何目录下面新建一个文件夹,保证文件夹是空的;

     步骤图解:

               项目添加express模块包,使其支持Web开发;

            

              安装express模块包

            

              安装wechat(微信公众平台)模块包

     下一步新建路由(类似于MVC中控制器):

     打开你的项目文件中的app.js文件,文件26行(app.use(‘/users‘, users);)后面加入以下代码;          

     weixin‘可以修改自己为自己的TOKEN值; 以下代码从wechat模块包中的测试代码提取,没技术含量,不要觉得多,现成的东西;

var wechat = require("wechat");
app.use(‘/wx‘, wechat(‘weixin‘, function (req, res, next) {
  // 微信输入信息都在req.weixin上
  var info = req.weixin;
  // 回复屌丝(普通回复)
  if (info.FromUserName === ‘diaosi‘) {
    res.reply(‘hehe‘);
  } else if (info.FromUserName === ‘test‘) {
    res.reply({
      content: ‘text object‘,
      type: ‘text‘
    });
  } else if (info.FromUserName === ‘hehe‘) {
    res.reply({
      title: "来段音乐吧<",
      description: "一无所有>",
      musicUrl: "http://mp3.com/xx.mp3?a=b&c=d",
      hqMusicUrl: "http://mp3.com/xx.mp3?foo=bar"
    });
  } else if (info.FromUserName === ‘cs‘) {
    res.transfer2CustomerService();
  } else if (info.FromUserName === ‘kf‘) {
    res.transfer2CustomerService(‘[email protected]‘);
  } else if (info.FromUserName === ‘ls‘) {
    res.reply(info.SendLocationInfo.EventKey);
  } else if (info.FromUserName === ‘pic_weixin‘) {
    res.reply(info.SendPicsInfo.EventKey);
  } else if (info.FromUserName === ‘web‘) {
    res.reply(‘web message ok‘);
  } else if (info.FromUserName === ‘empty‘) {
    res.reply(‘‘);
  } else {
  // 回复高富帅(图文回复)
    res.reply([
      {
        title: ‘源代码教育‘,
        description: ‘未来的高富帅你好‘,
        picurl: ‘http://nodeapi.cloudfoundry.com/qrcode.jpg‘,
        url: ‘http://www.itsource.cn/‘
      }
    ]);
  }
}));

    命令行执行npm start,浏览器http://localhost:3000/测试一下是否可以访问,准备工作搞定;

    接下一个,我们需要申请一个测试账号;

   打开:http://mp.weixin.qq.com/wiki/home/ 微信公众平台开发文档

       

        

        

   点击登录,会出现一个二维码,拿出你的手机打开微信扫描网页中二维码;手机点击确认登录后会出现以下内容

        

    下一步你需要填写你服务器的地址;一般都使用nat123工具做代理;下载一个nat123软件注册一个就可以了

    Url:http://nat123注册的域名/weixin;

   Token:微信公众平台认证的指令牌与上面代码中的一致即可;

   注意点击提交的时请保证已经打开nat123工具,域名设置成功并且端口设置为3000(nodejs默认端口号),并且通过浏览器直接输入你在nat123注册的域名可以访问你的本地应用,点击“提交”,点击一次可能不会成功,猛点N次;提供成功就OK了,不成功你就猛点吧,或者换个时间来试试,可能是nat123的网络问题;如果无法通过,请找到项目文件夹中node_modules\wechat\lib\wechat.js ,删除437行res.writeHead(200);然后将res.end(req.query.echostr);替换为res.send(req.query.echostr);命令行中重启NodeJs服务器(ctrl+z后npm
start);

        

    下一步拿出你的手机扫描,你的测试公众号

        

     然后随便发送一点内容;有返回结果证明一切搞定了;看客如有问题请联系小编哟。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-06 06:35:17

NodeJS微信公众平台开发的相关文章

第四篇 :微信公众平台开发实战Java版之完成消息接受与相应以及消息的处理

温馨提示: 这篇文章是依赖前几篇的文章的. 第一篇:微信公众平台开发实战之了解微信公众平台基础知识以及资料准备 第二篇 :微信公众平台开发实战之开启开发者模式,接入微信公众平台开发 第三篇 :微信公众平台开发实战之请求消息,响应消息以及事件消息类的封装 首先,我们看看原来写的dopost方法: /** * 处理微信服务器发来的消息 */ public void doPost(HttpServletRequest request, HttpServletResponse response) thr

微信公众平台开发问答

微信公众平台开发问答是一个微信知识问答区,专注于提供微信应用及开发技术知识的整理.归类和检索. 主题:新手常见问题 问:我是新手,没有开发基础,应该如何学习微信公众平台的开发?答:先学习PHP和Mysql,可以在网上找相应的教程,也可参考书籍<PHP和MySQL Web开发(原书第4版)>:再学习微信公众平台开发入门教程,了解微信收发消息原理及回复:然后根据微信开发文档,熟悉接口,并在此基础上实现一些基本的小功能,并扩展到更复杂的功能上. 问:URL和Token是什么意思?有什么用?我应该如何

微信公众平台开发(103) JS API支付

本文介绍如何使用JS API支付接口完成微信支付. 一.JS API支付接口(getBrandWCPayRequest) 微信JS API只能在微信内置浏览器中使用,其他浏览器调用无效.微信提供getBrandWCPayRequest接口供商户前端网页调用,调用之前微信会鉴定商户支付权限,若商户具有调起支付的权限,则将开始支付流程.这里主要介绍支付前的接口调用规则,支付状态消息通知机制请参加下文.接口需要注意:所有传入参数都是字符串类型! getBrandWCPayRequest参数如表6-5所

微信公众平台开发(一) 申请微信公众账号

一.微信公众平台介绍 微信公众平台是腾讯公司在微信的基础上新增的功能模块,通过这一平台,个人和企业都可以打造一个微信的公众号,可以群发文字.图片.语音.视频.图文消息五个类别的内容. 二.注册微信公众号 1.注册地址: https://mp.weixin.qq.com/ 点击右上角的"立即注册"申请微信公众账号. 2.填写基本信息 3.激活邮箱账号 到邮箱中收取邮件,激活公众平台账号. 4.信息登记 通过邮箱激活后,填写基本信息.选择为"个人"后,后面只能选择&qu

微信公众平台开发

关于微信公众平台确实是个很好的东西,鉴于需要完成这样一个作业花了2天时间来研究这个,做出了一个简单的东西. 我们选择的语言是JAVA(当然PHP开发这个更简单,不过我没学,考虑时间成本而继续用自己熟悉的),所用的服务器是SAE(BAE也可以),以及一个微信公众平台测试账号.http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login,点击此处进入,用自己的微信扫描二维码就可以申请到一个测试号,高级接口都可以使用,仅仅用来测试是没有任何

[051] 微信公众平台开发教程第22篇-如何保证access_token长期有效

为了使第三方开发者能够为用户提供更多更有价值的个性化服务,微信公众平台开放了许多接口,包括自定义菜单接口.客服接口.获取用户信息接口.用户分组接口.群发接口等,开发者在调用这些接口时,都需要传入一个相同的参数access_token,它是公众账号的全局唯一票据,它是接口访问凭证. access_token的有效期是7200秒(两小时),在有效期内,可以一直使用,只有当access_token过期时,才需要再次调用接口获取access_token.在理想情况下,一个7x24小时运行的系统,每天只需

微信公众平台开发之会员卡

微信公众平台开发之会员卡是商家获取用户信息和实现线上线下交易的重要途径之一.通过在微信上发布会员卡,然后让用户填写自己的个人信息之后就可以领取到线上的会员卡,这个会员卡在线下也是可以使用的.可以在会员卡上发布一些最新通知,礼品券,优惠券,会员特权等等,用户达到一定的积分或者在线下消费一定的金额才可以领取这些优惠,这样可以吸引用户去获取积分实现每日签到的功能,这样用户就能看到我们推送的消息.下面就由微时代来简单介绍一下会员卡吧: 1.在微时代后台设置会员卡的回复信息,当用户回复关键词"会员卡&qu

微信公众平台开发之万能表单

微信公众平台开发之万能表单是为了方便我们得到用户的信息.我们可以在后台设置任何需要用户填写的信息,比如:电话,姓名,性别,工作等等信息,当然我们也可以设置一定的奖励,只要完善这些信息就可以得到一定的礼品,这样用户才会去填写这些信息,通过这样的方式可以很快的获取用户信息.下面就由微时代来简单介绍一下万能表单功能吧: 1. 在微时代后台万能表单的内容,给该万能表单设置关键词,这样当用户回复该关键词的时候就能进去填写资料了. 2. 为该表单添加选项,设置用户需要填写的内容,比如姓名,电话,性别,工作这

微信公众平台开发之无线订餐

微信公众平台开发之无线订餐功能是餐饮行业必备的工具.无线订餐可以方便打工一族,特别是白领们的日常生活.很多白领中午都不愿出去吃饭,这时候他们就喜欢叫外卖,传统的打电话叫外卖的方式已经过时了,现在都用微信实现无线订餐,在微信上可以看到所有的菜品和价格,只要选择好自己想吃的菜然后点击下单,设置好地址和时间以及联系电话就可以很轻松的完成订餐了,货到付款的方式也给客户带来很好的体验.下面就由微时代来简单介绍一下无线订餐功能吧: 1.在微时代后台设置无线订餐的触发关键词,和无线订餐的简介. 2.添加菜品分