微信订阅消息常见异常及解决方法汇总
订阅消息与公众号模板消息有什么不同 1、订阅消息(通过 服务通知 推送),公众号模板消息(通过 公众号 推送) 2、订阅消息则需要用户主动订阅消息通知,开发者才可向用户推送,但不受时间限制,具体发送信息条数根据该能力的不同类型有不同标准,
一次性订阅模板和永久性订阅有什么区别?如果需要永久性订阅怎么操作? 1、一次性订阅消息:用户订阅一次后,开发者可下发一条消息,不限时间。若用户勾选了“总是保持以上选择,不再询问”且点击了允许,那么以后都默认同意订阅这条消息。用户不再做多次选择,开发者也避免了更繁琐的提醒。 2、长期性订阅消息:用户订阅一次后,可长期下发多条消息。目前长期性订阅消息向 政务、医疗、交通、金融、教育 等线下公共服务开放,后续将综合评估行业需求和用户体验持续完善。
常见错误码及解决方案:
1、{“msgResultCode”:”40001”,”msgResultMsg”:”invalid credential, access_token is invalid or not latest rid: 62ea1b90-6a109301-1b9924f0” ...
RequestBody注解接收实体对象时,部分属性为null的问题
@RequestBody注解接收实体对象时,部分属性为null的问题
1nStartFreeCoefficient 收不到值
原因是lombok生成的getter、setter 如果一个字段第一个时小写,第二个是大写,那么就会导致接收不到
解决方法:
nStartFreeCoefficient -> noStartFreeCoefficient
是不是@Data注释、手写getter、setter方法
redis持久化AOF和RDB
一、AOF三种写入策略:
1. Always:
执行redis写命令之后,立即执行写回磁盘,写入磁盘之后,才会返回结果,同步进行,会增加redis的响应延迟,如果此时磁盘io很繁忙,那么写如磁盘就会慢,那么redis 也会增加延迟时间。
2. EverySecond
相比于Always,Redis后台会又一个专门的线程每秒读取AOF日志缓冲区的命令,然后再写入磁盘。
3. No
Redis写入到内存成功后也会同时写入AOF缓冲区,但是此时Redis的后台线程不会执行写入磁盘的操作,而是由操作系统决定。何时存储到磁盘。
策略
何时写盘
优 点
缺 点
Aways
同步写入
基本不丢失,增加延迟
io 忙的情况下,会增加线程返回结果的延迟时间,断电的时候会丢失还来的急写入的命令
EverySecond
每秒写入
性能好,不会增加太大延迟
断电会丢失一秒的数据
No
操作系统写入
性能好,不会增加太大延迟
丢失数据多少,由操作系统写磁盘频率决定
二、RDB(Redis DataBase)AOF和RDB区别RDB
RDB 文件是经过压缩的二进制文件,占用空间很小 ...
Spring事务几种事务传播行为|记录一下
Spring事务几种事务传播行为PROPAGATION_REQUIRED: 如果当前存在事务,则加入 该事务;如果当前没有事务,则创建一个新的事务 。
PROPAGATION_SUPPORTS: 如果当前存在事务,则加入 该事务;如果当前没有事务,则以非事务的方式继续运行 。
PROPAGATION_MANDATORY: 如果当前存在事务,则加入 该事务;如果当前没有事务,则抛出异常 。
PROPAGATION_REQUIRES_NEW: 创建一个新的事务 ,如果当前存在事务,则把当前事务挂起 。
PROPAGATION_NOT_SUPPORTED: 以非事务方式运行 ,如果当前存在事务,则把当前事务挂起 。
PROPAGATION_NEVER: 以非事务方式运行 ,如果当前存在事务,则抛出异常 。
PROPAGATION_NESTED: 如果当前存在事务,则创建一个事务作为当前事务的嵌套事务来运行;如果当前没有事务,则该取值等价于PROPAGATION_REQUIRED
vue本地开发环境配置跨域
什么是跨域
跨域指浏览器不允许当前页面的所在的源去请求另一个源的数据。源指协议,端口,域名。只要这个3个中有一个不同就是跨域
1234561. 协议跨域http://a.baidu.com 访问 https://a.baidu.com;2. 端口跨域http://a.baidu.com:8080 访问 http://a.baidu.com:8081;3. 域名跨域http://a.baidu.com 访问 http://b.baidu.com;
解决方案(vue)proxyTable: 找到项目config目录下面的index.js文件; 以豆瓣电影api为例,在proxyTable中添加如下代码。
12345678910'/mapi': { target: 'https://api.douban.com/v2/movie/', // api接口地址 changeOrigin: true, pathRewrite: { // 路径重写, & ...
Avoid mutating a prop directly since the value will be overwritten whenever
vue报错:Avoid mutating a prop directly since the value will be overwritten whenever
官方文档所有的 prop 都使得其父子 prop 之间形成了一个单向下行绑定:父级 prop 的更新会向下流动到子组件中,但是反过来则不行。
错误代码:父组件:子组件:
12345cancelReply() { this.parentId = "0"; this.replyuserName = ""; this.isReply = false;}
解决方法子组件:
12345cancelReply() { this.$emit('changereplyuserName',""); this.$emit('changeparentId',"0"); this.$emit('changeisReply',false);}
父组件:
解决微信小程序setData() undefined问题
错误代码123456789setleftSelectData:function(){ http.HttpRequst("GET", "setleftSelectData", { userId: app.globalData.userInfo.userId }, false, 0, function(res) { this.setData({ leftSelectData:res.data }) })}
上述代码中的http.HttpRequest是封装好的请求方法,在该方法的回调中直接使用this.setData()会回报’setData’ of undefined,是因为这个this的指向并非是原来的this
解决方法以上述代码为例:
12345678910setleftSelectData:function(){ let that = this; http.HttpRequst("GET", ...
java调用Mysqldump备份数据库
1123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162/** * @Description: TODO * @Author: luis_liu * @DateTime: 2021/6/29 9:55 */public class MysqlDumpMethod { private ...