@ -0,0 +1,333 @@ |
|||||
|
<template> |
||||
|
<view class="mask" :class="!show?'':'mask-show'" :style="{backgroundColor:show?maskBg:'rgba(0,0,0,0)'}" @tap="tapMask"> |
||||
|
<view class="popups" :class="[theme]" |
||||
|
:style="{top: popupsTop ,left: popupsLeft,flexDirection:direction}"> |
||||
|
<text :class="dynPlace" :style="{width:'0px',height:'0px'}" v-if="triangle"></text> |
||||
|
<view v-for="(item,index) in popData" :key="index" @tap.stop="tapItem(item)" |
||||
|
class="itemChild view" :class="[direction=='row'?'solid-right':'solid-bottom',item.disabled?'disabledColor':'']"> |
||||
|
<image class="image" :src="item.icon" v-if="item.icon"></image>{{item.title}} |
||||
|
</view> |
||||
|
<slot></slot> |
||||
|
</view> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
export default{ |
||||
|
props:{ |
||||
|
maskBg:{ |
||||
|
type:String, |
||||
|
default:'rgba(0,0,0,0)' |
||||
|
}, |
||||
|
placement:{ |
||||
|
type:String, |
||||
|
default:'default' //default top-start top-end bottom-start bottom-end |
||||
|
}, |
||||
|
direction:{ |
||||
|
type:String, |
||||
|
default:'column' //column row |
||||
|
}, |
||||
|
x:{ |
||||
|
type:Number, |
||||
|
default:0 |
||||
|
}, |
||||
|
y:{ |
||||
|
type:Number, |
||||
|
default:0 |
||||
|
}, |
||||
|
value:{ |
||||
|
type:Boolean, |
||||
|
default:false |
||||
|
}, |
||||
|
popData:{ |
||||
|
type:Array, |
||||
|
default:()=>[] |
||||
|
}, |
||||
|
theme:{ |
||||
|
type:String, |
||||
|
default:'light' //light dark |
||||
|
}, |
||||
|
dynamic:{ |
||||
|
type:Boolean, |
||||
|
default:false |
||||
|
}, |
||||
|
gap:{ |
||||
|
type:Number, |
||||
|
default:20 |
||||
|
}, |
||||
|
triangle:{ |
||||
|
type:Boolean, |
||||
|
default:true |
||||
|
} |
||||
|
}, |
||||
|
data(){ |
||||
|
return{ |
||||
|
popupsTop:'0px', |
||||
|
popupsLeft:'0px', |
||||
|
show:false, |
||||
|
dynPlace:'' |
||||
|
} |
||||
|
}, |
||||
|
mounted() { |
||||
|
this.popupsPosition() |
||||
|
}, |
||||
|
methods:{ |
||||
|
tapMask(){ |
||||
|
|
||||
|
this.$emit('input',!this.value) |
||||
|
}, |
||||
|
tapItem(item){ |
||||
|
if(item.disabled) return |
||||
|
this.$emit('tapPopup',item) |
||||
|
this.$emit('input',!this.value) |
||||
|
}, |
||||
|
getStatusBar(){ |
||||
|
let promise = new Promise((resolve,reject)=>{ |
||||
|
uni.getSystemInfo({ |
||||
|
success: function(e) { |
||||
|
|
||||
|
let customBar |
||||
|
// #ifdef H5 |
||||
|
|
||||
|
customBar = e.statusBarHeight + e.windowTop; |
||||
|
|
||||
|
// #endif |
||||
|
resolve(customBar) |
||||
|
} |
||||
|
}) |
||||
|
}) |
||||
|
return promise |
||||
|
}, |
||||
|
async popupsPosition(){ |
||||
|
let statusBar = await this.getStatusBar() |
||||
|
let promise = new Promise((resolve,reject)=>{ |
||||
|
let popupsDom = uni.createSelectorQuery().in(this).select(".popups") |
||||
|
popupsDom.fields({ |
||||
|
size: true, |
||||
|
}, (data) => { |
||||
|
let width = data.width |
||||
|
let height = data.height |
||||
|
|
||||
|
let y = this.dynamic?this.dynamicGetY(this.y,this.gap):this.transformRpx(this.y) |
||||
|
|
||||
|
let x = this.dynamic?this.dynamicGetX(this.x,this.gap):this.transformRpx(this.x) |
||||
|
|
||||
|
|
||||
|
// #ifdef H5 |
||||
|
y = this.dynamic?(this.y+statusBar): this.transformRpx(this.y+statusBar) |
||||
|
// #endif |
||||
|
|
||||
|
this.dynPlace = this.placement=='default'?this.getPlacement(x,y):this.placement |
||||
|
|
||||
|
switch(this.dynPlace){ |
||||
|
case 'top-start': |
||||
|
this.popupsTop = `${y+9}px` |
||||
|
this.popupsLeft = `${x-15}px` |
||||
|
break; |
||||
|
case 'top-end': |
||||
|
this.popupsTop = `${y+9}px` |
||||
|
this.popupsLeft = `${x+15-width}px` |
||||
|
break; |
||||
|
case 'bottom-start': |
||||
|
this.popupsTop = `${y-18-height}px` |
||||
|
this.popupsLeft = `${x-15}px` |
||||
|
break; |
||||
|
case 'bottom-end': |
||||
|
this.popupsTop = `${y-9-height}px` |
||||
|
this.popupsLeft = `${x+15-width}px` |
||||
|
break; |
||||
|
} |
||||
|
resolve() |
||||
|
}).exec(); |
||||
|
|
||||
|
}) |
||||
|
return promise |
||||
|
|
||||
|
}, |
||||
|
getPlacement(x,y){ |
||||
|
let width = uni.getSystemInfoSync().windowWidth |
||||
|
let height = uni.getSystemInfoSync().windowHeight |
||||
|
if(x>width/2&&y>height/2){ |
||||
|
return 'bottom-end' |
||||
|
}else if(x<width/2&&y<height/2){ |
||||
|
return 'top-start' |
||||
|
}else if(x>width/2&&y<height/2){ |
||||
|
return 'top-end' |
||||
|
}else if(x<width/2&&y>height/2){ |
||||
|
return 'bottom-start' |
||||
|
}else if(x>width/2){ |
||||
|
return 'top-end' |
||||
|
}else{ |
||||
|
return 'top-start' |
||||
|
} |
||||
|
}, |
||||
|
dynamicGetY(y,gap){ |
||||
|
|
||||
|
let height = uni.getSystemInfoSync().windowHeight |
||||
|
y = y<gap?gap:y |
||||
|
y = height - y <gap? (height - gap) : y |
||||
|
|
||||
|
return y |
||||
|
}, |
||||
|
dynamicGetX(x,gap){ |
||||
|
let width = uni.getSystemInfoSync().windowWidth |
||||
|
x = x< gap?gap:x |
||||
|
x = width - x <gap? (width - gap) : x |
||||
|
return x |
||||
|
}, |
||||
|
transformRpx(params){ |
||||
|
|
||||
|
return params*uni.getSystemInfoSync().screenWidth/375 |
||||
|
} |
||||
|
}, |
||||
|
watch:{ |
||||
|
value:{ |
||||
|
immediate:true, |
||||
|
handler:async function (newVal,oldVal){ |
||||
|
if(newVal) await this.popupsPosition() |
||||
|
this.show = newVal |
||||
|
} |
||||
|
}, |
||||
|
placement:{ |
||||
|
immediate:true, |
||||
|
handler(newVal,oldVal){ |
||||
|
this.dynPlace = newVal |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.mask{ |
||||
|
position: fixed; |
||||
|
top: 0; |
||||
|
right: 0; |
||||
|
bottom: 0; |
||||
|
left: 0; |
||||
|
z-index: 9999; |
||||
|
transition: background 0.3s ease-in-out; |
||||
|
visibility: hidden; |
||||
|
|
||||
|
&.mask-show{ |
||||
|
|
||||
|
visibility: visible; |
||||
|
} |
||||
|
} |
||||
|
.popups{ |
||||
|
position: absolute; |
||||
|
padding: 20rpx; |
||||
|
border-radius: 5px; |
||||
|
display:flex; |
||||
|
.view{ |
||||
|
padding: 10rpx; |
||||
|
} |
||||
|
.image{ |
||||
|
display: inline-block; |
||||
|
vertical-align: middle; |
||||
|
width: 40rpx; |
||||
|
height: 40rpx; |
||||
|
margin-right: 20rpx; |
||||
|
} |
||||
|
} |
||||
|
.dark{ |
||||
|
background-color: #4C4C4C; |
||||
|
color: #fff; |
||||
|
.top-start:after { |
||||
|
content: ""; |
||||
|
position: absolute; |
||||
|
top: -18rpx; |
||||
|
left: 10rpx; |
||||
|
border-width: 0 20rpx 20rpx; |
||||
|
border-style: solid; |
||||
|
border-color: transparent transparent #4C4C4C; |
||||
|
} |
||||
|
.top-end:after { |
||||
|
content: ""; |
||||
|
position: absolute; |
||||
|
top: -18rpx; |
||||
|
right: 10rpx; |
||||
|
border-width: 0 20rpx 20rpx; |
||||
|
border-style: solid; |
||||
|
border-color: transparent transparent #4C4C4C; |
||||
|
} |
||||
|
.bottom-start:after { |
||||
|
content: ""; |
||||
|
position: absolute; |
||||
|
bottom: -18rpx; |
||||
|
left: 10rpx; |
||||
|
border-width: 20rpx 20rpx 0 ; |
||||
|
border-style: solid; |
||||
|
border-color: #4C4C4C transparent transparent ; |
||||
|
|
||||
|
} |
||||
|
.bottom-end:after { |
||||
|
content: ""; |
||||
|
position: absolute; |
||||
|
bottom: -18rpx; |
||||
|
right: 10rpx; |
||||
|
border-width: 20rpx 20rpx 0 ; |
||||
|
border-style: solid; |
||||
|
border-color: #4C4C4C transparent transparent ; |
||||
|
} |
||||
|
.disabledColor{ |
||||
|
color: #c5c8ce; |
||||
|
} |
||||
|
} |
||||
|
.light{ |
||||
|
color: #515a6e; |
||||
|
box-shadow: 0upx 0upx 30upx rgba(0,0,0,0.2); |
||||
|
background: #fff; |
||||
|
.top-start:after { |
||||
|
content: ""; |
||||
|
position: absolute; |
||||
|
top: -18rpx; |
||||
|
left: 10rpx; |
||||
|
border-width: 0 20rpx 20rpx; |
||||
|
border-style: solid; |
||||
|
border-color: transparent transparent #fff; |
||||
|
} |
||||
|
.top-end:after { |
||||
|
content: ""; |
||||
|
position: absolute; |
||||
|
top: -18rpx; |
||||
|
right: 10rpx; |
||||
|
border-width: 0 20rpx 20rpx; |
||||
|
border-style: solid; |
||||
|
border-color: transparent transparent #fff; |
||||
|
} |
||||
|
.bottom-start:after { |
||||
|
content: ""; |
||||
|
position: absolute; |
||||
|
bottom: -18rpx; |
||||
|
left: 10rpx; |
||||
|
border-width: 20rpx 20rpx 0 ; |
||||
|
border-style: solid; |
||||
|
border-color: #fff transparent transparent ; |
||||
|
|
||||
|
} |
||||
|
.bottom-end:after { |
||||
|
content: ""; |
||||
|
position: absolute; |
||||
|
bottom: -18rpx; |
||||
|
right: 10rpx; |
||||
|
border-width: 20rpx 20rpx 0 ; |
||||
|
border-style: solid; |
||||
|
border-color: #fff transparent transparent ; |
||||
|
} |
||||
|
.disabledColor{ |
||||
|
color: #c5c8ce; |
||||
|
} |
||||
|
} |
||||
|
.solid-bottom{ |
||||
|
border-bottom: 1px solid #ccc; |
||||
|
} |
||||
|
.solid-right{ |
||||
|
|
||||
|
border-right: 1px solid #ccc; |
||||
|
} |
||||
|
.popups .itemChild:last-child{ |
||||
|
border: none; |
||||
|
} |
||||
|
|
||||
|
</style> |
After Width: | Height: | Size: 4.2 KiB |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 4.3 KiB |
@ -1 +1 @@ |
|||||
https://ide.dcloud.net.cn/build/download/3fa8e860-553a-11ec-ad53-f3a451bd828a |
https://ide.dcloud.net.cn/build/download/3244c380-568c-11ec-beb7-1df0804a9bb6 |
@ -1 +1 @@ |
|||||
{"@platforms":["android","iPhone","iPad"],"id":"__UNI__1ECBEE1","name":"BitCooo","version":{"name":"1.1.4","code":114},"description":"","launch_path":"__uniappview.html","developer":{"name":"","email":"","url":""},"permissions":{"FaceID":{},"Fingerprint":{},"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"target":"id:1","autoclose":true,"waiting":true,"delay":0},"popGesture":"close","launchwebview":{"render":"always","id":"1","kernel":"WKWebview"},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#fff"},"compatible":{"ignoreVersion":true},"usingComponents":true,"nvueStyleCompiler":"uni-app","compilerVersion":3,"distribute":{"icons":{"android":{"hdpi":"icon-android-hdpi.png","xhdpi":"icon-android-xhdpi.png","xxhdpi":"icon-android-xxhdpi.png","xxxhdpi":"icon-android-xxxhdpi.png"},"ios":{"appstore":"unpackage/res/icons/1024x1024.png","ipad":{"app":"unpackage/res/icons/76x76.png","app@2x":"unpackage/res/icons/152x152.png","proapp@2x":"unpackage/res/icons/167x167.png","spotlight":"unpackage/res/icons/40x40.png","spotlight@2x":"unpackage/res/icons/80x80.png","settings":"unpackage/res/icons/29x29.png","settings@2x":"unpackage/res/icons/58x58.png","notification":"unpackage/res/icons/20x20.png","notification@2x":"unpackage/res/icons/40x40.png"},"iphone":{"app@2x":"unpackage/res/icons/120x120.png","app@3x":"unpackage/res/icons/180x180.png","spotlight@2x":"unpackage/res/icons/80x80.png","spotlight@3x":"unpackage/res/icons/120x120.png","settings@2x":"unpackage/res/icons/58x58.png","settings@3x":"unpackage/res/icons/87x87.png","notification@2x":"unpackage/res/icons/40x40.png","notification@3x":"unpackage/res/icons/60x60.png"},"prerendered":"false"}},"splashscreen":{"androidStyle":"default","iosStyle":"default","android":{"hdpi":"","xhdpi":"","xxhdpi":""}},"google":{"permissions":["<uses-feature android:name=\"android.hardware.camera\"/>","<uses-feature android:name=\"android.hardware.camera.autofocus\"/>","<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.CAMERA\"/>","<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>","<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>","<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>","<uses-permission android:name=\"android.permission.READ_LOGS\"/>","<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>","<uses-permission android:name=\"android.permission.USE_FINGERPRINT\"/>","<uses-permission android:name=\"android.permission.VIBRATE\"/>","<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>","<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"],"packagename":"com.bitcooo.formal","password":"owEUXhIlikr8dyWwHO6U9A==","aliasname":"jack501","keystore":"google-keystore","custompermissions":true},"apple":{"devices":"universal"},"plugins":{"ad":{},"audio":{"mp3":{"description":"Android平台录音支持MP3格式文件"}}},"orientation":["portrait-primary"]},"allowsInlineMediaPlayback":true,"uni-app":{"compilerVersion":"3.2.16","control":"uni-v3","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal"},"launch_path":"__uniappview.html","adid":"127964190008"}} |
{"@platforms":["android","iPhone","iPad"],"id":"__UNI__1ECBEE1","name":"BitCooo","version":{"name":"1.1.5","code":115},"description":"","launch_path":"__uniappview.html","developer":{"name":"","email":"","url":""},"permissions":{"FaceID":{},"Fingerprint":{},"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"target":"id:1","autoclose":true,"waiting":true,"delay":0},"popGesture":"close","launchwebview":{"render":"always","id":"1","kernel":"WKWebview"},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#fff"},"compatible":{"ignoreVersion":true},"usingComponents":true,"nvueStyleCompiler":"uni-app","compilerVersion":3,"distribute":{"icons":{"android":{"hdpi":"icon-android-hdpi.png","xhdpi":"icon-android-xhdpi.png","xxhdpi":"icon-android-xxhdpi.png","xxxhdpi":"icon-android-xxxhdpi.png"},"ios":{"appstore":"unpackage/res/icons/1024x1024.png","ipad":{"app":"unpackage/res/icons/76x76.png","app@2x":"unpackage/res/icons/152x152.png","proapp@2x":"unpackage/res/icons/167x167.png","spotlight":"unpackage/res/icons/40x40.png","spotlight@2x":"unpackage/res/icons/80x80.png","settings":"unpackage/res/icons/29x29.png","settings@2x":"unpackage/res/icons/58x58.png","notification":"unpackage/res/icons/20x20.png","notification@2x":"unpackage/res/icons/40x40.png"},"iphone":{"app@2x":"unpackage/res/icons/120x120.png","app@3x":"unpackage/res/icons/180x180.png","spotlight@2x":"unpackage/res/icons/80x80.png","spotlight@3x":"unpackage/res/icons/120x120.png","settings@2x":"unpackage/res/icons/58x58.png","settings@3x":"unpackage/res/icons/87x87.png","notification@2x":"unpackage/res/icons/40x40.png","notification@3x":"unpackage/res/icons/60x60.png"},"prerendered":"false"}},"splashscreen":{"androidStyle":"default","iosStyle":"default","android":{"hdpi":"","xhdpi":"","xxhdpi":""}},"google":{"permissions":["<uses-feature android:name=\"android.hardware.camera\"/>","<uses-feature android:name=\"android.hardware.camera.autofocus\"/>","<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.CAMERA\"/>","<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>","<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>","<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>","<uses-permission android:name=\"android.permission.READ_LOGS\"/>","<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>","<uses-permission android:name=\"android.permission.USE_FINGERPRINT\"/>","<uses-permission android:name=\"android.permission.VIBRATE\"/>","<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>","<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"],"packagename":"com.bitcooo.formal","password":"owEUXhIlikr8dyWwHO6U9A==","aliasname":"jack501","keystore":"google-keystore","custompermissions":true},"apple":{"devices":"universal"},"plugins":{"ad":{},"audio":{"mp3":{"description":"Android平台录音支持MP3格式文件"}}},"orientation":["portrait-primary"]},"allowsInlineMediaPlayback":true,"uni-app":{"compilerVersion":"3.2.16","control":"uni-v3","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal"},"launch_path":"__uniappview.html","adid":"127964190008"}} |
Before Width: | Height: | Size: 629 B After Width: | Height: | Size: 629 B |
Before Width: | Height: | Size: 526 B After Width: | Height: | Size: 526 B |
@ -1 +1 @@ |
|||||
{"@platforms":["android","iPhone","iPad"],"id":"__UNI__1ECBEE1","name":"BitCooo","version":{"name":"1.1.4","code":114},"description":"","launch_path":"__uniappview.html","developer":{"name":"","email":"","url":""},"permissions":{"FaceID":{},"Fingerprint":{},"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"target":"id:1","autoclose":true,"waiting":true,"delay":0},"popGesture":"close","launchwebview":{"render":"always","id":"1","kernel":"WKWebview"},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#fff"},"compatible":{"ignoreVersion":true},"usingComponents":true,"nvueStyleCompiler":"uni-app","compilerVersion":3,"distribute":{"icons":{"android":{"hdpi":"unpackage/res/icons/72x72.png","xhdpi":"unpackage/res/icons/96x96.png","xxhdpi":"unpackage/res/icons/144x144.png","xxxhdpi":"unpackage/res/icons/192x192.png"},"ios":{"appstore":"unpackage/res/icons/1024x1024.png","ipad":{"app":"unpackage/res/icons/76x76.png","app@2x":"unpackage/res/icons/152x152.png","notification":"unpackage/res/icons/20x20.png","notification@2x":"unpackage/res/icons/40x40.png","proapp@2x":"unpackage/res/icons/167x167.png","settings":"unpackage/res/icons/29x29.png","settings@2x":"unpackage/res/icons/58x58.png","spotlight":"unpackage/res/icons/40x40.png","spotlight@2x":"unpackage/res/icons/80x80.png"},"iphone":{"app@2x":"unpackage/res/icons/120x120.png","app@3x":"unpackage/res/icons/180x180.png","notification@2x":"unpackage/res/icons/40x40.png","notification@3x":"unpackage/res/icons/60x60.png","settings@2x":"unpackage/res/icons/58x58.png","settings@3x":"unpackage/res/icons/87x87.png","spotlight@2x":"unpackage/res/icons/80x80.png","spotlight@3x":"unpackage/res/icons/120x120.png"}}},"splashscreen":{"androidStyle":"default","iosStyle":"default","android":{"hdpi":"","xhdpi":"","xxhdpi":""}},"google":{"permissions":["<uses-feature android:name=\"android.hardware.camera\"/>","<uses-feature android:name=\"android.hardware.camera.autofocus\"/>","<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.CAMERA\"/>","<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>","<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>","<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>","<uses-permission android:name=\"android.permission.READ_LOGS\"/>","<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>","<uses-permission android:name=\"android.permission.USE_FINGERPRINT\"/>","<uses-permission android:name=\"android.permission.VIBRATE\"/>","<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>","<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"]},"apple":{},"plugins":{"ad":{},"audio":{"mp3":{"description":"Android平台录音支持MP3格式文件"}}}},"allowsInlineMediaPlayback":true,"uni-app":{"compilerVersion":"3.2.16","control":"uni-v3","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal"},"launch_path":"__uniappview.html"}} |
{"@platforms":["android","iPhone","iPad"],"id":"__UNI__1ECBEE1","name":"BitCooo","version":{"name":"1.1.5","code":115},"description":"","launch_path":"__uniappview.html","developer":{"name":"","email":"","url":""},"permissions":{"FaceID":{},"Fingerprint":{},"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"target":"id:1","autoclose":true,"waiting":true,"delay":0},"popGesture":"close","launchwebview":{"render":"always","id":"1","kernel":"WKWebview"},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#fff"},"compatible":{"ignoreVersion":true},"usingComponents":true,"nvueStyleCompiler":"uni-app","compilerVersion":3,"distribute":{"icons":{"android":{"hdpi":"unpackage/res/icons/72x72.png","xhdpi":"unpackage/res/icons/96x96.png","xxhdpi":"unpackage/res/icons/144x144.png","xxxhdpi":"unpackage/res/icons/192x192.png"},"ios":{"appstore":"unpackage/res/icons/1024x1024.png","ipad":{"app":"unpackage/res/icons/76x76.png","app@2x":"unpackage/res/icons/152x152.png","notification":"unpackage/res/icons/20x20.png","notification@2x":"unpackage/res/icons/40x40.png","proapp@2x":"unpackage/res/icons/167x167.png","settings":"unpackage/res/icons/29x29.png","settings@2x":"unpackage/res/icons/58x58.png","spotlight":"unpackage/res/icons/40x40.png","spotlight@2x":"unpackage/res/icons/80x80.png"},"iphone":{"app@2x":"unpackage/res/icons/120x120.png","app@3x":"unpackage/res/icons/180x180.png","notification@2x":"unpackage/res/icons/40x40.png","notification@3x":"unpackage/res/icons/60x60.png","settings@2x":"unpackage/res/icons/58x58.png","settings@3x":"unpackage/res/icons/87x87.png","spotlight@2x":"unpackage/res/icons/80x80.png","spotlight@3x":"unpackage/res/icons/120x120.png"}}},"splashscreen":{"androidStyle":"default","iosStyle":"default","android":{"hdpi":"","xhdpi":"","xxhdpi":""}},"google":{"permissions":["<uses-feature android:name=\"android.hardware.camera\"/>","<uses-feature android:name=\"android.hardware.camera.autofocus\"/>","<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.CAMERA\"/>","<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>","<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>","<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>","<uses-permission android:name=\"android.permission.READ_LOGS\"/>","<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>","<uses-permission android:name=\"android.permission.USE_FINGERPRINT\"/>","<uses-permission android:name=\"android.permission.VIBRATE\"/>","<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>","<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"]},"apple":{},"plugins":{"ad":{},"audio":{"mp3":{"description":"Android平台录音支持MP3格式文件"}}}},"allowsInlineMediaPlayback":true,"uni-app":{"compilerVersion":"3.2.16","control":"uni-v3","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal"},"launch_path":"__uniappview.html"}} |
Before Width: | Height: | Size: 629 B After Width: | Height: | Size: 629 B |
Before Width: | Height: | Size: 526 B After Width: | Height: | Size: 526 B |