diff --git a/src/plugins/apiauth.ts b/src/plugins/apiauth.ts index 8f04018..90c45cb 100644 --- a/src/plugins/apiauth.ts +++ b/src/plugins/apiauth.ts @@ -31,6 +31,16 @@ const apiAuthPlugin: FastifyPluginAsync = async function (fastif }) // 只有路由配置的role为anon才不需要过滤 fastify.decorate('apiAuth', async function (request: FastifyRequest, reply: FastifyReply) { + let activity = new ReadOnlyCache().getData(ACTIVITY_NAME) + if (!activity) { + activity = await ActivityInfo.findById(ACTIVITY_NAME) + if (activity) { + new ReadOnlyCache().setData(ACTIVITY_NAME, activity) + } + } + if (activity) { + request.activity = activity + } if (!request.roles || request.roles.indexOf(ROLE_ANON) == -1 || request.token) { try { if (!request.token) { @@ -46,16 +56,6 @@ const apiAuthPlugin: FastifyPluginAsync = async function (fastif return reply.send({ errcode: 10, errmsg: 'need login' }) } request.user = account - let activity = new ReadOnlyCache().getData(ACTIVITY_NAME) - if (!activity) { - activity = await ActivityInfo.findById(ACTIVITY_NAME) - if (activity) { - new ReadOnlyCache().setData(ACTIVITY_NAME, activity) - } - } - if (activity) { - request.activity = activity - } } catch (err) { return reply.send({ errcode: 401, errmsg: 'need auth' }) }