2021年1月10日
使用 ElementUI 上传图片前预览 当使用 ElementUI 上传图片时,需要先预览该选中的图像文件 <div class="layui-inline"> <img v-if="poster.length>0" :src="poster" width="40" height="40" /> <el-upload class="upload-demo" ref="upload" action="https://jsonplaceholder.typicode.com/posts/" :on-change="onFileSelected" :auto-upload="false" :multiple="false" :with-credentials="true" :show-file-list="false" accept="image/*" > <el-button slot="trigger" size="small" type="primary">选取文件</el-button> <div slot="tip" class="el-upload__tip">只……
阅读全文
2021年1月9日
使用 axios 的 Promise 封装 简单的 axios 封装 ajax.js import axios from "axios"; const headers = { "Content-Type": "application/x-www-form-urlencoded" }; function process(res) { let body = res.data; if (body.code === 0) { return new Promise(function (resolve, reject) { resolve(body.data); }); } else { return new Promise(function (resolve, reject) { reject({ code: body.code, msg: body.msg }); }); } } function get(uri, params) { return axios.get(uri, { params: params, headers: headers }).then((res) => { return process(res); }); } function post(uri, params) { let data = new FormData(); for (let item in params) { data.append(item.toString(), params[item].toString()); } return axios .post(uri, data, { headers: headers, }) .then((res) => { return process(res); }); } function remove(uri, params) { return axios .delete(uri, { params: params, headers: headers, }) .then((res) => { return process(res); }); } const ajax = { get: get,……
阅读全文
2021年1月8日
axios 使用 post 的正确姿势 当进行 Ajax POST 请求时,后端程序使用 request.getParameter 的方式获取参数,需要将 axios 的缺省配置进行调整才可能正确传递参数 直接上代码: function post(uri, params) { let data = new FormData(); for (let item in params) { data.append(item.toString(), params[item].toString()); } return axios.post(uri, data, { headers: { "Content-Type": "application/x-www-form-urlencoded" }, }); } 即可,没有网络上那么多复杂的转码设置。……
阅读全文
2021年1月7日
使用 zip4j 处理压缩文件 通常情况下使用 java 处理 zip 文件时,有 java.util.zip 包下类可以使用。 但这些包过于基础且难于使用。 zip4j 有简单易用的 api,几乎可以完美使用于各种 ZIP 相关操作的场景中。 常用的 zip 处理场景包括: 压缩: 将文件打包存储到 zip 文件 将文件打包到 zip 文件内的特定文件夹内 解压: 将指定 zip 内所有文件解压到指定的……
阅读全文
2021年1月6日
使用 Nginx Unit 部署 JavaWebApp 从源码构建和安装 NginxUnit 主要参考:http://unit.nginx.org/installation/#source-code # 下载源码 git clone https://github.com/nginx/unit cd unit # 配置路径前缀 ./configurate --prefix=/apps/unit # 配置 java 模块 ./configurate java # 生成应用并安装到 /apps/unit make && make install 启动和停止 NginxUnit cd /apps/unit # 查看命令行使用帮助 ./sbin/unitd --help # 使用命令行形式启动控……
阅读全文
2020年1月3日
在 Nginx 中使用 SSL 安全协议 直接上代码: listen 443 ssl; server_name fengxinzi.biz; ssl_certificate /opt/nginx/conf/ssl/server.crt; ssl_certificate_key /opt/nginx/conf/ssl/server.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 其中的 ssl_certificate ssl_certificate_key 为证书 如下一段代码是 nginx 内部示例代码: server { listen 443 ssl; server_name localhost; ssl_certificate cert.pem; ssl_certificate_key cert.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { root html; index index.html index.htm; } }……
阅读全文
2020年1月2日
部署 Let’s Encrypt 免费 SSL 证书&&自动续期 免费 SSL 证书站点 https://letsencrypt.org/zh-cn/getting-started/ 前提 需要有域名,它会生成指定域名的证书。(填 IP 会报错不支持的) 需要在域名指向的服务器上能访问 https。(不然会报找不到 443 端口的错误) 需要 linux 环境。 部署 获取 Let’s Encrypt ##获取安装工具 wget https://dl.eff.org/certbot-auto ##设置安装工具为可执行 chmod a+x certbot-auto 执……
阅读全文
2020年1月2日
Nginx 在 MacOS 上的自动启动设置 在 MacOS 上通过 brew 安装的 nginx 默认安装在 /usr/local/Cellar/nginx ,通过 brew 安装的时候自动生成了 homebrew.mxcl.nginx.plist 这个文件 将该文件拷贝到 /Library/LaunchDaemons 或者在该文件夹建立 homebrew.mxcl.nginx.plist 这个文件的软连接(MacOS 的访达右键菜单里称为“替身”) 该文件是其实是 XML 文本,其内容是: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>homebrew.mxcl.nginx</string> <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <false/> <key>ProgramArguments</key> <array> <string>/usr/local/bin/nginx</string> <string>-g</string> <string>daemon off;</string> </array> <key>WorkingDirectory</key> <string>/usr/local</string> </dict> </plist> 然……
阅读全文
2020年1月2日
环境说明 首先链接上 VPN 网络 并查看 VPN 网卡的网关 本例中 VPN 网关是192.168.255.21 要路由的 IP 地址是10.10.10.10(即目标服务器的 IP 地址) 增加路由 sudo route -n add -net 106.14.10.109 -netmask 255.255.255.255 -gateway 192.168.255.21 删除路由 sudo route -n add -net 106.14.10.109 -netmask 255.255.255.255 -gateway 192.168.255.21……
阅读全文
2020年1月1日
nacos 2.0.3 的完整 sql CREATE TABLE `config_info` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', `data_id` varchar(255) NOT NULL COMMENT 'data_id', `group_id` varchar(255) DEFAULT NULL, `content` longtext NOT NULL COMMENT 'content', `md5` varchar(32) DEFAULT NULL COMMENT 'md5', `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', `src_user` text COMMENT 'source user', `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip', `app_name` varchar(128) DEFAULT NULL, `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段', `c_desc` varchar(256) DEFAULT NULL, `c_use` varchar(64) DEFAULT NULL, `effect` varchar(64) DEFAULT NULL, `type` varchar(64) DEFAULT NULL, `c_schema` text, PRIMARY KEY (`id`),……
阅读全文