app.js 1.84 KB
'use strict';

const path = require('path');
const express = require('express');
const hbs = require('express-handlebars');
const config = require('./config/config');
const yohoLib = require('yoho-node-lib');

// set root path
global.ROOT_PATH = path.join(__dirname, '');

// 全局注册library
yohoLib.global(config);
global.yoho.redis = require('./libs/redis');
const logger = global.yoho.logger;
const app = express();
const seo = require('./apps/seo');
const cseo = require('./apps/controllers/seo/index');
const baiduXzh = require('./apps/controllers/seo/xzh');

// hbs-set
app.engine('hbs', hbs({
    extname: '.hbs',
    defaultLayout: 'layout',
    layoutsDir: path.join(__dirname, 'hbs'),
    partialsDir: path.join(__dirname, 'hbs/partials'),
    views: path.join(__dirname, 'apps/views')
}));

// set-express-view
app.set('views', path.join(__dirname, 'apps/views'));
app.set('view engine', 'hbs');

// 设置public文件夹为存放静态文件的目录
app.use('/xml-data/goods-xml', express.static(path.join(__dirname, './public/dist/goods-xml/')));

// 添加请求上下文
app.use(global.yoho.httpCtx());

app.get('/xml-data/goods-:start.xml', cseo.index);
app.get('/xml-data/auto-goods.html', cseo.autoGoodsXml);
app.get('/xml-data/goods/sitemap.xml', cseo.siteMapXml);
app.get('/xml-data/demo.xml', cseo.demoXml);
app.get('/xml-data/demo.xsd', cseo.demoXsd);

app.get('/setTask', cseo.setTask);
app.get('/delTask', cseo.delTask);

// 百度熊掌号
app.get('/xzh', baiduXzh.index);
app.get('/xzh/history', baiduXzh.history);

// 定时任务 主动推送和生成xml
seo.start();

// seo.sendKeywordsUrls();
app.get('/synchronousKeywords', seo.synchronousKeywords);
app.get('/sendKeywordsUrls', seo.sendKeywordsUrls);
app.get('/sendUrls', seo.sendUrls);

app.listen(config.port, function() {
    logger.info(`yoho seo start : http://127.0.0.1:${config.port}`);
});