分类 技术相关 下的文章

2021年4月13日起,getUserInfo将不再弹出弹窗,并直接返回匿名的用户个人信息,所以请尽快更新微信小程序授权登录接口。

调整背景:
打开小程序时就通过组件方式唤起getUserInfo弹窗,如果用户点击拒绝,无法使用小程序,这种做法打断了用户正常使用小程序的流程,同时也不利于小程序获取新用户。

getUserProfile接口

接口地址:https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserProfile.html

Bug & Tip

1.tip:仅小程序中 wx.getUserInfo 接口进行调整,小游戏中不受影响;
2.tip:开发者工具中仅 2.10.4 及以上版本可访问 wx.getUserProfile 接口,在真机上可参考示例代码进行判断,无需根据版本号或者 canIUse 进行条件。
3.tip:wx.getUserProfile 返回的加密数据中不包含 openId 和 unionId 字段。
4.bug:开发者工具中 2.10.4~2.16.1 基础库版本通过 <button open-type="getUserInfo"> 会返回真实数据,真机上此区间会按照公告返回匿名数据。

wx.getUserProfile 修改方案参考:https://developers.weixin.qq.com/community/develop/article/doc/00000cc422c12844b4fb644d056813

公告说明链接:
https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801?highLine=login

java抽象类 vs 接口理解

前提条件

对抽象类和接口有了基本概念的了解。大部分文章整的比较复杂,虽然说得对,但还是不好区分。

核心概要总结如下:

-- 抽象类 跟普通类没啥大区别,只是多了抽象方法。不能new。 属于顶层设计,定义出共有的属性和方法。
含有抽象方法一定是抽象类。

-- 接口,更严格,不能new
只能定义常量 public static final,默认的可忽略
只能有抽象方法,不能有构造方法,默认就是public abstract 可以忽略
jdk1.8之后,放宽条件,可以 defalut关键字声明普通方法,静态方法

使用场景:

抽象类,一般用于含有共有属性及功能的抽取,如人是一个抽象类,下面还有男人 女人等,人都有公用的属性和方法。java是单继承

接口,可以多实现、继承,解耦,多态。 动物>> 狗 猫

综上,大概就是这个样子,相比其它文字的长篇大论是不是清晰很多,只要理解核心即可。

解决办法:
Remove this line from the build.gradle on the specified project (移除build.gradle的这个配置)

apply from: 'https://raw.github.com/twotoasters/gradle-mvn-push/master/gradle-mvn-push.gradle'

library has gradle tasks for uploading to the Maven repository that require some properties to be set for the gradle environment, in your project you don't need/want that.

mybatis开启缓存
MyBatis的缓存分为一级缓存和二级缓存(全局缓存) ,缓存示意图如下图所示。默认情况下,一级缓存是开启的,且不能被关闭。
一次数据库 SqlSession会话中,执行多次查询条件完全相同的SQL,MyBatis提供了一级缓存的方案优化这部分场景,如果是相同的SQL语句,会优先命中一级缓存,避免直接对数据库进行查询,提高性能。

二级缓存(全局缓存)开启后,同一个namespace下的所有操作语句,都影响着同一个Cache,即二级缓存被多个SqlSession共享,是一个全局的变量。
当开启缓存后,数据的查询执行的流程就是 二级缓存 -> 一级缓存 -> 数据库。

mybatis 一级二级缓存

免责声明
本博客部分内容来自于互联网,不代表作者的观点和立场,如若侵犯到您的权益,请联系238611804@139.com。我们会在24小时内进行删除。