手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2021年08月的文章

Spring项目如何设置session的过期时间

接手一个Spring项目,因为默认的session只有1天时间(已知是项目中的现状),再加上项目里的session是利用redis来管理的,实在是spring不熟,于是就google,大部分都是说,设置:server.session.timeout就行了。

然而并没有效果,继续翻google和stackoverflow,有人说你得看文档啊。,从springboot2.0开始,就是server.servlet.session.timeout了。于是继续 改。仍然不起作用,

这时候有一个评论数并不高的回复说,其实只要改@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 60),如果有设置这个值,只要修改maxInactiveIntervalInSeconds就行了。

于是将值改为 86400*10,问题解决。

参考:

1、https://stackoverflow.com/questions/32501541/what-is-the-default-session-timeout-and-how-to-configure-it-when-using-the-sprin

uniapp编译的APP中如何打开pdf

uniapp支持编译成APP,同时支持IOS和Android,但这两个平台上面的行为有些不太一致。比如openDocument。

正常情况下,

1、我们如果是本地文件(PDF,现在只读PDF)。可以先利用plus.io.convertLocalFileSystemURL进行一次处理(记得只能存放在static目录下),static目录非常重要。,这时候可以获取相对于系统的全路径,然后用openDocument就可以打开了。

2、如果是网络文件,那就得先用uni.downloadFile来先下载,然后success(res){},res.url就是下载后的临时文件(依稀是这样,网上有很多例子,不多说)。然后再调用openDocument打开即可。

3、网络文件,也可以采用pdf.js来打开,这个就是mozilla提供的。他有提供两个版本,针对旧浏览器和现代浏览器的。如果没有什么特别要求,用现代浏览器的即可(这种pdfjs的方法,需要在webview里打开,可以参考uniapp的webview)。

--综上,看起来好象处理起来没那么复杂,然而问题来了,IOS这些都没问题,1、2、3的处理方法都OK。但安卓就不行了。1和2 在处理的时候,openDocument会直接调用系统,问你用哪个APP打开,一旦打开,就跳出你当前的APP了,这个就有点烦人,所以在android上几乎是只能采用第3种方式

默认mozilla提供的viewer.html的文件,非常复杂,因为他顶部的工具栏很多,如果没有时间定下心来研究或者处理,那一堆工具栏就显得有点多余,毕竟,我们是在手机上、PAD上打开,不需要那些工具栏,这时候就推荐一款基于pdfjs的一个微型库。居然还用了jquery的库的:https://github.com/gjTool/pdfh5,用法很简单,他本身也有test的demo,但有几个还是要注意一下,比如一些默认值的设置,默认点击会放大,而且默认是canvas渲染。官方的意思是:

XML/HTML代码
  1. pdfh5.js 基于pdf.js和jQuery,web/h5/移动端PDF预览手势缩放插件。  
  2.   
  3. 注意:本地绝对路径地址不能加载,跨域问题用代理或者服务端解决。  
  4.   
  5. svg模式渲染存在缺陷,只能渲染普通pdf,带签名、印章的可能会渲染不全,报错,pdf.js官方目前没有给出解决方案  
  6.   
  7. canvas模式本质是图片,默认进去的时候,图片在手机端被缩放,不是原分辨率,所以失真模糊。所以需要放大查看pdf  

但问题是,如果pdf本来就是图片,而且宽度 很大,这个渲染非常耗时间。。。卡出翔来。如果你只是普通的PDF,那就直接用svg吧。几乎秒开。打开的速度依据你的网络下载PDF的速度而定。

--至此,问题几乎全部解决。