diff --git a/docs/bbs.md b/docs/bbs.md
index f67b34415e..11302e5d3c 100644
--- a/docs/bbs.md
+++ b/docs/bbs.md
@@ -231,6 +231,10 @@ pageClass: routes
+### 校招日程
+
+
+
## 书友社区
### 导读
diff --git a/lib/router.js b/lib/router.js
index 147fd393cd..c6904014c0 100755
--- a/lib/router.js
+++ b/lib/router.js
@@ -1275,6 +1275,7 @@ router.get('/hupu/bbs/:id/:order?', require('./routes/hupu/bbs'));
// 牛客网
router.get('/nowcoder/discuss/:type/:order', require('./routes/nowcoder/discuss'));
+router.get('/nowcoder/schedule/:propertyId?/:typeId?', require('./routes/nowcoder/schedule'));
// Xiaomi.eu
router.get('/xiaomieu/releases', require('./routes/xiaomieu/releases'));
diff --git a/lib/routes/nowcoder/schedule.js b/lib/routes/nowcoder/schedule.js
new file mode 100644
index 0000000000..2fc3d15b30
--- /dev/null
+++ b/lib/routes/nowcoder/schedule.js
@@ -0,0 +1,31 @@
+const got = require('@/utils/got');
+
+module.exports = async (ctx) => {
+ const propertyId = ctx.params.propertyId ? ctx.params.propertyId : 0;
+ const typeId = ctx.params.typeId ? ctx.params.typeId : 0;
+
+ const link = `https://www.nowcoder.com/school/schedule/data?token=&query=&typeId=${typeId}&propertyId=${propertyId}&onlyFollow=false&_=${new Date().getTime()}`;
+ const responseBody = (await got.get(link)).data;
+ if (responseBody.code !== 0) {
+ throw Error(`接口错误,错误代码:${responseBody.code},错误原因:${responseBody.msg}`);
+ }
+ const data = responseBody.data;
+
+ ctx.state.data = {
+ title: '名企校招日程',
+ link: 'https://www.nowcoder.com/school/schedule',
+ description: '名企校招日程',
+ item: data.map((item) => {
+ let desc = `
 |
`;
+ item.schedules.forEach((each) => {
+ desc += `| ${each.content} | ${each.time} |
`;
+ });
+ return {
+ title: item.name,
+ description: ``,
+ pubDate: new Date(item.createTime).toUTCString(),
+ link: `https://www.nowcoder.com/school/schedule/${item.id}`,
+ };
+ }),
+ };
+};