|
@@ -5,13 +5,10 @@ const Promise = require('bluebird'); |
|
@@ -5,13 +5,10 @@ const Promise = require('bluebird'); |
5
|
const _ = require('lodash');
|
5
|
const _ = require('lodash');
|
6
|
const sm = require('sitemap');
|
6
|
const sm = require('sitemap');
|
7
|
const staticUrls = require('../../../config/staticUrls');
|
7
|
const staticUrls = require('../../../config/staticUrls');
|
8
|
-const api = global.yoho.API;
|
|
|
9
|
-const Service = global.yoho.ServiceAPI;
|
|
|
10
|
const headerModel = require('../../../doraemon/models/header');
|
8
|
const headerModel = require('../../../doraemon/models/header');
|
11
|
const siteMapService = require('../models/site-map-service');
|
9
|
const siteMapService = require('../models/site-map-service');
|
12
|
const redis = global.yoho.redis;
|
10
|
const redis = global.yoho.redis;
|
13
|
|
11
|
|
14
|
-
|
|
|
15
|
const getStaticUrls = (currentStatics) => {
|
12
|
const getStaticUrls = (currentStatics) => {
|
16
|
let urls = [];
|
13
|
let urls = [];
|
17
|
|
14
|
|
|
@@ -57,10 +54,10 @@ const keywordsPage = (page) => { |
|
@@ -57,10 +54,10 @@ const keywordsPage = (page) => { |
57
|
};
|
54
|
};
|
58
|
|
55
|
|
59
|
// 逛详情
|
56
|
// 逛详情
|
60
|
-const getArticleUrls = () => {
|
57
|
+const getArticleUrls = (req) => {
|
61
|
let urls = [];
|
58
|
let urls = [];
|
62
|
|
59
|
|
63
|
- return Service.get('/guang/api/v2/article/getLastArticleList', {limit: 1000}, {cache: 86400}).then(res => {
|
60
|
+ return req.ctx(siteMapService).guangArticles().then(res => {
|
64
|
|
61
|
|
65
|
_.forEach(_.get(res, 'data.artList', ''), val => {
|
62
|
_.forEach(_.get(res, 'data.artList', ''), val => {
|
66
|
urls.push({
|
63
|
urls.push({
|
|
@@ -75,13 +72,13 @@ const getArticleUrls = () => { |
|
@@ -75,13 +72,13 @@ const getArticleUrls = () => { |
75
|
};
|
72
|
};
|
76
|
|
73
|
|
77
|
// www 地图数据
|
74
|
// www 地图数据
|
78
|
-const wwwXmlData = (page) => {// eslint-disable-line
|
75
|
+const wwwXmlData = (req, page) => {// eslint-disable-line
|
79
|
if (page > 1) {
|
76
|
if (page > 1) {
|
80
|
return keywordsPage(page);
|
77
|
return keywordsPage(page);
|
81
|
} else {
|
78
|
} else {
|
82
|
return Promise.all([keywordsPage(page),
|
79
|
return Promise.all([keywordsPage(page),
|
83
|
getStaticUrls(_.get(staticUrls, 'www')),
|
80
|
getStaticUrls(_.get(staticUrls, 'www')),
|
84
|
- getArticleUrls()]).then(result => {
|
81
|
+ getArticleUrls(req)]).then(result => {
|
85
|
return _.concat(result[1], result[0], result[2]);
|
82
|
return _.concat(result[1], result[0], result[2]);
|
86
|
});
|
83
|
});
|
87
|
}
|
84
|
}
|
|
@@ -113,10 +110,10 @@ const listXmlData = () => {// eslint-disable-line |
|
@@ -113,10 +110,10 @@ const listXmlData = () => {// eslint-disable-line |
113
|
};
|
110
|
};
|
114
|
|
111
|
|
115
|
// item 地图数据
|
112
|
// item 地图数据
|
116
|
-const itemXmlData = () => {// eslint-disable-line
|
113
|
+const itemXmlData = (req) => {// eslint-disable-line
|
117
|
let urls = [];
|
114
|
let urls = [];
|
118
|
|
115
|
|
119
|
- return api.get('', {method: 'web.product.bdPromotion'}, {cache: 86400}).then(res => {
|
116
|
+ return req.ctx(siteMapService).itemList().then(res => {
|
120
|
_.forEach(_.get(res, 'data', ''), val => {
|
117
|
_.forEach(_.get(res, 'data', ''), val => {
|
121
|
urls.push({
|
118
|
urls.push({
|
122
|
url: `https:${helpers.getUrlBySkc(val.erpProductId)}`,
|
119
|
url: `https:${helpers.getUrlBySkc(val.erpProductId)}`,
|
|
@@ -142,7 +139,7 @@ const siteMap = (req, res, next) => { |
|
@@ -142,7 +139,7 @@ const siteMap = (req, res, next) => { |
142
|
|
139
|
|
143
|
let page = req.params[0] || 1;
|
140
|
let page = req.params[0] || 1;
|
144
|
|
141
|
|
145
|
- eval(subdomain + 'XmlData')(page).then(urls => {// eslint-disable-line
|
142
|
+ eval(subdomain + 'XmlData')(req, page).then(urls => {// eslint-disable-line
|
146
|
sm.createSitemap({
|
143
|
sm.createSitemap({
|
147
|
hostname: `https://${subdomain}.yohobuy.com`,
|
144
|
hostname: `https://${subdomain}.yohobuy.com`,
|
148
|
xmlNs: ' ',
|
145
|
xmlNs: ' ',
|