userAvatar.vue 555 B

1234567891011121314151617181920212223242526
  1. <template>
  2. <u-avatar size="46" :src="userInfo.avatar" :text="text"></u-avatar>
  3. </template>
  4. <script>
  5. export default {
  6. name: 'userAvatar',
  7. computed: {
  8. userInfo() {
  9. return this.$store.state.user.userInfo || {};
  10. },
  11. text() {
  12. const { avatar, userName = '' } = this.userInfo;
  13. return avatar ? undefined : userName.charAt(0);
  14. },
  15. },
  16. created() {
  17. if (Object.keys(this.userInfo).length === 0) {
  18. // 如果没有用户信息则获取
  19. this.$store.dispatch('user/GetInfo'); // 获取用户信息
  20. }
  21. },
  22. };
  23. </script>
  24. <style scoped></style>