La plupart des projets open source actuels de pages de navigation ne sont pas très personnalisables et les informations auxquelles les individus souhaitent prêter attention sont trop dispersées. Par conséquent, j'ai décidé d'écrire une page de navigation qui peut être hautement personnalisée par les utilisateurs et intégrer les informations et les fonctions. ils ont besoin.
Les mises à jour reprennent ! J'ai été occupé par le travail au cours des deux dernières années et je n'ai pas eu beaucoup d'énergie. Je prendrai le temps de le réparer récemment.
Le front-end utilise Vue.js, le back-end utilise Python et MariaDB+Redis fournit le stockage des données. Le framework front-end utilise Element UI, le framework back-end utilise Flask et l'ORM back-end utilise Peewee.
? Si vous avez des BUG/exigences/suggestions, veuillez joindre des étapes/idées de reproduction et soumettre des problèmes !
Bienvenue étoile !
? Je l'utilise personnellement depuis plusieurs années à l'aéroport. Il est rapide et pas cher, je le recommande vivement. Cliquez sur ce lien !
La promotion interne du recrutement social ByteDance peut simplement cliquer sur ce lien pour soumettre le code de promotion interne du recrutement sur le campus : AWN958P, bienvenue pour transmettre et diffuser !
La branche dev est une branche en cours de développement et peut rencontrer des problèmes d'exécution. Il est recommandé d'utiliser la branche master pour les tests de déploiement.
Docker y travaille déjà ~
Vous avez d'abord besoin de Python3, Pip, MySQL (MariaDB a été utilisée lors des tests) et de l'environnement Redis
La clé appliquée pour SeverChan est utilisée pour envoyer des rappels à WeChat ; la clé utilisée pour Zefeng Weather est utilisée pour obtenir des informations météorologiques ; l'e-mail et le mot de passe sont envoyés par défaut ;
Une fois que vous disposez de l'environnement, utilisez python3 pour exécuter start.py dans le répertoire racine et suivez les invites.
Table des matières | contenu |
---|---|
/back-end | code back-end |
/backend/run.py | Fichier d'entrée back-end |
/l'extrémité avant | code frontal |
/dist | Le produit de la compilation frontale |
/télécharger | Stocker les fichiers téléchargés par les utilisateurs |
/fonds d'écran | Stocker les fonds d’écran Bing grattés |
Vous pouvez cliquer ici pour utiliser vscode pour vérifier temporairement le code
Entrée : Page d'accueil
Fonction : Accédez à l'URL de recherche après avoir saisi le contenu. Lorsque vous entrez dans la page, le focus est automatiquement placé dans la zone de recherche. La saisie de texte peut faire apparaître des invites (vous devez configurer la fonction de rappel du moteur correspondant dans la table de données search_engines. . Si vous ajoutez ou supprimez des moteurs, c'est également dans la base de données que vous ajoutez des données.
Entrée : survolez le nom d'utilisateur dans le coin supérieur gauche après vous être connecté à la console
Fonction : Fournit l'entrée des composants front-end enregistrés dans la table console pour faciliter les futures opérations de contrôle des autorisations ou de tri. Si vous devez ajouter un module front-end, en plus d'écrire l'activité front-end, vous devez également ajouter un. enregistrement dans la table console.
Entrée : Après vous être connecté, survolez le nom d'utilisateur dans le coin supérieur gauche - console - plateforme d'exécution du script.
Fonction : Pilote unifié pour les programmes en arrière-plan. Les formulaires front-end sont tous générés par la configuration et il n'est pas nécessaire de toucher au code front-end. Vous pouvez soumettre le script au script back-end en cours d'exécution en remplissant le formulaire généré par la configuration et afficher les résultats en cours d'exécution. Il a également la capacité d'exécuter des scripts régulièrement, de lire des tâches précédemment exécutées et d'enregistrer le temps d'exécution, d'enregistrer les journaux d'opérations, de personnaliser les formulaires d'enregistrement des opérations et d'autres fonctions humanisées.
Avis:
Module:
Modifier le script :
Options initiales :
Options des composants :
print()
directement dans le script pour imprimer le texte à afficher. De plus, via un certain format de données, les options du composant sélecteur peuvent être initialisées. ci-dessous: 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 ))
Entrée : survolez le nom d'utilisateur dans le coin supérieur gauche après vous être connecté - Compte console et autorisations
Fonction : Un système de contrôle des autorisations au niveau de l'interface écrit à l'aide du modèle "user-role-permission". L'interface peut contrôler les autorisations à l'aide d'un décorateur. Par défaut, lorsqu'un utilisateur demande une interface, l'adresse IP de la demande doit être cohérente avec l'adresse IP utilisée lors de la connexion. Il s'agit d'une politique relativement stricte et peut être désactivée dans "/backend/app/privilege/privilege_control.py:24".
Module:
Paramètres utilisateur : ajouter des utilisateurs, désactiver des utilisateurs, supprimer des utilisateurs, modifier les rôles des utilisateurs, modifier les mots de passe des utilisateurs
Paramètres d'autorisation correspondant au rôle : ajouter des rôles, désactiver des rôles, supprimer des rôles, modifier les noms de rôles, modifier les autorisations correspondantes au rôle
Paramètres d'autorisation : ajouter des autorisations, désactiver les autorisations, supprimer les autorisations, modifier les autorisations
Entrée : Après vous être connecté, survolez le nom d'utilisateur dans le coin supérieur gauche-Console-Modifier le composant de la page d'accueil
Fonction : Glisser-déposer pour modifier l'affichage de la page d'accueil. Le parent d'un composant est défini comme « ensemble de composants ». Lorsqu'il existe un seul ensemble de composants, la page n'affiche pas le titre de l'ensemble de composants, mais affiche uniquement les composants qu'il contient. la page affiche les ensembles de composants et les composants qu'ils contiennent
Bouton : utilisez le glisser gauche et droit pour modifier l'ordre de l'ensemble de composants, utilisez le bouton rond plus sur le côté droit de l'ensemble de composants pour ajouter un ensemble de composants, utilisez le bouton d'édition à l'intérieur de chaque ensemble de composants pour modifier le nom du composant. ensemble, utilisez chaque composant Utilisez le bouton Supprimer à l'intérieur de l'ensemble pour supprimer l'ensemble de composants ; utilisez la méthode de glissement de haut en bas pour modifier l'ordre des composants dans l'ensemble de composants, utilisez le bouton carré plus dans chaque ensemble de composants pour ajouter des composants, et utilisez le bouton Supprimer sur le côté droit du composant pour supprimer le composant. Les détails des composants ne prennent pas en charge la modification. Vous pouvez modifier manuellement la bibliothèque (widget) pour la modifier.
Entrée : survolez le nom d'utilisateur dans le coin supérieur gauche après vous être connecté - disque réseau/lit d'image
Disque réseau :
Une fonction de disque réseau simple qui prend en charge le partage via des liens de téléchargement. Il n'y a aucune limite sur la taille de téléchargement des fichiers ni sur la vitesse de téléchargement. Cependant, lors du téléchargement de fichiers volumineux, vous devez attendre un certain temps jusqu'à ce que le chargement soit terminé. Le fichier est stocké dans le dossier de téléchargement du répertoire racine et un sous-dossier nommé Date est créé.
Bouton : La partie supérieure de l'interface est le bouton de téléchargement du fichier. Vous pouvez cliquer et sélectionner le fichier ou télécharger le fichier en faisant glisser le fichier vers le navigateur ; les boutons dans la liste de fichiers ci-dessous sont : 1. Bouton de téléchargement - cliquez pour télécharger. le fichier ; 2. Le bouton Partager (non partagé) apparaît) - après avoir cliqué, un lien de partage sera généré. Après l'avoir partagé avec d'autres, d'autres pourront le coller dans le navigateur pour déclencher le téléchargement du fichier. et compressé, et le téléchargement réel Le lien de téléchargement sera compressé en un lien court pour une utilisation facile, et le lien possède un jeton d'authentification pour garantir une sécurité de base ; 3. Bouton Copier le lien de partage (apparaît après le partage) - cliquez pour copier le lien de partage dans le presse-papiers ; Bouton Annuler le partage (apparaît après le partage) - invalide le lien de partage et annule le partage ; 5. Bouton Supprimer - supprime logiquement le fichier 6. Bouton Modifier le nom du fichier, vous pouvez modifier le nom du fichier ;
Lit image :
Si vous ne vous connectez pas, les informations météorologiques de l'emplacement IP seront affichées (limitées par une API tierce, et lorsque l'emplacement IP est à l'étranger, le support n'est pas bon. Vous pouvez le personnaliser après vous être connecté, et le). la plage d’affichage est IP + informations de localisation personnalisées. De plus, lors de la demande de données, afin de garantir la rapidité, le cache sera utilisé en premier. Les données mises en cache sont valides pendant 3 heures (modifiées dans backendappweatherweather_function.py:16). cache, l'API externe sera invitée à récupérer les données et à les stocker dans le cache
Bouton : Ajouter - ajoutez une nouvelle ville après vous être connecté ; Trier - vous pouvez faire glisser pour trier ou supprimer les villes personnalisées ; Push - il existe trois types d'options météorologiques anormales pour le push, à savoir le temps de pluie et de neige, l'augmentation/la baisse soudaine de la température, et la qualité de l'air, ainsi que l'emplacement à pousser et l'emplacement à afficher sont indépendants et peuvent être définis séparément.
Vous pouvez le personnaliser après vous être connecté. Les favoris affichés lorsque vous n'êtes pas connecté sont modifiés dans la base de données (bookmarks.user_id==0)
Bouton : Ajouter - ajoutez des signets après la connexion ; Paramètres - faites glisser les icônes pour trier, supprimer ou modifier les signets après la connexion.
Recherchez des applications dans l'App Store d'Apple, surveillez leurs prix et alertez les utilisateurs lorsqu'ils sont inférieurs à un seuil défini.
Enregistrez des notes et envoyez régulièrement le contenu des notes vers WeChat/e-mail. Puisque nous ne voulons pas rendre la fonction trop compliquée, le push soumis ne peut pas être révoqué, mais il peut être défini plusieurs fois. Autrement dit, le push défini peut être ajouté à volonté mais ne peut pas être soustrait. De plus, les notes peuvent être restaurées vers les versions précédentes via "Time Machine", ce qui convient à la suppression accidentelle et à d'autres situations.
Boutons : lorsque la souris survole les points de suspension, trois boutons peuvent apparaître : Modifier et Supprimer : modifiez ou supprimez la note sélectionnée et enregistrez toutes les notes dans une nouvelle version après la soumission ; Rappel : cliquez pour afficher la boîte de dialogue de rappel de modification, qui apparaît. est accessible via WeChat/Rappeler le contenu de la note par e-mail, avec une granularité minimale de cinq minutes. Les boutons circulaires ci-dessous sont respectivement le nouveau bouton et le bouton Time Machine. Les fonctions ne seront pas décrites à nouveau.
Il est mis en œuvre à l'aide de traducteurs, utilisant le service d'Alibaba. Lorsque le texte est saisi dans la zone de saisie de gauche, après un certain temps, il sera traduit selon la langue sélectionnée ci-dessus.
Le système utilise une « plate-forme d'exécution de scripts » pour piloter des scripts afin d'explorer un fond d'écran Bing chaque jour, et le widget défile pour afficher les fonds d'écran dans les 7 jours. Cliquez sur l'image pour télécharger l'image originale.
Surveillez les prix de l'or et pouvez définir des seuils pour envoyer des alertes lorsque le prix dépasse le seuil. Vous devez configurer les tâches planifiées dans la « Plateforme d'exécution de scripts ». Lors de l'exploration des données, le robot ignorera le moment où l'or national n'est pas ouvert.
Analysez les données boursières des marchés boursiers de Shanghai et de Shenzhen, des actions de Hong Kong et des actions américaines, et définissez une fonction de rappel lorsque le seuil est dépassé.
Explorez les données du fonds et définissez une fonction de rappel lorsque le seuil est dépassé.
Il regroupe les informations de plus de 20 sites Web et les collecte toutes les heures via des tâches planifiées. Elles peuvent être actualisées manuellement en cliquant sur le titre. Certaines captures d'écran du contenu sont les suivantes.
Remarque : depuis novembre 2020, Baidu, Weibo, Omelette et Sogou interdisent clairement aux utilisateurs individuels d'explorer toute information. Veuillez supprimer strictement les codes pertinents lors de l'exécution du projet.
Étant donné que les règles du site Web peuvent changer, veuillez vérifier les sources de données utilisées dans ce projet dans l'ordre lors de l'exécution du projet. Lorsque le protocole des robots interdit l'exploration par des utilisateurs individuels, supprimez le code concerné !
Respectez le protocole des robots, respectez l'éthique des robots et créez un meilleur environnement Internet.
?Le développement de ce projet s'appuie sur un grand nombre d'excellents projets open source et services de sites Web :
Le code a été optimisé à l'aide de méthodes telles que la mise en cache des données et la limitation de la fréquence pour éviter que l'exploration des données ne provoque une plus grande pression sur le site Web.
Les données obtenues sont uniquement à titre de référence d'apprentissage. En cas d'infraction, veuillez nous contacter immédiatement pour les supprimer.
?E-mail : [email protected]
?Si ce projet vous inspire ou vous aide, vous souhaiterez peut-être soutenir le développeur
MPL-2.0