使用微信开发前准备

  • 微信公众开发者平台
  • 注册开发者账号获取权限;
  • 安装包: wechat, wechat-oauth

微信公众平台操作

nodejs常用的wechat包

  • node-wechat, 基本的功能操; token需要手动获得
  • wechat-api, 较多的功能操作,包括获取js-sdk操作需要的配置参数; token会自动获得并缓存
  • wechat-oauth, OAuth授权操作; token和AccessToken都会自动获得并缓存

实际网页授权获操作

  • 产生的链接结构
//例子

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxf0e81c3bee622d60&redirect_uri=http%3A%2F%2Fnba.bluewebgame.com%2Foauth_response.php&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect
  • 首先在测试页面的网页账号中填写域名,注意格式;

  • 在后端route中填写token

module.exports = (app)->
router = app.loopback.Router()
wechat = require 'wechat' router.get '/', wechat('abs', (req, res, next)-> next())
router.post '/', wechat('abs', (req, res, next)-> next()) return router
  • 最后在在测试账号的配置接口信息填写域名和token

  • 注意要在关注该测试账号的的账号中才能调用获取其用户信息

使用promise

  • 例子
var time = function(value) {
new Promise(resolve, reject) {
if(..) {
resolve(value)
} else {
reject(value)
}
}
} time('valuie')
.then(function(){
...
}, function(){
....
})
  • 在nodejs中使用: Promise = require 'bluebird'

远程服务器部署

关于证书权限

  • 角色: root, group, other
  • 权限: r:4, w:2, x:1
  • 修改权限,如给root只读权限,其它角色不给权限: chomd 400 <证书路径>

连接远程服务器

  • ssh -i <证书路径> [用户名/密码]@域名

载入github上的项目

  • 使用https开头的连接
  • 进入项目,安装依赖包

使用pm2

  • 如果上面的连接方式时需要密码的,则可以用strongloop的pm;
  • 安装全局pm2包
  • 显示项目信息: sudo pm2 ls/list
  • 停止项目: sudo pm2 stop <app_name/id>
  • 重新启动项目: sudo pm2 restart<app_name/id>
  • 打印日志: sudo pm2 logs
  • 删除项目: sudo pm2 delete <app_name/id>

pm2生成自动重启项目的脚本

$ pm2 startup
# auto-detect platform
$ pm2 startup [platform]
# render startup-script for a specific platform, the [platform] could be one of:
# ubuntu|centos|redhat|gentoo|systemd|darwin|amazon

linux下的一般操作

  • 路径操作: cd <file_path>; cd ../
  • 删除文件夹:rm -rf example
  • 显示进程:
    • 显示当前所有进程:ps aux
    • 显示并抓取特定的进程: ps aux | grep node/mongod //最左边的为进程id
    • 显示ps的帮助信息: man ps
  • 消灭进程: kill
  • 查看端口: netstat -anpnetstat -anp
  • 查看网络服务: curl http://localhost:3000

安装mongodb

  • 为了方便,可以将db建立在项目当中
  • 建立: mkdir -p data/db
  • 运行: mongod --dbpath ./data/db / service mongod start --dbpath data/db

运行的程序

  • 隐藏到后台ctrl z
  • 显示后台运行程序: bg
  • 打开后台运行程序: fg <job_id> //如果没有加id,默认打开最近的

使用远程服务器

  • 在项目中的datasources.json文件中配置远程数据库的host,port进行修改
  • 远程数据库要创建账户,并且在datasources.json文件中进行配置

导出mongodb数据

  • 例子mongoexport -d development -c user -o users.json

    mongoexport -d development -c user --csv -f id, nickname -o users.csv

mongodb的可视化工作推荐

运行项目

  • sudo PORT=80 pm2 start <server路径> //这里pm2其实相当于npm ; 发布的时候添加 NODE_ENV=production

查询远程服务器的id:ping <域名>

在linux上的常见安装:

ssh远程登录

  • 有证书的情况下:ssh -i xxx.pem username@example.com
  • 没有证书: ssh username@xx.xx -p xxx

远程服务器拷贝文件到本地

  • scp -P 端口 username@XX.XX:[/home/....] [./]

退出远程服务器

  • exit

简易的压力测试

  • ab -n 1000 -c 10 http://localhost:3000/

    • n 总共发送请求数;

      *c 并发数;

使用mocha测试

  • mocha --compilers js:babel/register : 在babel模式下测试,默认查找test文件夹,注意此时全局不要安装babel;
  • ./node_modules/.bin/mocha --compilers js:babel/register;

loopback 03的更多相关文章

  1. Davinci DM6446开发攻略-UBOOT-2009.03移植2 nand flash的烧写

      很长一段时间没有更新博客了,是因为要推出新开发方案和做好客户服务工作,忙得不易乐乎.有关DAVINCI U-BOOT的移植,以前写过一篇u-boot-1.3.4(2008年的),其实和这个u-bo ...

  2. Docker系列03—Docker 基础入门

    本文收录在容器技术学习系列文章总目录 1.概念介绍 1.1 容器 1.1.1 介绍 容纳其它物品的工具,可以部分或完全封闭,被用于容纳.储存.运输物品.物体可以被放置在容器中,而容器则可以保护内容物. ...

  3. linux(03)基础系统优化

    Linux之基础系统优化 Linux基础系统优化 >>> https://www.cnblogs.com/pyyu/p/9355477.html Linux的网络功能相当强悍,一时之 ...

  4. Android游戏开发实践(1)之NDK与JNI开发03

    Android游戏开发实践(1)之NDK与JNI开发03 前面已经分享了两篇有关Android平台NDK与JNI开发相关的内容.以下列举前面两篇的链接地址,感兴趣的可以再回顾下.那么,这篇继续这个小专 ...

  5. Java多线程系列--“JUC锁”03之 公平锁(一)

    概要 本章对“公平锁”的获取锁机制进行介绍(本文的公平锁指的是互斥锁的公平锁),内容包括:基本概念ReentrantLock数据结构参考代码获取公平锁(基于JDK1.7.0_40)一. tryAcqu ...

  6. iOS系列 基础篇 03 探究应用生命周期

    iOS系列 基础篇 03 探究应用生命周期 目录: 1. 非运行状态 - 应用启动场景 2. 点击Home键 - 应用退出场景 3. 挂起重新运行场景 4. 内存清除 - 应用终止场景 5. 结尾 本 ...

  7. javaSE基础03

    javaSE基础03 生活中常见的进制:十进制(0-9).星期(七进制(0-6)).时间(十二进制(0-11)).二十四进制(0-23) 进制之间的转换: 十进制转为二进制: 将十进制除以2,直到商为 ...

  8. UML大战需求分析——阅读笔记03

    读<UML大战需求分析>有感03 状态机图和活动图在样子比较相似,但状态机图是用来为对象的状态及造成状态改变的事件建模.我们大二学习UML统一建模语言状态机图模块时了解到,UML的状态机图 ...

  9. 2016-1-28 图解HTTP(03)

    6.2.5 非HTTP/1.1首部字段        不限于RFC2616中定义的47种首部字段,还有Cookie.Set-Cookie和Content-Disposition等在其他RFC中首部字段 ...

随机推荐

  1. filter 简介

    概述 filter() 方法使用指定的函数测试所有元素,并创建一个包含所有通过测试的元素的新数组. 语法 var new_arrary = arr.filter(callback[, thisArg] ...

  2. webclient 和httpclient 应用

    //webclient应用 MyImageServerEntities db = new MyImageServerEntities(); public ActionResult Index() { ...

  3. java课后作业7

    9.页实验 下列语句哪一个将引起编译错误?为什么?哪一个会引起运行时错误?为什么? m=d; d=m; d=(Dog)m; d=c; c=(Cat)m; 答: d=m;和d=c;引起编译错误: 原因: ...

  4. ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(三) 之 实现单聊,群聊,发送图片,文件。

    上篇讲解了如何搭建聊天服务器,以及客户端js怎么和layui的语法配合.服务器已经连接上了,那么聊天还会远吗? 进入正题,正如上一篇提到的我们用 Client.Group(groupId)的方法向客户 ...

  5. 分享类shareSDK

    1.新浪微博分享时需要注意: [A] 应用信息->基本信息->应用地址 [B] 应用信息->高级信息->OAuth2.0 授权设置 //当使用新浪微博客户端分享的时候需要按照下 ...

  6. C++面试之GetMemory问题

    http://blog.csdn.net/zhuxiaoyang2000/article/details/8084629 #include <iostream> #include < ...

  7. loadrunner支持https协议的操作方法-经验总结

    问题:用户portal支持https协议,用loadrunner录制登陆脚本时发现未录制到用户名和密码 录制到的脚本如下: login() { lr_think_time(10); web_url(& ...

  8. Maven+druid+MyBatis+Spring+Oracle+Dubbo开发环境搭建

    1.开发工具使用: MyEclipse或Eclipse,数据库使用Oracle.需要用到的软件有Zookeeper(注册中心),Tomcat(Web容器)和Maven(包管理). 2.初始环境配置: ...

  9. jquery文件上传控件 Uploadify 问题记录

    Uploadify v3.2.1 首先引用下面的文件 <!--上传控件 uploadify--> <script type="text/javascript" s ...

  10. PHP获取远程图片并调整图像大小(转)

    <?php /** * *函数:调整图片尺寸或生成缩略图 *修改:2013-2-15 *返回:True/False *参数: * $Image 需要调整的图片(含路径) * $Dw=450 调整 ...