Files
score-backend/main.ts
ethan.chen e511ab9db6 feat: enhance deployment process and server configuration
- Updated `deno.json` to allow environment variable access in the start task.
- Added `deploy.sh` script for building and deploying the application to a remote server.
- Modified `main.ts` to retrieve the `AUTH_SECRET` and `PORT` from environment variables.
- Created `my-score.service` for managing the Deno service with systemd.
- Cleaned up `user.ts` by removing unnecessary console logs.
2025-06-19 16:28:50 +08:00

47 lines
1.0 KiB
TypeScript

/*
* @Date: 2025-06-02 19:52:12
* @LastEditors: 陈子健
* @LastEditTime: 2025-06-18 14:28:41
* @FilePath: /my-score/honoback/main.ts
*/
import { Hono } from 'hono'
import { jwt } from 'hono/jwt'
import type { JwtVariables } from 'hono/jwt'
import user from './routes/user.ts'
import media from './routes/media.ts'
const app = new Hono<{ Variables: JwtVariables }>()
const AUTH_SECRET = Deno.env.get('AUTH_SECRET') || 'it-is-a-secret'
// 添加请求日志中间件
app.use('*', async (c, next) => {
console.log(`${c.req.method} ${c.req.url}`)
await next()
})
// 注册用户路由
app.route('/api/user', user)
// 注册媒体路由
app.route('/api/media', media)
// 需要认证的路由
app.use('/api/test/*', jwt({
secret: AUTH_SECRET,
}))
// 添加404处理
app.notFound((c) => {
return c.json({ code: 404, message: 'Not Found' }, 404)
})
// 获取端口配置
const port = parseInt(Deno.env.get('PORT') || '8000')
// 启动服务器
if (import.meta.main) {
Deno.serve({ port }, app.fetch)
console.log(`Server running on port ${port}`)
}