You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
apply-assistant-v3/pages/NEUIKit/components/Appellation.vue

83 lines
1.7 KiB
Vue

<template>
<span
class="appellation"
:style="{ color: color, fontSize: fontSize + 'px' }"
>
{{ appellation }}
<span v-if="subtitle" style="color: orange;">{{ subtitle }}</span>
</span
>
</template>
<script lang="ts" setup>
import { autorun } from 'mobx'
import {
onUnmounted,
ref,
defineProps,
withDefaults,
} from '../utils/transformVue'
import { deepClone } from '../utils'
const appellation = ref('')
const { account, teamId, ignoreAlias, nickFromMsg } = withDefaults(
defineProps<{
account: string
teamId?: string
ignoreAlias?: boolean
nickFromMsg?: string
color?: string
fontSize?: number
}>(),
{
teamId: undefined,
ignoreAlias: false,
nickFromMsg: '-',
color: '#333',
fontSize: 16,
}
)
const subtitle = ref('');
const uninstallAppellationWatch = autorun(() => {
// async function getUserInfo() {
// try {
// const res = await uni.$UIKitStore.userStore.getUserActive('10023')
// return res
// } catch (error) {
// console.error('getUserInfo error:', error)
// }
// }
// getUserInfo().then(res => {
// if(res.serverExtension){
// subtitle.value = '@' + JSON.parse(res.serverExtension).fullName;
// }else{
// subtitle.value = '';
// }
// appellation.value = res.name;
// })
appellation.value = deepClone(
uni.$UIKitStore.uiStore.getAppellation({
account,
teamId,
ignoreAlias,
nickFromMsg,
})
)
})
onUnmounted(() => {
uninstallAppellationWatch()
})
</script>
<style scoped lang="scss">
.appellation {
color: #333;
font-size: 16px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
</style>