<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lihefei_coder的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lihefei_coder</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lihefei_coder]]></copyright><item><title><![CDATA[自定义地图底图制作思路]]></title><link>https://blog.youkuaiyun.com/lihefei_coder/article/details/123063584</link><guid>https://blog.youkuaiyun.com/lihefei_coder/article/details/123063584</guid><author>lihefei_coder</author><pubDate>Tue, 22 Feb 2022 12:33:33 +0800</pubDate><description><![CDATA[第一步：准备业务底图（一般是客户提供的航拍图、CAD图纸、其他平面图）

第二步：将业务底图对应区域的地图底图（如百度、天地图路图）截图（地图放大层级根据业务底图的分辨率判断，找最接近的层级截图），然后用PS拼接好。
拼接好的地图底图：

第三步：将地图底图和业务底图放在PS同一个画布，然后处理业务底图，使大小、方向、线路与地图底图对齐吻合
调整原始图与地图底图齐（可用画笔画一些红色参考线，方便参考对齐）

调整完成后的图

第四步：
百度坐标切图示例：BaiduMapTileCutter切百度地图瓦片
W]]></description><category></category></item><item><title><![CDATA[BaiduMapTileCutter切百度地图瓦片]]></title><link>https://blog.youkuaiyun.com/lihefei_coder/article/details/123065080</link><guid>https://blog.youkuaiyun.com/lihefei_coder/article/details/123065080</guid><author>lihefei_coder</author><pubDate>Tue, 22 Feb 2022 12:31:24 +0800</pubDate><description><![CDATA[准备工作
1.安装好MapTiler Desktop切图工具

2.准备好要切的图片

3.获取图片中心点在地图上对应的经度和纬度值
获取方式：先将百度地图底图与业务底图放在PS同一个画布，然后拉参考线标出中心点

再将业务底图隐藏，可以看到标记的点在地图的位置

然后打开百度地图拾取坐标系统在地图上找到标记的位置，点击获取经纬度（例子：116.403263,39.92455）
设置切图参数
1.打开BaiduMapTileCutter软件，选择业务底图文件，然后跟着下一步操作



2.将之前复制的经纬度]]></description><category></category></item><item><title><![CDATA[Nodejs koa2使用koa2-proxy-middleware实现代理]]></title><link>https://blog.youkuaiyun.com/lihefei_coder/article/details/122078971</link><guid>https://blog.youkuaiyun.com/lihefei_coder/article/details/122078971</guid><author>lihefei_coder</author><pubDate>Wed, 22 Dec 2021 10:02:46 +0800</pubDate><description><![CDATA[安装
npm install --save-dev koa2-proxy-middleware

使用
const Koa = require('koa');
const proxy = require('koa2-proxy-middleware');
const bodyparser = require('koa-bodyparser');
 
const app = new Koa();
 
const options = {
  targets: {
    '/user': {
      // ]]></description><category></category></item><item><title><![CDATA[VSCode设置Live Server https]]></title><link>https://blog.youkuaiyun.com/lihefei_coder/article/details/121972284</link><guid>https://blog.youkuaiyun.com/lihefei_coder/article/details/121972284</guid><author>lihefei_coder</author><pubDate>Thu, 16 Dec 2021 14:27:04 +0800</pubDate><description><![CDATA[一、准备证书
OpenSSL生成本地https测试证书
阿里云免费SSL证书申请
二、安装Live Server

三、配置setttings.json
setttings.json中增加一下配置
"liveServer.settings.https": {
    "enable": true,
    "cert": "C:\\cert\\server.pem", // 证书
    "key": "C:\\cert\\privkey.pem", // 私钥
    "passphrase": ""
}]]></description><category></category></item><item><title><![CDATA[OpenSSL生成本地https测试证书]]></title><link>https://blog.youkuaiyun.com/lihefei_coder/article/details/121972525</link><guid>https://blog.youkuaiyun.com/lihefei_coder/article/details/121972525</guid><author>lihefei_coder</author><pubDate>Thu, 16 Dec 2021 13:59:31 +0800</pubDate><description><![CDATA[一、准备工作
1.本地安装好git工具
2.创建一个cert文件夹用来放证书文件
二、创建证书
第一步：使用openssl生成密钥privkey.pem
1.操作系统说明
windows系统：在cert目录中打开git命令窗口（注意：不是CMD窗口）

linux或mac系统：cd定位到cert目录
cd /xxx/cert

2.然后执行以下命令生成privkey.pem
openssl genrsa -out privkey.pem 1024/2038


如果出现提示：genrsa: Can’t pa]]></description><category></category></item><item><title><![CDATA[阿里云免费SSL证书申请]]></title><link>https://blog.youkuaiyun.com/lihefei_coder/article/details/121947709</link><guid>https://blog.youkuaiyun.com/lihefei_coder/article/details/121947709</guid><author>lihefei_coder</author><pubDate>Wed, 15 Dec 2021 16:09:48 +0800</pubDate><description><![CDATA[一、购买证书






二、购买证书







]]></description><category></category></item><item><title><![CDATA[Windows本地Nginx搭建https测试环境]]></title><link>https://blog.youkuaiyun.com/lihefei_coder/article/details/121930553</link><guid>https://blog.youkuaiyun.com/lihefei_coder/article/details/121930553</guid><author>lihefei_coder</author><pubDate>Tue, 14 Dec 2021 17:35:59 +0800</pubDate><description><![CDATA[第一步：使用openssl生成密钥privkey.pem
1.在nginx安装目录下conf文件夹创建cert文件夹
2.在cert目录下中打开git命令窗口（不是CMD窗口），然后执行以下命令生成privkey.pem
openssl genrsa -out privkey.pem 1024/2038


如果出现提示：genrsa: Can’t parse “1024/2038” as a number，请删除命令最后面的/2038再执行

第二步：使用密钥privkey.pem生成证书server.p]]></description><category></category></item><item><title><![CDATA[Nodejs koa2上传文件]]></title><link>https://blog.youkuaiyun.com/lihefei_coder/article/details/121429072</link><guid>https://blog.youkuaiyun.com/lihefei_coder/article/details/121429072</guid><author>lihefei_coder</author><pubDate>Fri, 19 Nov 2021 20:16:21 +0800</pubDate><description><![CDATA[1.创建项目目录
nodejs-koa-upload/
├── public/
│   ├── upload/
│   └── index.html
└── src/
    └── app.js

2.初始化项目
npm init -y

3.安装依赖包
cnpm install koa koa-router koa-body koa-static -S





包名
作用




koa
web服务


koa-router
路由


koa-body
解析请求


koa-static
静态资源服务]]></description><category></category></item><item><title><![CDATA[Leaflet地图标记旋转角度、线条方向箭头示例]]></title><link>https://blog.youkuaiyun.com/lihefei_coder/article/details/121115675</link><guid>https://blog.youkuaiyun.com/lihefei_coder/article/details/121115675</guid><author>lihefei_coder</author><pubDate>Wed, 03 Nov 2021 11:12:37 +0800</pubDate><description><![CDATA[标记旋转角度
&lt;!DOCTYPE html&gt;
&lt;html&gt;

&lt;head&gt;
    &lt;meta charset="utf-8"&gt;
    &lt;meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width"&gt;
    &lt;meta http-equiv="X-UA-Compatible" content="IE=edge" /&gt;
  ]]></description><category></category></item><item><title><![CDATA[Nginx中proxy_pass末尾带斜杠/和不带的区别]]></title><link>https://blog.youkuaiyun.com/lihefei_coder/article/details/121033283</link><guid>https://blog.youkuaiyun.com/lihefei_coder/article/details/121033283</guid><author>lihefei_coder</author><pubDate>Fri, 29 Oct 2021 16:19:09 +0800</pubDate><description><![CDATA[如果带/，表示根目录，忽略loacation的路径
如果不带/，则将location后面的路径加进去

一、proxy_pass末尾有斜杠
location  /api/ {
    proxy_pass http://127.0.0.1:8000/;
}

请求地址：http://localhost/api/test
转发地址：http://127.0.0.1:8000/test
二、proxy_pass末尾无斜杠
location  /api/ {
    proxy_pass http://127..]]></description><category></category></item><item><title><![CDATA[Nodejs原生实现开发生产环境编译打包]]></title><link>https://blog.youkuaiyun.com/lihefei_coder/article/details/120822710</link><guid>https://blog.youkuaiyun.com/lihefei_coder/article/details/120822710</guid><author>lihefei_coder</author><pubDate>Fri, 22 Oct 2021 20:04:02 +0800</pubDate><description><![CDATA[一、创建项目结构
1.创建项目根目录
比如项目命名为test，创建一个test文件夹
2.初始化项目
在test目录下终端执行命令初始化项目
npm init -y

3.创建业务源码
1.在项目根目录下创建src文件夹
2.在src目录下创建index.js
// index.js
export default {
    baseUrl: $$APP_BASE_URL$$,
}

4.创建编译程序
1.在项目根目录下创建build文件夹
2.在build目录下创建build.js
// build.js]]></description><category></category></item><item><title><![CDATA[Nodejs原生实现搭建静态资源web服务器]]></title><link>https://blog.youkuaiyun.com/lihefei_coder/article/details/120907603</link><guid>https://blog.youkuaiyun.com/lihefei_coder/article/details/120907603</guid><author>lihefei_coder</author><pubDate>Fri, 22 Oct 2021 18:55:12 +0800</pubDate><description><![CDATA[一、编写服务程序
const http = require('http'); 
const fs = require('fs'); 
const path = require('path');
const url = require('url');
const zlib = require('zlib'); // gzip压缩模块
const mime = require('mime-types'); // 需npm安装

/**
 * 静态服务器
 * @param {String} options.ho]]></description><category></category></item><item><title><![CDATA[Nodejs同步异步批量复制删除替换文件/文件夹]]></title><link>https://blog.youkuaiyun.com/lihefei_coder/article/details/120829808</link><guid>https://blog.youkuaiyun.com/lihefei_coder/article/details/120829808</guid><author>lihefei_coder</author><pubDate>Mon, 18 Oct 2021 17:00:44 +0800</pubDate><description><![CDATA[1.复制文件或文件夹
const fs = require('fs'); //文件模块
const path = require('path'); //系统路径模块

/**
 * 复制文件或文件夹
 * @param {*} sourcePath 源始路径，参数可以是文件或文件夹
 * @param {*} targetPath 目标路径，参数可以是文件或文件夹
 */
function copyFile(sourcePath, targetPath) {
    const fromPath = pat]]></description><category></category></item><item><title><![CDATA[Nodejs环境变量process.env打包]]></title><link>https://blog.youkuaiyun.com/lihefei_coder/article/details/120665518</link><guid>https://blog.youkuaiyun.com/lihefei_coder/article/details/120665518</guid><author>lihefei_coder</author><pubDate>Sat, 09 Oct 2021 10:48:25 +0800</pubDate><description><![CDATA[一、process

process 对象是一个（global）全局变量，提供有关当前 Node.js 进程的信息并对其进行控制。
process官方文档

二、process.env

process.env 属性会返回包含用户环境的对象，能返回项目运行所在环境的一些信息。
process.env官方文档

三、process.env.NODE_ENV

NODE_ENV是一个用户自定义的变量，它的用途是判断生产环境或开发环境。

通过加载.env文件方式配置环境变量
1.在项目根目录创建 .env 文件]]></description><category></category></item><item><title><![CDATA[Leaflet地图常用插件]]></title><link>https://blog.youkuaiyun.com/lihefei_coder/article/details/120531989</link><guid>https://blog.youkuaiyun.com/lihefei_coder/article/details/120531989</guid><author>lihefei_coder</author><pubDate>Tue, 28 Sep 2021 16:35:11 +0800</pubDate><description><![CDATA[Leaflet地图常用插件


	
		插件名称
		功能
		地址
	


	
		Leaflet.markercluster
		marker聚合
		https://github.com/Leaflet/Leaflet.markercluster
	
	
		Leaflet.PolylineDecorator
		线条加箭头
		https://github.com/bbecquet/Leaflet.PolylineDecorator
	
	
		Leaflet.rotatedMarker
		mar]]></description><category></category></item><item><title><![CDATA[npm源及代理镜像设置]]></title><link>https://blog.youkuaiyun.com/lihefei_coder/article/details/119906244</link><guid>https://blog.youkuaiyun.com/lihefei_coder/article/details/119906244</guid><author>lihefei_coder</author><pubDate>Wed, 25 Aug 2021 10:59:52 +0800</pubDate><description><![CDATA[查看代理信息（当前配置）
npm config list

设置http/https代理
npm config set proxy=http://代理服务器地址:端口
npm config set https-proxy http://server:port

设置需要用户名和密码的http/https代理
npm config set proxy http://username:password@server:port
npm confit set https-proxy http://username:]]></description><category></category></item><item><title><![CDATA[VSCode设置代理]]></title><link>https://blog.youkuaiyun.com/lihefei_coder/article/details/119905933</link><guid>https://blog.youkuaiyun.com/lihefei_coder/article/details/119905933</guid><author>lihefei_coder</author><pubDate>Wed, 25 Aug 2021 10:45:20 +0800</pubDate><description><![CDATA[1.打开系统设置

2.选中扩展项，点击编辑配置json文件

3.在配置中末尾加上这两句
"http.proxy": "http://10.78.64.3:8080",
"http.proxyStrictSSL": false


]]></description><category></category></item><item><title><![CDATA[MapTiler Desktop切leaflet地图瓦片]]></title><link>https://blog.youkuaiyun.com/lihefei_coder/article/details/119758810</link><guid>https://blog.youkuaiyun.com/lihefei_coder/article/details/119758810</guid><author>lihefei_coder</author><pubDate>Tue, 17 Aug 2021 17:49:31 +0800</pubDate><description><![CDATA[准备工作
1.安装好MapTiler Desktop切图工具

2.准备好要切的图片

3.获取图片三个角（左上角、右上角、右下角）在地图上对应的经度和纬度共六个值，记录备用
格式：左上角经度 左上角纬度 右上角经度 右上角纬度 右下角经度 右下角纬度
例子：116.385340 39.921487 116.396348 39.921487 116.396348 39.911299
注：获取方式可自行百度，如通过在线地图坐标拾取系统获取、地图工具获取等

设置切图参数
1.打开MapTiler Deskto]]></description><category></category></item><item><title><![CDATA[Leaflet地图加载百度底图]]></title><link>https://blog.youkuaiyun.com/lihefei_coder/article/details/119610312</link><guid>https://blog.youkuaiyun.com/lihefei_coder/article/details/119610312</guid><author>lihefei_coder</author><pubDate>Wed, 11 Aug 2021 16:33:18 +0800</pubDate><description><![CDATA[源代码
&lt;!DOCTYPE html&gt;
&lt;html style="padding:0;margin:0;"&gt;
&lt;head&gt;
&lt;meta charset="utf-8"/&gt;
&lt;title&gt;&lt;/title&gt;
&lt;link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/leaflet/1.6.0/leaflet.css"&gt;
&lt;script src="http.]]></description><category></category></item><item><title><![CDATA[Leaflet地图基础示例]]></title><link>https://blog.youkuaiyun.com/lihefei_coder/article/details/119609165</link><guid>https://blog.youkuaiyun.com/lihefei_coder/article/details/119609165</guid><author>lihefei_coder</author><pubDate>Wed, 11 Aug 2021 15:59:22 +0800</pubDate><description><![CDATA[&lt;!DOCTYPE html&gt;
&lt;html&gt;

&lt;head&gt;
    &lt;meta charset="utf-8"&gt;
    &lt;meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width"&gt;
    &lt;meta http-equiv="X-UA-Compatible" content="IE=edge" /&gt;
    &lt;.]]></description><category></category></item></channel></rss>