
前端 uniapp更新检测,包括热更新和整包更新
热更新会自动安装 整包更新会自动打开指定地址 // #ifdef APP-PLUS // 锁定屏幕方向 plus.screen.lockOrientation(‘portrait-primary’); //锁定 // 检测升级 uni.request({ url: _self.gConfig.baseUrl + ‘update’, method: ‘POST’, data: { version: _self.$currentVersion, uniVersion: plus.runtime.uniVersion, // uni-app的基座版本号 os: plus.os.name, appid: plus.runtime.appid, uuid:plus.device.uuid }, success: (result) => { var data = result.data; if (data.update && data.wgtUrl) { uni.downloadFile({ url: data.wgtUrl, success: (downloadResult…
前端 uniapp 基于个推接收推送处理
// #ifdef APP-PLUS const _handlePush = function(message) { let payload = message.payload; if (‘string’ === typeof payload) { payload = JSON.parse(payload) } try { // 处理 刷新 if (payload.type) { chuliRefresh(_self, payload.type); } // 处理 跳转 if (payload.action) { // 跳转 chuliRoute(_self,payload.action,payload.data); } } catch (e) { //TODO handle the exception console.log(e); } }; plus.push.addEventListener(‘click’, function(message) { // plus.nativeUI.toast(‘push click’); // 清除系统通知栏 plus.push.clear()…
前端 uniapp 处理 iOS 下个推发送推送时,新增了角标,需要清除
function claerBadge(){ if(plus.os.name.toLowerCase() == ‘ios’){ //导入ios UIApplication var UIApplication = plus.ios.import(“UIApplication”); var app = UIApplication.sharedApplication(); //获取应用图标的数量 // var oldNum = app.applicationIconBadgeNumber(); // var newNum = oldNum – 1; //设置应用图标的数量 plus.runtime.setBadgeNumber(0); //导入个推原生类 var GeTuiSdk = plus.ios.importClass(‘GeTuiSdk’); GeTuiSdk.setBadge(0); } }
前端 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…


VMware15 安装 mac OS 10.15 调整分辨率

Quartz MySQL Specified key was too long; max key length is 767 bytes

阿里小号突然不能开机了阿里小号客服电话

VMware 安装 Mac os时必要操作

WordPress出现Briefly unavailable for scheduled maintenance. Check back in a minute. 的解决方法

golang 适配器模式 简单示例记录

Linux shell 通过环境变量方式启动golang 程序记录

小程序海报生成神器之一Painter配合uniapp使用示例

react 用 react-i18next 做国际化处理的一些使用记录
