ifu25 发布的文章
- 首页
- ifu25
基于 ThinkPHP 的 API 项目实战:权限控制
最近开发的移动 App 服务端 api 选用ThinkPHP来写,现需要针对不同用户进行获取数据时的权限控制,其中用户的授权信息由公司的 ERP 系统来维护,这里记录下实现过程。权限数据结构用到的相关表有:功能权限、用户权限、用户组权限,其中后两个表已经合并为一个视图方便查询。获取用户权限保存到 Array为了方便在各控制器中调用,在 common.php 中定义了 getPerms() 方...
Vue UI 控件库收集
本文将持续更新分享微酷收集的基于 Vuejs 的 UI 控件库。PC端element-ui(饿了么出品)http://element.eleme.ioiViewhttps://www.iviewui.comhttps://admin.iviewui.com/ (后台管理模板)https://weapp.iviewui.com (微信小程序 ui 组件)Ant Design Vue(阿里支付宝...
PHP empty(0) 返回 1,即 0 也被当成“空”
研究ThinkPHP源码时发现删除记录的 destory 方法中的判断有点绕,学习了下发现还是因为自己读书太少。先看下面的逻辑:/** * 删除记录 * @access public * @param mixed $data 主键列表 支持闭包查询条件 * @return bool */ public static function destroy($data) { if...
Spring Boot 连接 sqlserver 数据库
现在微酷不管研究什么框架,第一时间是将默认的Mysql连接改成SqlServer,因为公司的ERP都是跑在微软的平台上的。Spring Boot 连接 sqlserver 数据库添加依赖pom.xml 文件添加依赖<!-- https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc --> <d...
DevExpress 购买到期后不再续费授权是否可用?
DevExpress 购买后有效期内下载的产品版本可以永久使用,即使到期不再续费也可以使用,到期后只是不能再更新新版本了。见官方 Licensing 页面:
Excel 按方向键如何使光标在单元格内移动,而非跳到下个或上个单元格
使用 Excel 过程中有个很常见的需求:在单元格中输入一些内容后发现内容中前面有几个字输入错误想修改,这时大多数人可能会按键盘的左方向键(←),期待光标往前移动,但结果却是直接跳出了当前单元格,跑到上一个单元格了。如果用鼠标双击单元格再编辑的话就不会有这个问题。解决方案这里需要用到 Excel 的一个快捷键【F2】,先看下这个快捷键的功能说明:【F2】编辑活动单元格并将插入点放在单元格内容...
IDEA properties 配置文件格式化代码时保留空白行设置方法
File | Settings | Editor | Code Style | Properties 勾选:Keep blank lines
Shiro 自定义 Session 过期超时时间+登录后指定时间强制 session 过期
提前说下 Session 过期时间是不发起请求持续一定时间后 session 过期,shiro 默认是 30 分钟。shiro 设置 session 超时时间Shiro 的 Session接口有一个 setTimeout() 方法,登录后,可以用如下方式取得 sessionSecurityUtils.getSubject().getSession().setTimeout(1800000);...
Spring Boot 无法捕捉 404 异常问题
系统做了一个全局异常,对各种异常进行封装,统一返回。@ExceptionHandler(NoHandlerFoundException.class) @ResponseStatus(value = HttpStatus.NOT_FOUND) @ResponseBody public ResponseEntity<ErrorResponse> handle404(NoHandler...
Spring Boot Shiro Redis 缓存 Key 乱码
最近搭建的Spring boot+shiro+redis模板项目到了配置缓存了,发现写入的key前面有一部分是乱码。\xac\xed\x00\x05t\x00shiro:cache:admin解决方案自动注入的redisTemplate进行以下设置:redisTemplate.setKeySerializer(new StringRedisSerializer()); redisTempla...
idea maven 自动导入引用的依赖设置方法
使用 idea 在进行 maven 项目开发时,是否 auto import 是保存在每个项目中,所以即使设置了当前项目,以后的项目还要设置。为了让以后的项目都自动 auto import,我们需要在不打开项目的情况下对 idea 的进行设置。File | Settings | Build, Execution, Deployment | Build Tools | Maven | Impo...
Java char[] 字符数组转 String 字符串遇到的问题
最近微酷在学习 Java 最牛逼的开发框架Spring Boot,这两天学到了shiro安全框架,在写shiro 自定义密码验证规则时遇到一个很简单的问题,但因为 java 基础不扎实还小难为了一会,研究了下才解决。问题描述shiro 自定义密码验证规则需要重写doCredentialsMatch()方法,可以通过token.getCredentials()获取到用户登录时填写的密码,但类型...
SpringBoot:MyBatis 无实体类获取数据字段为 null 时不返回字段的解决方案
有时为了简单或是偷懒或是就不喜欢写实体类,SpringBoot可以用HashMap<String, Object>来代替实体类接收数据,但今天微酷在学习时发现用MyBatis获取数据然后用HashMap接收时若数据库中字段值为null的情况下字段不会返回。解决方案配置 MyBatis 即可解决这个问题。在application.properties中配置如下参数mybatis.c...
SpringBoot 自动注入失败:Consider defining a bean of type 'xxx.UserMapper' in your configuration
spring boot 自动注入来有可能会出现下面的错误。*************************** APPLICATION FAILED TO START *************************** Description: Field userMapper in cn.lttc.springbootmybatisdemo.controller.HelloCont...
IDEA SpringBoot 热更新、热重载配置方法
现在开发流行热更新热重载,修改代码后不重启新启动应用即可使修改生效,特别是 web 前端开发特别酸爽,修改后连网页都不用 F5 刷新,刚开始学习SpringBoot发现热更新不生效,研究发现正确姿势如下。IDEA 配置热更新热重载方法第一步pom.xml配置依赖和插件,注意下图中框出的地方不能少。第二步打开 idea 设置,定位到:File | Settings | Build, Execu...