前端 uniapp 下 原生检测 通知栏,Android、iOS都支持
直接上代码,不多说了 // 原生检测 export default { /** * 检测通知栏 */ checkNotification:function(){ if(plus.os.name.toLowerCase() == ‘ios’){ this.checkIosNotification(); } else{ this.checkAndroidNotification(); } }, checkAndroidNotification:function(){ var main = plus.android.runtimeMainActivity(); var pkName = main.getPackageName(); var NotificationManagerCompat = plus.android.importClass(“android.support.v4.app.NotificationManagerCompat”); var packageNames = NotificationManagerCompat.from(main); if (packageNames…
前端 input框 限制只能输入金额
<input type=”text” onkeyup=”onlyNumber(this)”/> function onlyNumber(obj){ //得到第一个字符是否为负号 var t = obj.value.charAt(0); //先把非数字的都替换掉,除了数字和.和-号 obj.value = obj.value.replace(/[^\d\.\-]/g,…
PHP 最近做项目用到GPS坐标互转:WGS-84(GPS)、GCJ-02(Google地图)、BD-09(百度地图)
在此记录一下,转自:https://www.oschina.net/code/snippet_260395_39205 WGS-84:是国际标准,GPS坐标(Google Earth使用、或者GPS模块) GCJ-02:中国坐标偏移标准,Google Map、高德、腾讯使用 BD-09:百度坐标偏移标准,Baidu Map使用 //WGS-84 to GCJ-02 GPS.gcj_encrypt(); //GCJ-02 to WGS-84 粗略 GPS.gcj_decrypt(); //GCJ-02 to WGS-84 精确(二分极限法) // var threshold = 0.000000001; 目前设置的是精确到小数点后9位,这个值越小,越精确,但是javascript中,浮点运算本身就不太精确,九位在GPS里也偏差不大了 GSP.gcj_decrypt_exact(); //GCJ-02 to BD…
前端 uniapp 里面 用 event bus 传递消息
// main.js 文件 // 全局 event bus Vue.prototype.$eventHub = new Vue(); // a.js 接收参数的文件 _self = this // 监听 全局 event bus this.$eventHub.$on(‘mobileBack’,function(_data){ _self.phoneno = _data; }); // b.js 发送参数的文件 // 发送全局消息 this.$eventHub.$emit(‘mobileBack’,’66666′);
前端 在uniapp中使用fly.js精简版实例,某朋友教我的
// ajax var Fly = require(‘./plugins/tools/fly.js’); var fly = new Fly //添加请求拦截器 fly.interceptors.request.use((config,promise)=>{ if (!config.body.noLoading) { // #ifndef APP-PLUS uni.showLoading({ // title:’loading…’, mask: false }) // #endif // #ifdef APP-PLUS plus.nativeUI.showWaiting(”); // #endif } return config; }) //添加响应拦截器,响应拦截器会在then/catch处理之前执行 fly.interceptors.response.use( (response,promise) => { //只将请求结果的data字段返回 // #ifndef APP-PLUS uni.hideLoading() // #endif // #ifdef APP…
前端 uniapp 下设置全局变量小技巧
直接上代码 // 挂载 Vue.prototype // 示例如下: // 在 main.js 中挂载属性/方法 Vue.prototype.websiteUrl = ‘http://uniapp.dcloud.io’; Vue.prototype.now = Date.now || function () { return new Date().getTime(); }; Vue.prototype.isArray = Array.isArray || function (obj) { return obj instanceof Array; }; 然后在 pages/index/index.vue 中调用 <script> export default { data() { return {}; }, onLoad(){ console.log(‘now:’ + this.now()); }, methods: { } } </script> 这种方式,只需要在 main.js 中定义好即可在每个页面中直接调用。 Tips 每个页面中不要在出现重复的属性或方…
前端 uniapp 适配 刘海屏小技巧
var(–status-bar-height) 此变量在微信小程序环境为固定 25px,在 5+App 里为手机实际状态栏高度。 当设置 “navigationStyle”:”custom” 取消原生导航栏后,由于窗体为沉浸式,占据了状态栏位置。此时可以使用一个高度为 var(–status-bar-height) 的 view 放在页面顶部,避免页面内容出现在状态栏。 由于在H5端,不存在原生导航栏和tabbar,也是前端div模拟。如果设置了一个固定位置的居底view,在小程序和App端是在tabbar上方,但在H5端会与tabbar重叠。此时可使用–window-bottom,不管在哪个端,都是固定在tabbar上方。 <template> <view> <view class=”status_bar”> <!– 这里是状态栏 –> </view> <view> 状态栏下的文字 </view> </view> </template> <style> ….
git git commit message 按angular标准提交后,生成 Change log
conventional-changelog 安装 npm install -g conventional-changelog-cli 生成生成 CHANGELOG.md 文件 conventional-changelog -p angular -i CHANGELOG.md -s
git git Commit message 和 Change log 规范(转)
Commit message 的格式 每次提交,Commit message 都包括三个部分:Header,Body 和 Footer。 <type>(<scope>): <subject> // 空一行 <body> // 空一行 <footer> 其中,Header 是必需的,Body 和 Footer 可以省略。 不管是哪一个部分,任何一行都不得超过72个字符(或100个字符)。这是为了避免自动换行影响美观。 Header Header部分只有一行,包括三个字段:type(必需)、scope(可选)和subject(必需)。 (1)type type用于说明 commit 的类别,只允许使用下面7个标识。 feat:新功能(feature) fix:修补bug docs:文档(documentation) style: 格式(不影响代码运行的变动) refactor:重构(即不是新增功能,也不是修改bug的代码变动) test:增加测试 chore:构建过程或辅助工具的变动 如果type为feat和fix,则该 comm…
服务器 通过宝塔面板实现MySQL性能简单调优
准备: 1、宝塔Linux面板 正式版 5.2.0+ (2017/09/20发布) 测试版5.2.4+ 2、MySQL 5.x 通常MySQL调优我们分以下几部分: 1、MySQL配置参数调优 (需要根据网站运行情况调整) 2、数据表索引调优 (效果明显,但通常优秀的开源程序都不需要调整) 3、SQL语句调优 (这是程序员或DBA干的事) 今天我们主要谈谈如果配合宝塔面板的新功能来进行MySQL配置参数调优,我们先来看两张图片: (图1) (图2) 很明显,(图1)显示的是MySQL当前的运行状态,(图2)显示的是MySQL主要配置参数 下面我们就来解读一下这两张图: 1、活动/峰值连接数 (图1)中当前活动的连接为1个,自MySQL服务启动以来,最高连接数为54;当最高连接数接近或等于(图2)中的max_connections时,应适当增加max…
git git宝塔webhook自动更新shell脚本
#!/bin/bash echo “” #输出当前时间 date –date=’0 days ago’ “+%Y-%m-%d %H:%M:%S” echo “Start” #判断宝塔WebHook参数是否存在 if [ ! -n “$1” ]; then echo “param参数错误” echo “End” exit fi if [ $1 != “666” ] then echo “通讯密码错误” echo “End” exit fi #git项目路径 gitPath=”/www/wwwroot/hnfp.net” #git 网址 gitHttp=”xxx.com/hainanfp.git” #git 账号 gitAccount=”” #git 密码 gitPassword=”” #git 分支 gitBranch=”dev” echo “Web站点路径:$gitPath” #判断项目路径是否存在 if [ -d “$gitPath” ]; then cd $gitPath #判断是否存在git目录 if [ ! -d “.git” ]; then echo “在该目录下克隆 gi…
PHP 基于workerman写的一个简单的DTU透传tcp协议的简单服务端
功能点 1,60秒未注册设备,强制下线 2,自定义心跳包时间,超过心跳包时间,强制下线 3,数据传输使用json格式 4,实现注册功能 5,实现心跳功能 6,实现对某个已注册设备发送消息功能 7,设备回发数据使用post转发到指定URL功能 上代码 <?php require_once __DIR__ . ‘/vendor/autoload.php’; use think\Validate; use Workerman\Lib\Timer; use Workerman\Worker; // #### create socket and listen 1234 port #### $tcp_worker = new Worker(“tcp://0.0.0.0:61234”); define(‘HEARTBEAT_TIME’, 130); /** * 向设备发送指令后,设备回传的数据,转发到指定URL */ define(‘SEND_BACK_URL’, ‘http://127.0.0.1/aaa/callback.php’); define(‘DEBUG’, 1); // 4 pr…
PHP PHP 批量生成MySQL 数据表转 InnoDB 的SQL语句
public function test(){ $dataList = Db::query(“SELECT * FROM information_schema.TABLES AS t WHERE TABLE_SCHEMA = ‘siyuan.me’ AND TABLE_TYPE = ‘BASE TABLE'”); $str = []; foreach ($dataList as $item) { $str[] = ‘ALTER TABLE ‘. $item[‘table_name’] . ‘ ENGINE=InnoDB; ‘; } echo join(”, $str); }
Java Linux 如何将java服务注册为Linux系统服务启动
systemctl start test-demo-api.service //启动项目 systemctl stop test-demo-api.service //停止项目 systemctl restart test-demo-api.service //重启项目 systemctl status test-demo-api.service //查看项目状态 #服务文件内容 [Unit] Description=服务描述 After=network.target [Service] WorkingDirectory=运行目录 ExecStart=java绝对路径 -jar jar包路径>log.log ExecStop=kill $MAINPID Restart=always [Install] WantedBy=multi-user.target 服务存放路径 /usr/lib/systemd/system/ 重新读取服务 systemctl daemon-reload 查看启动失败原因 systemctl status test.service systemctl st…