| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- import { fetchPerson } from '../../../services/usercenter/fetchPerson';
- import { phoneEncryption } from '../../../utils/util';
- import Toast from 'tdesign-miniprogram/toast/index';
- Page({
- data: {
- personInfo: {
- avatarUrl: '',
- nickName: '',
- gender: 0,
- phoneNumber: '',
- },
- showUnbindConfirm: false,
- pickerOptions: [
- {
- name: '男',
- code: '1',
- },
- {
- name: '女',
- code: '2',
- },
- ],
- typeVisible: false,
- genderMap: ['', '男', '女'],
- },
- onLoad() {
- this.init();
- },
- init() {
- this.fetchData();
- },
- fetchData() {
- fetchPerson().then((personInfo) => {
- this.setData({
- personInfo,
- 'personInfo.phoneNumber': phoneEncryption(personInfo.phoneNumber),
- });
- });
- },
- onClickCell({ currentTarget }) {
- const { dataset } = currentTarget;
- const { nickName } = this.data.personInfo;
- switch (dataset.type) {
- case 'gender':
- this.setData({
- typeVisible: true,
- });
- break;
- case 'name':
- wx.navigateTo({
- url: `/pages/user/name-edit/index?name=${nickName}`,
- });
- break;
- case 'avatarUrl':
- this.toModifyAvatar();
- break;
- default: {
- break;
- }
- }
- },
- onClose() {
- this.setData({
- typeVisible: false,
- });
- },
- onConfirm(e) {
- const { value } = e.detail;
- this.setData(
- {
- typeVisible: false,
- 'personInfo.gender': value,
- },
- () => {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '设置成功',
- theme: 'success',
- });
- },
- );
- },
- async toModifyAvatar() {
- try {
- const tempFilePath = await new Promise((resolve, reject) => {
- wx.chooseImage({
- count: 1,
- sizeType: ['compressed'],
- sourceType: ['album', 'camera'],
- success: (res) => {
- const { path, size } = res.tempFiles[0];
- if (size <= 10485760) {
- resolve(path);
- } else {
- reject({ errMsg: '图片大小超出限制,请重新上传' });
- }
- },
- fail: (err) => reject(err),
- });
- });
- const tempUrlArr = tempFilePath.split('/');
- const tempFileName = tempUrlArr[tempUrlArr.length - 1];
- Toast({
- context: this,
- selector: '#t-toast',
- message: `已选择图片-${tempFileName}`,
- theme: 'success',
- });
- } catch (error) {
- if (error.errMsg === 'chooseImage:fail cancel') return;
- Toast({
- context: this,
- selector: '#t-toast',
- message: error.errMsg || error.msg || '修改头像出错了',
- theme: 'error',
- });
- }
- },
- });
|