現在のナビゲーション ページのオープンソース プロジェクトの多くはカスタマイズ性が低く、個人が注目したい情報が散在しすぎているため、ユーザーが高度にカスタマイズでき、情報と機能を統合できるナビゲーション ページを作成することにしました。彼らは必要としている。
更新が再開されました!ここ2年ほど仕事が忙しくてあまり気力がなかったので、最近修理に時間がかかります。
フロントエンドは Vue.js を使用し、バックエンドは Python を使用し、MariaDB+Redis がデータ ストレージを提供します。フロントエンド フレームワークは Element UI を使用し、バックエンド フレームワークは Flask を使用し、バックエンド ORM は Peewee を使用します。
? バグ/要件/提案がある場合は、再現手順/アイデアを添付して問題を送信してください。
ようこそスター!
私は個人的に空港で何年も使っています。とても使いやすいです。このリンクをクリックしてください。
ByteDance ソーシャル採用内部プロモーションは、このリンクをクリックするだけで送信できます。キャンパス採用内部プロモーション コード: AWN958P、転送と拡散を歓迎します。

dev ブランチは開発中のブランチであり、実行に問題が発生する可能性があります。デプロイメント テストには master ブランチを使用することをお勧めします。
Dockerはすでに取り組んでいます~
まず、Python3、Pip、MySQL (テスト中に MariaDB を使用しました)、および Redis 環境が必要です
SeverChan に適用されたキーは WeChat にリマインダーをプッシュするために使用されます。Zefeng Weather に使用されたキーは気象情報を取得するために使用されます。電子メールとパスワードはデフォルトで送信されます。QQ メールボックスのパスワード取得方法を参照してください。
環境を用意したら、python3 を使用してルート ディレクトリで start.py を実行し、プロンプトに従います。
| 目次 | コンテンツ |
|---|---|
| /バックエンド | バックエンドコード |
| /バックエンド/run.py | バックエンドエントリーファイル |
| /フロントエンド | フロントエンドコード |
| /dist | フロントエンドコンパイルの成果物 |
| /アップロード | ユーザーがアップロードしたファイルを保存する |
| /壁紙 | スクレイピングした Bing の壁紙を保存する |
ここをクリックして vscode を使用してコードを一時的に確認できます
入口:ホームページ
機能: コンテンツを入力した後、検索 URL にジャンプします。ページに入ると、検索ボックスにフォーカスが自動的に置かれ、プロンプトが表示されます (データ テーブル search_engines で対応するエンジンのコールバック関数を設定する必要があります)。エンジンを追加または削除すると、データベースにも追加されます)。

入り口: コンソールにログインした後、左上隅にあるユーザー名にカーソルを合わせます。
機能: 将来の権限制御や並べ替え操作を容易にするために、コンソール テーブルに登録されたフロントエンド コンポーネントの入り口を提供します。フロントエンド モジュールを追加する必要がある場合は、フロントエンド ビジネスの作成に加えて、コンソールテーブルに記録します。

入り口:ログイン後、左上隅 - コンソール - スクリプト実行プラットフォームのユーザー名にマウスを置きます。
機能:バックグラウンドプログラム用の統合ドライバー。フロントエンド フォームはすべて構成によって生成され、フロントエンド コードに触れる必要はありません。構成によって生成されたフォームに入力することでスクリプトをバックエンド実行スクリプトに送信し、実行結果を表示できます。また、スクリプトを定期的に実行したり、以前に実行したタスクを再生したり、実行時間を記録したり、操作記録フォームをカスタマイズしたりする機能もあります。
知らせ:
モジュール:


スクリプトを編集します:
初期オプション:
コンポーネントのオプション:
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 ))
入り口: ログイン後、左上隅にあるユーザー名をマウスオーバーします - コンソール - アカウントと権限
機能: 「user-role-permission」モデルを使用して記述されたインターフェイス レベルの権限制御システム。インターフェイスはデコレータを使用して権限を制御できます。デフォルトでは、ユーザーがインターフェイスを要求する場合、要求元の IP はログイン時に使用される IP と一致している必要があります。これは比較的厳格なポリシーであり、「/backend/app/privilege/privilege_control.py:24」でオフにできます。
モジュール:
ユーザー設定: ユーザーの追加、ユーザーの無効化、ユーザーの削除、ユーザーの役割の変更、ユーザーのパスワードの変更
ロールに対応する権限設定: ロールの追加、ロールの無効化、ロールの削除、ロール名の変更、ロールに対応する権限の変更
権限設定: 権限の追加、権限の無効化、権限の削除、権限の変更

入り口: ログイン後、左上隅のユーザー名にマウスを移動します - コンソール - ホームページコンポーネントを変更します
機能: ドラッグ アンド ドロップでホームページの表示方法を変更します。コンポーネントの親は「コンポーネント セット」として定義されます。コンポーネント セットが 1 つしかない場合、ページにはコンポーネント セットのタイトルは表示されません。コンポーネント セットが 2 つ以上ある場合は、コンポーネント セットに含まれるコンポーネントのみが表示されます。このページには、コンポーネント セットとそれに含まれるコンポーネントが表示されます。
ボタン: 左右のドラッグを使用してコンポーネント セットの順序を編集し、コンポーネント セットの右側にある丸いプラス ボタンを使用してコンポーネント セットを追加し、各コンポーネント セット内の編集ボタンを使用してコンポーネントの名前を変更します。セット、各コンポーネントを使用します。コンポーネント セットを削除するには、セット内の削除ボタンを使用します。コンポーネント セット内のコンポーネントの順序を編集するには、上下のドラッグ方法を使用します。コンポーネントを追加するには、各コンポーネント セットの四角いプラス ボタンを使用します。コンポーネントの右側にある削除ボタンを使用してコンポーネントを削除します。コンポーネントの詳細は変更をサポートしていません。ライブラリ (ウィジェット) を手動で変更して変更できます。

入り口: ログイン後、左上隅にあるユーザー名にカーソルを合わせます - ネットワーク ディスク/ピクチャ ベッド
ネットワークディスク:
ダウンロードリンクによる共有をサポートするシンプルなネットワークディスク機能。ファイルのアップロードサイズやダウンロード速度に制限はありません。ただし、大きなファイルをアップロードする場合、読み込みが完了するまでしばらく待つ必要があります。ファイルはルート ディレクトリのアップロード フォルダーに保存され、Date という名前のサブフォルダーが作成されます。
ボタン: インターフェイスの上部はファイルのアップロード ボタンです。ファイルをクリックして選択するか、ファイルをブラウザにドラッグしてアップロードできます。 1. ダウンロード ボタン - クリックしてダウンロードします。ファイル; 2. [共有] ボタン (共有されていません) が表示されます) - クリックすると、共有リンクが生成され、他の人はそれをブラウザに貼り付けることができ、共有リンクは暗号化されます。圧縮され、実際のダウンロードダウンロード リンクは使いやすいように短いリンクに圧縮され、リンクには基本的なセキュリティを確保するための認証トークンが含まれています。 3. 共有リンクをコピー ボタン (共有後に表示されます) - クリックして共有リンクをクリップボードにコピーします。 [共有をキャンセル] ボタン (共有後に表示されます) - 共有リンクを無効にし、共有をキャンセルします。 5. [削除] ボタン - ファイルを論理的に削除します。 6. [ファイル名を変更] ボタン。ファイル名を変更できます。
ピクチャーベッド:

ログインしていない場合は、IP 位置の気象情報が表示されます (サードパーティ API による制限があり、IP 位置が海外の場合はサポートが良くありません)。ログイン後にカスタマイズできます。表示範囲はIP + カスタム位置情報です。また、データをリクエストする場合、速度を確保するためにキャッシュが最初に使用されます。キャッシュされたデータは 3 時間有効です (有効なデータがない場合は、backendappweatherweather_function.py:16 で変更)。キャッシュの場合、外部 API はデータを取得してキャッシュに保存するように要求されます。
ボタン: 追加 - ログイン後に新しい都市を追加します; 並べ替え - カスタマイズした都市をドラッグして並べ替えまたは削除できます; プッシュ - プッシュには 3 種類の異常気象オプションがあります。と空気の質を調整し、押す位置と表示する位置は独立して個別に設定できます。

ログイン後にカスタマイズできます。ログインしていないときに表示されるブックマークはデータベース内で変更されます(bookmarks.user_id==0)。
ボタン: 追加 - ログイン後にブックマークを追加します。 設定 - ログイン後にアイコンをドラッグしてブックマークを並べ替え、削除または変更します。

Apple App Store でアプリを検索し、その価格を監視し、価格が設定されたしきい値を下回った場合にユーザーに警告します。

メモを記録し、メモの内容を定期的に WeChat/電子メールにプッシュします。関数をあまり複雑にしたくないので、送信されたプッシュを取り消すことはできませんが、複数回設定することができます。つまり、設定されたプッシュを任意に追加できますが、減算することはできません。さらに、メモは「タイムマシン」を通じて以前のバージョンにロールバックできるため、誤って削除した場合やその他の状況に適しています。
ボタン: マウスを省略記号の上に置くと、3 つのボタンが表示されます。 編集と削除 - 選択したメモを編集または削除し、送信後にすべてのメモを新しいバージョンとして保存します。 リマインダー - クリックすると、編集リマインダー ダイアログ ボックスがポップアップします。 WeChat 経由でアクセスでき、最小 5 分の粒度でメモの内容を電子メールでリマインドできます。下の丸いボタンはそれぞれ新規ボタンとタイムマシンボタンです。機能については再度説明しません。

これは、Alibaba のサービスを使用して翻訳機能を使用して実装されます。左側の入力領域にテキストを入力すると、一定時間が経過すると、上で選択した言語に従って翻訳されます。

このシステムは、「スクリプト実行プラットフォーム」を使用して、毎日 1 つの Bing 壁紙をクロールするスクリプトを駆動し、ウィジェットがスクロールして 7 日以内の壁紙を表示します。画像をクリックすると、元の画像がダウンロードされます。

金価格を監視し、価格がしきい値を超えたときにアラートを送信するしきい値を設定できます。 「スクリプト実行プラットフォーム」でスケジュールされたタスクを設定する必要があります。データをクロールする際、クローラーは国内ゴールドがオープンしていない時間をスキップします。

上海、深センの株式市場、香港株式、米国株式の株価データをクローリングし、閾値を超えた場合のリマインダー機能を設定します。

ファンドデータをクロールし、しきい値を超えた場合のリマインダー機能を設定します。

20 以上の Web サイトから情報を集約し、スケジュールされたタスクを通じて 1 時間ごとに収集します。タイトルをクリックすると、手動で更新できます。コンテンツのスクリーンショットの一部は次のとおりです。

注: 2020 年 11 月の時点で、Baidu、Weibo、Omelette、および Sogou は、個人ユーザーが情報をクロールすることを明確に禁止しています。プロジェクトを実行する際は、関連するコードを厳密に削除してください。
ウェブサイトのルールが変更される可能性があるため、プロジェクトを実行する際に、このプロジェクトで使用されているデータ ソースを順次確認してください。ロボット プロトコルが個人ユーザーによるクローリングを禁止している場合は、該当するコードを削除してください。
ロボットプロトコルを遵守し、クローラー倫理を遵守し、より良いインターネット環境を構築します。
?このプロジェクトの開発は、多数の優れたオープンソース プロジェクトと Web サイト サービスに依存しています。
コードは、データのキャッシュや頻度の制限などの方法を使用して最適化されており、データのクロールによって Web サイトに大きな負荷がかかるのを回避しています。
取得されたデータは学習の参考のみを目的としています。侵害がある場合は、すぐに削除するようご連絡ください。
?メール:[email protected]
?このプロジェクトがあなたにインスピレーションを与えたり、役立つ場合は、開発者をサポートしたいと思うかもしれません



MPL-2.0