|
@@ -1,10 +1,15 @@
|
|
|
<template>
|
|
|
<view>
|
|
|
<u-navbar title="编辑个人信息" >
|
|
|
- <slot name="right">保存</slot>
|
|
|
+ <view class="slot-wrap" @click="save">
|
|
|
+ 保存
|
|
|
+ </view>
|
|
|
</u-navbar>
|
|
|
- <view class="photo">
|
|
|
- <img src="../../../assets/img/editPhoto.png" alt="">
|
|
|
+ <view class="photo" @click="uploadPhoto">
|
|
|
+ <u-avatar v-if="form.headImg != null" class="avatar"
|
|
|
+ :src="form.headImg+'?x-oss-process=image/resize,m_fill,w_256,h_256'" size="160">
|
|
|
+ <img src="" alt="">
|
|
|
+ </u-avatar>
|
|
|
<view class="edit-photo">
|
|
|
<img src="../../../assets/img/md-camera_alt@1x(1).png" alt="">
|
|
|
</view>
|
|
@@ -18,7 +23,7 @@
|
|
|
昵称
|
|
|
</view>
|
|
|
<view class="name">
|
|
|
- <input type="text" name="" id="" placeholder="用户191012" style="text-align: right;">
|
|
|
+ <input type="text" name="" id="" v-model="form.nickName" style="text-align: right;">
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
@@ -27,14 +32,131 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+ import * as loginApi from '@/apis/login.js'
|
|
|
+ import * as mineApi from '@/apis/parents/mine.js'
|
|
|
+
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
|
-
|
|
|
+ form: {
|
|
|
+ headImg: '',
|
|
|
+ nickName: ''
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
+ onReady() {
|
|
|
+ this.getParentsInfo();
|
|
|
+ },
|
|
|
methods: {
|
|
|
-
|
|
|
+ getParentsInfo() {
|
|
|
+ uni.showLoading({
|
|
|
+ title: "加载中",
|
|
|
+ mask: true,
|
|
|
+ })
|
|
|
+ loginApi.findByOpenId({
|
|
|
+ openId: this.carhelp.getOpenId()
|
|
|
+ }).then((response) => {
|
|
|
+ uni.hideLoading();
|
|
|
+ this.form.headImg = response.data.regUser.headImg;
|
|
|
+ this.form.nickName = response.data.regUser.nickName;
|
|
|
+ }).catch(error => {
|
|
|
+ uni.showToast({
|
|
|
+ title: error,
|
|
|
+ icon: "none"
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ save() {
|
|
|
+ uni.showLoading({
|
|
|
+ title: "加载中",
|
|
|
+ mask: true,
|
|
|
+ })
|
|
|
+ mineApi.updateRegUser(this.form).then((response) => {
|
|
|
+ uni.hideLoading();
|
|
|
+ uni.navigateBack({
|
|
|
+
|
|
|
+ })
|
|
|
+ }).catch(error => {
|
|
|
+ uni.showToast({
|
|
|
+ title: error,
|
|
|
+ icon: "none"
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ uploadPhoto() {
|
|
|
+ let _self = this;
|
|
|
+
|
|
|
+ const crop = {
|
|
|
+ quality: 100,
|
|
|
+ width: 600,
|
|
|
+ height: 600,
|
|
|
+ resize: true
|
|
|
+ };
|
|
|
+
|
|
|
+ // 上传图片
|
|
|
+ uni.chooseImage({
|
|
|
+ count: 1,
|
|
|
+ crop,
|
|
|
+ success: async (res) => {
|
|
|
+ //(res);
|
|
|
+ let tempFile = res.tempFiles[0],
|
|
|
+ avatar_file = {
|
|
|
+ // #ifdef H5
|
|
|
+ extname: tempFile.name.split('.')[tempFile.name.split('.').length - 1],
|
|
|
+ // #endif
|
|
|
+ // #ifndef H5
|
|
|
+ extname: tempFile.path.split('.')[tempFile.path.split('.').length - 1]
|
|
|
+ // #endif
|
|
|
+ },
|
|
|
+ filePath = res.tempFilePaths[0]
|
|
|
+
|
|
|
+ // #ifndef APP-PLUS
|
|
|
+ //(`filePath=${filePath}`)
|
|
|
+
|
|
|
+ //非app端用前端组件剪裁头像,app端用内置的原生裁剪
|
|
|
+ let fileData = await new Promise((callback) => {
|
|
|
+ uni.navigateTo({
|
|
|
+ url: '/pages/teacher/editProfile/cropImage?path=' + filePath +
|
|
|
+ `&options=${JSON.stringify(crop)}`,
|
|
|
+ animationType: "fade-in",
|
|
|
+ events: {
|
|
|
+ success: url => {
|
|
|
+ callback(url)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ })
|
|
|
+ // #endif
|
|
|
+
|
|
|
+ //返回 base64 图片
|
|
|
+ //(fileData);
|
|
|
+
|
|
|
+ var token = _self.carhelp.getToken()
|
|
|
+
|
|
|
+ uni.showLoading({
|
|
|
+ title: '上传中'
|
|
|
+ });
|
|
|
+
|
|
|
+ uni.request({
|
|
|
+ url: process.car.BASE_URL + "uploadBase64",
|
|
|
+ method: 'POST',
|
|
|
+ data: {
|
|
|
+ photoBase64Data: fileData
|
|
|
+ },
|
|
|
+ header: {
|
|
|
+ 'Authorization': token,
|
|
|
+ 'content-type': 'application/x-www-form-urlencoded'
|
|
|
+ },
|
|
|
+ success: (res) => {
|
|
|
+ let jsonData = res.data;
|
|
|
+ _self.form.headImg = jsonData.data;
|
|
|
+ // _self.save();
|
|
|
+ uni.hideLoading();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
}
|
|
|
}
|
|
|
</script>
|