首页
关于
友链
Search
1
时间戳转换
68 阅读
2
vue后台管理系统切换页面动画
59 阅读
3
移动端适配
48 阅读
4
H5+ 常用API
46 阅读
5
前端常用网站
46 阅读
默认分类
vue知识点
小程序
js
H5
Html,css
uiapp
App
移动端
登录
Search
慎独
累计撰写
16
篇文章
累计收到
0
条评论
首页
栏目
默认分类
vue知识点
小程序
js
H5
Html,css
uiapp
App
移动端
页面
关于
友链
搜索到
16
篇与
whq
的结果
2021-12-08
H5网页上 如何唤起QQ打开聊天框
H5网页上 如何唤起QQ打开聊天框 1,location.href = 'tencent://message/?uin=12335566'2,<a href="tencent://message/?uin=2779759577"> 123123</a> 移动端H5 唤起微信 1,微信 window.location.href = "weixin://";
2021年12月08日
28 阅读
0 评论
1 点赞
2021-12-08
uni-app子页面与父页面互相传值
uni-app子页面与父页面互相传值 main.js中添加Vue.prototype.$eventHub = new Vue();点击列表按钮打开新页面methods: { click1(e) { let _this = this; //监听事件 this.$eventHub.$on('fire', function(data) { _this.activeID = data; //清除监听,不清除会消耗资源 _this.$eventHub.$off('fire'); }); //e.currentTarget.dataset.id 获取元素上的data-对应的值 uni.navigateTo({ url: '../categoryDetail/categoryDetail?id=' + e.currentTarget.dataset.id }); } } 子页面获取传过来的值onLoad(opt) { //opt是传过来的queryString对象 this.activeID = opt.id; }子页面点击将值传给父页面click1(e) { //获取点击对象的值 this.activeID = e.currentTarget.dataset.id; //先记录值,下面this指向会不一样 let aa = this.activeID; //将数据发射到父级监听事件中 this.$eventHub.$emit('fire',aa); //关闭当前窗口 uni.navigateBack({}); }
2021年12月08日
10 阅读
0 评论
2 点赞
2021-12-08
uniapp scroll-view去掉或者隐藏滚动条
scroll-view在ios中出现滚动条解决办法/* #ifdef MP-WEIXIN || APP-PLUS */ ::-webkit-scrollbar{ display: none; }/* #endif */解决H5 的问题 / / 隐藏滚动条,但依旧具备可以滚动的功能/* #ifdef H5 */ uni-scroll-view .uni-scroll-view::-webkit-scrollbar { display: none } /* #endif */
2021年12月08日
9 阅读
0 评论
2 点赞
2021-12-08
H5+ 常用API
H5+ 常用API(拨打电话,设备震动,屏幕方向,屏幕亮度,设备信息...等)写在前面H5+ 所有功能都只能在 plusReady 事件加载完成后调用mui.plusReady(function() { // 扩展API加载完成事件 var self = plus.webview.currentWebview(); mui.alert(self); }); 获取设备信息mui.alert("设备的国际移动设备身份码 " + plus.device.imei); mui.alert("设备的国际移动用户识别码 " + plus.device.imsi); mui.alert("设备的型号 " + plus.device.model); mui.alert("设备的唯一标识 " + plus.device.uuid); addEventListener 添加事件监听函数void document.addEventListener( event, callback, capture ); 参数: event: ( DOMString ) 必选 要添加监听的事件类型,可取下面面列出的所有事件常量 callback: ( EventTrigCallback ) 必选 扩展API加载完毕触发的回调函数 capture: ( Boolean ) 可选 事件流捕获顺序,可忽略 事件常量 "plusready": 扩展API加载完成事件 "pause": 运行环境从前台切换到后台事件 "resume": 运行环境从后台切换到前台事件 "netchange": 设备网络状态变化事件 "newintent": 新意图事件 "plusscrollbottom": 窗口滚动到底部事件 "error": 页面加载错误事件 mui.plusReady(function(){ document.addEventListener('pause',function(){ mui.toast('app 在后端运行'); },false) document.addEventListener('resume',function(){ mui.toast('app 在前端端运行'); ,false) }); // 原生dom事件 // 1、利用dom元素的 onclick="" 属性 //HTML代码 <input type="button" id="btn" value="test" onclick="test();"></input> //js代码 function test(){alert(1); // 2、获取dom对象,从写dom元素的 onclick 方法 //HTML代码 <input type="button" id="btn" value="test"></input> //js代码 // document.addEventListener('plusready', function(){ // var btn = document.getElementById('btn'); // btn.onclick = function(){alert(1);} // }); // 3、a 元素的href属性 //HTML代码 <a href="javascript:test();">test</a> //js代码 function test(){alert(1);} 屏幕亮度// 获取屏幕亮度 0 - 1之间的数值 plus.screen.getBrightness(); // 设置屏幕亮度 plus.screen.setBrightness( 0.5 ); 保持屏幕唤醒// plus.device.setWakelock( lock ); // 参数: // lock: ( Boolean ) 必选 是否设置程序一直保持唤醒状态 // 可取值true或false,true表示设定程序一直保持唤醒状态,false表示关闭程序一直保持唤醒状态。程序退出后将恢复默认状态,默认为关闭程序保持唤醒状态。 // plus.device.setWakelock(true); // isWakelock 获取程序是否一直保持唤醒(屏幕常亮)状态 // if(plus.device.isWakelock()){ // mui.toast('屏幕一直保持唤醒'); // }else{ // mui.toast('屏幕一定时间不操作会锁屏哦'); // }屏幕方向 // 锁定屏幕方向 // void plus.screen.lockOrientation("landscape-primary"); //参数 // orientation: ( String ) 必选 要锁定的屏幕方向值 // 锁定屏幕方向可取以下值: // "portrait-primary": 竖屏正方向; // "portrait-secondary": 竖屏反方向,屏幕正方向按顺时针旋转180°; // "landscape-primary": 横屏正方向,屏幕正方向按顺时针旋转90°; // "landscape-secondary": 横屏方向,屏幕正方向按顺时针旋转270°; // "portrait": 竖屏正方向或反方向,根据设备重力感应器自动调整; // "landscape": 横屏正方向或反方向,根据设备重力感应器自动调整; // 解除锁定屏幕方向 // void plus.screen.unlockOrientation();OS 底层系统信息:// mui.alert("系统语言信息 " + plus.os.language); // mui.alert("系统版本信息 " + plus.os.version); // mui.alert("系统的名称 " + plus.os.version); // mui.alert("系统的供应商信息 " + plus.os.vendor);Screen模块管理设备屏幕信息:// 1. resolutionHeight: 设备屏幕高度分辨率 // 设备屏幕区域包括系统状态栏显示区域和应用显示区域,screen获取的是设备屏幕总区域的逻辑分辨率,单位为px。 如果需要获取实际分辨率则需要乘以比例值scale。 // mui.alert("Screen height: " + (plus.screen.resolutionHeight * plus.screen.scale) + "px" ); // 2. resolutionWidth: 设备屏幕宽度分辨率 // 设备屏幕区域包括系统状态栏显示区域和应用显示区域,screen获取的是设备屏幕总区域的分辨率,单位为px。 如果需要获取实际分辨率则需要乘以比例值scale。 // mui.alert( "Screen width: " + (plus.screen.resolutionWidth * plus.screen.scale) + "px" ); // 3. scale: 逻辑分辨率与实际分辨率的比例 // mui.alert("逻辑分辨率与实际分辨率的比例 "+ plus.screen.scale); // Display模块管理应用可使用的显示区域信息: // 应用可使用的屏幕高度逻辑分辨率 plus.display.resolutionHeight; // 应用可使用的屏幕宽度逻辑分辨率 plus.display.resolutionWidth; // plus.device.dial(number, true); // 参数一(String)——必选 ,要拨打的电话号码 参数二(Boolean )——可选,是否需要用户确认后开始拨打电话 // 设置为true表示打开系统拨打电话界面,需用户点击拨号按钮后才开始拨打电话,false则无需确认直接拨打电话,默认值为true。 // 返回值: // void : 无 // 平台支持: Android - 2.2+ (支持),iOS - 5.1+ (支持): 忽略confirm参数,调用直接拨打电话。 // plus.device.dial('10086', false); 设备震动// plus.device.vibrate( milliseconds ); // 参数: // milliseconds: ( Number ) 必选 设备振动持续的时间 // 数值类型,单位为ms,默认为500ms。 // plus.device.vibrate(600);Device模块用于获取网络信息 // 常量: // CONNECTION_UNKNOW: 网络状态常量,表示当前设备网络状态未知,固定值为0。 // CONNECTION_NONE: 网络状态常量,当前设备网络未连接网络,固定值为1。 // CONNECTION_ETHERNET: 网络状态常量,当前设备连接到有线网络,固定值为2。 // CONNECTION_WIFI: 网络状态常量,当前设备连接到无线WIFI网络,固定值为3。 // CONNECTION_CELL2G: 网络状态常量,当前设备连接到蜂窝移动2G网络,固定值为4。 // CONNECTION_CELL3G: 网络状态常量,当前设备连接到蜂窝移动3G网络,固定值为5。 // CONNECTION_CELL4G: 网络状态常量,当前设备连接到蜂窝移动4G网络,固定值为6。 // 使用getCurrentType函数获取设备当前连接的网络类型 // plus.networkinfo.getCurrentType(); // 检测网络状态变化 // mui.plusReady(function(){ // document.addEventListener("netchange", function(){ // var nt = plus.networkinfo.getCurrentType(); // switch ( nt ) { // case plus.networkinfo.CONNECTION_ETHERNET: // case plus.networkinfo.CONNECTION_WIFI: // mui.alert("切换到wifi!"); // break; // case plus.networkinfo.CONNECTION_CELL2G: // case plus.networkinfo.CONNECTION_CELL3G: // case plus.networkinfo.CONNECTION_CELL4G: // mui.alert("切换到4G网络!"); // break; // default: // mui.alert("无网络!"); // break; // } // }, false ); // });nativeUI系统原生界面管理 // 1、actionSheet: 弹出系统选择按钮框 // void plus.nativeUI.actionSheet( actionsheetStyle, actionsheetCallback ); // 说明:从底部动画弹出系统样式选择按钮框,可设置选择框的标题、按钮文字等。 弹出的提示框为非阻塞模式,用户点击选择框上的按钮后关闭,并通过actionsheetCallback回调函数通知用户选择的按钮。 // 参数: // actionsheetStyle: ( ActionSheetStyle ) 必选 选择按钮框显示的样式 // actionsheetCallback: ( ActionSheetCallback ) 可选 选择按钮框关闭后的回调函数 // plus.nativeUI.actionSheet( {title:"test",cancel:"取消",buttons:[{title:"1"},{title:"2"}]}, function(e){ // // e.index 代表选择按钮的序列号 // console.log( "User pressed: "+e.index ); // }); // 2、alert弹出系统提示对话框 // void plus.nativeUI.alert( message, alertCB, title, buttonCapture ); // 说明:创建并显示系统样式提示对话框,可设置提示对话框的标题、内容、按钮文字等。 弹出的提示对话框为非阻塞模式,用户点击提示对话框上的按钮后关闭,并通过alertCB回调函数通知对话框已关闭。 // 参数: // message: ( String ) 必选 提示对话框上显示的内容 // alertCB: ( AlertCallback ) 可选 提示对话框上关闭后的回调函数 // title: ( String ) 可选 提示对话框上显示的标题 // buttonCapture: ( String ) 必选 提示对话框上按钮显示的内容 // plus.nativeUI.alert('hi boy!',function(){},'test','确定'); // 3、confirm 弹出系统确认对话框 // void plus.nativeUI.confirm( message, confirmCB, title, buttons ); // 说明:创建并显示系统样式确认对话框,可设置确认对话框的标题、内容、按钮数目及其文字。 弹出的确认对话框为非阻塞模式,用户点击确认对话框上的按钮后关闭,并通过confirmCB回调函数通知用户点击的按钮索引值。 // 参数: // message: ( String ) 必选 确认对话框上显示的内容 // confirmCB: ( ConfirmCallback ) 可选 确认对话框关闭后的回调函数 回调函数中包括Event参数,可通过其index属性(Number类型)获取用户点击按钮的索引值。 // title: ( String ) 可选 确认对话框上显示的标题 // buttons: ( Array[ String ] ) 可选 确认对话框上显示的按钮 字符串数组,每项对应在确认对话框上显示一个按钮,用户点击后通过confirmCB返回用户点击按钮的在数组中的索引值。 // plus.nativeUI.confirm('确定要删除吗?',function(e){ // if(e.index == 1){ // alert('yes'); // } // },'提示', ['否','是0']); // 4、loading等待对话框 // closeWaiting: 关闭系统等待对话框 // showWaiting: 显示系统等待对话框 // var w = plus.nativeUI.showWaiting(); // setTimeout(function (){ // w.close();//或者plus.nativeUI.closeWaiting(); // }, 3000); // 5、prompt 弹出系统输入对话框 // void plus.nativeUI.prompt( message, promptCB, title, tip, buttons ); // 说明:创建并显示系统样式输入对话框,可设置输入对话框的标题、内容、提示输入信息、按钮数目及其文字。 弹出的输入对话框为非阻塞模式,其中包含编辑框供用户输入内容,用户点击输入对话框上的按钮后自动关闭,并通过promptCB回调函数返回用户点击的按钮及输入的内容。 // 参数: // message: ( String ) 必选 输入对话框上显示的内容 // promptCB: ( PromptCallback ) 可选 关闭输入对话框的回调函数 回调函数中包括Event参数,可通过其index属性(Number类型)获取用户点击按钮的索引值,通过其value属性(String类型)获取用户输入的内容。 // title: ( String ) 可选 输入对话框上显示的标题 // tip: ( String ) 可选 输入对话框上编辑框显示的提示文字 // buttons: ( Array[ String ] ) 可选 输入对话框上显示的按钮数组 // plus.nativeUI.prompt('您的姓名',function(e){ // //可通过event.index(Number类型)获取用户关闭输入对话框点击按钮的索引值,索引值从0开始 // //通过event.value(String类型)获取用户输入的内容,如果没有输入则返回空字符串。 // if(e.index == 0){ // alert(e.value); // } // },'hcoder','请输入...',['提交','取消']); // 6、toast显示自动消失的提示消息 // void plus.nativeUI.toast( message, options ); // 说明: 创建并显示系统样式提示消息,弹出的提示消息为非阻塞模式,显示指定时间后自动消失。 提示消息显示时间可通过options的duration属性控制,长时间提示消息显示时间约为3.5s,短时间提示消息显示时间约为2s。 // 参数: // message: ( String ) 必选 提示消息上显示的文字内容 // options: ( ToastOption ) 可选 提示消息的参数 可设置提示消息显示的图标、持续时间、位置等。 // plus.nativeUI.toast("我会自动离开",{ // align: "center", // 提示消息框在屏幕中的水平位置 "left"、"center"、"right" // duration: "long", // 提示消息框显示的时间 "long"、"short",值为"long"时显示时间约为3.5s,值为"short"时显示时间约为2s,未设置时默认值为"short"。 // icon: 'images/60x60.gif', // 提示消息框上显示的图标 // style: "inline", // 提示消息框上显示的样式 "block"表示图标与文字分两行显示,上面显示图标,下面显示文字; "inline"表示图标与文字在同一行显示,左边显示图标,右边显示文字。 默认值为"block"。 // type: 'text', // "text" - 显示的消息内容为文本字符串; "richtext" - 显示的消息内容为富文本内容。 默认值为"text"。 // richTextStyle: { // align:'center' // }, // 富文本样式 // verticalAlign: "bottom" // 提示消息在屏幕中的垂直位置 可选值为"top"、"center"、"bottom",分别为垂直居顶、居中、居底,未设置时默认值为"bottom"。 // }); // 7、根据手册改造loading // 手册地址:http://www.html5plus.org/doc/zh_cn/nativeui.html // plus.nativeUI.showWaiting('加载中...',{padding:'10px', loading:{display:'inline'}});// – storage本地数据存储 // Storage模块管理应用本地数据存储区,用于应用数据的保存和读取。应用本地数据与localStorage、sessionStorage的区别在于数据有效域不同,前者可在应用内跨域操作,数据存储期是持久化的,并且没有容量限制。通过plus.storage可获取应用本地数据管理对象。 // getLength: 获取应用存储区中保存的键值对的个数 // var total = plus.storage.getLength(); // alert(total); // setItem: 修改或添加键值(key-value)对数据到应用数据存储中 // plus.storage.setItem('name','和大喵!'); // getItem: 通过键(key)检索获取应用存储的值 // var name = plus.storage.getItem('name'); // mui.toast(name); // removeItem: 通过key值删除键值对存储的数据 // plus.storage.removeItem('name'); // clear: 清除应用所有的键值对存储数据 // plus.storage.clear();createPlayer()创建音频对象// var player = plus.audio.createPlayer('_www/audios/1.mp3'); // // player.play(function(){ // //播放完毕 // alert("Audio play success !!"); // }, function (e){ // alert("Audio play error: " + e.message); // }); // // // stop: 停止播放音频 // setTimeout(function () { // player.stop(); // },10000)
2021年12月08日
46 阅读
0 评论
4 点赞
2021-12-08
uni-app 实现拨打电话功能(android)
项目中需要拨打电话功能,项目中实现拨打电话的代码如下,包括微信和真机拨打电话两种方式,特此记录便于日后查阅。第一种, //#ifdef MP-WEIXIN uni.makePhoneCall({ phoneNumber: '15713965209' }); //#endif //#ifdef APP-PLUS plus.device.dial('15713965209', true); //#endif第二种, var Intent = plus.android.importClass("android.content.Intent"); var Uri = plus.android.importClass("android.net.Uri"); // 获取主Activity对象的实例 var main = plus.android.runtimeMainActivity(); // 创建Intent var uri = Uri.parse("tel:"+this.phone); // 这里可修改电话号码 var call = new Intent("android.intent.action.CALL",uri); // 调用startActivity方法拨打电话 main.startActivity( call ); {callout color="#ffef85"}注:plus.device.dial的第2个参数是是否跳到手机拨号页面,true是跳过去让用户自己点呼叫按钮,false是不跳过去直接打这个号码{/callout}android真机拨打电话需要增加权限,权限如下:<uses-permission android:name="android.permission.CALL_PHONE"/> <uses-permission android:name="android.permission.READ_CONTACTS"/> <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
2021年12月08日
14 阅读
0 评论
3 点赞
1
2
3
4