| 12345678910111213141516171819202122232425262728293031323334 | 'use strict';module.exports = (options, app) => {    /**     * session判断中间件     *     * @param {function} next - 中间件继续执行的方法     * @return {void}     */    return async function wechatAuth(ctx, next) {        try {            // 判断session            if (!ctx.session.wechatToken && ctx.query.code) {                const token = await ctx.app.wechat.oauth.getAccessToken(ctx.query.code);                ctx.session.wechatToken = token.data;            }            const wechatToken = ctx.session.wechatToken;            if (!wechatToken) {                ctx.redirect('/wx/oauth?redirect_uri=' + encodeURIComponent(ctx.protocol + '://' + ctx.host + ctx.request.url));                return;            }            // 同步系统维护信息            await ctx.service.maintain.syncMaintainData();            if (ctx.session === null) {                throw '系统维护中~';            }        } catch (error) {            console.log(error);            ctx.body = error;            return;        }        await next();    };};
 |