小插件集合

1.沉浸式英语翻译插件安装:

如何安装沉浸式翻译
来源:https://immersive-translate.owenyoung.com/



桌面端
Edge 浏览器
已上架 Edge 商店,点击这里 安装

https://microsoftedge.microsoft.com/addons/detail/amkbmndfnliijdhojkpoglbnaaahippg

类 Chrome 浏览器
已上架 Chrome 商店, 点击这里 安装

https://chrome.google.com/webstore/detail/immersive-translate/bpoadfkcbjbfhfodiogcnhhhpibjhbnh

Firefox
已上架 Firefox Addon 商店,点击这里 安装

https://addons.mozilla.org/zh-CN/firefox/addon/immersive-translate/

油猴脚本地址
油猴脚本地址: https://immersive-translate.owenyoung.com/immersive-translate.user.js , 在已安装油猴扩展的浏览器中打开该地址,即可安装

https://immersive-translate.owenyoung.com/immersive-translate.user.js

苹果 iOS/macOS 系统
使用 Safari 浏览器,桌面版和移动版都支持,需配合油猴插件安装,以 Userscripts (https://apps.apple.com/us/app/userscripts/id1463298887)为例:

安装 Userscripts safari 插件(https://itunes.apple.com/us/app/userscripts/id1463298887),并授予其 “始终允许访问任何网站” 的权限。

安装本扩展的 油猴脚本(https://immersive-translate.owenyoung.com/immersive-translate.user.js)(在 Safari 浏览器中打开该链接即可看到安装页面)

安装后,打开任意网页刷新一下,在网页右侧会出现本扩展的浮动窗口。(如果遇到没有出现浮窗的问题,建议多刷新一下网页,或者强制重启一下 Safari,以使其生效)

如果安装有困难,可以点击参考 YouTube 视频教程,抖音视频教程 。

https://v.douyin.com/B4aeGYt/



安卓端 (Android)
火狐浏览器
下载 Firefox 最新版本 版本

在 Firefox 的附加组件推荐里找到 Tamper Monkey,安装

安装本扩展的 油猴脚本 (在 Firefox Beta 浏览器中打开该链接即可看到安装页面)

安装后,打开任意网页,在右侧会出现沉浸式翻译扩展的浮窗图标。

https://play.google.com/store/apps/details?id=org.mozilla.firefox&hl=en_US&gl=US

https://www.tampermonkey.net/

https://immersive-translate.owenyoung.com/immersive-translate.user.js

其他浏览器
比如 Kiwi 浏览器,狐猴浏览器等,只要支持油猴脚本的浏览器,都可以通过油猴脚本安装本扩展。如果支持 Chrome 商店,也可以直接安装商店版本。

油猴脚本 GreasyFork 地址
你也可以通过 Greasy Fork 商店安装油猴脚本,但是缺点是 iOS 的 Userscripts油猴扩展似乎不支持 Greasyfork 托管的脚本的自动更新,因为 GreasyFork 不允许填写 updateURL 属性。

手动安装 (追踪最新开发特性)
手动安装的优点在于无需等待商店审核,可以立即体验到最新开发版本的功能。

下载安装包。使用 git clone 将仓库下载到本地:git clone https://github.com/immersive-translate/next-immersive-translate.git。(如果你不习惯命令行操作,你可以直接在 发布页面 下载压缩包。此外,你也可以通过下载 Github 桌面客户端 将该 Github 仓库 同步到本地。)

类 Chrome 浏览器安装:(1) 在地址栏输入:chrome://extensions,打开扩展管理窗口;(2) 打开“开发人员模式”,选择“加载解压缩的扩展”,选择 dist/chrome 载入。

Firefox 浏览器安装:(1) 在地址栏输入: about:debugging#/runtime/this-firefox,打开扩展管理窗口;(2) 临时载入附加组件,选择 dist/firefox/manifest.json 即可。

更新方法:如果你使用 git 下载的安装包,那么使用 git pull 拉取最新文件,然后在扩展管理页面选择 Reload 即可。如果你在 发布页面 下载的安装包,那么还在这里下载最新的版本替换旧的即可。 作者:BA7MRY https://www.bilibili.com/read/cv22205732 出处:bilibili

2. logback.xml配置文件

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/defaults.xml" />
    <include resource="org/springframework/boot/logging/logback/console-appender.xml" />

    <springProperty scope="context" name="logName" source="spring.application.name" defaultValue="localhost.log"/>

    <!--日志路径-->
    <property name="logBase" value="./logs"/>

    <!-- 彩色日志依赖的渲染类 -->
    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
    <conversionRule conversionWord="wex"
                    converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
    <conversionRule conversionWord="wEx"
                    converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
    <!-- 彩色日志格式 -->
    <property name="CONSOLE_LOG_PATTERN"
              value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
    <!-- 控制台输出 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
            <charset>utf8</charset>
        </encoder>
    </appender>

    <!-- 生成日志文件 -->
    <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${logBase}/info.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 日志文件输出的文件名 -->
            <fileNamePattern>${logBase}/info/info-%d{yyyy-MM-dd}.gz</fileNamePattern>
            <totalSizeCap>100GB</totalSizeCap>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>%n%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{traceId}] [%logger{50}] %n%-5level: %msg%n</pattern>
        </encoder>
        <!-- 打印日志级别 -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>DEBUG</level>
        </filter>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>WARN</level>
            <onMatch>DENY</onMatch>
            <onMismatch>ACCEPT</onMismatch>
        </filter>
        <append>true</append>
    </appender>

    <!-- 生成日志文件 -->
    <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${logBase}/error.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 日志文件输出的文件名 -->
            <FileNamePattern>${logBase}/error/error-%d{yyyy-MM-dd}.gz</FileNamePattern>
            <totalSizeCap>100GB</totalSizeCap>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>%n%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{traceId}] [%logger{50}] %n%-5level: %msg%n</pattern>
        </encoder>
        <!-- 打印日志级别 -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>

    <!-- 生成日志文件 -->
    <appender name="WARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${logBase}/warn.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 日志文件输出的文件名 -->
            <FileNamePattern>${logBase}/warn/warn-%d{yyyy-MM-dd}.gz</FileNamePattern>
            <totalSizeCap>100GB</totalSizeCap>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>%n%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{traceId}] [%logger{50}] %n%-5level: %msg%n</pattern>
        </encoder>
        <!-- 打印日志级别 -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>WARN</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>

    <!-- 日志输出级别 -->
    <root level="INFO">
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="INFO"/>
        <appender-ref ref="ERROR"/>
        <appender-ref ref="WARN"/>
    </root>

    <!-- DEBUG 打印详细sql,INFO 输出用户日志-->
    <logger name="com.jee" level="DEBUG" />
    <logger name="com.jee" level="INFO" />

</configuration>

3. maven引入外部Jar包注意事项:

在这里插入图片描述

<dependency>
   <groupId>com.unicom</groupId>
    <artifactId>api-sign-decoder</artifactId>
    <version>1</version>
    <scope>system</scope>
    <!--路径-->
    <systemPath>${project.basedir}/src/main/resources/lib/api-sign-decoder-1.0-SNAPSHOT.jar</systemPath>
</dependency>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <excludes>
                    <exclude>
                        <groupId>org.projectlombok</groupId>
                        <artifactId>lombok</artifactId>
                    </exclude>
                </excludes>
                <!--如果没有该配置,devtools不会生效-->
                <fork>true</fork>
                <!--将外部jar包一起打包进来(注意此处如果不设置为true则不会将外部依赖的jar包打包进来)-->
                <includeSystemScope>true</includeSystemScope>
            </configuration>
        </plugin>
    </plugins>
</build>

3. idea代码模板注释:

*
 * @params: $param$
 * @return $return$
 * @author yming wang
 * @date $date$ $time$
 * @desc 
 */
 #time
 time()
 #param
 groovyScript("def result = '';def params = \"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {if(params[i] != '')result+='* @param ' + params[i] + ((i < params.size() - 1) ? '\\r\\n ' : '')}; return result == '' ? null : '\\r\\n ' + result", methodParameters())
 #date
 date()
 #return
 groovyScript("return \"${_1}\" == 'void' ? null : \"${_1}\"", methodReturnType()) 

在这里插入图片描述

4. a标签携带token下载文件

<!DOCTYPE html>
<html>
<head></head>
<body>
	<button onclick="download()">点击下载</button>
</body>
<script>
	function download(){
		debugger;
		let consturl = "http://localhost:4502/idc-electric-charge/confirmation?preview=1&workId=89";
		var xhr = new XMLHttpRequest();
		xhr.open("get", consturl, true); // get、post都可
		xhr.responseType = "blob";  
		xhr.setRequestHeader("Authorization","Bearer Cookies.get(Admin-Token)");
		xhr.onload = function() {
			debugger;
			if(xhr.status==200){
			  let blob = new Blob([this.response], { type: 'application/zip' });
			  var a = document.createElement("a")
			  var url = window.URL.createObjectURL(blob)
			  a.href = url
			  a.download = '签名导出.pdf'  // 文件名
			}
		  a.click()
		  window.URL.revokeObjectURL(url)
		} 
		xhr.send();
	}
</script>
</html>

5. tomcat启动慢配置随机数

VM Options 配置参数 -Djava.security.egd=file:/dev/urandom
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值