12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- <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>
|