JPress هو بديل جافا لـ WordPress، تم تطويره باستخدام JFinal. يدعم تقريبًا جميع الوظائف المشابهة لـ WordPress، مثل القوالب والمكونات الإضافية وما إلى ذلك. في الوقت نفسه، فيما يتعلق بالقوالب، تطرح JPress مفهوم "القالب كنموذج"، والذي يسهل على منتجي القوالب إنشاء نماذج أعمال بمرونة، ويزيل الوظائف المعقدة مثل عناصر واجهة المستخدم، كما أنه أكثر مرونة وإيجازًا من WordPress من حيث إنتاج القالب والمكونات الإضافية.
ومع ذلك، فإن JPress ليس Java الخاص بـ WordPress. فهو مدمج بشكل طبيعي مع منصة WeChat العامة، حيث يدمج العديد من المنصات السحابية المحلية ومنصات إرسال الرسائل القصيرة وإرسال البريد الإلكتروني. ولا يتوفر مفهوم "القالب كنموذج" الأصلي في WordPress، بل هو فقط يمكن للاعبين ذوي الخبرة في WordPress فقط فهم العلاقة الدقيقة في الداخل. في الوقت نفسه، ستتم إضافة وظيفة مزامنة المقالات لمزامنة مقالات WeChat ومنصة QQ العامة وToutiao وYidian وغيرها من الوسائط الجديدة في المستقبل، مما يجعلها محلية ومحلية أكثر.
من حيث الوظيفة
يدعم النماذج المخصصة، والتي يتم تعريفها من خلال القوالب بدلاً من وظائف الخلفية. وفي الوقت نفسه، يدعم محتوى النموذج الفئات المخصصة، على سبيل المثال، يدعم نموذج المقالة الموضوعات والفئات والعلامات والفئات الأخرى.
يدعم محركات القوالب المتعددة. يتم استخدام Freemarker بشكل افتراضي. يمكن لصانعي القوالب استخدام محركات أخرى مثل thymeleaf للعرض. كما أنه يدعم تحرير القوالب عبر الإنترنت في الخلفية (حاليًا يتم دعم محرك freemarker فقط).
يدعم أنواع قواعد بيانات متعددة ويمكنه تكوين قواعد بيانات مختلفة (حاليًا يتم دعم mysql فقط).
يدعم العديد من المحررين، والتبديل المجاني بين التحرير المرئي للخلفية وتحرير تخفيض السعر، ويدعم وظائف مثل تحرير الصور عبر الإنترنت وتمييز التعليمات البرمجية افتراضيًا.
وهو يدعم المكون الإضافي، ويمكنك إكمال تطوير المكون الإضافي ببضعة أسطر من التعليمات البرمجية. توجد بالفعل مثيلات helloworld للمكون الإضافي على git.oschina.net وgithub.
يدعم عناوين URL المخصصة وتخصيص نمط عنوان URL لمحتوى موقع الويب.
يسهل دعم API التطبيق أو الجهات الخارجية الأخرى للاتصال بالبيانات.
دعم التدويل، استخدم JPress لإنشاء موقع ويب بأي لغة بسهولة.
الحد الأدنى من وظيفة SEO، يمكنك تعيين SEO بشكل منفصل لكل مقالة وكل فئة وكل علامة ودعم إخراج خريطة الموقع.
يدعم تسجيل المستخدم التحقق من البريد الإلكتروني والرسائل النصية القصيرة. حاليًا، يدعم موفرو خدمة الرسائل القصيرة Alibaba Dayu فقط.
يدعم إعدادات CDN، بما في ذلك Qiniu وAlibaba Cloud وYoupai Cloud وما إلى ذلك.
تدعم الصور التي تم تحميلها إعدادات العلامة المائية، ويتم قطع الصور التي تم تحميلها تلقائيًا إلى أحجام مختلفة للصور التي يتطلبها القالب لضمان عدم تمديد عرض الصورة.
يدعم تسجيل دخول المستخدم تسجيل الدخول من طرف ثالث، ويدعم QQ وWeChat وWeibo وOpen Source China وGithub وFacebook وTwitter وLinkedIn (حاليًا اكتمل تسجيل الدخول إلى QQ وWeChat وWeibo وOpen Source China وGithub فقط).
على وي شات
دعم إعدادات قائمة WeChat.
يدعم الردود التلقائية وإضافة الكلمات الرئيسية ومحتوى الرد.
يدعم الردود الافتراضية، بما في ذلك: عندما ينتبه المستخدم، عند الدخول إلى خدمة العملاء المتعددين، عند الخروج من خدمة العملاء المتعددين، عند إرسال الصور، عند إرسال الصوت، عند إرسال الفيديو، عند إرسال الموقع، عند إرسال اتصال، عندما يقوم المستخدم بالمسح رمز الاستجابة السريعة مع المعلمات، عندما يهتز المستخدم.
تدعم جميع الردود التلقائية أو الردود الافتراضية وظيفة "الرد المتقدم"، مثل الرد على مقال أو الرد على عنوان URL... الردود المتقدمة هي ردود خاصة مدمجة في JPress، ولكنها قابلة للتكوين بالكامل، وسيتم إضافة المزيد من "الردود المتقدمة" تمت إضافتها في الوظيفة المستقبلية.
يدعم الرد التلقائي أو الرد الافتراضي الرد على المكون الإضافي، ويستدعي المكون الإضافي JPress لإكمال الرد.
يدعم البحث عن المقالات، سيؤدي الرد على الكلمات الرئيسية إلى إرجاع المقالات المطابقة للكلمات الرئيسية.
في المستقبل، سيتم دعم الوظائف العملية مثل مزامنة المقالات أو استيراد WeChat.
من حيث التكنولوجيا
وباستخدام JFinal بكل فخر باعتباره جوهره، تستفيد JPress أيضًا من بنية JFinal المرنة. في نظام JFinal مفتوح المصدر، يهتم JPress بتنفيذ كل سطر من المنطق ويولي اهتمامًا لجودة كل سطر من التعليمات البرمجية، ويجب أن يكون من بين أفضل ممارسات JFinal، لذلك يجب أن يكون أيضًا عنصرًا يجب قراءته لكل JFinaler.
استخدم Freemarker و thymeleaf كمحركين للقوالب. ذاكرة التخزين المؤقت الفريدة المضمنة في JPress تجعل سرعة عرض واجهة المستخدم مستقلة عن محرك القالب.
يتم استخدام Tinymce كمحرر مرئي ويتم استخدام simplemde كمحرر تخفيض السعر. يمكن تبديل الاثنين بحرية في الخلفية.
يستخدم المكون الإضافي لواجهة المستخدم لتحميل الملفات والصور برنامج التحميل الدقيق.
في الواجهة الأمامية، يستخدم JPress jquery، وbootstrap، وadmin lte، وfont-awesome، وx-editable، وfastclick، وtoastr، وtag-editor، وpace، وlayer، وما إلى ذلك.
فيما يتعلق بالأمان، على الرغم من أنني بذلت الكثير من الجهود شخصيًا وقمت بالكثير من العمل في XSS وCSRF وحقن SQL وأمن ملفات تعريف الارتباط وما إلى ذلك، إلا أنه لا تزال هناك حاجة إلى المزيد من الأشخاص للحفر والتحسين معًا إلى الأبد . عنوان. (ولكن بالنسبة للأصدقاء المبتدئين، يجب أن تكون وسائل الأمان هذه تستحق التعلم والفهم، أليس كذلك؟)
لدعم النشر الموزع، يعيد JPress كتابة HttpSession ويستخدم ehcache لتنفيذ وظيفة الجلسة، وفي الوقت نفسه، يعتمد المشروع بشكل كبير على ملفات تعريف الارتباط، لذلك لا يوجد ضغط على البنية الموزعة.
JPress لديه الميزات التالية
1. الضوء.
إنه خفيف مثل 8 جداول بيانات فقط، لكنه يمكنه تحقيق جميع وظائف WordPress تقريبًا. حزم الجرة التابعة أيضًا خفيفة للغاية، حاليًا، لا يوجد سوى cos-26Dec2008.jar، druid-1.0.16.jar، ehcache-2.7.5.jar، fastjson-1.2.7.jar، freemarker-2.3.23. jar وjavax mail.jar وjfinal-2.2-bin-with-src.jar وjfinal-weixin-1.7-bin-with-src.jar وjsoup-1.8.3.jar وlog4j-1.2.17.jar. ، mysql-connector- java-5.1.36.jar، slf4j-api-1.7.7.jar، slf4j-log4j12-1.7.7.jar، jetty-server-8.1.8.jar هذه الحزم الـ 14، من بينها jetty -server-8.1 .8.jar غير مطلوب ويستخدم فقط لتسهيل التصحيح.
يبلغ حجم المشروع بأكمله بما في ذلك حزمة الجرة حوالي 20 ميجابايت.
2. سريع.
بغض النظر عن مدى تعقيد الصفحة، تستجيب JPress في ما يقرب من 10 مللي ثانية، وفي الوقت نفسه، تدعم JPress Alibaba Cloud وQiniu وYoupaiyun وشبكات CDN الأخرى كتسريع، وتدعم النشر الموزع والوظائف الأخرى حتى لو كان خادمًا في هونغ كونغ، لا يمكن استخدامه إلا مع "سريع" للوصف.
3. مرنة.
تقترح JPress مفهوم "القالب كنموذج". يمكن لمنتجي القوالب استخدام JPress لبناء المدونات وأنظمة الأخبار والمنتديات ومجتمعات الأسئلة والأجوبة ومراكز التسوق... بالإضافة إلى وظيفة المكونات الإضافية المرنة، ويمكن استخدامها لبناء أي نوع تقريبًا. من الموقع.
4. المحلية.
ولأنه مصنوع في الصين، فإنه يتماشى أكثر مع احتياجات الشعب الصيني. تم دمج JPress بشكل طبيعي مع حساب WeChat العام. يحتوي JPress على وظيفة إرسال الرسائل القصيرة المضمنة في Alibaba Big Fish، ويدعم صندوق بريد QQ وصندوق بريد 163 وما إلى ذلك كخوادم إرسال بريد في المستقبل، وسيقوم مستخدمو إرسال وإشعارات قالب WeChat يمكن إضافتها، وغيرها من الوظائف التي تتماشى بشكل أكبر مع احتياجات الشعب الصيني.
الشيء الأكثر أهمية هو
تستخدم JPress اتفاقية LGPL مفتوحة المصدر الأكثر مرونة، والتي ليست على نفس مستوى المنتجات المحلية "مفتوحة المصدر" التي تستخدم الاتفاقيات الخاصة.
سجل التغيير jpress v4.2.0
جديد: أضف مفتاح رمز التحقق في الخلفية لتسهيل الاختبار الآلي في سيناريوهات معينة
جديد: يدعم نشر المنتجات بقيمة 0 يوان. عندما يكون مبلغ الدفع 0، يكون الدفع المباشر ناجحًا
جديد: تعمل وظيفة تخصيص دليل تثبيت المكون الإضافي على تسهيل تثبيت المكون الإضافي ويظل المكون الإضافي متاحًا عند تجميع الدليل الهدف ومسحه.
التحسين: قم بتحسين وحدة المقالة وإضافة وظيفة التجميع، شكرًا لك @ الفأر الذي يخيف القطة حتى الموت
التحسين: يسمح تكوين نظام الخيارات بتمرير البيانات الفارغة لمسح التكوين
التحسين: اضبط حجم المرفقات الافتراضي للتحميل. الحجم الافتراضي للصور هو 10 ميجابايت، والحجم الافتراضي للملفات الأخرى هو 100 ميجابايت.
التحسين: ترقية Jboot، Log4j2 حتى هذا
إصلاح: مشكلة عدم صلاحية الكلمات الرئيسية غير القانونية المخصصة في الخلفية
إصلاح: قد لا يسري مفعول حذف الخيار من خلال واجهة برمجة التطبيقات (API) في الوقت المناسب
الإصلاح: يعتمد البرنامج الإضافي على الجرار الخارجية مما قد يسبب مشكلة عدم القدرة على التثبيت في بعض الحالات.
إصلاح: يحدث خطأ 500 بعد عودة دفعة WeChat H5 بنجاح إلى الصفحة، شكرًا @AlienJunX
الإصلاح: عندما يتم إدراج مرفق في مقالة ويكون الملف المرفق كبيرًا جدًا، يحدث خطأ، ولا توجد مطالبة على الصفحة.
ثابت: لا يمكن لصق صورة محرر CKEditor وتحميلها