<template>
	<view class="pageBgImg">
		<topNavbar title="上传头像"></topNavbar>
		<view class="pad">
			<view class="card">
				<view class="h2">请上传或拍摄一张五官清晰的照片</view>
				
				<view class="phone" @click="uploadTap" v-if="!avatar">
					<view class="phoneIcon">
						<image src="@/static/images/index/btn_tupian.png" mode=""></image>
					</view>
					<view class="lab">添加图片</view>
				</view>
				
				<view class="phone" v-else  @click="uploadTap">
					<image :src="avatar" mode=""></image>
				</view>
				
				<view class="btnBg" @click="$goPage('/pages/indexEntry/enroll/registInfo/registInfo')">上传</view>
			</view>
		</view>
	</view>
</template>

<script>
	import { APP_API, APP_HOST } from '@/site.config.js';
	const _url = APP_HOST + APP_API + '/util/manage/uploadFile.do';
	export default {
		data() {
			return {
				avatar: ''
			}
		},
		onLoad() {
			uni.$on('uAvatarCropper',(url)=>{
				// console.log('裁剪后的图片路径')
				this.avatar = url
				console.log(url)
			})
		},
		methods: {
			addImage() {
				var that = this;
				// 从本地相册选择图片或使用相机拍照。
				uni.chooseImage({
					count: 1, //最多可以选择的图片张数，默认9
					//album 从相册选图，camera 使用相机，默认二者都有。
					sourceType: ['album'],	
					success: function(res) {
						//获取图片信息。
						uni.getImageInfo({
							src: res.tempFilePaths[0],
							success: function(image) {
								that.src = (res.tempFilePaths[0]);
								console.log('这都能成功')
								console.log(that.src); //打印出图片信息,在浏览器上打开就是你上传的图片
								//将本地资源上传到开发者服务器，客户端发起一个 POST 请求，其中 content-type 为 multipart/form-data
								
							}
						})	
					}
				})
			},

			//选择图片
			chooseImages(type) {
				uni.chooseImage({
					count: 1, //允许选择的数量
					sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图，默认二者都有
					sourceType: ['album', 'camera'], //从相册选择
					success:  res => {
						uni.showLoading({
							title: '图片上传中...'
						});
						res.tempFilePaths.forEach( (item,index)=>{
							 this.uploadImgApi(item)
						})
					}
				})
			},
			uploadTap() {
				const _this = this;
				uni.chooseImage({
					count: 1, // 默认9
					sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图，默认二者都有
					sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机，默认二者都有
					success: (res) => {
						let url = res.tempFilePaths[0];
						//  获取裁剪图片资源后，给data添加src属性及其值
						uni.navigateTo({
							url: '/pages/indexEntry/enroll/uploadAvatar/uAvatarCropper/uAvatarCropper?url=' + encodeURIComponent(url)
						})
					}
				});
			},
			uploadImgApi(filePath) {
				console.log(filePath)
				let _this = this
				// 上传图片到服务器
				uni.uploadFile({
					url: _url,//接口
					filePath: filePath,//要上传的图片的本地路径
					name: 'file',
					
					formData: {
						fileType: 1,
						fileSuffix: "png"
					},
					header: {
						token: uni.getStorageSync("Authorization") || '',
					},
					success(res) {
						console.log('上传成功')
						let res2 = JSON.parse(res.data)
						_this.imgArr.push(res2.data)
						console.log(res2)
						uni.hideLoading();
					},
					complete: ()=> {}
				})
			},
		}
	}
</script>

<style lang="scss" scoped>
	.card {
		display: flex;
		align-items: center;
		flex-direction: column;
		.h2 {
			padding: 126rpx 0 84rpx 0;
			font-size: 36rpx;
			font-weight: 600;
		}
	}
	.phone {
		border: 2rpx dashed #CDCED0;
		width: 290rpx;
		height: 290rpx;
		border-radius: 16rpx;
		overflow: hidden;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
	  .phoneIcon {
		width: 60rpx;
		height: 60rpx;
	  }
		
	  .lab {
		font-size: 20rpx;
		color: #686B73;
		margin-top: 8rpx;
	  }
	}
	.btnBg {
		width: 396rpx;
		margin: 130rpx 0;
		
	}
</style>