1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- import { VueLikePage } from '../../utils/page'
- import UserApi from '../../apis/user'
- import DisplayApi from '../../apis/exhibition'
- import { saveUserInfo } from '../../utils/storage'
- import { API_BASE_URL } from '../../config/config'
- VueLikePage([], {
- data: {
- userInfo: {},
- tradeList: []
- },
- methods: {
- onLoad () {
- this.getAllTrade()
- let userInfo = Object.assign({}, getApp().globalData.userinfo)
- UserApi.getUserInfoById(userInfo.viewerId).then(res => {
- this.setData({
- userInfo: res.data
- })
- getApp().globalData.userinfo = res.data
- })
- },
- onShow () {
-
-
- },
- chooseImage () {
- return wx.chooseImage({
- count: 1,
- success: (res) => {
- const { tempFilePaths } = res
- return this.uploadAvatar(tempFilePaths[0])
- },
- })
- },
- updateUserInfo () {
- UserApi.updateUserInfo(this.data.userInfo).then(res => {
- wx.showToast({
- title: '修改成功',
- })
- getApp().globalData.userinfo = this.data.userInfo
- saveUserInfo(this.data.userInfo)
- })
- },
- uploadAvatar (filePath) {
- return new Promise((resolve, reject) => {
- wx.uploadFile({
- filePath: filePath,
- name: 'file',
- url: `${API_BASE_URL}/im/upload`,
- header: {
- "Content-Type": "multipart/form-data"
- },
- success: (res) => {
- res = JSON.parse(res.data)
- let userInfo = this.data.userInfo
- userInfo.avatar = res.data
- this.setData({
- userInfo
- })
- resolve({url: res.data});
- },
- fail: (err) => {
- console.log(err, 'err')
- }
- })
- })
- },
- bindInput (e) {
- let userInfo = this.data.userInfo
- const { key } = e.currentTarget.dataset
- userInfo[key] = e.detail.value
- this.setData({
- userInfo
- })
- },
- getAllTrade () {
- return DisplayApi.getTradeList().then(res => {
- this.originTradeList = res.data
- this.setData({
- tradeList: res.data.map(item => item.name)
- })
- })
- },
- bindPickerChange (e) {
- let userInfo = this.data.userInfo
- userInfo.companyTrade = this.originTradeList[e.detail.value].name
- this.setData({
- userInfo
- })
- },
- changeCheckStatus (e) {
- const { value } = e.currentTarget.dataset
- this.setData({
- 'userInfo.gender': value
- })
- }
- }
- })
|