Проведите аналогию например с vk.com.
Во Вконтакте есть API.
Что бы получить данные своего профиля, мы передаём токен.
Например:
У вас есть метод
https://api.site.com/account.getProfileInfo?token=...
Выполнив get запрос, вы получите нечто похожее.
{
"response": {
"first_name": "Кристина",
"last_name": "Шипилова",
"bdate": "20.3.1991",
"bdate_visibility": 2,
"city": {
"id": 21940,
"title": "Верхний Мамон"
},
"country": {
"id": 1,
"title": "Россия"
},
"home_town": "Воронеж В- Мамон",
"maiden_name": "",
"phone": "+7 *** *** ** 79",
"relation": 1,
"sex": 1,
"status": "ОБОЖАЮ СИРЕНЬ😎"
}
}
Далее, рассовываете в нужные теги.
Опять же, если речь идёт о конкретных действиях.
Пример из моего проекта, только тяну не профиль, а категории.
async asyncData({$axios}) {
let category_items = []
let promise_category = $axios.$get(`${process.env.api}/categories.get`,
{
params: {
lvl: 0,
count: 25,
offset: 0
}
})
.then(({code, count, items}) => {
if (code === 0) {
items.forEach((e) => {
category_items.push({
id: e.id,
name: e.name,
children: [],
deleted_loading: false,
lvl: e.lvl,
selected: false,
})
})
}
})
await Promise.all([promise_category])
return {
category_items
}
},
Нужен ли Vuex?
Вам решать.