一.Node相關(guān)問(wèn)題
1.多級(jí)路由的使用
var router = express.Router();//創(chuàng)建router對(duì)象

并導(dǎo)出 module.exports = router;
最后在app.js中引入
const oaDataRouter = require('./routes/oaData')
再對(duì)其設(shè)置根路徑app.use('/oadata', oaDataRouter);
這樣就可以訪問(wèn) 根路徑下不同的分路徑/oadata/oalinedata來(lái)實(shí)現(xiàn)不同的功能
2.使用mysql庫(kù)
(1)引入const mysql = require('mysql');
(2)創(chuàng)建一個(gè)方法集let db = {};(這個(gè)方法集里面只放關(guān)于數(shù)據(jù)庫(kù)操作的方法 這樣外部只需要引入該方法集里面對(duì)應(yīng)的方法即可)
(3)const pool = mysql.createPool({
connectionLimit: 10,
host: 'localhost',
user: 'root',
password: '123456',
database: 'portdata'
});
創(chuàng)建 數(shù)據(jù)池
(4)封裝查找函數(shù) 放入方法集db中
db.query = function (sql, callback) {
if (!sql) {
callback();
return;
}
pool.query(sql, function (err, rows, fields) {
if (err) {
callback(err, null);
return;
};
callback(null, rows, fields);
});
}
其中查找方法是pool.query(sql,function(){})
callback是我們需要傳入的拿到數(shù)據(jù)后需要做的回調(diào)方法 可以把這里設(shè)置成一個(gè)Promise對(duì)象
WebGis問(wèn)題
"umi-request"庫(kù)的使用
import request from "umi-request";
export function getdata(url){
return request.get(url)
}
返回的是一個(gè)promise對(duì)象 只需要調(diào)用.then.catch 實(shí)現(xiàn)相關(guān)功能就好
實(shí)現(xiàn)繪制多條直線或者繪制多種類型幾何 的思路
將對(duì)應(yīng)的數(shù)據(jù)設(shè)置成geojson或者其他能被openlayers解析的數(shù)據(jù)類型 在進(jìn)行引用顯示就會(huì)方便得多
const vectorlayer = new VectorLayer({
source:new VectorSouce({
features: (new GeoJSON()).readFeatures(geojson)
})
})
讀取geojson數(shù)據(jù)放入一個(gè)矢量圖層就會(huì)繪制到地圖上
清除只需要拿到這個(gè)layer然后清空 或者刪除該圖層就可以