项目结构 >config/wechat.json 微信公众号的配置文件 >controllers/oauth.js 微信网页授权接口(下一篇再细讲讲) >controllers/wechat.js 微信公众号接口(包括接入接口和其他调用微信api的接口) >wechat/access_token.json 请求微信api接口之前都需要使用的access_token >wechat/crytoGraphy.js 加密解密文件(这里使用的是明文方式,未用到) >wechat…
准备工作1 域名准备 无论是个人开发还是做公司项目域名都是必不可少的 前期我个人用过花生壳做个开发测试,挺好用的,就是现在要收费了,开通花生壳要收费,开通内网穿透要收费(为啥要内网穿透呢,因为微信接入的接口必须使用80端口,而如果 要想让自己pc的80端口对外映射就要做这个内网穿透) 开发公司项目的需要提前准备好服务器和域名(为啥提前申请呢,域名备案也是个有点麻烦的事情,需要各种公司法人证件,顺利的话办理周期1-2周) 准备工作2 公众号申请和配置 公众号分三种:订阅号(每天发文章).服务号(功…
1.配置公众号的自定义菜单,如 { "button":[ { "type":"view", "name":"公众号", "url":"http://xxx/consultList" }, { "type":"view", "name":"小程序", "url":&quo…
JS-SDK 要点 微信测试号; 扫码登录;无需认证(只是名称统一为微信测试号)http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login JS-SDK 说明文档http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html#JSSDK.E4.BD.BF.E7.94.A8.E6.AD.A5.E9.AA.A4 签名验证 获取token 1234567891011…
一.写在前面的话   当用户发送消息给公众号时(或某些特定的用户操作引发的事件推送时),会产生一个POST请求,开发者可以在响应包(Get)中返回特定XML结构,来对该消息进行响应.   消息推送也是微信公众号开发更为有趣的功能,涉及到文本消息.图片消息.语音消息.视频消息.音乐消息以及图文消息.并且最为有趣的功能当属消息加解密了,当然由于篇文章篇幅的原因我会在下一篇文章中去着重说明. 二.微信消息管理 1.捕获消息信息   在文章的第一句话中,为我们指明了微信消息产生的请求方式为 POST,因…
页面整体框架实现,实现小功能,循环出数据,整体代码是上一篇 vue+node.js+webpack开发微信公众号功能填坑--组件按需引入 修改部门代码 app.vue <yd-flexbox> <yd-flexbox-item>能耗排行</yd-flexbox-item> <yd-flexbox-item>房间号</yd-flexbox-item> <yd-flexbox-item>能耗程度</yd-flexbox-item&g…
在微信接口开发中,许多服务的使用都离不开Access Token,Access Token相当于打开这些服务的钥匙,正常情况下会在7200秒内失效,重复获取将导致上次获取的Token失效,本文将首先介绍如何获取Access Token,再介绍如何通过Access Token来在微信内添加自定义菜单(注意,开发者需要申请测试账号来测试自定义菜单,如何申请请参照前文). 申请Access Token 获取Access Token接口的网址如下: https://api.weixin.qq.com/c…
一.安装linux系统 (已安装linux可跳此步骤) 虚拟机推荐选择:VirtualBox 或者 Vmware (专业版永久激活码:5A02H-AU243-TZJ49-GTC7K-3C61N) 我这里使用Vmware. 安装好Vmware后,点击新建虚拟机,选择稍后安装操作系统,然后进行配置.虚拟机设置如下: { 客户机操作系统:其他: 版本:其他64位: 虚拟机名称:node.js : 位置:D:\VM\node.js : 其他默认: } 虚拟机就建好了,配置如右图所示. 这里有个问题需要注…
AngularJS + Node.js + MongoDB开发的基于位置的通讯录(by vczero) 一.闲扯 有一天班长说了,同学们希望我开发一个可以共享位置的通讯录,于是自己简单设计了下功能.包括用户角色.发表微博.共享位置等等.这次也是有点私心的,为了锻炼最近看的angularjs,于是果断选择Node.js + MongoDB + angular.js的方案.当然,开发Node.js的体会越来越深刻.记得,去年leader告诉我说尽量让node的每一个服务只支撑一个业务功能,这样才能更…
最近想找一个轻量级且支持快速开发的服务开发平台,选来选去选择了Node.js,当时有几种选择: Python + Django(用过Django,虽然开发快速,但是感觉性能并不太好). Ruby + ROR(不太喜欢Ruby那个end语法,另外ROR做得太多,自己能做的也就少了). Node.js. 既然选择了Node.js,就要搭建开发环境,下面以Ubuntu 14.04为开发平台搭建Node.js的开发环境: 安装Node.js: Ubuntu 14.04自带的Node.js版本太老,且我试…
近期想尝试一下英特尔的基于WebRTC协同通信开发套件,所以须要在本地搭建Node.js Web的开发測试环境. 这里讲的是CentOS 下的搭建方法.使用Windows的小伙伴请參考: <Node.js入门>Windows 7下Node.js Web开发环境搭建笔记 Node.js是什么? 我们看看百科里怎么说的? JavaScript是一种执行在浏览器的脚本,它简单.轻巧.易于编辑,这样的脚本通经常使用于浏览器的前端编程,可是一位开发人员Ryan有一天发现这样的前端式的脚本语言能够执行在s…
3.0获取接口调用凭据 ①接口说明 access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token.开发者需要进行妥善保存.access_token的存储至少要保留512个字符空间.access_token的有效期目前为2h(7200s),需定时刷新,重复获取将导致上次获取的access_token失效. 公众平台的API调用所需的access_token的使用及生成方式说明: 1.为了保密appsecrect,第三方需要一个access_token获取和刷新…
微信开发中,access_token的获取是一种非常常见的功能,通过公众号的appid和appsecret来向微信公众平台请求一个临时通行凭证:access_token.公众平台上的绝大部分操作都会需要这个临时通行凭证的授权,以php为例,access_token的获取方法: <?php define("APPID", $appid); define("APPSECRET", $appsecret); // 获取access_token $token_acce…
上一篇<Senparc.Weixin.MP SDK 微信公众平台开发教程(八):通用接口说明>介绍了如何通过通用接口获取AccessToken,有了AccessToken,我们就可以来操作自定义菜单,以及其他的高级接口,这一篇单讲自定义菜单. 一.自定义菜单规则 自定义菜单分为一级菜单和二级菜单. 一级菜单数量为1-3个,即打开公众账号直接可以看到排列在最下方的最多3个按钮.一级菜单的文字最多不能超过16字节(相当于8个汉字). 二级菜单从属于一级菜单,数量为1-5个.二级菜单的文字不最多不能…
php 微信开发之新增上传/获取下载临时素材 代码 <?php define("AppID","");//你的id define("AppSecret", "");//你的secret /*  上传临时文件 */$a = "0";if($a == "1"){$type = "image";$filepath = dirname(__FILE__)."\…
主要的原因是再不破坏公众号以前的菜单的基础上增加自定义菜单,主要步骤如下: 1.通过微信提供的微信公众平台接口调试工具获取公众号的所有自定义菜单 网址:https://mp.weixin.qq.com/debug/cgi-bin/apiinfo?t=index 图一 结果如下: 图二 需要选择接口类型为定义菜单,然后输入公众号的access_token这个怎么获取请自行百度吧. 2.获取公众号自定义菜单 一般返回的都是json数据,其中主要针对view和click两中类型: 可以参考API文档,…
在开发微信小程序时,有一个消息推送,它的解释是这样的. 消息推送具体的内容是下面的这个网址   https://developers.weixin.qq.com/miniprogram/dev/framework/server-ability/message-push.html,他介绍的也还可以,就是我这里换成了node代码. 消息推送 启用并设置消息推送配置后,用户发给小程序的消息以及开发者需要的事件推送,都将被微信转发至该服务器地址中.   在微信小程序的首页开发里面,开发设置中,微信的官网…
本人也是在学习过程中,所以文章只作为学习笔记,如果能帮到你,那就更好啦~当然也难免会有错误,请不吝指出~ 一.准备工作 1.本人学习教程:慕课网Scott老师的<Node.js七天搞定微信公众号> ,但是有点小贵,经济条件允许的话可以支持一下. 2.文档:微信开发官方文档,必备.https://mp.weixin.qq.com/wiki 3.微信开发测试号:测试公众号,必备.https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/log…
在上一往篇文章<Nodejs微信开发>中,微信后台能够正常的接收到客户端的消息,并能够简单的回复一条消息至客户端. 但我的目录是将微信与Bot Framework进行关联,那么肯定就有一些情况是Bot Framework是有多条消息,或是会回复图片消息的,这个时候只回复一条消息就无法满足我现在的需求了 可以看到在以下代码中,我使用wechat进行微信消息的接收,使用wechat-api对用户进行多次的回复,我就可以解决wechat只能对消息回复一次的问题 简单来说,wechat只负责接收到消息…
一.本节要点 1.消息的加解密 微信加解密包 下载地址:http://qydev.weixin.qq.com/java.zip      ,此包中封装好了AES加解密方法,直接调用方法即可. 其中,解密方法为: //2.获取消息明文:对加密的请求消息进行解密获得明文 WXBizMsgCrypt wxcpt=new WXBizMsgCrypt(WeiXinParamesUtil.token,WeiXinParamesUtil.encodingAESKey,WeiXinParamesUtil.cor…
一.前言 在上一篇文章<微信开发之如何使用开发工具--weixin-java-tools>中我给各位介绍了weixin-java-tools,并且介绍了如何使用weixin-java-tools接入我们微信开发者模式,本次就针对这个工具给大家介绍消息的接收与回复 二.消息接收与回复 先来说说接收消息, 当普通微信用户向公众账号发消息时,微信服务器会先接收到用户发送的消息,然后将用户消息按照指定的XML格式组装好数据,最后POST消息的XML数据包到开发者填写的URL上. 接收到的普通消息的消息…
1.promise.async.await const Koa = require('koa') const app = new Koa() // 应用程序对象 有很多中间件 // 发送HTTP KOA 接收HTTP(使用中间件,中间件实际就是函数) // await: 1.求值关键字,不仅是promise,表达式也可以(100*100) // 2.阻塞当前线程 // async 只要函数前面加了async,返回的值就会被promise包裹 // 注册 app.use(async (ctx, n…
一.本节要点 1.发送消息与被动回复消息 (1)流程不同:发送消息是第三方服务器主动通知微信服务器向用户发消息.而被动回复消息是 用户发送消息之后,微信服务器将消息传递给 第三方服务器,第三方服务器接收到消息后,再对消息做出相应的回复消息. (2)消息是否加密:在发送消息的流程中,对封装好的回复消息(json字符串)是不进行AES加密的. 而在被动回复消息的流程中,第三方服务器接收消息时,需要先解密微信发过来的消息,在最后发送回复消息前,需要先加密(AES)回复消息. (3)数据交换的格式不同:…
源码请见: Java企业微信开发_00_源码及资源汇总贴 一.本节要点 1.发送消息与被动回复消息 (1)流程不同:发送消息是第三方服务器主动通知微信服务器向用户发消息.而被动回复消息是 用户发送消息之后,微信服务器将消息传递给 第三方服务器,第三方服务器接收到消息后,再对消息做出相应的回复消息. (2)消息是否加密:在发送消息的流程中,对封装好的回复消息(json字符串)是不进行AES加密的. 而在被动回复消息的流程中,第三方服务器接收消息时,需要先解密微信发过来的消息,在最后发送回复消息前,…
Node.js是什么 Node.js是一个Javascript运行环境(runtime),发布于2009年5月,由Ryan Dahl开发,实质时对Chrome V8引擎进行了封装 Node.js安装 下载地址: https://nodejs.org/en/ 我们可以根据自己的平台选择安装版本,windows平台安装比较简单,和安装其他软件一样,双击安装包一路根据提示执行下去即可.Linux平台,可参考如下 wget https://nodejs.org/dist/v8.9.4/node-v8.9…
Node.js是什么? 我们看看百科里怎么说的?JavaScript是一种运行在浏览器的脚本,它简单,轻巧,易于编辑,这种脚本通常用于浏览器的前端编程,但是一位开发者Ryan有一天发现这种前端式的脚本语言可以运行在服务器上的时候,一场席卷全球的风暴就开始了.   Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快.易于扩展的网络应用.Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行的数据密集型的实时…
要想用Node.js首先需要知道它到底是什么, 有哪些优缺点. 然后我们才能知道到底 Node.js 适合哪些应用场景. Node.js 维基百科:“Node.js 是谷歌 V8 引擎.libuv平台抽象层 以及主体使用 Javscript 编写的核心库三者集合的一个包装外壳.” Node.js的作者瑞恩·达尔 (Ryan Dahl) 给了开发者一个使用事件驱动来实现异步开发的优秀解决方案. Node.js 的主要思路是:使用非阻塞的,事件驱动的 I/O 操作来保持在处理跨平台 (across…
开发工具安装 1.安装node.js 双击安装程序 node-v8.9.3-x64.msi,进行安装即可 2.设置taobao镜像 npm config set registry https://registry.npm.taobao.org 3.安装webpack npm install webpack -g 4.安装vue-cli npm install -g vue-cli 项目搭建 1.初始化项目 vue init webpack vue_test 2.安装依赖包 npm install…
创建一个hello world: 1.打开一个文本编辑器,在其中输入console.log("hello world"),并保存为hello.js; 注意:输入中文如果编码不是utf-8的话将会出现乱码问题 2.打开dos窗口进入该文件的目录运行node hello.js Node.js命令行工具: 1.node -v:查看版本: 2.node -e:直接运行JavaScript代码: 3.node:直接进入编译模式.第一行是输出值,第二行是返回值.退出编译模式是连续按两次ctrl+c…
  建立一个文件夹 用管理员身份打开powershell. 在文件夹下面运行npm init, 根据提示填入信息,以便产生一个package.json文件. 在文件中加入需要的dependencies,例如: { "name": "docker_web_app", "version": "1.0.0", "description": "Node.js on Docker", "…