Files
app-govern/pages/user/head.vue

148 lines
4.9 KiB
Vue
Raw Permalink Normal View History

2023-02-10 16:32:41 +08:00
<template>
2024-09-06 14:35:06 +08:00
<view>
<Cn-page :loading="loading">
<view slot="body">
<view class="head">
<image class="head-img" :src="userInfo.avatar" v-if="userInfo.avatar"></image>
<image class="head-img" src="/static/head.png" v-else></image>
<view class="head-setup">
<view class="head-setup-item" @click="take('album')">从相册选一张</view>
<view class="head-setup-item" @click="take('camera')">拍一张照片</view>
</view>
</view>
</view>
</Cn-page>
2024-09-05 09:01:16 +08:00
2024-09-06 14:35:06 +08:00
<uni-popup ref="alertDialog" type="dialog">
<uni-popup-dialog
style="width: 90%; margin: 5%"
cancelText="禁止"
confirmText="允许"
title="权限说明"
content='是否允许"灿能物联"使用相机?'
@confirm="handleScon('camera')"
@close="dialogClose"
></uni-popup-dialog>
</uni-popup>
<uni-popup ref="message" type="message">
<uni-popup-message type="info" :duration="0" style="width: 90%; margin: 5%">
<view style="color: #909399; font-style: 16px">相机权限使用说明:</view>
<view style="color: #6c6c6c; margin-top: 3rpx"> 用于拍照上传头像!</view>
</uni-popup-message>
</uni-popup>
<yk-authpup ref="authpup" type="top" @changeAuth="changeAuth" permissionID="CAMERA"></yk-authpup>
<yk-authpup
ref="authpup1"
type="top"
@changeAuth="changeAuth"
permissionID="WRITE_EXTERNAL_STORAGE"
></yk-authpup>
</view>
2023-02-10 16:32:41 +08:00
</template>
<script>
2023-08-11 11:03:31 +08:00
import { uploadImage, getImageUrl } from '@/common/api/basic'
import { apiUpdateUser } from '@/common/api/user'
2024-09-06 14:35:06 +08:00
import ykAuthpup from '@/components/yk-authpup/yk-authpup'
2023-02-10 16:32:41 +08:00
export default {
2024-09-06 14:35:06 +08:00
components: {
ykAuthpup,
},
data() {
return {
loading: false,
userInfo: {},
type: '',
}
},
methods: {
take(type) {
this.type = type
if (type == 'camera') {
if (plus.os.name == 'Android') {
this.$refs['authpup'].open()
//未授权
// this.$refs.message.open()
// this.$refs.alertDialog.open('bottom')
} else {
this.handleScon(type)
}
} else {
if (plus.os.name == 'Android') {
this.$refs['authpup1'].open()
//未授权
// this.$refs.message.open()
// this.$refs.alertDialog.open('bottom')
} else {
this.handleScon(type)
}
// this.handleScon(type)、
}
},
changeAuth() {
//这里是权限通过后执行自己的代码逻辑
console.log('权限已授权,可执行自己的代码逻辑了')
// this.handleScon()
this.handleScon(this.type)
},
handleScon(type) {
this.$refs.message.close()
uni.chooseImage({
count: 1,
sizeType: ['original', 'compressed'],
sourceType: [type],
success: (res) => {
uploadImage(res.tempFilePaths[0]).then((res) => {
console.log(res)
let result = JSON.parse(res[1].data)
apiUpdateUser({
headSculpture: result.data.minFileUrl,
}).then((res) => {
console.log(res)
this.userInfo.headSculpture = result.data.minFileUrl
this.userInfo.avatar = this.$config.static + result.data.minFileUrl
uni.setStorageSync(this.$cacheKey.userInfo, this.userInfo)
this.$forceUpdate()
})
})
},
})
},
dialogClose() {
this.$refs.message.close()
},
},
2024-09-02 09:50:59 +08:00
2024-09-06 14:35:06 +08:00
onLoad(options) {
this.userInfo = uni.getStorageSync(this.$cacheKey.userInfo)
},
2023-02-10 16:32:41 +08:00
}
</script>
2023-08-11 11:03:31 +08:00
<style lang="scss">
2023-02-10 16:32:41 +08:00
.head {
2024-09-06 14:35:06 +08:00
.head-img {
height: 750rpx;
width: 750rpx;
}
2023-02-10 16:32:41 +08:00
2024-09-06 14:35:06 +08:00
.head-setup {
position: fixed;
bottom: 0;
left: 0;
width: 750rpx;
padding-bottom: 60rpx;
background-color: #fff;
2023-02-10 16:32:41 +08:00
2024-09-06 14:35:06 +08:00
.head-setup-item {
height: 100rpx;
line-height: 100rpx;
text-align: center;
border-top: 1rpx solid #e8e8e8;
}
}
2024-09-05 09:01:16 +08:00
}
/deep/ .uni-popup-message__box {
2024-09-06 14:35:06 +08:00
border-radius: 10rpx !important;
background-color: #fff;
2023-02-10 16:32:41 +08:00
}
2023-08-11 11:03:31 +08:00
</style>