هذا دليل مرجعي لوصف كيفية حساب الإحصائيات الموجودة في صفحة
/about، ومكان العثور على كود Ruby لكل إحصائية.
مستوى المستخدم المطلوب: جميع المستخدمين
إحصائيات صفحة “حول”
تحتوي جميع مواقع Discourse على صفحة /about مدمجة (على سبيل المثال، هذه هي صفحة حول Meta) تحتوي على قائمة بالمشرفين والمعدلين للموقع بالإضافة إلى بعض الإحصائيات حول الموقع نفسه.
تتضمن هذه الإحصائيات جميع المستخدمين، بما في ذلك حسابات المشرفين والمعدلين. ستتضمن بعض الإحصائيات أيضًا حسابات مجهولة (إذا تم تمكينها على الموقع).
إذا تم تمكين إعداد الموقع share anonymized statistics (يتم تمكين هذا الإعداد افتراضيًا)، فسيتم عرض “إحصائيات الموقع” في صفحة /about كملف JSON يمكن استرداده على /about.json.
إذا كان الموقع عامًا، فستكون صفحة /about بالإضافة إلى هذه الإحصائيات متاحة للجمهور أيضًا.
يقع كود Ruby لجميع هذه الإحصائيات في: discourse/app/models/about.rb.
فيما يلي وصف لكيفية حساب كل من هذه الإحصائيات.
المواضيع
عدد المواضيع التي تم إنشاؤها خلال الإطار الزمني المحدد. لا تتضمن هذه الإحصائية المواضيع غير المدرجة أو الرسائل الشخصية.
topic_count: Topic.listable_topics.count,
topics_last_day: Topic.listable_topics.where('created_at > ?', 1.days.ago).count,
topics_7_days: Topic.listable_topics.where('created_at > ?', 7.days.ago).count,
topics_30_days: Topic.listable_topics.where('created_at > ?', 30.days.ago).count,
المشاركات
عدد المشاركات التي تم إنشاؤها خلال الإطار الزمني المحدد. يتم تضمين الرسائل الشخصية هنا وتُحسب كمشاركات عادية.
post_count: Post.count,
posts_last_day: Post.where('created_at > ?', 1.days.ago).count,
posts_7_days: Post.where('created_at > ?', 7.days.ago).count,
posts_30_days: Post.where('created_at > ?', 30.days.ago).count,
عمليات التسجيل
عدد المستخدمين الذين قاموا بإنشاء حسابات جديدة خلال الإطار الزمني المحدد.
user_count: User.real.count,
users_last_day: User.real.where('created_at > ?', 1.days.ago).count,
users_7_days: User.real.where('created_at > ?', 7.days.ago).count,
users_30_days: User.real.where('created_at > ?', 30.days.ago).count,
يتم تعريف المستخدم
realهنا: discourse/app/models/user.rb
المستخدمون النشطون
عدد المستخدمين الذين زاروا الموقع خلال الإطار الزمني المحدد. يتضمن المستخدمين في الوضع المجهول، ولكنه لا يتضمن المستخدمين الذين ليس لديهم حساب.
active_users_last_day: User.where('last_seen_at > ?', 1.days.ago).count,
active_users_7_days: User.where('last_seen_at > ?', 7.days.ago).count,
active_users_30_days: User.where('last_seen_at > ?', 30.days.ago).count,
الإعجابات
العدد الإجمالي للإعجابات التي تلقتها جميع المواضيع والمشاركات خلال الإطار الزمني المحدد.
like_count: UserAction.where(action_type: UserAction::LIKE).count,
likes_last_day: UserAction.where(action_type: UserAction::LIKE).where("created_at > ?", 1.days.ago).count,
likes_7_days: UserAction.where(action_type: UserAction::LIKE).where("created_at > ?", 7.days.ago).count,
likes_30_days: UserAction.where(action_type: UserAction::LIKE).where("created_at > ?", 30.days.ago).count
رسائل الدردشة
عدد رسائل الدردشة المرسلة عبر جميع قنوات الدردشة.
هذه إحصائية تمت إضافتها مؤخرًا ويمكن العثور على تفاصيل حول هذه الإضافة هنا.
