分类 技术相关 下的文章

背景

ios12月份前需使用WkWebview才能更新app,否则不予上架,所以之前的cordova版本需要升级。

调整步骤:
1.安装插件
cordova plugin add cordova-plugin-wkwebview-file-xhr
参考链接:
https://www.npmjs.com/package/cordova-plugin-wkwebview-file-xhr
2.搜索cordova关键字createConfigurationFromSettings添加下方代码
Cordova6.0后,WK插件就被移除了,兼容到Cordova内部中,所以我在升级后的Cordva中搜索createConfigurationFromSettings 方法,在其内部增加代码

//在return上面添加下面两行代码
      [configuration.preferences setValue:@YES forKey:@"allowFileAccessFromFileURLs"];
      [configuration setValue:@YES forKey:@"_allowUniversalAccessFromFileURLs"];
      return configuration;

3.避免走的坑
白名单默认都安装了,不需要卸载重新安装。以下配置不需要添加到config.xml中。当然视版本不同,可能会有不同的情况,大家根据需要配置调整。

<allow-navigation href="*" />

<preference name="scheme" value="app" />
<preference name="hostname" value="localhost" />

<feature name="CDVWKWebViewEngine">
<param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />

参考链接:

https://cordova.apache.org/announcements/2020/08/31/cordova-ios-6.1.1.html
https://www.jianshu.com/p/69d749f12636
https://github.com/oracle/cordova-plugin-wkwebview-file-xhr
https://stackoverflow.com/questions/39361771/wkwebview-origin-null-is-not-allowed-by-access-control-allow-origin
https://stackoverflow.com/questions/36000757/cordova-ios-error-origin-null-is-not-allowed-by-access-control-allow-origin

google guava工具类是谷歌提供的一个方便的集合等处理工具

guava的优点:

高效设计良好的API,被Google的开发者设计,实现和使用
遵循高效的java语法实践
使代码更刻度,简洁,简单
节约时间,资源,提高生产力
Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:

处理能力

集合 [collections]
缓存 [caching]
原生类型支持 [primitives support]
并发库 [concurrency libraries]
通用注解 [common annotations]
字符串处理 [string processing]
I/O 等等。

拆分list示例

 @Test
    public void test1() {
        List<List<Integer>> partitions = Lists.partition(lists, 10);
        for (List<Integer> list : partitions) {
            System.out.println(list);
        }
    }
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>27.1-jre</version>
</dependency>

1.SpringBoot公众号业务 引入依赖

<!--Spring Boot 实现的公众号 Demo(支持多公众号) https://github.com/Wechat-Group/WxJava/blob/develop/demo.md -->

    <dependency>
        <groupId>com.github.binarywang</groupId>
        <artifactId>wx-java-mp-spring-boot-starter</artifactId>
        <version>3.9.0</version>
    </dependency>

2.测试代码 Hello World

@RestController
@RequestMapping("/wechat")
@Slf4j
public class WechatContraller {

    @Autowired
    private WxMpService wxMpService;
    @Autowired
    private WxMpConfigStorage wxMpConfigStorage;

    @RequestMapping("/test")
    public String hello( HttpServletRequest request){
        try {
            String accessToken = wxMpService.getAccessToken();
            String oauthUrl = wxMpService.getOAuth2Service().buildAuthorizationUrl("http://redir", WxConsts.OAuth2Scope.SNSAPI_BASE,"0");
            log.debug("授权URL是:{}",oauthUrl);
            log.debug("accessToken{}",accessToken);
            log.debug("appid:{}",wxMpConfigStorage.getAppId());
        }catch (Exception e){
            log.error("公众号测试异常",e);
        }
        return "Hi";

    }


}

3.总结

核心是private WxMpService wxMpService 和WxMpConfigStorage wxMpConfigStorage 这两个类。 使用起来非常方便,对常量及各种接口都进行了封装,包括accessToken的缓存等等。建议查看源代码,了解各种实现。

4.更多模块依赖参考官方地址:

https://github.com/wechat-group/WxJava

据网友投递,Python 3.9.0 稳定版(Python 3.9.0 final )昨日正式发布,它包含许多新功能和优化,禁止在Windows 7上安装,且默认提供64位安装程序。

IT之家了解到,Python 3.9.0 alpha 1 首个迭代版本于2019 年11月推出,距今已有接近一年时间。

Python 3.9.0

相比Python 3.8之下,Python 3.9系列的主要新功能和更改主要包括:

PEP 573,C 扩展方法的模块状态访问

PEP 584,联合运营商的dict

PEP 585,在标准集合中键入提示泛型

PEP 593,灵活的函数功能和变量注释

PEP 602,Python 采用稳定的年度发布方式

PEP 614,放宽对装饰器的语法限制

PEP 615,支持标准库中的IANA时区数据库

PEP 616,删除用于前缀和后缀的字符串方法

PEP 617,用于CPython的新PEG解析器

BPO 38379,垃圾回收程序不会阻止复活的对象;

BPO 38692,添加了os.pidfd_open,它允许在没有竞赛(races)和信号(signals)的情况下进行进程管理;

BPO 39926,Unicode支持已更新至版本13.0.0;

BPO 1635741,在同一进程中多次初始化Python时,它不再泄漏内存;

现在使用PEP 590 vectorcall加快了许多Python内置函数(范围,元组,集合,frozenset,列表,字典)的速度;

现在,许多Python模块(_abc,audioop,_bz2,_codecs,_contextvars,_crypt,_functools,_json,_locale,运算符,资源,时间,_weakref)都使用PEP 489定义的多阶段初始化;

现在,许多标准库模块(audioop,ast,grp,_hashlib,pwd,_posixsubprocess,random,select,struct,termios,zlib)都使用PEP 384定义的稳定ABI 。

此外,正式版发布之后,将会在一年之内会获得完整支持,5 年之内会有安全更新。Python 4.0更迭版本发布时间尚未公布。

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