小程序优化建议

setData

  • 频繁setData(毫秒级)后果
    • Android 下用户在滑动时会感觉到卡顿,操作反馈延迟严重,因为 JS 线程一直在编译执行渲染,未能及时将用户操作事件传递到逻辑层,逻辑层亦无法及时将操作处理结果及时传递到视图层
    • 渲染有出现延时,由于 WebView 的 JS 线程一直处于忙碌状态,逻辑层到页面层的通信耗时上升,视图层收到的数据消息时距离发出时间已经过去了几百毫秒,渲染的结果并不实时
  • 每次 setData 都传递大量新数据
    • 数据传输实际是一次 evaluateJavascript 脚本过程,当数据量过大时会增加脚本的编译执行时间,占用 WebView JS 线程
  • 后台态页面进行 setData
    • 当页面进入后台态(用户不可见),不应该继续去进行setData,后台态页面的渲染用户是无法感受的,另外后台态页面去setData也会抢占前台页面的执行
  • 建议
    • 不要频繁调用setData, 尽量合并到一次setData调用
    • 传输数据量跟通信性能有关,尽量少于64k,避免一些不需要在页面展示的复杂数据结构或者长字符串
    • 与界面无关的数据最好不要设置在data中
    • 去掉不必要的事件绑定,减少通信的数据量以及次数
    • 不要在节点data前缀放置过大数据(需要传输target的currentTarget和dataset)
小程序优化

小程序image标签mode属性

小程序imagemode属性

vscode统一代码风格

安装vscode插件
Vetur、ESLint、Prettier - Code formatter

代码风格vscode

小程序wxml使用外部函数

1.新建wxs文件,例如array_fun.wxs:

  • 这里为判断元素在数组中是否存在,存在返回true否则为false

var arr_fun = {
    array_index: function (search, array) {
        for (var i = 0; i < array.length; i++) {
            if (array[i] == search) {
                return true;
            }
        }
        return false;
    }
}

module.exports = {
    array_index: arr_fun.array_index
}
小程序wxml外部函数

四色二维码

采用第三方库qrcodeplus实现
->https://packagist.org/packages/davidnineroc/qrcodeplus

1.克隆代码库:

git clone https://git.dev.tencent.com/xuegang/colorful-qrcode.git  
彩色二维码四色二维码

中国互联网六大主流盈利模式

中国互联网盈利模式产品笔记

PM2简单用法

一个node进程管理工具的用法

pm2用法

新产品开发过程基本原则

产品开发原则产品笔记

四种常见的 POST 提交数据方式

application/x-www-form-urlencoded

页面表单方式提交,编码为名称/值对

  • Content-Type:application/x-www-form-urlencoded
  • 数据进行了URL转码
提交数据post

centos7防火墙命令

安装Firewall命令:
yum install firewalld firewalld-config

使用firewall-cmd 命令
查看状态
firewall-cmd --state //running 表示运行

centos防火墙

CentOS后台运行、关闭、查看后台任务

&
加在一个命令的最后,可以把这个命令放到后台执行,
watch -n 10 sh test.sh & #每10s在后台执行一次test.sh脚本

ctrl + z
可以将一个正在前台执行的命令放到后台,并且处于暂停状态。

CentOS后台运行后台任务

gulp命令执行报错解决

报错信息:

/usr/local/lib/node_modules/gulp/bin/gulp.js:129
    gulpInst.start.apply(gulpInst, toRun);
                ^
TypeError: Cannot read property 'apply' of undefined
    at /usr/local/lib/node_modules/gulp/bin/gulp.js:129:19
    at _combinedTickCallback (internal/process/next_tick.js:67:7)
    at process._tickCallback (internal/process/next_tick.js:98:9)
    at Module.runMain (module.js:607:11)
    at run (bootstrap_node.js:420:7)
    at startup (bootstrap_node.js:139:9)
    at bootstrap_node.js:535:3
gulp报错