1 Star 0 Fork 0

liuyidana/WeiXinstudy

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
app.js 2.39 KB
一键复制 编辑 原始数据 按行查看 历史
liuyidana 提交于 2021-11-21 10:06 . --
'use strict'
process.chdir(__dirname)
const titbit=require('titbit')
const fs=require('fs');
try{
fs.accessSync('./images')
}catch(err){
fs.mkdirSync('./images')
}
let cert_path='/usr/local/share'
const app=new titbit({
//开启调试模式,若有错误会输出错误信息
debug:true,
cert:'${cert_path}/api.yidan.work.pem',
key:'${cert_path}/api.yidan.work.key'
})
//添加路由
app.get('/',async c=>{
c.send('ok')
})
//获取具体内容
app.get('/content/:id',async c=>{
let sqltext='SELECT*FROM content WHERE id=$1'
let r=await pqsl.query(sqltext,[c.param.id])
if(r.rowCount===0){
return c.status(404).send('content not found')
}
c.send(r.rows[0])
})
/**---------------------content路由-------------*/
//获取内容列表
app.get('/content',async c=>{
let ret =await psql.query('select * from content')
})
//创建内容
app.post('/content',async c=>{
try{
let data =JSON.parse(c.body)
let sqltext='INSERT INTO'
+'content(id,add_time,detail,title,updata_time)'
+'VAlues($1,$2,$3,$4,$5)'
//生成唯一ID
let id=c.helper.makeID()
let tm =Date.now()
let r=await psql.query(sqltext,[
id,tm,data.detail,data.title,tm
])
if(r.rowCount===0){
return c.status(500).send('failed')
}
c.send(id)
} catch(err){
c.status(400).send('it is not json data')
}
})
app.get('/upload',async c=>{
//c.reply是响应对象,可写的流,
//在HTTP/1.1中指向response,在HTTP/2中指向http2stream
await c.helper.pipe('./upload.html',c.reply)
})
app.post('/upload',async c=>{
//获取name获取文件对象
let f=c.getFile('image');
if(!f){
return c.status(400).send('image not found')
}
//根据传入的原始文件生成唯一文件名,主要使用f.filename的扩张名
let fname=c.helper.makename(f.filename)
//移动文件到指定位置
await c.moveFile(f,'./images/${fname}')
c.send(fname)
})
//返回图片数据
app.get('./image/:name',async c=>{
//c.param是一个对象,其中的key值是路由参数的名称
let imgname=c.param.name;
await c.helper.pipe('./images/${imgname}',c.reply)
})
//运行在1234端口
app.run(1234);
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/liuyidana/wei-xinstudy.git
git@gitee.com:liuyidana/wei-xinstudy.git
liuyidana
wei-xinstudy
WeiXinstudy
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385