Die meisten aktuellen Open-Source-Navigationsseitenprojekte sind nicht sehr anpassbar und die Informationen, auf die Einzelpersonen achten möchten, sind zu verstreut. Daher habe ich beschlossen, eine Navigationsseite zu schreiben, die von Benutzern stark angepasst werden kann und die Informationen und Funktionen integriert sie brauchen.
Updates werden fortgesetzt! Ich war in den letzten zwei Jahren mit der Arbeit beschäftigt und hatte nicht viel Energie. Ich werde mir in letzter Zeit die Zeit nehmen, es zu reparieren.
Das Front-End verwendet Vue.js, das Back-End verwendet Python und MariaDB+Redis stellt die Datenspeicherung bereit. Das Front-End-Framework verwendet Element UI, das Back-End-Framework verwendet Flask und das Back-End-ORM verwendet Peewee.
? Wenn Sie Fehler/Anforderungen/Vorschläge haben, fügen Sie bitte Reproduktionsschritte/Ideen bei und reichen Sie Probleme ein!
Willkommen Stern!
? Ich persönlich benutze es seit mehreren Jahren am Flughafen. Es ist sehr einfach zu bedienen. Klicken Sie auf diesen Link!
Interne Werbung für ByteDance-Rekrutierung im sozialen Bereich: Klicken Sie einfach auf diesen Link, um den Code für die interne Rekrutierung auf dem Campus einzureichen: AWN958P. Gerne weiterleiten und verbreiten!
Der Entwicklungszweig ist ein Zweig, der sich in der Entwicklung befindet und bei dessen Ausführung möglicherweise Probleme auftreten. Es wird empfohlen, den Hauptzweig für Bereitstellungstests zu verwenden.
Docker arbeitet bereits daran~
Zuerst benötigen Sie Python3, Pip, MySQL (MariaDB wurde beim Testen verwendet) und eine Redis-Umgebung
Der für SeverChan verwendete Schlüssel wird zum Senden von Erinnerungen an WeChat verwendet. Der für Zefeng Weather verwendete Schlüssel wird zum Abrufen von Wetterinformationen verwendet. Bitte beziehen Sie sich auf die Passworterfassungsmethode des QQ-Postfachs
Nachdem Sie die Umgebung eingerichtet haben, führen Sie start.py mit Python3 im Stammverzeichnis aus und befolgen Sie die Anweisungen.
Inhaltsverzeichnis | Inhalt |
---|---|
/backend | Backend-Code |
/backend/run.py | Backend-Eintragsdatei |
/Frontend | Front-End-Code |
/dist | Das Produkt der Front-End-Kompilierung |
/hochladen | Speichern Sie von Benutzern hochgeladene Dateien |
/Hintergründe | Bewahren Sie abgekratzte Bing-Hintergrundbilder auf |
Sie können hier klicken, um vscode zur vorübergehenden Überprüfung des Codes zu verwenden
Eingang: Startseite
Funktion: Nach der Eingabe des Inhalts zur Such-URL springen, wird der Fokus automatisch in das Suchfeld gelegt. Bei der Eingabe von Text können Eingabeaufforderungen angezeigt werden (Sie müssen die Rückruffunktion der entsprechenden Engine in der Datentabelle search_engines konfigurieren . Wenn Sie Engines hinzufügen oder löschen, werden diese auch in der Datenbank hinzugefügt.
Eingang: Bewegen Sie den Mauszeiger über den Benutzernamen in die obere linke Ecke, nachdem Sie sich in der Konsole angemeldet haben
Funktion: Bietet den in der Konsolentabelle registrierten Front-End-Komponenteneingang, um zukünftige Berechtigungssteuerungs- oder Sortiervorgänge zu erleichtern. Wenn Sie zusätzlich zum Schreiben des Front-End-Geschäfts ein Front-End-Modul hinzufügen müssen, müssen Sie auch ein hinzufügen Eintrag in der Konsolentabelle.
Eingang: Bewegen Sie nach der Anmeldung den Mauszeiger über den Benutzernamen in der oberen linken Ecke – Konsole – Skript, auf dem die Plattform ausgeführt wird.
Funktion: Einheitlicher Treiber für Hintergrundprogramme. Alle Front-End-Formulare werden durch die Konfiguration generiert, und es ist nicht erforderlich, den Front-End-Code zu berühren. Sie können das Skript an das Back-End-Laufskript senden, indem Sie das durch die Konfiguration generierte Formular ausfüllen und die laufenden Ergebnisse anzeigen Es bietet außerdem die Möglichkeit, Skripte regelmäßig auszuführen, zuvor ausgeführte Aufgaben abzuspielen, die Laufzeit aufzuzeichnen, Vorgangsprotokolle aufzuzeichnen, Vorgangsaufzeichnungsformulare anzupassen und andere humanisierte Funktionen auszuführen
Beachten:
Modul:
Skript bearbeiten:
Erste Optionen:
Komponentenoptionen:
print()
direkt im Skript zu verwenden, um den auszugebenden Text zu drucken. Darüber hinaus können die Optionen der Selektorkomponente initialisiert werden unten: 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 ))
Eingang: Bewegen Sie den Mauszeiger über den Benutzernamen in die obere linke Ecke, nachdem Sie sich angemeldet haben – Konsolenkonto und Berechtigungen
Funktion: Ein Berechtigungskontrollsystem auf Schnittstellenebene, das nach dem Modell „Benutzerrollenberechtigung“ geschrieben wurde. Die Schnittstelle kann Berechtigungen mithilfe eines Dekorators steuern. Wenn ein Benutzer eine Schnittstelle anfordert, muss die anfordernde IP standardmäßig mit der beim Anmelden verwendeten IP übereinstimmen. Dies ist eine relativ strenge Richtlinie und kann in „/backend/app/privilege/privilege_control.py:24“ deaktiviert werden.
Modul:
Benutzereinstellungen: Benutzer hinzufügen, Benutzer deaktivieren, Benutzer löschen, Benutzerrollen ändern, Benutzerkennwörter ändern
Rollenbezogene Berechtigungseinstellungen: Rollen hinzufügen, Rollen deaktivieren, Rollen löschen, Rollennamen ändern, rollenbezogene Berechtigungen ändern
Berechtigungseinstellungen: Berechtigungen hinzufügen, Berechtigungen deaktivieren, Berechtigungen löschen, Berechtigungen ändern
Eingang: Bewegen Sie nach dem Anmelden den Benutzernamen in die obere linke Ecke – Konsole – Ändern Sie die Homepage-Komponente
Funktion: Durch Ziehen und Ablegen können Sie die Art und Weise ändern, wie die Homepage angezeigt wird. Das übergeordnete Element einer Komponente wird als „Komponentensatz“ definiert. Wenn nur ein Komponentensatz vorhanden ist, wird auf der Seite nicht der Titel des Komponentensatzes angezeigt, sondern nur die darin enthaltenen Komponenten. Auf der Seite werden Komponentensätze und die darin enthaltenen Komponenten angezeigt
Schaltfläche: Verwenden Sie die linke und rechte Maustaste, um die Reihenfolge des Komponentensatzes zu bearbeiten. Verwenden Sie die runde Plus-Schaltfläche auf der rechten Seite des Komponentensatzes, um einen Komponentensatz hinzuzufügen. Verwenden Sie die Bearbeitungsschaltfläche in jedem Komponentensatz, um den Namen der Komponente zu ändern Satz, verwenden Sie jede Komponente. Verwenden Sie die Schaltfläche „Löschen“ innerhalb des Satzes, um den Komponentensatz zu löschen. Verwenden Sie die Auf- und Abwärtsziehmethode, um die Reihenfolge der Komponenten im Komponentensatz zu bearbeiten. Verwenden Sie die quadratische Plus-Schaltfläche in jedem Komponentensatz, um Komponenten hinzuzufügen. und verwenden Sie die Schaltfläche „Löschen“ auf der rechten Seite der Komponente, um die Komponente zu löschen. Komponentendetails unterstützen keine Änderung. Sie können die Bibliothek (Widget) manuell ändern, um sie zu ändern.
Eingang: Bewegen Sie den Benutzernamen nach dem Anmelden in die obere linke Ecke – Netzwerkfestplatte/Bildbett
Netzwerkfestplatte:
Eine einfache Netzwerkfestplattenfunktion, die das Teilen über Download-Links unterstützt. Es gibt keine Begrenzung der Datei-Upload-Größe und der Download-Geschwindigkeit. Beim Hochladen großer Dateien müssen Sie jedoch eine Weile warten, bis der Ladevorgang abgeschlossen ist. Die Datei wird im Upload-Ordner des Stammverzeichnisses gespeichert und ein Unterordner mit dem Namen „Datum“ wird erstellt.
Schaltfläche: Im oberen Teil der Benutzeroberfläche befindet sich die Schaltfläche „Datei hochladen“. Sie können auf die Datei klicken und sie auswählen oder die Datei hochladen, indem Sie sie in den Browser ziehen: 1. Schaltfläche „Herunterladen“ – zum Herunterladen klicken die Datei; 2. Schaltfläche „Teilen“ (nicht freigegeben) wird angezeigt – nach dem Klicken wird ein Freigabelink generiert. Nach dem Teilen mit anderen können andere ihn in den Browser einfügen, um den Download der Datei auszulösen und komprimiert, und der eigentliche Download Der Download-Link wird zur einfacheren Verwendung in einen kurzen Link komprimiert, und der Link verfügt über ein Authentifizierungstoken, um die grundlegende Sicherheit zu gewährleisten. 3. Schaltfläche „Freigabelink kopieren“ (erscheint nach der Freigabe) – klicken Sie, um den Freigabelink in die Zwischenablage zu kopieren. Schaltfläche „Freigabe abbrechen“ (erscheint nach der Freigabe) – macht den Freigabelink ungültig und bricht die Freigabe ab; 5. Schaltfläche „Löschen“ – logisch löschen Sie die Datei. 6. Schaltfläche „Dateinamen ändern“, Sie können den Dateinamen ändern
Bild Bett:
Wenn Sie sich nicht anmelden, werden die Wetterinformationen des IP-Standorts angezeigt (eingeschränkt durch die API eines Drittanbieters, und wenn sich der IP-Standort im Ausland befindet, ist die Unterstützung nicht gut, nachdem Sie sich angemeldet haben). Der Anzeigebereich umfasst IP + benutzerdefinierte Standortinformationen. Um die Geschwindigkeit sicherzustellen, werden die zwischengespeicherten Daten außerdem 3 Stunden lang verwendet (geändert in backendappweather_function.py:16). Cache wird die externe API aufgefordert, Daten abzurufen und im Cache zu speichern
Schaltfläche: Hinzufügen – Fügen Sie nach dem Anmelden eine neue Stadt hinzu; Sortieren – Sie können benutzerdefinierte Städte per Drag-and-Drop sortieren oder löschen. Es gibt drei Arten von ungewöhnlichen Wetteroptionen für Push, nämlich Regen- und Schneewetter, plötzlicher Temperaturanstieg/-abfall. und Luftqualität sowie der zu übertragende Standort und der anzuzeigende Standort sind unabhängig und können separat eingestellt werden.
Sie können es nach dem Anmelden anpassen. Die angezeigten Lesezeichen, wenn Sie nicht angemeldet sind, werden in der Datenbank geändert (bookmarks.user_id==0).
Schaltfläche: Hinzufügen – Lesezeichen nach dem Anmelden hinzufügen; Einstellungen – Ziehen Sie die Symbole, um Lesezeichen nach dem Anmelden zu sortieren, zu löschen oder zu ändern
Finden Sie Apps im Apple App Store, überwachen Sie deren Preise und benachrichtigen Sie Benutzer, wenn sie unter einem festgelegten Schwellenwert liegen.
Zeichnen Sie Notizen auf und senden Sie den Notizinhalt regelmäßig an WeChat/E-Mail. Da wir die Funktion nicht zu kompliziert machen wollen, kann der übermittelte Push nicht widerrufen, sondern mehrfach gesetzt werden. Das heißt, der eingestellte Push kann nach Belieben hinzugefügt, aber nicht subtrahiert werden. Darüber hinaus können Notizen über die „Zeitmaschine“ auf frühere Versionen zurückgesetzt werden, was für versehentliches Löschen und andere Situationen geeignet ist.
Schaltflächen: Wenn die Maus über die Auslassungspunkte fährt, können drei Schaltflächen angezeigt werden: Bearbeiten und Löschen – Bearbeiten oder löschen Sie die ausgewählte Notiz und speichern Sie alle Notizen nach der Übermittlung als neue Version. Erinnerung – Klicken Sie, um das Dialogfeld zur Bearbeitungserinnerung anzuzeigen kann über WeChat abgerufen werden. Erinnern Sie den Inhalt der Notiz per E-Mail mit einer Mindestgranularität von fünf Minuten. Die kreisförmigen Tasten unten sind die neue Taste bzw. die Zeitmaschinentaste. Die Funktionen werden nicht erneut beschrieben.
Die Implementierung erfolgt mithilfe von Übersetzern mithilfe des Alibaba-Dienstes. Wenn Text in den Eingabebereich auf der linken Seite eingegeben wird, wird er nach einer gewissen Zeit entsprechend der oben ausgewählten Sprache übersetzt.
Das System verwendet eine „Skript-Laufplattform“, um Skripte dazu zu bringen, jeden Tag ein Bing-Hintergrundbild zu crawlen, und das Widget scrollt, um die Hintergrundbilder innerhalb von 7 Tagen anzuzeigen. Klicken Sie auf das Bild, um das Originalbild herunterzuladen.
Überwachen Sie die Goldpreise und können Sie Schwellenwerte festlegen, um Benachrichtigungen zu senden, wenn der Preis den Schwellenwert überschreitet. Sie müssen geplante Aufgaben in der „Script Running Platform“ konfigurieren. Beim Crawlen von Daten überspringt der Crawler die Zeit, in der inländisches Gold nicht geöffnet ist.
Durchsuchen Sie Aktiendaten von den Aktienmärkten Shanghai und Shenzhen, Hongkong-Aktien und US-Aktien und richten Sie eine Erinnerungsfunktion ein, wenn der Schwellenwert überschritten wird.
Crawlen Sie Fondsdaten und richten Sie eine Erinnerungsfunktion ein, wenn der Schwellenwert überschritten wird.
Es sammelt Informationen von mehr als 20 Websites und sammelt sie stündlich durch geplante Aufgaben. Sie können manuell aktualisiert werden, indem Sie auf den Titel klicken.
Hinweis: Seit November 2020 verbieten Baidu, Weibo, Omelette und Sogou einzelnen Benutzern eindeutig das Crawlen jeglicher Informationen. Bitte löschen Sie relevante Codes strikt, wenn Sie das Projekt ausführen.
Da sich die Website-Regeln ändern können, überprüfen Sie bitte beim Ausführen des Projekts nacheinander die in diesem Projekt verwendeten Datenquellen. Wenn das Robots-Protokoll das Crawlen durch einzelne Benutzer verbietet, löschen Sie den entsprechenden Code!
Befolgen Sie das Roboterprotokoll, halten Sie sich an die Crawler-Ethik und schaffen Sie eine bessere Internetumgebung.
„Die Entwicklung dieses Projekts stützt sich auf eine große Anzahl hervorragender Open-Source-Projekte und Website-Dienste:
Der Code wurde mithilfe von Methoden wie dem Zwischenspeichern von Daten und der Begrenzung der Häufigkeit optimiert, um zu verhindern, dass das Crawlen von Daten einen größeren Druck auf die Website ausübt.
Die erhaltenen Daten dienen nur zu Lernzwecken. Bei Verstößen kontaktieren Sie uns bitte umgehend, um diese zu löschen.
?E-Mail: [email protected]
?Wenn Sie dieses Projekt inspiriert oder Ihnen hilft, möchten Sie vielleicht den Entwickler unterstützen
MPL-2.0