معظم مشاريع صفحة التنقل الحالية مفتوحة المصدر ليست قابلة للتخصيص بشكل كبير، والمعلومات التي يرغب الأفراد في الاهتمام بها متناثرة للغاية، لذلك قررت كتابة صفحة تنقل يمكن تخصيصها بشكل كبير من قبل المستخدمين ودمج المعلومات والوظائف يحتاجون.
يتم استئناف التحديثات! لقد كنت مشغولاً بالعمل خلال العامين الماضيين ولم يكن لدي الكثير من الطاقة وسأستغرق وقتًا لإصلاحه مؤخرًا.
تستخدم الواجهة الأمامية Vue.js، وتستخدم الواجهة الخلفية Python، ويوفر MariaDB+Redis تخزين البيانات. يستخدم إطار عمل الواجهة الأمامية Element UI، ويستخدم إطار عمل الواجهة الخلفية Flask، ويستخدم ORM الخلفي Peewee.
إذا كان لديك أي خطأ/متطلبات/اقتراحات، يرجى إرفاق خطوات/أفكار الاستنساخ وإرسال المشكلات!
مرحباً بالنجم!
لقد كنت أستخدمه شخصيًا منذ عدة سنوات في المطار، فهو سريع ورخيص، وأنا أوصي به بشدة. انقر على هذا الرابط!
يمكن للترويج الداخلي للتوظيف الاجتماعي من ByteDance النقر فوق هذا الرابط لإرسال رمز الترويج الداخلي للتوظيف في الحرم الجامعي: AWN958P، مرحبًا بك في التقدم والانتشار!
فرع التطوير هو فرع قيد التطوير وقد يواجه مشكلات في التشغيل. يوصى باستخدام الفرع الرئيسي لاختبار النشر.
يعمل Docker بالفعل على ذلك ~
تحتاج أولاً إلى Python3 وPip وMySQL (تم استخدام MariaDB أثناء الاختبار) وبيئة Redis
يتم استخدام المفتاح المطبق على SeverChan لإرسال التذكيرات إلى WeChat؛ ويتم استخدام المفتاح المستخدم في Zefeng Weather للحصول على معلومات الطقس؛ ويتم إرسال البريد الإلكتروني وكلمة المرور بشكل افتراضي. يرجى الرجوع إلى طريقة الحصول على كلمة المرور لصندوق بريد QQ
بعد حصولك على البيئة، استخدم python3 لتشغيل start.py في الدليل الجذر واتبع المطالبات.
جدول المحتويات | محتوى |
---|---|
/الواجهة الخلفية | رمز الخلفية |
/backend/run.py | ملف الإدخال الخلفي |
/الواجهة الأمامية | رمز الواجهة الأمامية |
/ حي | نتاج تجميع الواجهة الأمامية |
/رفع | تخزين الملفات التي تم تحميلها من قبل المستخدمين |
/wallpapers | قم بتخزين خلفيات Bing المخدوشة |
يمكنك النقر هنا لاستخدام vscode للتحقق مؤقتًا من الرمز
المدخل: الصفحة الرئيسية
الوظيفة: انتقل إلى عنوان URL للبحث بعد إدخال المحتوى، عند الدخول إلى الصفحة، يتم وضع التركيز تلقائيًا في مربع البحث. يمكن أن يؤدي إدخال النص إلى ظهور المطالبات (تحتاج إلى تكوين وظيفة رد الاتصال للمحرك المقابل في محركات البحث في جدول البيانات). إذا قمت بإضافة أو حذف محركات، فهو موجود أيضًا في قاعدة البيانات.
المدخل: قم بتمرير اسم المستخدم في الزاوية اليسرى العليا بعد تسجيل الدخول إلى وحدة التحكم
الوظيفة: توفر مدخل مكون الواجهة الأمامية المسجل في جدول وحدة التحكم لتسهيل التحكم في الأذونات المستقبلية أو عمليات الفرز. إذا كنت بحاجة إلى إضافة وحدة واجهة أمامية، بالإضافة إلى كتابة أعمال الواجهة الأمامية، فأنت بحاجة أيضًا إلى إضافة سجل في جدول وحدة التحكم.
المدخل: بعد تسجيل الدخول، قم بتمرير اسم المستخدم في الزاوية اليسرى العليا - وحدة التحكم - منصة تشغيل البرنامج النصي.
الوظيفة: برنامج التشغيل الموحد لبرامج الخلفية. يتم إنشاء جميع نماذج الواجهة الأمامية عن طريق التكوين، وليست هناك حاجة للمس رمز الواجهة الأمامية. يمكنك إرسال البرنامج النصي إلى البرنامج النصي الذي يعمل في الواجهة الخلفية عن طريق ملء النموذج الذي تم إنشاؤه بواسطة التكوين وعرض نتائج التشغيل كما أن لديه القدرة على تشغيل البرامج النصية بشكل منتظم، وتشغيل المهام التي تم تشغيلها مسبقًا، وتسجيل وقت التشغيل، وتسجيل سجلات العمليات، وتخصيص نماذج سجل العمليات والوظائف المتوافقة مع البشر
يلاحظ:
الوحدة:
تحرير البرنامج النصي:
الخيارات الأولية:
خيارات المكونات:
print()
مباشرة في البرنامج النصي لطباعة النص الذي يجب إخراجه، بالإضافة إلى ذلك، من خلال تنسيق بيانات معين، يمكن تهيئة خيارات مكون المحدد أقل: import json
d = {
'code' : 200 , # 状态码,非必填,无实际作用
'data' : {
'msg' : 'hello n world qwe n qewqweewqwe' , # 展示的文本,非必须,会被解析为html,使用"n"换行
'value' : '123' , # 非必须,当传递value时,会将组件内的值替换成传回的值
'options' : [ # 非必须,当传递options时,会将选择器组件内的选项替换成传回的选项
{
'label' : '234' , # 标签,用于选择器组件展示的值
'value' : '234' # 值,用于选择器组件选择时实际代表和传递的值
},
]
}
}
print ( json . dumps ( d ))
المدخل: قم بتمرير اسم المستخدم في الزاوية اليسرى العليا بعد تسجيل الدخول إلى حساب وحدة التحكم والأذونات
الوظيفة: نظام للتحكم في الأذونات على مستوى الواجهة مكتوب باستخدام نموذج "أذونات دور المستخدم". يمكن للواجهة التحكم في الأذونات باستخدام الديكور. افتراضيًا، عندما يطلب المستخدم واجهة، يجب أن يكون عنوان IP الطالب متوافقًا مع عنوان IP المستخدم عند تسجيل الدخول. وهذه سياسة صارمة نسبيًا ويمكن إيقاف تشغيلها في "/backend/app/privilege/privilege_control.py:24"
الوحدة:
إعدادات المستخدم: إضافة مستخدمين، تعطيل المستخدمين، حذف المستخدمين، تعديل أدوار المستخدم، تعديل كلمات مرور المستخدم
إعدادات الأذونات المقابلة للدور: إضافة الأدوار، وتعطيل الأدوار، وحذف الأدوار، وتعديل أسماء الأدوار، وتعديل الأذونات المقابلة للدور
إعدادات الأذونات: إضافة أذونات، تعطيل الأذونات، حذف الأذونات، تعديل الأذونات
المدخل: بعد تسجيل الدخول، قم بتمرير اسم المستخدم في الزاوية اليسرى العليا-وحدة التحكم-تعديل مكون الصفحة الرئيسية
الوظيفة: قم بالسحب والإفلات لتعديل طريقة عرض الصفحة الرئيسية. يتم تعريف أصل المكون على أنه "مجموعة المكونات". عندما تكون هناك مجموعة مكونات واحدة فقط، لا تعرض الصفحة عنوان مجموعة المكونات، ولكنها تعرض فقط المكونات التي تحتوي عليها. تعرض الصفحة مجموعات المكونات والمكونات التي تحتوي عليها
الزر: استخدم السحب لليسار واليمين لتحرير ترتيب مجموعة المكونات، واستخدم زر الإضافة الدائري الموجود على الجانب الأيمن من مجموعة المكونات لإضافة مجموعة مكونات، واستخدم زر التحرير داخل كل مجموعة مكون لتعديل اسم المكون تعيين، استخدم كل مكون استخدم زر الحذف داخل المجموعة لحذف مجموعة المكونات، استخدم طريقة السحب لأعلى ولأسفل لتحرير ترتيب المكونات في مجموعة المكونات، استخدم زر المربع الزائد في كل مجموعة مكون لإضافة مكونات، واستخدم زر الحذف الموجود على الجانب الأيمن من المكون لحذف المكون. تفاصيل المكونات لا تدعم التعديل. يمكنك تغيير المكتبة (القطعة) يدويًا لتعديلها.
المدخل: قم بتمرير اسم المستخدم في الزاوية اليسرى العليا بعد تسجيل الدخول - قرص الشبكة/سرير الصورة
قرص الشبكة:
وظيفة قرص الشبكة البسيطة التي تدعم المشاركة من خلال روابط التنزيل ليس هناك حد لحجم تحميل الملف ولا حدود لسرعة التنزيل، ومع ذلك، عند تحميل ملفات كبيرة، تحتاج إلى الانتظار لبعض الوقت حتى يكتمل التحميل. يتم تخزين الملف في مجلد التحميل للدليل الجذر، ويتم إنشاء مجلد فرعي يسمى التاريخ.
الزر: الجزء العلوي من الواجهة هو زر تحميل الملف. يمكنك النقر فوق الملف وتحديده أو تحميل الملف عن طريق سحب الملف إلى المتصفح، والأزرار الموجودة في قائمة الملفات أدناه هي: 1. زر التنزيل - انقر للتنزيل الملف؛ 2. يظهر زر المشاركة (غير مشترك) - بعد النقر، سيتم إنشاء رابط مشاركة، وبعد مشاركته مع الآخرين، يمكن للآخرين لصقه في المتصفح لبدء تنزيل الملف ومضغوطة، والتحميل الفعلي سيتم ضغط رابط التنزيل في رابط قصير لسهولة الاستخدام، ويحتوي الرابط على رمز مصادقة لضمان الأمان الأساسي؛ 3. زر نسخ رابط المشاركة (يظهر بعد المشاركة) - انقر لنسخ رابط المشاركة إلى الحافظة 4. زر إلغاء المشاركة (يظهر بعد المشاركة) - إبطال رابط المشاركة وإلغاء المشاركة؛ 5. زر الحذف - احذف الملف بشكل منطقي 6. زر تعديل اسم الملف، يمكنك تعديل اسم الملف
سرير الصورة:
إذا لم تقم بتسجيل الدخول، فسيتم عرض معلومات الطقس الخاصة بموقع IP (محدود بواسطة واجهة برمجة التطبيقات التابعة لجهة خارجية، وعندما يكون موقع IP في الخارج، فإن الدعم ليس جيدًا). نطاق العرض هو IP + معلومات الموقع المخصصة. بالإضافة إلى ذلك، عند طلب البيانات، من أجل ضمان السرعة، سيتم استخدام ذاكرة التخزين المؤقت أولاً. تكون البيانات المخزنة مؤقتًا صالحة لمدة 3 ساعات (تم تعديلها في backendappweatherweather_function.py:16). ذاكرة التخزين المؤقت، سيُطلب من واجهة برمجة التطبيقات الخارجية الحصول على البيانات وتخزينها في ذاكرة التخزين المؤقت
الزر: إضافة - إضافة مدينة جديدة بعد تسجيل الدخول؛ الفرز - يمكنك السحب لفرز المدن المخصصة أو حذفها؛ الضغط - هناك ثلاثة أنواع من خيارات الطقس غير الطبيعية للدفع، وهي طقس المطر والثلج، والارتفاع/الانخفاض المفاجئ في درجة الحرارة، وجودة الهواء والموقع الذي سيتم دفعه والموقع الذي سيتم عرضه مستقلان ويمكن ضبطهما بشكل منفصل.
يمكنك تخصيصه بعد تسجيل الدخول. يتم تعديل الإشارات المرجعية التي تظهر عند عدم تسجيل الدخول في قاعدة البيانات (bookmarks.user_id==0)
الزر: إضافة - إضافة إشارات مرجعية بعد تسجيل الدخول؛ الإعدادات - اسحب الرموز لفرز الإشارات المرجعية أو حذفها أو تعديلها بعد تسجيل الدخول
ابحث عن التطبيقات في Apple App Store وراقب أسعارها، وقم بتنبيه المستخدمين عندما تكون أسعارها أقل من الحد المحدد.
قم بتسجيل الملاحظات وإرسال محتوى الملاحظة إلى WeChat/البريد الإلكتروني بانتظام. نظرًا لأننا لا نريد أن نجعل الوظيفة معقدة للغاية، فلا يمكن إلغاء الدفع المقدم، ولكن يمكن ضبطه عدة مرات، أي أنه يمكن إضافة الدفع المحدد حسب الرغبة ولكن لا يمكن طرحه. بالإضافة إلى ذلك، يمكن إرجاع الملاحظات إلى الإصدارات السابقة من خلال "آلة الزمن"، وهي مناسبة للحذف العرضي وغيرها من المواقف.
الأزرار: عند تحريك الماوس فوق علامة القطع، يمكن أن تظهر ثلاثة أزرار: تحرير وحذف - تحرير الملاحظة المحددة أو حذفها، وحفظ جميع الملاحظات كإصدار جديد بعد الإرسال؛ تذكير - انقر لإظهار مربع حوار تذكير التعديل، والذي يمكن الوصول إليها من خلال WeChat/ تذكير محتوى المذكرة عبر البريد الإلكتروني، بحد أدنى من التفاصيل يبلغ خمس دقائق. الأزرار الدائرية الموجودة أدناه هي الزر الجديد وزر آلة الزمن على التوالي. ولن يتم وصف الوظائف مرة أخرى.
يتم تنفيذه باستخدام المترجمين، باستخدام خدمة علي بابا. عند إدخال النص في منطقة الإدخال على اليسار، بعد فترة من الوقت، سيتم ترجمته وفقًا للغة المحددة أعلاه.
يستخدم النظام "منصة تشغيل البرامج النصية" لدفع البرامج النصية للزحف إلى خلفية Bing واحدة كل يوم، ويتم تمرير الأداة لعرض الخلفيات في غضون 7 أيام. انقر على الصورة لتنزيل الصورة الأصلية.
مراقبة أسعار الذهب ويمكن تحديد عتبات لإرسال تنبيهات عندما يتجاوز السعر هذا الحد. تحتاج إلى تكوين المهام المجدولة في "منصة تشغيل البرنامج النصي". عند الزحف إلى البيانات، سيتخطى الزاحف الوقت الذي لا يكون فيه الذهب المحلي مفتوحًا.
قم بالزحف إلى بيانات الأسهم من أسواق الأوراق المالية في شنغهاي وشنتشن، وأسهم هونج كونج، والأسهم الأمريكية، وقم بتعيين وظيفة تذكير عند تجاوز الحد الأدنى.
قم بالزحف إلى بيانات الصندوق وقم بتعيين وظيفة تذكير عند تجاوز الحد الأدنى.
يقوم بتجميع المعلومات من أكثر من 20 موقع ويب ويجمعها كل ساعة من خلال المهام المجدولة، ويمكن تحديثها يدويًا من خلال النقر على العنوان. بعض لقطات الشاشة للمحتوى هي كما يلي.
ملاحظة: اعتبارًا من نوفمبر 2020، تحظر Baidu وWeibo وOmelette وSogou على المستخدمين الفرديين الزحف إلى أي معلومات بشكل واضح. يرجى حذف الرموز ذات الصلة بشكل صارم عند تشغيل المشروع.
نظرًا لأن قواعد موقع الويب قد تتغير، يرجى التحقق من مصادر البيانات المستخدمة في هذا المشروع بالتسلسل عند تشغيل المشروع. عندما يحظر بروتوكول الروبوتات الزحف من قبل المستخدمين الفرديين، احذف الكود ذي الصلة!
الامتثال لبروتوكول الروبوتات، والامتثال لأخلاقيات الزاحف، وبناء بيئة إنترنت أفضل.
يعتمد تطوير هذا المشروع على عدد كبير من المشاريع الممتازة مفتوحة المصدر وخدمات المواقع:
تم تحسين الكود باستخدام طرق مثل تخزين البيانات مؤقتًا والحد من التكرار لتجنب الزحف إلى البيانات مما يسبب ضغطًا أكبر على موقع الويب.
البيانات التي تم الحصول عليها هي لأغراض التعلم فقط. إذا كان هناك أي انتهاك، يرجى الاتصال بنا على الفور لحذفه.
البريد الإلكتروني: [email protected]
إذا كان هذا المشروع يلهمك أو يساعدك، فقد ترغب في دعم المطور
MPL-2.0