新增微信登录/注册合一接口、资料完善接口和token刷新接口 重构用户服务层,支持自动维护用户类型和资料完整度 引入JWT认证中间件和请求验证中间件 更新文档与测试用例,支持dist构建部署
39 lines
1.0 KiB
JavaScript
39 lines
1.0 KiB
JavaScript
const express = require('express')
|
|
const env = require('./config/env')
|
|
const { fail } = require('./utils/response')
|
|
const requestLogger = require('./middlewares/requestLogger')
|
|
const errorHandler = require('./middlewares/errorHandler')
|
|
const apiRoutes = require('./routes/apiRoutes')
|
|
|
|
function createApp() {
|
|
const app = express()
|
|
|
|
app.use(express.json({ limit: '1mb' }))
|
|
app.use(requestLogger)
|
|
|
|
app.use(env.apiPrefix, apiRoutes)
|
|
|
|
app.use((req, res) => {
|
|
return fail(res, 404, 'Route not found', {
|
|
path: req.path,
|
|
})
|
|
})
|
|
|
|
app.use(errorHandler)
|
|
|
|
return app
|
|
}
|
|
|
|
if (require.main === module) {
|
|
const app = createApp()
|
|
app.listen(env.port, () => {
|
|
console.log(`Server running on port ${env.port}`)
|
|
console.log(`Public base URL: ${env.appBaseUrl}`)
|
|
console.log(`Test endpoint: ${env.appBaseUrl}${env.apiPrefix}/test-helloworld`)
|
|
console.log(`Health check: ${env.appBaseUrl}${env.apiPrefix}/health`)
|
|
})
|
|
}
|
|
|
|
module.exports = {
|
|
createApp,
|
|
} |