أنا أعرف بالفعل عن صور الجرافاتار (Gravatars) وصور الرموز الخارجية، ولكن هل من الممكن تعيين صورة رمزية للمستخدم إلى صورة خارجية أخرى؟ في حالتي، لا ينبغي أن يكون المستخدم قادرًا على تغيير صورته الرمزية، بل تُحدَّد صورته الرمزية بواسطة نظام آخر يحدد ما يجب أن تكون عليه.
في جزء من هذا “النظام”، يمكنني استدعاء طلب PUT لتحديث صورة رمزية للمستخدم، على سبيل المثال:
$.ajax({
url: 'https://example.com/site/selectable-avatars.json',
type: 'GET',
success: function(data) {
const payload = {
url: data[1] // مؤقتًا ثابت. سيتم تعيينه لاحقًا بناءً على بعض البيانات
}
$.ajax({
url: 'https://example.com/u/' + username + '/preferences/avatar/select',
type: 'PUT',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
'Api-Key': 'my-api-key',
'Api-Username': 'my-api-username'
},
data: JSON.stringify(payload),
success: function(data, textStatus) {
console.log(data, textStatus);
}
})
}
})
وهذا يعمل بشكل مثالي، حيث يتم تعيين صورة الرموز إلى الصورة الممررة، والتي في هذه الحالة ثابتة كـ data[1]. البيانات data هي مصفوفة من الصور، تم تعيينها في إعدادات discourse كـ “صور رمزية قابلة للاختيار”.
المشكلة هي أن عنوان URL للصورة يُبنى فعليًا كـ https://example.com/${url} بدلاً من url فقط.
أعتقد أن الأمر يتعلق بما يلي: هل من الممكن تعيين ملف الصورة الرمزية إلى صورة خارجية (من نطاق آخر) بدلاً من صورة داخلية؟ وهل هناك طريقة أفضل للقيام بما أحاول فعله؟
شكرًا لك على وقتك.