metadata
This commit is contained in:
parent
01457c0feb
commit
f6486bd226
4
app.js
4
app.js
|
@ -73,5 +73,5 @@ module.exports = app;
|
|||
|
||||
var pg_eco = require('./model/conn/pg_eco');
|
||||
pg_eco.connTest();
|
||||
var pg_gis = require('./model/conn/pg_gis');
|
||||
pg_gis.connTest();
|
||||
// var pg_gis = require('./model/conn/pg_gis');
|
||||
// pg_gis.connTest();
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
var pg = require('pg');
|
||||
|
||||
|
||||
exports.connTest = function () {
|
||||
pg.connect(Connections.pg_sjy_metadata, function (err, db) {
|
||||
if (err) {
|
||||
console.log(err);
|
||||
process.exit(0);
|
||||
} else {
|
||||
console.log('sjy_eco conn ok !');
|
||||
}
|
||||
});
|
||||
};
|
|
@ -0,0 +1,17 @@
|
|||
var promise = require('bluebird');
|
||||
var options = {
|
||||
promiseLib: promise
|
||||
};
|
||||
var pgp = require('pg-promise')(options);
|
||||
var connection = Connections.pg_sjy_metadata;
|
||||
var db = pgp(connection);
|
||||
|
||||
|
||||
exports.getTop10Metadata = function () {
|
||||
return db.any('select id, uuid, title, description, ts_created from metadata limit 10')
|
||||
};
|
||||
|
||||
exports.getLast10Metadata = function () {
|
||||
return db.any('select id, uuid, title, description, ts_created from metadata order by ts_created desc limit 10')
|
||||
};
|
||||
|
|
@ -3937,4 +3937,45 @@ div#notebook {
|
|||
|
||||
.head-wrapper {
|
||||
margin-bottom: 22px;
|
||||
}
|
||||
|
||||
.filter-list-group .list-group-item .title {
|
||||
font-size: 14px;
|
||||
line-height: 22px;
|
||||
}
|
||||
|
||||
.filter-list-group .list-group-item .item {
|
||||
line-height: 20px;
|
||||
color: #08c;
|
||||
margin: 1px 15px 1px 0;
|
||||
}
|
||||
|
||||
.metadata-list-group .media-heading a {
|
||||
color: #08c;
|
||||
}
|
||||
|
||||
.metadata-list-group {
|
||||
padding-bottom: 5px;
|
||||
border-bottom: 1px dashed #DFDFDF;
|
||||
}
|
||||
|
||||
|
||||
.separator {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 3px;
|
||||
margin: 5px auto 15px;
|
||||
background-color: #cccccc;
|
||||
position: relative;
|
||||
border: 1px solid #cccccc;
|
||||
}
|
||||
|
||||
.separator:after {
|
||||
width: 50%;
|
||||
height: 3px;
|
||||
background-color: #08c;
|
||||
position: absolute;
|
||||
top: -1px;
|
||||
left: -1px;
|
||||
content: "";
|
||||
}
|
|
@ -0,0 +1,126 @@
|
|||
[
|
||||
{
|
||||
"type": "主题关键字",
|
||||
"items": [
|
||||
"草地监测",
|
||||
"草地样方",
|
||||
"基础地理信息",
|
||||
"土壤侵蚀遥感监测",
|
||||
"地面监测",
|
||||
"水资源监测",
|
||||
"土壤水分",
|
||||
"气温",
|
||||
"地下生物量",
|
||||
"群落结构",
|
||||
"鼠虫害动态",
|
||||
"牧草产量",
|
||||
"气压",
|
||||
"降水",
|
||||
"草地生态监测",
|
||||
"矢量数据",
|
||||
"土地利用",
|
||||
"气象",
|
||||
"土地覆被"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "学科关键字",
|
||||
"items": [
|
||||
"草业科学",
|
||||
"地理学",
|
||||
"林学",
|
||||
"水资源",
|
||||
"大气科学",
|
||||
"生态学",
|
||||
"自然地理",
|
||||
"环境科学",
|
||||
"环境监测",
|
||||
"气象",
|
||||
"水土保持学",
|
||||
"水土保持",
|
||||
"地理信息",
|
||||
"水文水资源",
|
||||
"社会经济学",
|
||||
"水资源监测",
|
||||
"地面监测",
|
||||
"水位监测",
|
||||
"环境学",
|
||||
"林业"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type":"地点关键词",
|
||||
"items":[
|
||||
"青海省",
|
||||
"三江源区",
|
||||
"三江源自然保护区",
|
||||
"玉树藏族自治州",
|
||||
"称多县",
|
||||
"曲麻莱县",
|
||||
"治多县",
|
||||
"果洛藏族自治州",
|
||||
"玛多县",
|
||||
"玛沁县",
|
||||
"杂多县",
|
||||
"久治县",
|
||||
"泽库县",
|
||||
"黄南藏族自治州",
|
||||
"玉树县",
|
||||
"兴海县",
|
||||
"同德县",
|
||||
"班玛县",
|
||||
"达日县",
|
||||
"囊谦县"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type":"时间关键词",
|
||||
"items":[
|
||||
"2014",
|
||||
"2015",
|
||||
"2016",
|
||||
"2009",
|
||||
"2012",
|
||||
"2011",
|
||||
"2008",
|
||||
"2007",
|
||||
"2005",
|
||||
"2013",
|
||||
"2006",
|
||||
"2010",
|
||||
"2000-2012",
|
||||
"2014年度",
|
||||
"2005-2011",
|
||||
"2009-2014",
|
||||
"2005-2013",
|
||||
"2005-2012",
|
||||
"2006年",
|
||||
"2006-2013"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type":"数据集类别",
|
||||
"items":[
|
||||
"位置",
|
||||
"经济",
|
||||
"气候气象大气",
|
||||
"地学信息",
|
||||
"社会文化",
|
||||
"农业",
|
||||
"环境",
|
||||
"内陆水"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type":"数据发布单位",
|
||||
"items":[
|
||||
"青海省生态环境遥感监测中心",
|
||||
"中国科学院寒区旱区环境与工程研究所",
|
||||
"青海省环境监测中心站青海省草原总站",
|
||||
"青海省气象科学研究所",
|
||||
"青海省林业调查规划院",
|
||||
"青海省水文水资源局",
|
||||
"青海省水土保持局"
|
||||
]
|
||||
}
|
||||
]
|
|
@ -1,11 +1,23 @@
|
|||
var express = require('express');
|
||||
var Promise = require('bluebird');
|
||||
var router = express.Router();
|
||||
var models_eco_v1 = require('../model/sjy_eco_v1.js');
|
||||
|
||||
|
||||
|
||||
router.get('/', function (req, res, next) {
|
||||
res.render('data', {
|
||||
page_cont: null,
|
||||
page_title: 'data'
|
||||
});
|
||||
Promise.all([
|
||||
models_eco_v1.getTop10Metadata(),
|
||||
models_eco_v1.getLast10Metadata()
|
||||
]).then(function(results) {
|
||||
res.render('data', {
|
||||
metadatas: results[0],
|
||||
latestMetadatas: results[1],
|
||||
page_title: 'data'
|
||||
});
|
||||
}).catch(function(err) {
|
||||
console.error(err);
|
||||
});
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
var express = require('express');
|
||||
var Promise = require('bluebird');
|
||||
var router = express.Router();
|
||||
var models_eco_v1 = require('../model/sjy_eco_v1.js');
|
||||
|
||||
|
||||
router.get('/', function (req, res, next) {
|
||||
res.render('login', {
|
||||
page_title: 'login'
|
||||
});
|
||||
});
|
||||
|
||||
module.exports = router;
|
|
@ -33,8 +33,8 @@
|
|||
<div class="logo-wrapper">
|
||||
<img src="/images/logo.png" alt="三江源">
|
||||
<img src="/images/title.png" alt="三江源">
|
||||
<span><i class="anticon anticon-login"></i></span>
|
||||
<span><i class="anticon anticon-logout"></i></span>
|
||||
<a href="/logout"><span><i class="anticon anticon-login"></i></span></a>
|
||||
<a href="/login"><span><i class="anticon anticon-logout"></i></span></a>
|
||||
</div>
|
||||
<ul class="main-nav-menu navbar-nav">
|
||||
<li><a aria-current="true" href="/index">首页</a></li>
|
||||
|
|
|
@ -1,35 +1,74 @@
|
|||
<%- include('comm/header.html') %>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-3 col-xs-12">
|
||||
<div id="tree"></div>
|
||||
</div>
|
||||
<div class="col-md-9 col-xs-12">
|
||||
<% if (page_cont == 'inc') { %>
|
||||
<%- include('inc/' + inc_tag) %>
|
||||
<% } %>
|
||||
<ul class="list-group filter-list-group">
|
||||
|
||||
</ul>
|
||||
|
||||
<% metadatas.forEach(function(metadata){ %>
|
||||
<div class="media metadata-list-group">
|
||||
<div class="media-left">
|
||||
<a href="http://www.sanjiangyuan.org.cn:4567/service/bigthumb/id/<%= metadata.id %>">
|
||||
<img width="140" height="80" class="media-object" src="http://www.sanjiangyuan.org.cn:4567/service/thumb/id/<%= metadata.id%>" alt="<%= metadata.title %>">
|
||||
</a>
|
||||
</div>
|
||||
<div class="media-body">
|
||||
<h4 class="media-heading"><a href="http://www.sanjiangyuan.org.cn:4567/data/<%= metadata.uuid %>"><%= metadata.title %></a></h4>
|
||||
<%= metadata.description %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% }); %>
|
||||
</div>
|
||||
<div class="col-md-3 col-xs-12">
|
||||
<h3>最新数据</h3>
|
||||
<div class="separator"></div>
|
||||
<div class="list-group">
|
||||
<% latestMetadatas.forEach(function(metadata){ %>
|
||||
<a href="http://www.sanjiangyuan.org.cn:4567/data/<%= metadata.uuid %>" class="list-group-item">
|
||||
<h5 class="list-group-item-heading"><%= metadata.title %></h5>
|
||||
<p class="list-group-item-text"><%= metadata.description.substring(0,50)+ '...' %></p>
|
||||
</a>
|
||||
|
||||
<% }); %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
/*var $tree = $('#tree').treeview({
|
||||
levels: 666,
|
||||
data: json_tree_data,
|
||||
showBorder: false,
|
||||
enableLinks: true,
|
||||
selectedBackColor: "#1DA57A"
|
||||
});*/
|
||||
$('.navbar-nav li a').each(function () {
|
||||
if ($(this).attr('href') == '/data') {
|
||||
$(this).addClass('active');
|
||||
}
|
||||
});
|
||||
$('.treeview ul.list-group li a').each(function () {
|
||||
if ($($(this))[0].href == String(window.location)) {
|
||||
$(this).parent().css("color", "#fff");
|
||||
$(this).parent().css("background-color", "#1DA57A");
|
||||
}
|
||||
$.getJSON("/json/keyword.json", function(data) {
|
||||
var items = [];
|
||||
$.each(data, function(index, value) {
|
||||
var title = $("<span/>", {
|
||||
"class":"title",
|
||||
html:value.type+":"
|
||||
});
|
||||
var keywords = [];
|
||||
|
||||
$.each(value.items, function(i, val) {
|
||||
var keyword = $("<a/>", {
|
||||
"class":"item",
|
||||
"href":"http://www.sanjiangyuan.org.cn:4567/data/tag/"+encodeURIComponent(val),
|
||||
html:val
|
||||
});
|
||||
keywords.push(keyword);
|
||||
});
|
||||
|
||||
var li = $("<li/>", {
|
||||
"class":"list-group-item"
|
||||
});
|
||||
li.append(title).append(keywords);
|
||||
items.push(li);
|
||||
});
|
||||
|
||||
$('.filter-list-group').append(items);
|
||||
})
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -0,0 +1,62 @@
|
|||
<%- include('comm/header.html') %>
|
||||
<style>
|
||||
.form-signin {
|
||||
max-width: 330px;
|
||||
padding: 15px;
|
||||
margin: 10px auto;
|
||||
height: 400px;
|
||||
}
|
||||
.form-signin .form-signin-heading,
|
||||
.form-signin .checkbox {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.form-signin .checkbox {
|
||||
font-weight: normal;
|
||||
}
|
||||
.form-signin .form-control {
|
||||
position: relative;
|
||||
height: auto;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
padding: 10px;
|
||||
font-size: 16px;
|
||||
}
|
||||
.form-signin .form-control:focus {
|
||||
z-index: 2;
|
||||
}
|
||||
.form-signin input[type="email"] {
|
||||
margin-bottom: -1px;
|
||||
border-bottom-right-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
.form-signin input[type="password"] {
|
||||
margin-bottom: 10px;
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
}
|
||||
</style>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
<div class="alert alert-info" role="alert">请输入用户名和密码登录。如果没有账号,请<a href="http://www.sanjiangyuan.org.cn:4567/account/register">注册</a>!</div>
|
||||
</div>
|
||||
</div>
|
||||
<form class="form-signin">
|
||||
<label for="inputEmail" class="sr-only">用户名</label>
|
||||
<input type="email" id="inputEmail" class="form-control" placeholder="用户名" required autofocus>
|
||||
<label for="inputPassword" class="sr-only">密码</label>
|
||||
<input type="password" id="inputPassword" class="form-control" placeholder="密码" required>
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="checkbox" value="remember-me"> Remember me
|
||||
</label>
|
||||
</div>
|
||||
<button class="btn btn-lg btn-primary btn-block" type="submit">登录</button>
|
||||
</form>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
|
||||
});
|
||||
</script>
|
||||
<%- include('comm/footer.html') %>
|
Loading…
Reference in New Issue