const ethSC = require('./SmartContract.js');
// callSC.callSmartContract(1);
// add a more frindly version to desolve POST data
const Koa = require('koa');
const app = new Koa();
const route = require('koa-route');
const BodyParser = require('koa-bodyparser');
const bodyParser = new BodyParser();
//对于POST请求的处理,用koa-bodyParser获取json封装参数的方法
var invoke = async (ctx,next) => {
// 当POST请求的时候,解析POST表单里的数据,以JSON格式并显示出来
let postData = ctx.request.body;
let opt = parseInt(postData['option']);
console.log("this is option data %d",opt);
ethSC.callSmartContract(opt);
ctx.response.redirect('/complete.html');
};
var mainPage = function(ctx) {
ctx.response.type="html";
ctx.response.body= `
<h1>Callling Smart Contract demo</h1>
<form method="POST" action="/">
<p>There are 3 options to choose: 1, 2, 3 </p>
<input type="text" name="option" /><br/>
<input type="submit",value="submit"/>
</form>
`
}
var complete = function(ctx){
ctx.response.type="html";
ctx.response.body= `
<h1>Finished!</h1>
`
};
// app.use(route.post("/",opt(3)));
//app.use(route.get('/3'),invoke(3));
app.use(bodyParser);
app.use(route.get('/', mainPage));
app.use(route.post('/',invoke));
app.use(route.get('/complete.html',complete));
app.listen(3100);