From f8f1a8f89df7efebd6d4c7b8b3d8f31267aa8fda Mon Sep 17 00:00:00 2001 From: liujiangyong Date: Tue, 31 Oct 2023 10:16:30 +0800 Subject: [PATCH] =?UTF-8?q?(*)=20=E6=88=BF=E5=B1=8B=E7=A7=9F=E8=B5=81?= =?UTF-8?q?=E5=AE=89=E5=85=A8=E6=8E=A5=E5=85=A5=E6=88=BF=E7=AE=A1=E5=B1=80?= =?UTF-8?q?=E5=85=AC=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lib/controllers/superScreen/community.js | 39 ++++++- api/app/lib/middlewares/authenticator.js | 1 + api/app/lib/routes/superScreen/community.js | 3 + api/package.json | 1 + .../homepage/communtity/arrow_right.png | Bin 0 -> 262 bytes .../images/homepage/communtity/notice.png | Bin 0 -> 7717 bytes .../community-safty/components/city-safty.js | 102 +++++++++++------- .../community-safty/components/style.less | 42 ++++++++ 8 files changed, 150 insertions(+), 38 deletions(-) create mode 100644 super-screen/client/assets/images/homepage/communtity/arrow_right.png create mode 100644 super-screen/client/assets/images/homepage/communtity/notice.png diff --git a/api/app/lib/controllers/superScreen/community.js b/api/app/lib/controllers/superScreen/community.js index 67ff20e..6f54307 100644 --- a/api/app/lib/controllers/superScreen/community.js +++ b/api/app/lib/controllers/superScreen/community.js @@ -1,4 +1,6 @@ 'use strict'; +const request = require("superagent"); +const cheerio = require('cheerio'); function getPersonAge(opts) { return async function (ctx, next) { @@ -145,9 +147,44 @@ function getHomeInfo(opts) { } } +function getFgjvNotice(opts) { + return async function (ctx, next) { + let errMsg = { message: '获取房管局通知失败' } + try { + let rslt = []; + const res = await request.get('https://www.nc.gov.cn/ncszf/fgjv/2021_nav_list.shtml'); + const $ = cheerio.load(res.text); + $('div.pageList-line ul').children('li').each(function (i, elem) { + if (i >= 5) return false; + let obj = {}; + const a = $(this).find('a'); + obj.title = a.text(); + obj.time = $(this).find('span').text(); + obj.link = 'https://www.nc.gov.cn' + a.attr('href'); + rslt.push(obj); + }); + const promistArr = rslt.map(obj => request.get(obj.link)); + const detailRes = await Promise.all(promistArr); + for (let i = 0; i < rslt.length; i++) { + const detail$ = cheerio.load(detailRes[i].text); + const temp = detail$('ucapcontent').text().trim().substring(0, 50).replace(/\n/g, ""); + rslt[i].detail = temp; + } + + ctx.status = 200; + ctx.body = rslt; + } catch (error) { + ctx.fs.logger.error(`path: ${ctx.path}, error: ${error}`); + ctx.status = 400; + ctx.body = errMsg + } + } +} + module.exports = { getPersonAge, getHomePerson, - getHomeInfo + getHomeInfo, + getFgjvNotice } diff --git a/api/app/lib/middlewares/authenticator.js b/api/app/lib/middlewares/authenticator.js index bf83caa..ac60cfd 100644 --- a/api/app/lib/middlewares/authenticator.js +++ b/api/app/lib/middlewares/authenticator.js @@ -73,6 +73,7 @@ let isPathExcluded = function (opts, path, method) { excludeOpts.push({ p: '/person/age', o: 'GET' }); excludeOpts.push({ p: '/home/person', o: 'GET' }); excludeOpts.push({ p: '/community/info', o: 'GET' }); + excludeOpts.push({ p: '/community/fgjv/notice', o: 'GET' }); excludes = new ExcludesUrls(excludeOpts); } diff --git a/api/app/lib/routes/superScreen/community.js b/api/app/lib/routes/superScreen/community.js index 2ed2eeb..0934dff 100644 --- a/api/app/lib/routes/superScreen/community.js +++ b/api/app/lib/routes/superScreen/community.js @@ -16,4 +16,7 @@ module.exports = function (app, router, opts, AuthCode) { app.fs.api.logAttr['GET/community/info'] = { content: '获取社区房屋统计信息', visible: true }; router.get('/community/info', community.getHomeInfo(opts)); + //获取房管局通知 + app.fs.api.logAttr['GET/community/fgjv/notice'] = { content: '获取房管局通知', visible: true }; + router.get('/community/fgjv/notice', community.getFgjvNotice(opts)); }; diff --git a/api/package.json b/api/package.json index 65da9b7..5e7f62e 100644 --- a/api/package.json +++ b/api/package.json @@ -18,6 +18,7 @@ "ali-oss": "^6.17.1", "args": "^3.0.7", "better-xlsx": "^0.7.6", + "cheerio": "^1.0.0-rc.12", "clickhouse": "^2.6.0", "crypto-js": "^4.0.0", "diskinfo": "0.0.3", diff --git a/super-screen/client/assets/images/homepage/communtity/arrow_right.png b/super-screen/client/assets/images/homepage/communtity/arrow_right.png new file mode 100644 index 0000000000000000000000000000000000000000..7399c3677f816de007b618672e647c309687f2e0 GIT binary patch literal 262 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 literal 0 HcmV?d00001 diff --git a/super-screen/client/src/sections/community-safty/components/city-safty.js b/super-screen/client/src/sections/community-safty/components/city-safty.js index ba74c68..c451f8f 100644 --- a/super-screen/client/src/sections/community-safty/components/city-safty.js +++ b/super-screen/client/src/sections/community-safty/components/city-safty.js @@ -8,60 +8,88 @@ import './style.less'; function CitySafty(props) { const { waterLevelAlarms } = props; - const { data: fireAlarms = [] } = useFsRequest({ url: ApiTable.getFireAlarmList }); + // const { data: fireAlarms = [] } = useFsRequest({ url: ApiTable.getFireAlarmList }); - const getContent = () => { - return
- {fireAlarms.map(s => { - const handled = s?.state == 2 - return
-
-
-
-
{moment(s.createTime).format('YYYY-MM-DD HH:mm:ss')}
-
{handled ? '已处理' : '处理中'}
-
-
-
- -
事件地点: {s?.location?.length > 20 ? s?.location.substring(0, 20) + '...' : s?.location}
-
-
-
警情类型: {s?.type}
-
-
-
- })} + const { data: fgjvNoticeList = [] } = useFsRequest({ url: 'community/fgjv/notice' }); -
- } + // const getContent = () => { + // return
+ // {fireAlarms.map(s => { + // const handled = s?.state == 2 + // return
+ //
+ //
+ //
+ //
{moment(s.createTime).format('YYYY-MM-DD HH:mm:ss')}
+ //
{handled ? '已处理' : '处理中'}
+ //
+ //
+ //
+ // + //
事件地点: {s?.location?.length > 20 ? s?.location.substring(0, 20) + '...' : s?.location}
+ //
+ //
+ //
警情类型: {s?.type}
+ //
+ //
+ //
+ // })} - const renderList = () =>
+ //
+ // } + + // const renderList = () =>
+ // { + // waterLevelAlarms?.map(a =>
= 3 ? 'alarm_handle' : 'alarm_unhandle'}> + //
+ //
+ //
+ // + //
{a.alarms[0]?.source?.name}
+ //
+ //
= 3 ? '#FFEA00' : '#FF2C2C' }}>{convertLevelToLabel(a.alarms[0]?.level)}
+ //
+ //
{a.alarms[0]?.content}
+ //
+ //
) + // } + //
+ + const renderFgjvList = () =>
{ - waterLevelAlarms?.map(a =>
= 3 ? 'alarm_handle' : 'alarm_unhandle'}> -
-
+ fgjvNoticeList?.map(n =>
+
+
- -
{a.alarms[0]?.source?.name}
+ +
{n.title}
-
= 3 ? '#FFEA00' : '#FF2C2C' }}>{convertLevelToLabel(a.alarms[0]?.level)}
+
{ window.open(n.link) }} + > + 去查看 +
-
{a.alarms[0]?.content}
+
{n.detail}
) }
- const dataSource = fireAlarms.concat(waterLevelAlarms || []) + // const dataSource = fireAlarms.concat(waterLevelAlarms || []) + + const dataSource = fgjvNoticeList - return + return { dataSource?.length > 0 ? 2} content={<> - {renderList()} - {getContent()} + {/* {renderList()} */} + {/* {getContent()} */} + {renderFgjvList()} } divHeight={240} divId={`community-right-top`} /> diff --git a/super-screen/client/src/sections/community-safty/components/style.less b/super-screen/client/src/sections/community-safty/components/style.less index 90594a6..c22b832 100644 --- a/super-screen/client/src/sections/community-safty/components/style.less +++ b/super-screen/client/src/sections/community-safty/components/style.less @@ -483,5 +483,47 @@ color: #FFFFFF; letter-spacing: 0; } + + .arrow { + display: inline-block; + margin-left: 2px; + width: 10px; + height: 10px; + } + } + + .notice_list { + display: flex; + height: 89px; + margin-bottom: 20px; + + .notice_img { + width: 101px; + height: 89px; + background: url('/assets/images/homepage/communtity/notice.png'); + background-repeat: no-repeat; + background-size: 100% 100%; + } + + .notice_content { + width: calc(100% - 120px); + display: flex; + flex-direction: column; + justify-content: center; + + .notice_text { + padding-left: 16px; + padding-right: 16px; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; // 控制多行的行数 + -webkit-box-orient: vertical; + } + } + } + + .pointer { + cursor: pointer; } } \ No newline at end of file