mirror of
https://github.com/DIYgod/RSSHub.git
synced 2025-12-12 16:20:27 +08:00
* 完成issues#7485,在每日一图-国家地理中增加每日精选节点 * 修改文档和router位置 * 对日期pubDate规范进行了调整 * 优化调整获取内容逻辑,修改pubDate字段的获取方式 * 调整pubDate参数 * 删除代码中多余的console * 调整parse-date引用 * 调整时区 * 修改国家地理每日一图 * issues-#7471,解决国家地理每日一图获取失败问题,因为网站更改,并且网站对图片进行了处理,所以调整获取方式。 * 删除无用代码 * 调整代码,错删了代码 * 重新提交,之前提交后部署失败。 * feat:add orcid works route * feat(route):add ORCID 获取Works(前20条) * 调整代码,使其更加规范 * fix: remove all unnecessary changes * refactor: migrate to v2 Co-authored-by: TonyRL <TonyRL@users.noreply.github.com>
55 lines
1.9 KiB
JavaScript
55 lines
1.9 KiB
JavaScript
const got = require('@/utils/got');
|
|
const { art } = require('@/utils/render');
|
|
const path = require('path');
|
|
|
|
module.exports = async (ctx) => {
|
|
const id = ctx.params.id;
|
|
const rootUrl = 'https://orcid.org/';
|
|
const currentUrl = `${rootUrl}${id}/worksPage.json?offset=0&sort=date&sortAsc=false&pageSize=20`;
|
|
const response = await got(currentUrl);
|
|
|
|
const items = response.data.groups;
|
|
const works = new Array();
|
|
const out = new Array();
|
|
|
|
for (let i = 0; i < items.length; i++) {
|
|
for (let j = 0; j < items[i].works.length; j++) {
|
|
works.push(items[i].works[j]);
|
|
}
|
|
}
|
|
|
|
works.map((work) => {
|
|
let Str = '';
|
|
|
|
for (let l = 0; l < work.workExternalIdentifiers.length; l++) {
|
|
if (work.workExternalIdentifiers[l].url) {
|
|
Str += '<a href="' + work.workExternalIdentifiers[l].url.value + '">' + work.workExternalIdentifiers[l].externalIdentifierType.value + ': ' + work.workExternalIdentifiers[l].externalIdentifierId.value + '</a><br>';
|
|
} else {
|
|
Str += work.workExternalIdentifiers[l].externalIdentifierType.value + ': ' + work.workExternalIdentifiers[l].externalIdentifierId.value + '<br>';
|
|
}
|
|
}
|
|
|
|
const info = {
|
|
title: work.title.value,
|
|
link: work.url,
|
|
description: art(path.join(__dirname, 'templates/description.art'), {
|
|
title: work.title.value,
|
|
journalTitle: work.journalTitle.value,
|
|
publicationDate: work.publicationDate,
|
|
workType: work.workType.value,
|
|
Str,
|
|
sourceName: work.sourceName,
|
|
}),
|
|
guid: work.putCode.value,
|
|
};
|
|
out.push(info);
|
|
return info;
|
|
});
|
|
|
|
ctx.state.data = {
|
|
title: 'ORCID Works List' + id,
|
|
link: currentUrl,
|
|
item: out,
|
|
};
|
|
};
|