import https = require("https");
import express = require("express");
import bodyParser = require('body-parser');
import request = require("request");
let app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded());
app.get("/", (req, res) => {
res.end("home")
})
app.post('/callback',function(request,response){
console.log(request.body.code) //you will get your data in this as object.
console.log(request.body.state) //you will get your data in this as object.
response.end("ok")
})
app.listen(3000);
//1.get code
//https://notify-bot.line.me/oauth/authorize?client_id=...&response_type=code&redirect_uri=https://030b4fae.ngrok.io/callback&scope=notify&state=good&response_mode=form_post
//
//2.get access tokken
// var formData = {
// grant_type : "authorization_code",
// code : "...",
// redirect_uri : "https://030b4fae.ngrok.io/callback",
// client_id : "....",
// client_secret : "..."
// }
// request.post({
// url:"https://notify-bot.line.me/oauth/token",
// formData : formData
// },
// (err, httpResponse, body)=>{
// // console.log(err);
// // console.log(httpResponse);
// console.log(body);
// });
3. send message
request.post({
url:"https://notify-api.line.me/api/notify",
headers : {
"Content-Type":"application/x-www-form-urlencoded",
"Authorization" : "Bearer ..."
},
formData: {
message :"Hello Bady"
}
},
(err, httpResponse, body)=>{
console.log(body);
}
https://notify-bot.line.me/my/services/
2016年11月17日 星期四
2016年11月6日 星期日
typescript 定義
export interface Context {
path: string;
}
export interface Params {
[key: string]: string;
}
export interface ActionContext extends Context {
params: Params;
}
export interface AA {
ctx: ActionContext & C
// actionContext 的 params 必需有傳入的C的資結結構
}
ex:
var c:ActionContext = {
path:"1",
params : {
a:"b"
}
};
var aa:AA<{path:string}> =
{
ctx:c
}
path: string;
}
export interface Params {
[key: string]: string;
}
export interface ActionContext extends Context {
params: Params;
}
export interface AA
ctx: ActionContext & C
// actionContext 的 params 必需有傳入的C的資結結構
}
ex:
var c:ActionContext = {
path:"1",
params : {
a:"b"
}
};
var aa:AA<{path:string}> =
{
ctx:c
}
2016年11月2日 星期三
typescript ssr 心得
"dev": "tsc -w & NODE_ENV=develop nodemon static/server/index.js",
原本為了實現ssr 所以在 /server/index.js有用webpack hot reload,不過發現 client 和 server 改值,不會連動,乾脆直接
"dev" : "tsc -w & webpack --watch & nodemon static/server/index.js",
將webpack hot reload直接拿掉
直接webpack --watch
訂閱:
文章 (Atom)