JPress เป็นการทดแทน java สำหรับ wordpress ซึ่งพัฒนาโดยใช้ JFinal รองรับฟังก์ชันเกือบทั้งหมดที่คล้ายกับ WordPress เช่น เทมเพลต ปลั๊กอิน ฯลฯ ในเวลาเดียวกัน ในแง่ของเทมเพลต JPress ได้หยิบยกแนวคิด "เทมเพลตเป็นแบบจำลอง" ซึ่งอำนวยความสะดวกให้กับผู้ผลิตเทมเพลตในการสร้างโมเดลธุรกิจอย่างยืดหยุ่น ลบฟังก์ชันที่ซับซ้อน เช่น วิดเจ็ต และมีความยืดหยุ่นและกระชับมากกว่า WordPress ในแง่ของ การผลิตเทมเพลตและปลั๊กอิน
อย่างไรก็ตาม JPress ไม่ใช่ Java ของ WordPress มันถูกรวมเข้ากับแพลตฟอร์มสาธารณะ WeChat โดยบูรณาการแพลตฟอร์มคลาวด์ในประเทศจำนวนมาก การส่ง SMS และแพลตฟอร์มการส่งอีเมล แนวคิด "เทมเพลตเป็นแบบจำลอง" ดั้งเดิมไม่มีให้บริการใน WordPress เท่านั้น WordPress ที่มีประสบการณ์ ผู้เล่นเท่านั้นที่สามารถเข้าใจความสัมพันธ์อันละเอียดอ่อนภายในได้ ในเวลาเดียวกัน ฟังก์ชั่นการซิงโครไนซ์บทความของการซิงโครไนซ์บทความ WeChat, แพลตฟอร์มสาธารณะ QQ, Toutiao, Yidian และสื่อใหม่อื่น ๆ จะถูกเพิ่มเข้ามาในอนาคต ทำให้เป็นในประเทศและเป็นภาษาท้องถิ่นมากขึ้น
ในส่วนของฟังก์ชั่นการใช้งาน
รองรับโมเดลแบบกำหนดเองซึ่งกำหนดผ่านเทมเพลตมากกว่าฟังก์ชันพื้นหลัง ในเวลาเดียวกัน เนื้อหาโมเดลรองรับหมวดหมู่ที่กำหนดเอง ตัวอย่างเช่น โมเดลบทความรองรับหัวข้อ หมวดหมู่ แท็ก และหมวดหมู่อื่นๆ
รองรับเอนจิ้นเทมเพลตหลายตัว โดยค่าเริ่มต้น ผู้สร้างเทมเพลตสามารถใช้เอ็นจิ้นอื่น ๆ เช่น thymeleaf เพื่อเรนเดอร์ได้
รองรับฐานข้อมูลหลายประเภทและสามารถกำหนดค่าฐานข้อมูลที่แตกต่างกันได้ (ปัจจุบันรองรับเฉพาะ mysql เท่านั้น)
รองรับโปรแกรมแก้ไขหลายตัว สลับระหว่างการแก้ไขภาพพื้นหลังและการแก้ไขมาร์กดาวน์ได้ฟรี และรองรับฟังก์ชันต่างๆ เช่น การแก้ไขรูปภาพออนไลน์และการเน้นโค้ดตามค่าเริ่มต้น
รองรับปลั๊กอิน และคุณสามารถพัฒนาปลั๊กอินให้เสร็จสิ้นได้ด้วยโค้ดเพียงไม่กี่บรรทัด มีอินสแตนซ์ของปลั๊กอิน Helloworld บน git.oschina.net และ github อยู่แล้ว
รองรับ URL ที่กำหนดเองและการปรับแต่งสไตล์ URL เนื้อหาเว็บไซต์
การสนับสนุน API ช่วยให้ APP หรือบุคคลที่สามอื่น ๆ สามารถเรียกข้อมูลได้
รองรับความเป็นสากล ใช้ JPress เพื่อสร้างเว็บไซต์ในทุกภาษาได้อย่างง่ายดาย
ฟังก์ชัน Minimalist SEO คุณสามารถตั้งค่า SEO แยกกันสำหรับแต่ละบทความ แต่ละหมวดหมู่ และแต่ละแท็ก และรองรับผลลัพธ์แผนผังเว็บไซต์
การลงทะเบียนผู้ใช้รองรับการยืนยันอีเมลและ SMS ปัจจุบันผู้ให้บริการ SMS รองรับเฉพาะ 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
รองรับการตอบกลับอัตโนมัติ เพิ่มคำสำคัญ และเนื้อหาตอบกลับ
รองรับการตอบกลับเริ่มต้น รวมถึง: เมื่อผู้ใช้ให้ความสนใจ, เมื่อเข้าสู่บริการลูกค้าหลายราย, เมื่อออกจากบริการลูกค้าหลายราย, เมื่อส่งรูปภาพ, เมื่อส่งข้อความเสียง, เมื่อส่งวิดีโอ, เมื่อส่งตำแหน่ง, เมื่อส่งการเชื่อมต่อ, เมื่อผู้ใช้สแกน รหัส QR พร้อมพารามิเตอร์ เมื่อผู้ใช้สั่น
การตอบกลับอัตโนมัติหรือการตอบกลับเริ่มต้นทั้งหมดรองรับฟังก์ชัน "การตอบกลับขั้นสูง" เช่น การตอบกลับบทความ การตอบกลับ URL... การตอบกลับขั้นสูงเป็นการตอบกลับพิเศษที่สร้างไว้ใน JPress แต่สามารถกำหนดค่าได้อย่างสมบูรณ์ และ "การตอบกลับขั้นสูง" เพิ่มเติมจะเป็น เพิ่มในฟังก์ชั่นในอนาคต
การตอบกลับอัตโนมัติหรือการตอบกลับเริ่มต้นรองรับการตอบกลับด้วยปลั๊กอิน และเรียกปลั๊กอิน JPress เพื่อตอบกลับให้เสร็จสิ้น
รองรับการค้นหาบทความ การตอบกลับคำหลักจะส่งคืนบทความที่ตรงกับคำหลัก
ในอนาคต ฟังก์ชันต่างๆ ที่ใช้งานได้จริง เช่น การซิงโครไนซ์บทความหรือการนำเข้า WeChat จะได้รับการสนับสนุน
ในส่วนของเทคโนโลยี
ด้วยการใช้ JFinal เป็นแกนหลักอย่างภาคภูมิใจ JPress ยังได้รับประโยชน์จากสถาปัตยกรรมที่ยืดหยุ่นของ JFinal อีกด้วย ในระบบโอเพ่นซอร์สของเฟรมเวิร์ก JFinal JPress ให้ความสำคัญกับการนำตรรกะแต่ละบรรทัดไปใช้และใส่ใจกับคุณภาพของโค้ดแต่ละบรรทัด มันควรเป็นหนึ่งในแนวทางปฏิบัติที่ดีที่สุดของ JFinal ดังนั้นจึงควรเป็นรายการที่ต้องอ่าน สำหรับ JFinaler ทุกคน
ใช้ Freemarker และ thymeleaf เป็นเครื่องมือเทมเพลต แคชเฉพาะที่สร้างขึ้นใน JPress ทำให้ความเร็วในการเรนเดอร์ UI เป็นอิสระจากกลไกเทมเพลต
Tinymce ถูกใช้เป็นตัวแก้ไขภาพ และ simplemde ถูกใช้เป็นตัวแก้ไขมาร์กดาวน์ ทั้งสองสามารถเปลี่ยนได้อย่างอิสระในพื้นหลัง
ปลั๊กอิน UI สำหรับการอัปโหลดไฟล์และรูปภาพใช้ตัวอัปโหลดแบบละเอียด
ที่ส่วนหน้า JPress ใช้ jquery, bootstrap, admin lte, แบบอักษรที่ยอดเยี่ยม, x-แก้ไขได้, fastclick, toastr, tag-editor, ก้าว, เลเยอร์ ฯลฯ
ในแง่ของความปลอดภัย แม้ว่าโดยส่วนตัวแล้วฉันจะได้ใช้ความพยายามอย่างมากและได้ทำงานมากมายใน XSS, CSRF, SQLjection, การรักษาความปลอดภัยของคุกกี้ ฯลฯ แต่ก็ยังจำเป็นต้องมีผู้คนจำนวนมากขึ้นในการขุดและปรับปรุงความปลอดภัยร่วมกัน . หัวข้อ. (แต่สำหรับเพื่อนมือใหม่ความปลอดภัยเหล่านี้ก็ควรค่าแก่การเรียนรู้และทำความเข้าใจใช่ไหม?)
เพื่อรองรับการใช้งานแบบกระจาย JPress เขียน HttpSession ใหม่และใช้ ehcache เพื่อใช้งานฟังก์ชันเซสชัน ในเวลาเดียวกัน โปรเจ็กต์อาศัยคุกกี้อย่างมาก ดังนั้นจึงไม่มีแรงกดดันต่อสถาปัตยกรรมแบบกระจาย
JPress มีคุณสมบัติดังต่อไปนี้
1. แสง
มีน้ำหนักเบาเท่ากับตารางข้อมูลเพียง 8 ตาราง แต่สามารถรับฟังก์ชั่นเกือบทั้งหมดของ WordPress ได้ แพ็คเกจ jar ที่ขึ้นต่อกันนั้นมีน้ำหนักเบามาก ปัจจุบันมีเพียง 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 jar เหล่านี้ รวมถึงท่าเทียบเรือ -server-8.1 .8.jar ไม่จำเป็น และใช้เพื่ออำนวยความสะดวกในการดีบักเท่านั้น
โครงการทั้งหมดรวมถึงแพ็คเกจ jar มีขนาดประมาณ 20MB
2. รวดเร็ว
ไม่ว่าหน้าเพจจะซับซ้อนแค่ไหน JPress จะตอบกลับภายในเวลาเกือบ 10 มิลลิวินาที ในเวลาเดียวกัน JPress รองรับ Alibaba Cloud, Qiniu, Youpaiyun และ CDN อื่นๆ เป็นการเร่งความเร็ว และรองรับการใช้งานแบบกระจายและฟังก์ชั่นอื่นๆ แม้ว่าจะเป็นเซิร์ฟเวอร์ในฮ่องกงก็ตาม ก้องก็ใช้เฉพาะกับคำว่า "เร็ว" เท่านั้นที่จะบรรยาย
3. มีความยืดหยุ่น
JPress เสนอแนวคิดของ "template as model" ผู้ผลิตเทมเพลตสามารถใช้ JPress เพื่อสร้างบล็อก ระบบข่าวสาร ฟอรัม ชุมชนถามตอบ ห้างสรรพสินค้า... บวกกับฟังก์ชันปลั๊กอินที่ยืดหยุ่น ทำให้สามารถใช้สร้างได้เกือบทุกประเภท ของเว็บไซต์
4. ในประเทศ.
เนื่องจากผลิตในจีนจึงสอดคล้องกับความต้องการของคนจีนมากกว่า JPress ได้รับการผสานรวมเข้ากับบัญชีสาธารณะ WeChat โดยธรรมชาติ JPress มีฟังก์ชันการส่ง SMS ในตัวของ Alibaba Big Fish และรองรับกล่องจดหมาย QQ, กล่องจดหมาย 163 ฯลฯ ในฐานะเซิร์ฟเวอร์การส่งอีเมล ในอนาคต ผู้ใช้จะส่งข้อความเทมเพลต WeChat และการแจ้งเตือน และฟังก์ชั่นอื่นๆที่เพิ่มเติมเข้ามาให้สอดคล้องกับความต้องการของคนจีนมากขึ้น
สิ่งที่สำคัญที่สุดคือ
JPress ใช้ข้อตกลงโอเพ่นซอร์ส LGPL ที่หลวมที่สุด ซึ่งไม่อยู่ในระดับเดียวกับผลิตภัณฑ์ "โอเพ่นซอร์ส" ในประเทศที่ใช้ข้อตกลงส่วนตัว
บันทึกการเปลี่ยนแปลง jpress v4.2.0
ใหม่: เพิ่มสวิตช์รหัสยืนยันเบื้องหลังเพื่ออำนวยความสะดวกในการทดสอบอัตโนมัติในบางสถานการณ์
ใหม่: รองรับการเผยแพร่ผลิตภัณฑ์ 0 หยวน เมื่อจำนวนเงินที่ชำระเป็น 0 การชำระเงินโดยตรงจะสำเร็จ
ใหม่: ฟังก์ชั่นการปรับแต่งไดเร็กทอรีการติดตั้งปลั๊กอินช่วยให้ติดตั้งปลั๊กอินได้ง่ายขึ้น และปลั๊กอินยังคงใช้งานได้เมื่อคอมไพล์และล้างไดเร็กทอรีเป้าหมาย
การเพิ่มประสิทธิภาพ: ปรับปรุงโมดูลบทความและเพิ่มฟังก์ชั่นการรวบรวม ขอบคุณ @ เมาส์ที่ทำให้แมวกลัวจนตาย
การเพิ่มประสิทธิภาพ: การกำหนดค่าระบบตัวเลือกช่วยให้สามารถส่งข้อมูลเปล่าเพื่อล้างการกำหนดค่าได้
การเพิ่มประสิทธิภาพ: ปรับขนาดไฟล์แนบเริ่มต้นสำหรับการอัปโหลด ขนาดเริ่มต้นสำหรับรูปภาพคือ 10MB และขนาดเริ่มต้นสำหรับไฟล์อื่นคือ 100MB
การเพิ่มประสิทธิภาพ: อัปเกรด Jboot, Log4j2 จนถึงตอนนี้
แก้ไข: ปัญหาที่คำหลักที่ผิดกฎหมายซึ่งปรับแต่งในพื้นหลังไม่ถูกต้อง
แก้ไข: การลบตัวเลือกผ่าน API อาจไม่มีผลทันเวลา
แก้ไข: ปลั๊กอินขึ้นอยู่กับขวดภายนอก ซึ่งอาจทำให้เกิดปัญหาไม่สามารถติดตั้งได้ในบางกรณี
แก้ไข: ข้อผิดพลาด 500 เกิดขึ้นหลังจากการชำระเงิน WeChat H5 กลับมาที่เพจสำเร็จ ขอบคุณ @AlienJunX
แก้ไข: เมื่อไฟล์แนบถูกแทรกลงในบทความและไฟล์แนบมีขนาดใหญ่เกินไปเกิดข้อผิดพลาดขึ้น จะไม่มีข้อความแจ้งบนเพจ
แก้ไขแล้ว: ไม่สามารถวางและอัปโหลดรูปภาพตัวแก้ไข CKEditor ได้