← العودة إلى جميع المقالات
المدونة

عصر CMS2.0: تحول CMS في EFV بأكثر من مئة تحسين و3000 سطر و40 ساعة عمل

عند تصميم CMS المدمج في تحويل EFV الذكي، كان مجرد عرض أمامي ثابت دون اعتبارات كثيرة. ومع تطور التحويل الخلفي لم يعد CMS يواكب النواة. خلال عطلة العمل في شهر 5 قضيت نحو 40 ساعة لإعادة كتابة CMS. لم أعدّها بدقة، لكن تحسينات CMS تجاوزت المئة، في قالب CMS وإعداد CMS الخلفي وإدارة المسلسلات والفيديو. إليك شرحاً لها.

فلسفة CMS2.0

سهولة وكفاءة وسرعة عالية، وتقليل تحميل JS وCSS وتشغيل جاهز وإدارة مريحة. تخطيط متدرج لكل الصفحات، من الرئيسية والتصنيف والوسم إلى المشغل والمستخدم والبحث، مع تحميل مستمر لتعزيز الاندماج ونتائج SEO جيدة في الوقت نفسه.

مقتطفات التحسينات

  • أولاً، قالب أعيدت كتابته باسم projectx باستخدام uikit وقليل جداً من المكتبات الأخرى. يُحمّل 5 ملفات CSS وJS فقط بسرعة عالية.
  • ثانياً، تحسين التنقل بالكامل؛ التنقل الجيد نصف نجاح تصميم الواجهة.
  • ثالثاً، إضافة مدخل لكل التصنيفات والوسوم في تنقل PC لتجربة ممتازة.

رابعاً، قائمة ثابتة مريحة أعلى الهاتف للوصول إلى الوجهة من أي صفحة.

خامساً، تنقل منزلق جديد للهاتف يضم التصنيفات والوسوم والروابط المعتادة للوصول بضغطة واحدة.

سادساً، تحويل كل صفحات التجميع إلى تخطيط متدرج. أضفنا ملصق 2 لكل نوع بيانات، ويولد أثناء رفع الملصق مع أبعاده. يمكن جلب الحقل عبر API لبناء APP متدرج؛ وسنصدر APP خاصاً بـ EFV بتحميل متدرج مستمر.

  • سابعاً، إعادة كتابة التخزين السحابي وتحسين سيره وإعادة محاولة الرفع الفاشل، وفصل نظام مزامنة مستقل عن البرنامج الرئيسي لا يؤثر فيه. يتيح اختيار المجلدات والأنواع المراقبة والحذف بعد الرفع واستثناء امتدادات من الحذف. يدعم wasabi وs3 وminio وAlibaba OSS وQiniu وUpyun ومعظم الخدمات المعروفة. التفاصيل: https://express-ffmpeg-vip.moejj.com/blog/5ec4a5d0e84cb5c0e1a32845
  • ثامناً، مدة معاينة مخصصة. إصلاح ترتيب الدقات وتضخم صفحة الفيديو العمودي وتحسين سرعة المشغل. تضبط الخلفية عدد ثواني المعاينة لغير المصرح لهم بحرية.
  • تاسعاً، إصلاح BUG في مجتمع ffmpeg يسبب فشل تحويل تسجيلات بعض برامج الشاشة بسبب الفاصل الكبير بين الإطارات الرئيسية، وهو BUG تم إصلاحه.
  • عاشراً، تغيير سعر النقاط والحد الأدنى للدفع لمرونة أكبر. كان سعر النقطة في CMS يحدد المبلغ لكل نقطة، بحد أدنى يوان للنقطة، وهو غير مرن. أصبح عدد النقاط لكل يوان، مثلاً 10 نقاط، لمرونة الحضور والترويج والرفع والمشاهدة وإذن التنزيل بالنقاط. تغير الحد الأدنى لعدد النقاط إلى الحد الأدنى للمبلغ المدفوع.
  • حادي عشر، اسم عشوائي لـ mp4 المولد للتنزيل وإضافة download وdownloadprice إلى movie. لا تحتاج للاحتفاظ بـ MP4: API جديد يولد mp4 لحظياً من m3u8 إذا غاب mp4 ثم يرجعه ويخزنه في حقل التنزيل. في المرة التالية يُرجع الملف من المجلد دون توليد جديد. التفاصيل: https://express-ffmpeg-vip.moejj.com/blog/5ebf6daee84cb5c0e1a32844
  • ثاني عشر، شراء إذن التنزيل وفق النقاط والمدة في CMS. تفاصيله في الرابط السابق. تُضبط التكلفة والمدة الافتراضيتان خلفياً، ويمكن تخصيص النقاط لكل فيديو. التنزيل غير محدود داخل المدة، وبعد انتهائها يُشترى الإذن مجدداً بالنقاط.
  • ثالث عشر، fluent API يولد MP4 لدقة وفيديو محددين لحظياً ويرجع path. يمثل FluentAPI القيمة المستقبلية لـ EFV: يستدعي api التحويل والتقطيع والصور والمتحركة والمعاينة وغيرها، لاستخدام EFV كخدمة SAAS خارجياً. أول API من Fluent لدعم التنزيل يقبل apikey وapisecret وid وhd، ويجلب الفيديو بحسب ID ويولد mp4 من m3u8 للدقة hd، ويرجع path للمعالجة التالية حسب path.
  • رابع عشر، سجلات شراء النقاط واستهلاكها خلفياً ليراها المسؤول بوضوح.
  • خامس عشر، ثاني خطة فصل الأنظمة الفرعية: فصل البث المباشر لأن كثيرين لا يستخدمونه، ويمكن تشغيله بنقرة واحدة عند الحاجة.
  • سادس عشر، دعم المسلسلات والأفلام والأخبار والألبومات والقصص المصورة في projectx، والصوت والبث لاحقاً.
  • سابع عشر، تنقل CMS مخصص. أنشئ navbar.js في config واضبط الروابط، ليحمّلها قالب projectx تلقائياً. مثال:
module.exports = {
    navbar: [{
        title: '热门视频',
        href: '/hots'
    }, {
        title: '试试手气',
        href: '/random'
    }, {
        title: '资讯',
        href: '/articles'
    } , {
        title: '图集漫画',
        href: '/imageslist'
    } , {
        title: '发现更多',
        href: '/discover'
    }]
}

تُحمّل الإعدادات في تنقل PC وتنقل الهاتف الثابت والمنزلق.

  • ثامن عشر، تقدم التحويل لحظياً في مكتبة الفيديو لكل دقة بصورة منفصلة، باستخدام socketio. فيديو: https://www.leimulamu.com/movie/5ec4dcf131ec047e1d7686ed
  • تاسع عشر، حفظ الدقة المختارة في الخلفية لتستخدم افتراضياً في كل الفيديوهات التالية.
  • عشرون، حفظ موضع التشغيل بحسب ID الفيديو واستعادته عند العودة أو تحديث الصفحة أو تبديل الدقة.
  • حادي وعشرون، ضبط نقاط الترويج خلفياً. مصادر النقاط الحالية الحضور اليومي والترويج ورفع الفيديو والشراء، بتكامل ممتاز مع عدد النقاط لكل يوان.
  • ثاني وعشرون، عدة مداخل للحضور اليومي في القالب الجديد لتشجيع العودة اليومية.
  • ثالث وعشرون، شراء مجموعات VIP مباشرة. كان يلزم شراء النقاط ثم شراء VIP بها؛ أضفنا المباشر مع إبقاء شراء VIP بالنقاط.
  • رابع وعشرون، إنشاء الصورة المتحركة بذكاء من منتصف الفيديو وإلغاء وقت البداية. كان ضبط البداية بعد نهاية الفيديو يمنع توليدها، فأصبح اختيار المنتصف تلقائياً.
  • خامس وعشرون، تحسين نشر المسلسلات بإضافة زر نشر رسمي. كان إنشاء مسلسل بلا حلقات قد يسبب خطأ أمامياً؛ يمكن الآن إضافة الحلقات أولاً ثم النشر بتحكم كامل.

الخلاصة

لا تكفي مقالة قصيرة لشرح كل العمل خلال 20 يوماً. جرّب بنفسك: https://www.leimulamu.com.