// uniapp的环境js 创建script标签插入到body后,加载js
loadScript('https://gitee.com/dcloud/uni-app/raw/dev/dist/uni.webview.1.5.4.js');
//获取权限
const getAuth = ()=>{
if(isApp){
return uni.webView.postMessage({
data: {
type:"permission",
data:{
permissionID: 'photoLibrary'
}
}
});
}
}
}
} </code></pre>
<pre><code class="language-js">// uniapp wenview <template> <view> <!-- #ifdef MP --> <web-view ref="webview" :src="src" /> <!-- #endif --> <!-- #ifndef MP --> <web-view ref="webview" :src="src" @message="handlePostMessage" @onPostMessage="handlePostMessage"/> <!-- #endif --> </view> </template> <script> export default { data () { return { src: '' } }, onLoad ({ r }) { this.src = decodeURIComponent(r) }, methods:{ async handlePostMessage(e){ // #ifndef MP const {type,data} = e.detail.data[0]; if(type == 'permission'){ //示例代码 获取安卓手机的定位权限 https://www.html5plus.org/doc/zh_cn/android.html#plus.android.requestPermissions plus.android.requestPermissions(['android.permission.ACCESS_FINE_LOCATION'], function(e){ if(e.deniedAlways.length>0){ //权限被永久拒绝 // 弹出提示框解释为何需要定位权限,引导用户打开设置页面开启 console.log('Always Denied!!! '+e.deniedAlways.toString()); } if(e.deniedPresent.length>0){ //权限被临时拒绝 // 弹出提示框解释为何需要定位权限,可再次调用plus.android.requestPermissions申请权限 console.log('Present Denied!!! '+e.deniedPresent.toString()); } if(e.granted.length>0){ //权限被允许 //调用依赖获取定位权限的代码 console.log('Granted!!! '+e.granted.toString()); } }, function(e){ console.log('Request Permissions error:'+JSON.stringify(e)); }); } } // #endif }, } } </script> </code></pre> <h2>结束</h2> <p>其实方法很简单,但是对于没接触这块的同学(我有一个同学...),要找到具体方法,可能会花费一点时间。</p><!--2-->