import Buttons from "@/components/basic/Buttons"; import { clear, logout, update } from "@/services/user"; import { View, Text, Image, Button } from "@tarojs/components"; import { useDispatch, useSelector } from "react-redux"; import './ProfileSetting.scss' import Box from "@/components/layout/Box"; import Taro from "@tarojs/taro"; import { useEffect } from "react"; import { useTranslation } from "react-i18next"; import { baseUrl } from "@/services/http/api"; import { updateSuccess } from "@/store/user"; import TableCell from "@/components/layout/TableCell"; export default function Page() { const dispatch = useDispatch(); const user = useSelector((state: any) => state.user); const { t } = useTranslation() useEffect(() => { Taro.setNavigationBarTitle({ title: t('page.user_profile.title') }) }, []) function editNickname() { Taro.navigateTo({ url: '/pages/account/EditPage' }) } function chooseAvatar(e) { const { avatarUrl } = e.detail var dot = avatarUrl.lastIndexOf('.') var fileExt = dot > 0 ? avatarUrl.substring(dot) : '' // console.log(avatarUrl) Taro.request({ method: 'GET', url: `${baseUrl}/api/thirdparty/aliyun/oss-form-upload`, header: { 'Authorization': 'bearer ' + global.token }, data: { type: 'AVATAR', file_ext: fileExt }, success: (rsp) => { debugger Taro.uploadFile({ url: rsp.data.upload_url, filePath: avatarUrl, name: 'file', formData: rsp.data.fields, success: rlt => { console.log(rlt) uploadAvatar(rsp.data.view_url) // _this.changeAvatar(rsp.data.view_url); }, fail: rlt => { Taro.showModal({ content: rlt.errMsg }) } }) } }) } function uploadAvatar(url) { update({ avatar: url }).then(res => { dispatch(updateSuccess({ avatar: url })); Taro.showToast({ title: '更新成功', icon: 'none' }) }) } return {/* 头像 */} {user.nickname} {/* 昵称 {user.nickname} */} {/* 用户名 {user.username} */} {/* */} }