(问题集二)2021-11-10

一.Node相关问题

1.多级路由的使用

var router = express.Router();//创建router对象

对其设置不同的分路由
image.png

并导出 module.exports = router;
最后在app.js中引入
const oaDataRouter = require('./routes/oaData')
再对其设置根路径app.use('/oadata', oaDataRouter);
这样就可以访问 根路径下不同的分路径/oadata/oalinedata来实现不同的功能

2.使用mysql库

(1)引入const mysql = require('mysql');
(2)创建一个方法集let db = {};(这个方法集里面只放关于数据库操作的方法 这样外部只需要引入该方法集里面对应的方法即可)
(3)const pool = mysql.createPool({
connectionLimit: 10,
host: 'localhost',
user: 'root',
password: '123456',
database: 'portdata'
});
创建 数据池
(4)封装查找函数 放入方法集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是我们需要传入的拿到数据后需要做的回调方法 可以把这里设置成一个Promise对象

WebGis问题

"umi-request"库的使用

import request from "umi-request";
export function getdata(url){
return request.get(url)
}
返回的是一个promise对象 只需要调用.then.catch 实现相关功能就好

实现绘制多条直线或者绘制多种类型几何 的思路

将对应的数据设置成geojson或者其他能被openlayers解析的数据类型 在进行引用显示就会方便得多
const vectorlayer = new VectorLayer({
source:new VectorSouce({
features: (new GeoJSON()).readFeatures(geojson)
})
})
读取geojson数据放入一个矢量图层就会绘制到地图上
清除只需要拿到这个layer然后清空 或者删除该图层就可以

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容