Centos 9 中安装 php 7.4
dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
dnf module list php
dnf install php74-php php74-php-fpm php74-php-mysqlnd php74-php-mcrypt php74-php-gd php74-php-bcmath php74-php-json php74-php-mbstring php74-php-xml php74-php-zip
systemctl enable php74-php-fpm
# /etc/opt/remi/php74/php.ini
# /etc/opt/remi/php74/php-fpm.conf
# 检查依赖是否完整...
目标
将对象的所有 key 配置给 watch
代码
const ImageableFields = [
'cover',
'detail',
'reply',
];
// 转换为 FormItem.prop: cover -> form._images_cover
const WatchableFields = ImageableFields.ma(v => `form._images_${v}`);
export default {
props: {
detail: {
type: Object,
default: () => ({}),
},
},
data() {
...
问题描述
数据库字段类型为 datetime,faker 格式为 Y-m-d H:i:s,factory::make() 出来的也是 Y-m-d H:i:s,但是 toArray() 之后变成了 c,c 类似 2024-01-02T03:04:05.000000Z。insert(c) 时候报了标题的信息。
解决方法
方法1:
# /config/database.php
'mysql' => [
'strict' => false, // true 改为 false
],
方法2:
# /app/Models/User.php
protected $casts = [
'created_...
适用版本: frp_0.52.3
服务端
frps.toml
bindPort = 7000
auth.token = "TOKEN"
log.to = "/var/log/frp/log"
allowPorts = [
{ single = 3389 },
{ start = 9000, end = 9999 }
]
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "man"
webServer.password = "srcret"
添加为服务 /etc/systemd/system/frpd.service
[Unit]
Desc...
自定义组件内部在 blur 和 change 后增加:
import emitter from 'element-ui/src/mixins/emitter';
let {
methods: { dispatch },
} = emitter;
methods: {
onChange () {
dispatch.call(this, 'ElFormItem', 'el.form.change', this.value);
},
onBlur () {
dispatch.call(this, 'ElFormItem', 'el.form.blur', this.value);
}
}
也可...
用到的软件
ddcctl、Karabiner-Elements.app
用法
RightCmd + \ --> 将副屏输入源切换为 VGA
RightOpt + \ --> 将副屏输入源切换为 HDMI
RightCmd + RightOpt + \ --> 将副屏输入源切换为 DP
changeExternalDisplayInputSource.json
~/.config/karabiner/assets/complex_modifications/
{
"title": "Change the external display input source",
"author": "win...
可以不使用 vite-plugin-mock 只引入 mockjs,但是只使用 mockjs 的话配置会繁琐;vite-plugin-mock 做了将 mockjs 集成到 vite 的工作。
package.json
yarn add -D mockjs vite-plugin-mock
.env
VITE_MOCK_ENABLED=true
vite.config.js
import { loadEnv, defineConfig } from 'vite';
import { viteMockServe } from 'vite-plugin-mock';
export default ({ mode }) => {
const ENV ...
用法
let status = true;
v-loading="status"
JS
const toggleLoading = (el, binding) => {
if (binding.value) {
let dom = `
<div class="el-loading-mask">
<div class="el-loading-spinner">
<svg viewBox="25 25 50 50" class="circular">
<circle cx="50" cy="50&qu...
官方文档在这里:https://vitejs.dev/config/
让 Vue 认出 html 原生的 marquee 标签
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
export default () => {
return defineConfig({
plugins: [
vue({
template: {
compilerOptions: {
isCustomElement: (tag) => ['marquee'].includes(tag), // vue...
安装
brew install nginx
配置文件:
/usr/local/etc/nginx/nginx.conf
用法:
brew services info nginx
brew services restart nginx
brew services start nginx
brew services stop nginx
安装日志:
Docroot is: /usr/local/var/www
The default port has been set in /usr/local/etc/nginx/nginx.conf to 8080 so that
nginx can run without sudo.
nginx will load all files in /usr/local/etc/ngin...
概要
yarn build 后自动生成并在 finder 中高亮 .tgz 压缩包,压缩包名含项目名称、生成日期、git commit id,并提示是否将生成的 dist 和 .tgz 删除。
压缩包名格式:《某可视化大屏_production_20230326214235_52905e7.tgz》
依赖:macOS,fish shell
用法
yb # 仅 yarn build,NODE_ENV=production
yb production # 仅 yarn build,NODE_ENV=production
yb development ...
提示:windows 平台需要在 git bash 中执行以下操作。
生成自动登录 ssh 的 key,这个 key 可以代替 ssh 密码,后边再使用 scp 复制文件时就不需要输入密码这步交互操作了
ssh-keygen
# 不需要输入信息,一路回车即可
将 ssh key 添加到服务器上
ssh-copy-id -i ~/.ssh/id_rsa.pub -p 22 root@106.13.232.33
# 按提示输入 admin 的密码
本地配置 ssh 主机(用“vueProjectHost”代替“root@106.13.232.33”)
# ~/.ssh/...
此脚本做了(假设提前选中了名为 projects 的目录):
0. 弹出输入框(假设你输入了“项目目录”并点了确定按钮)
1. 将 projects 改名为 projects.localized
2. 创建 projects.localized/.localized/zh_CN.strings
3. 在 zh_CN.strings 中写入 "projects"="项目目录";
AppleScript 脚本代码:
on run {input, parameters}
-- 将目录名称本地化
tell application "Finder"
-- ...