import{t as e}from"./ofetch-Dl6dVB_5.mjs";import{t}from"./cache-DUthuMSu.mjs";import{t as n}from"./parse-date-BdYTmLpo.mjs";import{t as r}from"./timezone-keeL11Io.mjs";import{load as i}from"cheerio";const a=`https://rsgis.whu.edu.cn`,o={index:{name:`首页`,path:``},xyxw:{name:`学院新闻`,path:`xyxw1`,sub:{xyyw:{name:`学院要闻`,path:`xyyw2`},hzjl:{name:`合作交流`,path:`hzjl`},mtjj:{name:`媒体聚焦`,path:`mtjj`},xgyw:{name:`学工要闻`,path:`xgyw`}}},kxyj:{name:`科学研究`,path:`kxyj`,sub:{xsbg:{name:`学术报告`,path:`xsbg`},xsjl:{name:`学术交流`,path:`xsjl`},kycg:{name:`学术成果`,path:`kycg`},sbxx:{name:`申报信息`,path:`sbxx`}}},tzgg:{name:`通知公告`,path:`tzgg1`,sub:{xytz:{name:`学院通知`,path:`xytz`},jxdt:{name:`教学动态`,path:`jxdt`},xsdt:{name:`学术动态`,path:`xsdt`},rcyj:{name:`人才引进`,path:`rcyj`}}}};function s(e){return!!e.match(/^((http:\/\/)|(https:\/\/))?([\dA-Za-z]([\dA-Za-z-]{0,61}[\dA-Za-z])?\.)+[A-Za-z]{2,6}(\/)/)?.length}function c(e,t){let i=e.find(`a`).first(),a=i.text(),o=i.attr(`href`);if(o===void 0)throw Error(`Cannot get link`);let c=s(o);return{title:a,link:c?o:new URL(o,t).href,pubDate:r(n(e.find(`div.date1`).first().text(),`YYYY-MM-DD`),8),description:a,external:c}}async function l(n){let r=n.link;return r?await t.tryGet(`whu:rsgis:${r}`,async()=>{if(n.external)n.description=`<a href="${r}">阅读原文</a>`;else{let t=i(await e(r)),a=t(`div.content div.content_title h1`).first().text(),o=t(`div.content div.v_news_content`).first().html();n.title=a,n.description=o||``}return n}):n}async function u(){let t=i(await e(`${a}/index.htm`)),n=t(`div.main1 > div.newspaper:nth-child(1) > div.newspaper_list > ul > li`).toArray().map(e=>c(t(e),a)),r=t(`div.main1 > div.newspaper:nth-child(2) > div.newspaper_list > ul > li`).toArray().map(e=>c(t(e),a)),o=t(`div.main3 div.inner > div.newspaper:nth-child(1) > ul.newspaper_list2 > li:nth-child(1) > ul > li`).toArray().map(e=>c(t(e),a)),s=t(`div.main3 div.inner > div.newspaper:nth-child(1) > ul.newspaper_list2 > li:nth-child(2) > ul > li`).toArray().map(e=>c(t(e),a)),u=t(`div.main3 div.inner > div.newspaper:nth-child(2) > div.newspaper_list2 > ul > li`).toArray().map(e=>c(t(e),a)),d=t(`div.main3 div.inner > div.newspaper:nth-child(3) > div.newspaper_list2 > ul > li`).toArray().map(e=>c(t(e),a));return await Promise.all([...n,...r,...o,...s,...u,...d].map(async e=>await l(e)))}async function d(t,n){let r=[],s=o[t];if(n===`all`){let e=s.sub;r=Object.keys(e).map(t=>{let n=e[t];return{url:`${a}/${s.path}/${n.path}.htm`,base:`${a}/${s.path}`}})}else if(n in s.sub)r.push({url:`${a}/${s.path}/${s.sub[n].path}.htm`,base:`${a}/${s.path}`});else throw Error(`No such sub type.`);let u=await Promise.all(r.map(async t=>{let n=i(await e(t.url));return n(`div.neiinner > div.nav_right > div.right_inner > div.list > ul > li`).toArray().map(e=>c(n(e),t.base))}));return await Promise.all(u.flat().map(async e=>await l(e)))}const f={path:`/rsgis/:type/:sub?`,categories:[`university`],example:`/whu/rsgis/index`,parameters:{type:`栏目，详见表格`,sub:"子栏目。当 `type` 为 `index` 的时候不起效；当 `type` 为其他合法值时，默认为 `all` 表示所有子类，其他可选项见下表。"},radar:[{source:[`rsgis.whu.edu.cn/index.htm`],target:`/rsgis/index`}],name:`武汉大学遥感信息工程学院`,maintainers:[`HPDell`],description:"\n\n|  分类名  | `type` 值 |  子类名  | `sub` 值 |\n| :------: | :-------- | :------: | :------- |\n|   首页   | `index`   |          |          |\n| 学院新闻 | `xyxw`    |   全部   | `all`    |\n|          |           | 学院要闻 | `xyyw`   |\n|          |           | 合作交流 | `hzjl`   |\n|          |           | 媒体聚焦 | `mtjj`   |\n|          |           | 学工要闻 | `xgyw`   |\n| 科学研究 | `kxyj`    |   全部   | `all`    |\n|          |           | 学术报告 | `xsbg`   |\n|          |           | 学术交流 | `xsjl`   |\n|          |           | 学术成果 | `kycg`   |\n|          |           | 申报信息 | `sbxx`   |\n| 通知公告 | `tzgg`    |   全部   | `all`    |\n|          |           | 学院通知 | `xytz`   |\n|          |           | 教学动态 | `jxdt`   |\n|          |           | 学术动态 | `xsdt`   |\n|          |           | 人才引进 | `rcyj`   |\n",handler:async e=>{let{type:t=`index`,sub:n=`all`}=e.req.param(),r;switch(t){case`index`:r=await u();break;case`xyxw`:case`kxyj`:case`tzgg`:r=await d(t,n);break;default:throw Error(`No such type`)}return{title:`${o[t].name} - 武汉大学遥感信息工程学院`,link:a,description:`${o[t].name} - 武汉大学遥感信息工程学院`,item:r}}};export{f as route};