Echarts实现世界地图
效果展示先看实现效果
安装依赖首先需要安装 Echarts 4.9.0 版本,因为5.0版本不包含地图文件,所以需要安装指定版本
1npm install echarts@4.9.0
完整代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 ...
【无界】微前端技术应用
主应用搭建初始化首先创建一个主应用,我这里使用 vite + vue3 来作为主应用
1yarn create vite
依次输入项目名称:base-main
选择项目框架:vue3
使用 TypeScript
启动项目,看到如下界面表示项目初始化成功
引入无界无界官方文档
我们主应用时 vue3,所以可以引入 wujie-vue3 ,其他版本的参考文档
1yarn add wujie-vue3
修改 main.ts,挂载 WujieVue,方便在全局直接使用 WujieVue 组件
123456789import {createApp} from 'vue'import './style.css'import App from './App.vue'import WujieVue from "wujie-vue3";const app = createApp(App)app.use(WujieVue)app.mount('#app')
创建子应用子应 ...
JS实现在线预览HTML文件
要在JavaScript中直接预览一个在线的HTML文件,可以采用以下几种方法:
使用iframe标签
这是最简单的方法之一。你可以创建一个iframe元素,并设置其src属性为在线HTML文件的URL。
示例代码:123const iframe = document.createElement('iframe');iframe.src = 'https://example.com/your-online-html-file.html';document.body.appendChild(iframe);
使用window.open方法
可以通过window.open方法打开一个新的浏览器窗口或标签页来预览在线HTML文件。
示例代码:1window.open('https://example.com/your-online-html-file.html', '_blank');
这种方式可能会直接触发浏览器的下载行为,而不是预览,可以参考
使用fetchAPI加载并插入DOM
如果你需要更复杂的控 ...
利用 Spring AOP 实现日志记录
功能概述
切面定义:
使用 @Aspect 注解标记该类为一个切面。
使用 @Component 注解将该类注册为一个 Spring Bean。
使用 @Order(0) 注解指定该切面的执行顺序,值越小优先级越高。
切点定义:
使用 @Pointcut 注解定义一个切点 controllerLog(),匹配 com.szx.exam.controller 包及其子包下的所有控制器方法。前置日志记录:
logBefore 方法负责在控制器方法执行前记录请求的相关信息。
获取当前请求的 HttpServletRequest 对象。
记录请求的 URL、HTTP 方法、客户端 IP、客户端名称、控制器类名、方法名以及方法参数。
使用 lombok 注解引入日志记录器 log,并在 finally 块中输出日志信息。
环绕通知:
使用 @Around 注解定义一个环绕通知 around,在控制器方法执行前后进行操作。
记录方法开始执行的时间。
调用 logBefore 方法记录前置日志。
执行控制器方法,并记录返回结果。
记录方法执行时间。
清除 TraceId。
引入依 ...
使用vue3实现element-plus的主题切换特效
实现效果
实现过程前提需要引入好 element-plus,并导入element的黑色主题CSS
示例,再 main.js 中引入
12345678import ElementPlus from 'element-plus'import 'element-plus/dist/index.css'import 'element-plus/theme-chalk/dark/css-vars.css' // 黑色主题app.use(ElementPlus, { locale: locale, size: Cookies.get('size') || 'default'})
接着编写下面的基础代码
12345678910111213141516171819202122232425262728293031<template> <div> <el-switch v-model='value1' class=' ...
logback.xml 常用配置
新建一个 logback.xml 文件,然后复制下面的内容,和 application.yml 文件平级放即可
该文件主要定义了如下配置
修改默认的日志存放地址为D盘 D:/logs/score-manager
统一日志输出格式,按照年月日时分秒格式输出,并输出日志发生的文件名,代码行数
按照每天的时间进行循环日志,最大保存60天,超过60天的日志自动清理
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879<?xml version="1.0" encoding="UTF-8"?><configuration> <!-- 项目名称 --> <property name="projectname" value="sco ...
使用node+prisma和vue3实现一个群聊功能
后端代码编写node环境初始化新建一个空文件夹node,初始化node环境
1npm init -y
修改 packages.json,只保留 scripts 和 dependencies
123456{ "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "dependencies": {},}
ts环境初始化1tsc --init
如果没有tsc命令,需要提前在全局安装 typescript
1npm install typescript ts-node -g
已经安装过的可忽略
检查ts是否安装成功
1tsc -v
执行完 tsc --init 会自动生成 tsconfig.json,修改里面的三个配置
123"experimentalDecorators": true, ...
一个优雅的轮循代码
实现代码
12345678910111213141516171819202122232425262728293031323334353637383940<script>export default { data() { return { pollingST: null, // 定义一个计时器 isPolling: false, // 定义一个标志变量 } }, mounted() { this.polling() document.addEventListener('visibilitychange', this.handleVisibilityChange) }, methods: { polling() { if (this.isPolling) return // 如果已经在轮询,直接返回 this.isPolling = true // 设置标志变量为 true // ...
pm2 + linux + nginx
pm2pm2是一个用于管理node项目的工具
前言有如下两个文件
index.js
1234567891011121314const express = require("express");const app = express();const port = 9999;app.get("/index", (req, res) => { res.json({ code:200, msg:"songzx001" })});app.listen(port, () => { console.log(`Example app listening on http://localhost:9999/index`);});
index2.js
1234567891011121314const express = require("express");const app = express();const port = 8888;a ...
巧用scss实现一个通用的媒介查询代码
效果展示
实现代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586<template> <div class="page-root"> <div class="header"></div> <div class="content"> <div class="car-item" v-for="item in 9"></div> </div> </div></template><script setup></script><style sc ...