最近因为项目,在用Bootsrapt写一些前台,遇到datetimepicker时,在使用方面出现了一些问题,索性记录下来,能用到看看,用不到留着自己参考。
总体调用格式为:
jsp中:
<input type="text" id="demo" >
js中:
$("#demo").datetimepicker();
String类型
默认值: ‘mm/dd/yyyy’
这个是最重要最常用的属性之一了。控制显示格式就是固定值得个性化搭配。
比如,显示 2016-04-21 19:21
$("#demo").datetimepicker({
format: 'yyyy-mm-dd hh:ii'
});
又比如,你就是喜欢反人类的格式,那你可以这样:
$("#demo").datetimepicker({
format: 'hh-yyyy-ii mm:dd'
});
这个是扯淡的,就是个意思,你可以自己设计样式,但是里面的字母都代表不同属性:
符号 | 意义 |
---|---|
p | 12小时制且小写(‘am’ or ‘pm’) |
P | 12小时制且大写(‘AM’ or ‘PM’) |
s | 秒,前面不补0 |
ss | 秒,前面补0 |
i | 分,前面不补0 |
ii | 分,前面补0 |
h | 时,24小时制,前面不补0 |
hh | 时,24小时制,前面补0 |
H | 时,12小时制,前面不补0 |
HH | 时,12小时制,前面补0 |
d | 日,前面不补0 |
dd | 日,前面补0 |
m | 月,数字表示,前面不补0 如:4 |
mm | 月,数字表示,前面补0 如:04 |
M | 月,缩写表示,前面补0 如:Apr |
MM | 月,全称表示,前面补0 |
location = / {
# 精确匹配 / ,主机名后面不能带任何字符串
[ configuration A ]
}
location / {
# 因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求
# 但是正则和最长字符串会优先匹配
[ configuration B ]
}
location /documents/ {
# 匹配任何以 /documents/ 开头的地址,匹配符合以后,还要继续往下搜索
# 只有后面的正则表达式没有匹配到时,这一条才会采用这一条
[ configuration C ]
}
location ~ /documents/Abc {
# 匹配任何以 /documents/Abc 开头的地址,匹配符合以后,还要继续往下搜索
# 只有后面的正则表达式没有匹配到时,这一条才会采用这一条
[ configuration CC ]
}
location ^~ /images/ {
# 匹配任何以 /images/ 开头的地址,匹配符合以后,停止往下搜索正则,采用这一条。
[ configuration D ]
}
location ~* \.(gif|jpg|jpeg)$ {
# 匹配所有以 gif,jpg或jpeg 结尾的请求
# 然而,所有请求 /images/ 下的图片会被 config D 处理,因为 ^~ 到达不了这一条正则
[ configuration E ]
}
location /images/ {
# 字符匹配到 /images/,继续往下,会发现 ^~ 存在
[ configuration F ]
}
location /images/abc {
# 最长字符匹配到 /images/abc,继续往下,会发现 ^~ 存在
# F与G的放置顺序是没有关系的
[ configuration G ]
}
location ~ /images/abc/ {
# 只有去掉 config D 才有效:先最长匹配 config G 开头的地址,继续往下搜索,匹配到这一条正则,采用
[ configuration H ]
}
location ~* /js/.*/\.js {
# 不区分大小写
本文实例讲述了thinkPHP5框架实现多数据库连接,跨数据连接查询操作。分享给大家供大家参考,具体如下:
方法1:在需要连接其他数据库的地方,使用Db::connect()方法动态连接数据库,方法参数为数据库配置的数组或字符串例如:
字符串参数:
Db::connect('mysql://root:1234@127.0.0.1:3306/thinkphp#utf8');
配置数组参数:
Db::connect([
// 数据库类型
'type' => 'mysql',
// 数据库连接DSN配置
'dsn' => '',
// 服务器地址
'hostname' => '127.0.0.1',
// 数据库名
'database' => 'thinkphp',
// 数据库用户名
'username' => 'root',
// 数据库密码
'password' => '',
// 数据库连接端口
'hostport' => '',
// 数据库连接参数
'params' => [],
// 数据库编码默认采用utf8
'charset' => 'utf8',
// 数据库表前缀
'prefix' => 'think_',
]);
详细用法参考thinkphp5完全开发手册:https://www.kancloud.cn/manual/thinkphp5/118059
方法2:在应用配置文件里面添加多个数据库配置,例如:
'database1' => []//数据库配置数组
'database2' => []//数据库配置数组
在需要连接时,使用Db::connect("database1")连接指定数据库,执行数据库操作时直接在连接后链式写函数,例如:
$db = Db::connect("database1");
$db->name("table")->select();
方法1:利用Db::query("sql")方法执行sql语句,在sql语句中使用database.table的方式指明
正则获取图片链接
preg_match_all('/<img.*?src=["|\']?(.*?)["|\']?\s.*?>/i', $v['content'], $match);
YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。
平台结构大致如下:
在这里插入图片描述
YApi特性:
环境要求
nodejs(7.6+)
mongodb(2.6+)
笔者这里直接使用已编译好的包进行安装,因为Node 官网已经把 linux 下载版本更改为已编译好的版本了,我们可以直接下载解压后使用:
在https://nodejs.org/en/download/
下载需要的的Nodejs版本
下载node
wget https://nodejs.org/dist/v12.18.3/node-v12.18.3.tar.gz
解压node压缩文件
tar vf node-v12.18.3.tar.gz -C /usr/local
修改node解压后的目录名称
mv node-v12.18.3-linux-x64 node-v12.18.3
进入node安装目录
cd node-v12.18.3
执行node命令查看node版本
./bin/node -v
解压文件的 bin 目录底下包含了 node、npm 等命令,我们可以使用 ln命令来设置软连接,设置软连接后即可使用node命令:
ln -s /usr/loca
一、安装最新版git
(1)安装依赖包
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install gcc perl-ExtUtils-MakeMaker
(2)卸载旧的git版本
cd /usr/src
wget https://www.kernel.org/pub/software/scm/git/git-2.9.0.tar.gz
tar -zxvf git-2.9.0.tar.gz
(5)编译安装
cd git-2.9.0
make prefix=/usr/local/git all
make prefix=/usr/local/git install
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
source /etc/bashrc
(6)检查git版本
git --version
git version 2.9.0
二、配置SSH免密码登录
(1)创建一个git用户,用来运行git服务
adduser git
(2)初始化git仓库,这里我们选择创建在/data/git/目录下
cd /
mkdir /data
cd data
mkdir /git
cd git
git init --bare XXXXX.git
(3)owner改为git
chown git:git XXXXX.git
(4)将RSA认证打开
a:
vim /etc/ssh/sshd_config
b:对应内容修改如下
1.RSAAuthentication yes
2.PubkeyAuthentication yes
3.AuthorizedKeysFile .ssh/authorized_keys
(5)客户端创建秘钥及公钥,这里使用的是Tortoi
下载walle-web
git clone https://github.com/meolu/walle-web-v1.x.git walle-web
修改walle的mysql配置
cd walle-web/
vim config/local.php
安装vendor
composer install
初始化项目
./yii walle/setup
给php进程者权限及免密码登录
vipw /etc/passwd
ssh-keygen -t rsa -C "tjjstan@qq.com"
ssh-copy-id -i /var/lib/nginx/.ssh/id_rsa.pub git@127.0.0.1
如果报错则在/etc/ssh/ssh_config
添加
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
确认php进程用户有代码存储仓库/data/www/deploy/520读写权限
usermod -a -G web nginx
设置umask
vim /etc/profile
umask 002
source /etc/profile
若是只引用jquery的话,监听单选按钮改变事件如下:
<input type="radio" name="sex" checked="checked" value="1">男
<input type="radio" name="sex" value="2">女
$(document).ready(function() {
$('input[type=radio][name=sex]').change(function() {
if (this.value == '1') {
alert("这是个男孩");
} else if (this.value == '2') {
alert("这是个女孩");
}
});
});
注意:如果是引用了layui的样式和方法,则上面的监听事件失效,被layui接管了,所以应该如下写法:
layui.use(['form', 'element', 'laydate'], function(){
var jQuery = layui.jquery
,layer = layui.layer
,form = layui.form()
,element = layui.element();
form.on("radio(sex)", function (data) {
var sex = data.value;
if (this.value == '1') {
alert("这是个男孩");
} else if (this.value == '2') {
alert("这是个女孩");
}
});
});
关键使用DOMNodeInserted
$('#custom_fields').on('DOMNodeInserted', 'input', function() {
$('#custom_fields input').each(function() {
}
}
Vue跨域配置如下:
proxyTable: {
'/api': {
target: 'http://localhost:4000',
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
}
},
然而启动之后报错,意思是代理请求转发失败
[HPM] Error occurred while trying to proxy request /position/40.10039,116.36868 from localhost:8082 to http://localhost:4000 (HPE_INVALID_CONSTANT) (https://nodejs.org/api
/errors.html#errors_common_system_errors)
proxyTable的配置肯定是生效了,但是没有配置正确,把localhost改为本机的ip即可。在许多地方用localhost会有点问题,具体原因待查,最好用ip。
proxyTable: {
'/api': {
target: 'http://127.0.0.1:4000',
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
}
},
作者:斑马线cow
链接:http://events.jianshu.io/p/5af043b340e6
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。