<template>
	<view class="search_wraper">
		<slot></slot>
		<view class="buttons_wraper">
			<view class="iconfont icon_del" @tap="toDel">&#xe6dc;</view>
			<view class="iconfont icon_scan" :class="{'icon_scan_active': focused === true}" @tap="toScan">&#xe6e2;</view>
			<view class="iconfont icon_phone" @tap="toPhone">&#xe663;</view>
		</view>
	</view>
</template>

<script>
	import permision from "@/utils/permission.js"
	export default {
		props: {
			focused: {
				type: Boolean,
				default: false
			}
		},
		methods: {
			toDel () {
				this.$emit('inputDel')
			},
			toScan () {
				this.$emit('inputScan', '')
			},
			async toPhone() {
				// #ifdef APP-PLUS
				let status = await this.checkPermission();
				if (status !== 1) {
				    return;
				}
				// #endif
				uni.scanCode({
					success: (res) => {
						this.$emit('toPhone', res.result)
					},
					fail: (err) => {
						// uni.showToast({
						// 	title: '出错',
						// 	icon: 'none'
						// })
					}
				});
			}
			// #ifdef APP-PLUS
			,
			async checkPermission(code) {
				let status = permision.isIOS ? await permision.requestIOS('camera') :
					await permision.requestAndroid('android.permission.CAMERA');
			
				if (status === null || status === 1) {
					status = 1;
				} else {
					uni.showModal({
						content: "需要相机权限",
						confirmText: "设置",
						success: function(res) {
							if (res.confirm) {
								permision.gotoAppSetting();
							}
						}
					})
				}
				return status;
			}
			// #endif
		}
	}
</script>

<style lang="stylus">
@import '../common/style/mixin.styl';
.search_wraper
	position relative
	_wh(100%, 70rpx)
.search_input
	padding-right: 160rpx;
.buttons_wraper
	position absolute
	top 0
	right 10rpx
	_wh(auto, 70rpx)
	_fj(flex-end)
.icon_scan_active
	color $red
</style>
