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

Flutter 国内镜像

 作为一个外包,几乎要会所有的东西(肯定不可能精通),比如APP,之前APP简单的话就是APP套个壳,然后里面用webview。后面用UNIAPP,毕竟uniapp也能够做到自更新(self-update,即下载wgt,重启后就更新了)

如果抛开性能,这两种方式其实也都OK,但自从上次做了个100多M的APP,页面数超过100多后,在IPAD上还是偶尔会出现白屏情况,就是内存耗光,最后是通过不停的优化,以后适时的relaunch来解决这个问题。但还是偶尔会出现白屏(次数少了很多)
 
因此flutter就成了首选对象了,毕竟也是跨平台,而且还能写macOS和windows的程序。。。
正因为访问速度慢,所以就得不停的找镜像源,比如https://pub.flutter-io.cn/,这个就是大家常用的了。看了一下,其实还是有不少的第三方源,比如交大、中科大之类的。
 
以下内容来自:flutter国内镜像源 - 简书 (jianshu.com),略有改动
 
Flutter 社区
社区主镜像,采用多种方式同步 Flutter 开发者资源(推荐)。
 
$ export PUB_HOSTED_URL=https://pub.flutter-io.cn
$ export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
上海交大 Linux 用户组
使用反向代理方式建立的 Flutter 镜像,数据与站源实时同步。 Pub API 返回值未做处理,可能造成无法访问的情况。
 
$ export PUB_HOSTED_URL=https://dart-pub.mirrors.sjtug.sjtu.edu.cn
$ export FLUTTER_STORAGE_BASE_URL=https://mirrors.sjtug.sjtu.edu.cn
清华大学 TUNA 协会
定时与 Flutter 社区 Storage 镜像同步,Pub API 采取定时主动抓取策略,镜像配置了完善的失败回源策略(推荐)。
 
$ export PUB_HOSTED_URL=https://mirrors.tuna.tsinghua.edu.cn/dart-pub
$ export FLUTTER_STORAGE_BASE_URL=https://mirrors.tuna.tsinghua.edu.cn/flutter
CNNIC
基于 TUNA 协会的镜像服务,数据策略与 TUNA 一致,通过非教育网的域名访问。
 
$ export PUB_HOSTED_URL=http://mirrors.cnnic.cn/dart-pub
$ export FLUTTER_STORAGE_BASE_URL=http://mirrors.cnnic.cn/flutter
腾讯云开源镜像站
定时(每天凌晨)与 TUNA 协会镜像同步,数据有延迟,访问速度有待反馈。
 
$ export PUB_HOSTED_URL=https://mirrors.cloud.tencent.com/dart-pub
$ export FLUTTER_STORAGE_BASE_URL=https://mirrors.cloud.tencent.com/flutter
 
---EOF
本来是想用交大的,因为我访问交大源都低于10ms,其他的都是在20~30之间。但上面写了 【 Pub API 返回值未做处理,可能造成无法访问的情况】,好尴尬。先用腾讯的吧,这是第二快的源。

QuickTime Player如何退出录屏

 网上很多教程都在教你怎么录屏,但没有说怎么停止。。。实话实说,为了停止它,真的查了不少资料。

现在说两个方法
1、录屏后,点击cmd+control+esc,会退出录屏
2、状态栏顶部有个小图标,点击可以直接退出
 
还有就是强制退出,然后到:~/Library/Containers/com.apple.QuickTimePlayerX/Data/Library/Autosave Information/,可以看一下是不是有刚才录的视频。

 

小程序跳转踩坑

 为了方便开发,为navigatoTo和switchTab做了一个简单的封装,这样,其他开发人员就不用关心是跳到哪里去了。因为tab页只有5个(最大),所以优选用navigateTo,然后通过判断出错信息,再调用switchTab

然而就是在这个上面踩坑了。。。

开发者工具和IOS,在遇到tabbar页面的时候,出错信息是:{errMsg: "navigateTo:fail can not navigateTo a tabbar page"} ,毕竟,我是基于开发工具进行开发的,所以我直接偷懒。。。。。if (e.errMsg.includes('tabbar')),然后处理。

结果,在安卓上死活不能运行,我开始以为是url带了参数,去掉后发现还是不正常,于是我把出错信息打出来看一下,结果 发现,在android下,出错信息居然不一样。。它的出错信息是:{errMsg: "navigateTo:fail:can not navigate to a tab bar page"}。

看到不同点了么?

{errMsg: "navigateTo:fail can not navigateTo a tabbar page"}

{errMsg: "navigateTo:fail:can not navigate to a tab bar page"}

短短一行字,不同点居然有三处。。。我也是崩溃了,既然知道问题,那就好办了。无非就是判断 tabbar和tab bar了呗。只是,这种出错信息会不一致,让我很意外。。。

vuex mutation和action的区别

 如题,其实官网已经给出过说明,就三句话:详见(项目结构 | Vuex (vuejs.org)

 
  1. 应用层级的状态应该集中到单个 store 对象中。
  2. 提交 mutation 是更改状态的唯一方法,并且这个过程是同步的。
  3. 异步逻辑都应该封装到 action 里面。
简单明了。

Tags: vuex

服务器偷懒采用LNMP了。

服务器上曾经偷懒过,比如用宝塔,但如果不想要个界面那就用lnmp会相对方便一点,主要是配置多环境PHP会相对容易 

初始化安装就不谈了,直接说安装另一个版本的PHP吧。
进入 lnmp的目录。运行./install.sh mphp,选择一个和当前PHP不一样的版本。比如我正常是PHP8,但因为用了dcat-admin,只能用PHP7.4了,于是./install.sh mphp,选择php7.4,一路回车。安装完毕。
 
这时候还要改一下vhost的配置,原来conf中,include enable-php.conf,则要改成 include enable-php7.4.conf
 
然后要运行composer u,发现报错,因为composer.json中指定php<8,这时候只能这样运行:/usr/local/php7.4/bin/php /usr/local/bin/composer u,所有的都要指定全路径。
 
再次运行,居然还是报错,发现说少了一个zip组件。OK,重新进入lnmp的目录,再进入src目录。刚才安装的php7.4,会有一个tar.bz的文件存在,tar -xvf php7.4...tar.bz。解压到目录,并进入该目录下的ext/zip目录。运行: /usr/local/php7.4/bin/phpize,然后运行:./configure --with-php-config=/usr/local/php7.4/bin/php-config --with-zip,完事后:make && make install,这时候就完成了,但zip还是没有,因为使用 /usr/local/php7.4/bin/php -m|grep zip,一片空白
 
进入/usr/local/php7.4/etc/,修改php.ini文件,在extension_dir,下增加:extension=zip.so,由于laravel的composer在执行时需要proc_open和exec。等函数,检查 disable_function,删除掉一点程序。
<code>
  [Symfony\Component\Process\Exception\RuntimeException]
  The Process class relies on proc_open, which is not available on your PHP installation.
</code>
 
 
如果你本身enable_phpinfo(lnmp的配置),那你几乎可以把disable_function这一行重新注释起来。
 
至此,新环境搞定。如果是一些其他 插件,比如eacc/apc/opcache,直接在lnmp目录下,运行./addons.sh 即可
 

Tags: lnmp, bt