安装配置
- Cargo是它的包管理工具,类似于npm,可以在这里搜索包crates.io
- 安装完成后
cargo, rustc, rustup
工具会在~/.cargo/bin
中,可以讲他们加入到环境变量中
1 | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # 安装rust及对应的工具链 |
Cargo.toml
:类似于package.json
文件
1 | [package] |
cargo, rustc, rustup
工具会在~/.cargo/bin
中,可以讲他们加入到环境变量中1 | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # 安装rust及对应的工具链 |
Cargo.toml
:类似于package.json
文件1 | [package] |
1 | npm install -g hardhat |
1 | # macos |
data/keystore
下1 | geth --datadir ./data account list # 列出当前所有的account |
1 | apt install ffmpeg -y |
1 | # 转换视频格式 |
prefix
去防止覆盖,对于负数的属性,prefix
仍然需要写在最前面,例如tw--mt-10
1 | module.exports = { |
1 | yii serve 0.0.0.0 --port=8888 # 指定端口,指定host |
1 | # index.php |
可以来自系统中已定义好的第三方服务,也可以直接来自于文件上传、API接口、SQL查询、FTP上传、Email附件
可以自定义时间去刷新(1h - 24h),但是如果是文件上传这种是不能自动刷新的
可以支持参数,但是必须依赖于klip变量,例如,可以写成https://haofly.net/{props.pageName}
,这里的pageName
就是klip的变量,如果是第一次访问一个之前没有请求过的参数,那么可能会比较慢,后续的定时刷新也是可以起作用的,刷新的会把所有请求过的参数都请求一遍
由于数据源的接口请求超时时间是80s,对于数据量大的,我们可以创建email形式的数据源,定时往指定的邮箱发送附件即可
数据源的大小默认最大是10MB,通过付费计划可以升级到15MB,但是更大就不行了,并且modelled data也不能超过这个限制,所以要想join几张大表,可以在klip面板使用ARRAY(表1, 表2),或者LOOKUP来查找需要的mapping数据。明明是我自己研究出来的方法,发现官网有文档的: Managing your data source size
如果要在dashboard
上手动请求刷新data sources,可以直接data sources的请求刷新接口:
1 | // 使用html component做一个刷新按钮,然后手动POST接口 |
1 | // 基本请求方式 |
1 | axios.get('/user', { |
material-ui
更名为mui
了,网上搜到不要奇怪react-native
相关的UI插件,可以使用react-native-paper
来代替,它也是遵循material design的动态调用组件的方式
1 | const components = { |
我们可以用SvgIcon
来封装自己的图标,如果有自己的图标并且数量多且用的地方多,最好用这个来封装每一个svg,就能让他们统一起来
还有种借助webpack的svgr进行封装的方式可以让svg仍然以svg的形式存在,但是没有试过,先就不写了
封装只需要这样做即可:
1 | function HomeIcon(props) { |
实用起来就方便得多了
fill
属性中,可以直接在path
元素上面加上fill={props.color || "white"}
1 | <HomeIcon |
width: 100%;height:100%
的属性,我去1 | <Tooltip |
1 | <Typography |
1 | const [expanded, setExpanded] = useState(false) |
1 | <Link component="button" color="inherit" underline="always"> |
非常实用的一个组件,类似于bootstrap中的utilities,可以非常方便地通过props来设置样式
这就是material-ui
中的System 系统
,不过system系统包含一些非常实用的内联样式,不过这玩意儿不是每个元素上都可以直接加的,只有自带的Box
组件可以直接加,所以一般是直接在外面包围一层Box
,当然如果想要修改子元素的样式,可以用clone方法
1 | // 这样在实际生成的DOM元素中就不会有一个多的Box层了,而是直接将样式附加到了子元素上 |
支持的所有的属性(其中不包含的常用的属性包括background-image/background-position)
1 | <Box |