node.js 调用 wechat 开发微信公众号自定义接口及中间件简介

上一次给公众号做自定义接口已经是很久以前的事了.....以至于今天发现那个公众号的接口已经不能服务了.访问公众号直接给出提示"该公众号暂时无法提供服务,请稍后再试"我想难道是年久失修? 也不应该啊,这么牛x的公司绝对不会修改api,或者是更新api不兼容之类的.....看来问题还是出在我这边.我甚至忘记了公众号登录密码.进去后复制接口链接地址到浏览器地址栏,发现是可以访问的,那么问题出在哪里?难道腾讯知道我好久没有维护此号了.所以暂时不提供服务了,想想以前网易邮箱经常被冻结,我竟然真的以为是这样的了.所以:我尝试前后到编辑模式,然后再切换回来,依然不提供服务...我试图改了

promise规范 让 javascript 中的异步调用更加人性化

Promise是commonjs规范中的内容.现已经纳入了ES6,并且高版本的chrome、firefox浏览器都已经原生实现了Promise,只不过和现如今流行的类Promise类库相比少些API.这里说的是指Promise/A+ 规范.Promose 主要用于异步调用规范,它有三种状态, 等待(pending)、已完成(fulfilled)、已拒绝(rejected)等待 --> 已完成 / 等待 --> 已拒绝 但是已完成和已拒绝状态不可能互相转化.为什么要出现 Promose 规范:一直以来,对于javascript的异步回调,我们祖祖辈辈都是用callback方式 (貌似

javascript 中构造函数的私有变量在原型链定义函数可以共用

此篇博文其实是上一篇的一个小细节,单独拿出来说一下,否则上一篇叉开的分支太多,太乱.因为上一篇和大家分享了node.js 中使用util.inherits实现继承 我们单独给出一个小demo ,_base.js 父类继承了 events.EventEmitter 类.varevents=require('events'); varutil=require('util'); function_base(){ this.emitter=newevents.EventEmitter(this); }; util.inherits(_base,events.Even

node.js 下使用 util.inherits 来实现继承

上一篇博客说到了node.js继承events类实现事件发射和事件绑定函数,其中我们实现了一个公用基类 _base ,然后在模型中差异化的定义了各种业务需要的模型并继承 _base 公共基类.但是其中的继承是一笔带过,今天详细的说下node.js中继承.varevents=require('events'); varutil=require('util'); function_base(){ this.emitter=newevents.EventEmitter(this); }; util.inherits(_base,events.EventEmitte

node.js 如何继承 events 自定义事件及触发函数

events 是node.js的核心api ,几乎大部分node.js 的api都继承 events 类(javascript中没有类,也不存在继承,确切说是模拟类和继承,点击查看)比如我们常见的 http , stream ,fs .....等等.因为node.js的实现就是异步非阻塞io,通过事件轮询触发异步回调的机制,在单线程运行模式下,合理应用服务器资源才是制胜法宝,正是因为事件轮询才使得异步IO在高并发处理下游刃有余,所以大部分的包去继承 events 似乎合情合理.下面我们可以看一个常见的事件处理,但是我们用的时候似乎并没有当回事:varreq=http.request(param

angular 系列十 使用 bootstrap 快速创建博客模板

angular.js 系列不会断,但是中间会乱七八糟的插入一些知识点,距离上次的系列九已经太遥远.上次把路由映射模板,模板指定控制器简单演示了一下.今天我们其实就是把模板用bootstrap页面套一下,让它华丽转身.源码就不贴了,回头会吧 github的开源地址贴上.控制台 gulp 启动 ,自动装载blog/list 模板.blog/list 路由首先装载了 母版页 blog_layout.html (你看到的页头和页面右侧部分)最左侧对应一个ui-view="container" 装载 blog_list.html 模板 (你看到的左下侧部分)

javascript 中 实例,构造函数和原型对象的区别

前天写了一篇关于匿名函数的原型链和集成的文章(点击链接查看),里面蜻蜓点水式的把实例,原型对象和构造函数带过去了.这种抽象的东西不是很好记忆,我们通过一个示例来说明可能更好了解.functionPerson(name){ this.name=name; }在javascript中,你可以把上面的代码看做一个函数,一个类,一个方法,都没有问题.但是你又能看到其他静态语言的一些身影, 比如: this.name=name; 这是标准的初始化内部属性/变量的语句,第一反应这应该是构造函数.其实,在javascript中,任何一个函数你都可以把它看做是构造函数,它没有明显的特征.那什么时候它就明显了呢

node.js express 路由小功能 - 图片防盗链

小功能: node.js web服务器的图片防盗链原理:http 请求包括 (请求头 header + 请求体 body )请求头里面有一个属性:referer 此属性可以标识你所请求的资源来自哪里.简单讲就是,我是网站 A ,当我去请求任何网络资源的时候, referer 属性都会标识我是 A ( header.referer=A )因为我被标识了A ,如果我去B网站上获取资源 (视频,图片,文档.....)时,B 网站就可以检查一下请求头里的 referer 属性. 如果不是来自本身( B 网站 ) 那么就可以拒绝返回,或者返回替换后的资源 (比如一张警告提示图片....)实现: //图片

javascript 下 匿名函数到底有没有原型链,是否能继承?

javascript中函数成为一等公民后,导致很多其他语言函数所没有的功能,也正是这些特性让javascript更加灵活.函数可以是一个变量,可以是一个参数,可以是一个返回值,可以是一个类,可以是一个方法.....够灵活吧.其中高阶函数是javascript中闭包的实现基础,而闭包又是javascript高度灵活的体现.今天和大家分享的是一种特殊的函数,匿名函数.如其名一样,就是没有名字的函数,这种匿名函数用到的地方很多,比如jquery 的大部分实现都用了匿名函数.为什么要这样用? 因为javascript语言本身的缺陷使得它是一门没有私有作用域的语言,它不像一些高级语言一样,有命名空间或者

node.js 调试工具 node-inspector 简要说明

我们在接触客户端javascript的时候,调试利器就是firebug ,也是当年为何喜欢用上firefox 浏览器的主要动力,当然,后来 chrome 插件里也出现了firebug的身影.....但是服务器端开发语言node.js 一直以来调试不是特别方便,可能是之前被 virtual studio惯坏了,这种用 console.log() 去打印变量甚至回调数据实在是太蹩脚.当然,有一款很强大的IDE ,webstrom对node.js提供了最全面的支持,也可以轻松配置来实现调试,下回有必要和大家分享一次.今天要分享的是关于node-inspector 下调试node.js程序.第一步:n

node.js 一个路由2次 request

node.js 和其他服务器端编程语言有很大区别,语言上的特性优点已经在前面分享过,这里就不说了.与其他语言相比,还有一个区别,node.js 自身实现了一个服务器,而其他服务器端语言大部分要依赖Apach ,nginx ,IIS 等.node.js 可以用几句代码轻松实现:varhttp=require('http'); var webServer = function (req, res){  res.writeHead(200, {'Content-Type': 'text/html;charset=utf-8'});  res.write('<html>&l

angular.js 下如何动态插入删除dom节点

angular.js 是新一代web开发框架,它轻松在web前端实现了MVC模式,相比 jquery 模式,这种新玩意竟然不需要开发者直接去操作dom .作为前端开发而不去操作dom ,这简直是一个玩笑! 没错,确实是这样的.关于 angular.js 的详细说明及事例请在博客搜索 angular.js既然上面提到 angular.js 下无需用户直接操作dom ,而是在编译间断 dom 与 控制层model 实现了双向绑定,一方做出改变,另一方就会立即改变,那问题来了,我想插入一个文本框和按钮,并且文本框里数据要和控制层一个属性绑定,按钮要实现 ng-click 事件,如何做?传统实现方法,

那些曾经被我们误解的异步IO

又有一周没有写博客了,这样下去会变成荒地的,所以在睡觉之前必须要发一篇,本想把angular.js 系列接下去.....但是最近的 angular.js 用到快吐血,暂时不想再提,上手是熟练了,但是感觉长进不大,项目催的太急,空闲的时间少之又少,就连这篇博客都是从看电影的时间里抽出来的,我又堕落了,阿门!熟悉 node.js 的朋友应该不陌生它身上牛逼闪闪的几个"大字" ,什么 '单线程' , '非阻塞' ,' 异步IO' ,'事件轮询' ,'高并发' 等等.......确实很牛,但是最近我发现

一个方法让node.js 自动加载某个目录的代码(省去require引用)

在写node.js引用的时候,常常面临下面的一个困扰...不论是数据层,逻辑层,添加一个js文件或者暴露一个方法,当你想用的时候,在目标页必须 request 此文件才能使用被暴露的方法.我们是不是可以写一个方法,自动加载某个指定文件夹下的js文件呢?答案是肯定的.这样的好处:我只需要引用这个装载文件后(自动加载目录js 的代码文件) 以后随便你添加方法或者文件,都不影响之前的代码,从而就可以直接使用,是不是很爽....下面来完成这个一劳永逸的代码文件.varfs=require('fs'); var path = __dirname; var self = __filenam

如何从数据组里查找一个元素所在的位置

如何从数据组里查找一个元素所在的位置有2种应用场景:一:把一个新元素插入到指定数组 (数组元素按序排列)二:找出数组是否包含某个元素,找到他的位置第一种情况必须要求元素是按序排列的,否则我们无法给预定元素找到它的位置.vara=[1000,2000,2018,2909,3000,4000,4210,4390,5000]; varb=4500;思路:假设数组元素升序排列我们只需要找到第一个大于插入值的元素即可,目标元素就在此元素前一个位置.方法:遍历元素,找到第一个大于或者等于插入值的元素位置.下面实现了一个通用的遍历数组元素比较方法functioncommonFind(arr,aim){ va

新年新气象!

每逢佳节胖三斤,今年也不例外,北漂以来第一次全家人在北京一起过了一个热闹年.所以11天的长假转瞬即逝,能数出来的大概只有吃,玩,睡.更别提博客了.开年后陆续忙起来,但是始终没有写一篇blog的打算,因为一个假期感觉之前的计划全部乱了.也不知道该写些什么东西.趁着两会带来的蓝天,好好呼吸清新空气.

回到顶部