koa2 web开发疑惑求指点

自己摸索着用koa2做web开发,现在发现前台想要请求数据走不通了,想问问哪里做法不合理?

├── controllers
│   └── page.js
├── models
│   └── pageModel.js
├── public
├── routes
│   └── index.js
├── views
│   └── page.ejs
└── app.js

/controllers/page.js

const config = require('../config')
const frontListNewsCenterModel = require('../models/frontListNewsCenter')

module.exports = async (ctx, next) => {
    const { companyNews, industryNews } = await frontListNewsCenterModel(ctx);
    console.log( companyNews )

    await ctx.render('frontListNewsCenter', {
        header: {
            title: '新闻中心',
            javascript: config.javascript.concat('/js/jqpaginator.min.js', '/js/frontListNewsCenter.js'),
            style: config.style.concat('/css/frontListNewsCenter.css'),
        },
        newBanner: {
            imgSrc: '/images/newsbannenr.png',
        },
        tabNav: {
            items: [{
                cn: '公司新闻',
                en: 'Company news',
            }, {
                cn: '行业咨询',
                en: 'Industry information',
            }],
        },
        companyNews: companyNews,
        industryNews: industryNews,
    })
}

/models/pageModel.js

const { getCompanyNewsList, getIndustryInfoList } = require('../config').service
const axios = require('axios')

module.exports = async (ctx, next) => {
    const page = ctx.query.page || '1'    // page
    const size = ctx.query.size || '10'   // size
    const role = ctx.query.role || 'news' // role

    let companyNews = []
    let industryNews = []

    if (role === 'news') {
        companyNews = await axios.get(getCompanyNewsList, {
            params: {
                page: page,
                size: size
            }
        })

        if (companyNews.data.code === '2000') {
            companyNews = companyNews.data.obj
        }
    }

    if (role === 'industry') {
        industryNews = await axios.get(getIndustryInfoList, {
            params: {
                page: page,
                size: size
            }
        })

        if (industryNews.data.code === '2000') {
            industryNews = industryNews.data.obj
        }
    }

    return {
        companyNews,
        industryNews,
    }
}
阅读 1.8k
2 个回答
不过项目已经提供接口了

后台已经提供接口了,那前端直接请求就可以了,你加了层koa是想达到怎么样的需求?

是哪里走不通

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题