<template>
	<view>
		<!-- 头像裁剪 -->
		<okingtz-cropper
			@uploadSuccess="uploadSuccess"
			selectButtonBackgroundColor="#2080f0"
			saveButtonBackgroundColor="#2080f0"
			:image="vk.vuex.get('$user.userInfo.avatar') ? vk.vuex.get('$user.userInfo.avatar') : avatar"
		></okingtz-cropper>
	</view>
</template>
<script>
import OkingtzCropper from '@/uni_modules/okingtz-cropper/components/okingtz-cropper/okingtz-cropper';
export default {
	components: {
		OkingtzCropper
	},
	data() {
		return {
			avatar: '/static/logo.png' // 头像地址
		};
	},
	onLoad() {
		// 查询上次修改头像时间
		let lastTime = vk.vuex.get('$user.history.lastEditAvatarTime');
		console.log(lastTime);
		if (vk.pubfn.isNotNull(lastTime)) {
			// 说明此前已修改过一次，但这个是本地验证，换个设备相当于可以突破限制
			let currentTime = Date.parse(new Date()) / 1000; // 秒级
			console.log(currentTime);
			if (currentTime - lastTime <= 86400) {
				vk.alert('头像在每7天内仅允许修改一次', '提示', '确定', function() {
					vk.navigateToHome();
				});
				return;
			}
		}
	},
	methods: {
		// 头像
		uploadSuccess(tempFilePath) {
			// 上传至 unicloud云储存
			vk.callFunctionUtil.uploadFile({
				title: '上传中...',
				filePath: tempFilePath,
				suffix: 'png', // 不传suffix会自动获取，但H5环境下获取不到后缀，但可以通过file.name 获取
				success(res) {
					// 上传成功
					vk.userCenter.setAvatar({
						data: {
							avatar: res.url
						},
						success: function(data) {
							// 成功后的逻辑
							let currentTime = Date.parse(new Date()) / 1000; // 秒级
							console.log(currentTime);
							vk.vuex.set('$user.history.lastEditAvatarTime', currentTime); // 写入缓存
							vk.alert('头像设置成功', '提示', '确定', function() {
								// 点击确定按钮后的回调
								vk.navigateToHome();
							});
						}
					});
				}
			});
		}
	}
};
</script>
<style></style>
