Sebagian besar proyek sumber terbuka halaman navigasi saat ini tidak terlalu dapat dikustomisasi, dan informasi yang ingin diperhatikan individu terlalu tersebar. Oleh karena itu, saya memutuskan untuk menulis halaman navigasi yang dapat dikustomisasi oleh pengguna dan mengintegrasikan informasi dan fungsi mereka butuhkan.
Pembaruan dilanjutkan! Saya sibuk dengan pekerjaan dalam dua tahun terakhir dan tidak punya banyak tenaga. Saya akan meluangkan waktu untuk memperbaikinya akhir-akhir ini.
Front-end menggunakan Vue.js, back-end menggunakan Python, dan MariaDB+Redis menyediakan penyimpanan data. Framework front-end menggunakan Element UI, framework back-end menggunakan Flask, dan ORM back-end menggunakan Peewee.
? Jika Anda memiliki BUG/persyaratan/saran, harap lampirkan langkah/ide reproduksi dan kirimkan Masalah!
Selamat datang bintang!
? Saya telah menggunakannya secara pribadi selama beberapa tahun di bandara. Cepat dan murah. Saya sangat merekomendasikannya. Klik tautan ini!
Promosi internal rekrutmen sosial ByteDance cukup klik tautan ini untuk mengirimkan. Kode promosi internal rekrutmen kampus: AWN958P, selamat datang dan sebarkan!
Cabang dev adalah cabang yang sedang dikembangkan dan mungkin mengalami masalah saat berjalan. Disarankan untuk menggunakan cabang master untuk pengujian penerapan.
Docker sudah mengerjakannya~
Pertama, Anda memerlukan Python3, Pip, MySQL (MariaDB digunakan selama pengujian) dan lingkungan Redis
Kunci yang diterapkan untuk SeverChan digunakan untuk mendorong pengingat ke WeChat; kunci yang digunakan untuk Zefeng Weather digunakan untuk mendapatkan informasi cuaca; email dan kata sandi dikirim secara default
Setelah Anda memiliki lingkungannya, gunakan python3 untuk menjalankan start.py di direktori root dan ikuti petunjuknya.
Daftar isi | isi |
---|---|
/ ujung belakang | kode ujung belakang |
/backend/run.py | File entri backend |
/depan | kode ujung depan |
/dist | Produk kompilasi front-end |
/mengunggah | Simpan file yang diunggah oleh pengguna |
/wallpaper | Simpan wallpaper Bing yang tergores |
Anda dapat mengklik di sini untuk menggunakan vscode untuk memeriksa kode sementara
Pintu masuk: Halaman beranda
Fungsi: Melompat ke URL pencarian setelah memasukkan konten. Saat memasuki halaman, fokus secara otomatis ditempatkan di kotak pencarian. Memasukkan teks dapat memunculkan petunjuk (Anda perlu mengkonfigurasi fungsi panggilan balik dari mesin yang sesuai di tabel data mesin_pencarian .Jika Anda menambah atau menghapus mesin, itu juga ada di database.
Pintu Masuk: Arahkan nama pengguna di sudut kiri atas setelah masuk ke Konsol
Fungsi: Menyediakan pintu masuk komponen front-end yang terdaftar di tabel konsol untuk memfasilitasi kontrol izin di masa depan atau operasi penyortiran. Jika Anda perlu menambahkan modul front-end, selain menulis bisnis front-end, Anda juga perlu menambahkan a catatan di tabel konsol.
Masuk: Setelah masuk, arahkan nama pengguna di sudut kiri atas - konsol - platform yang menjalankan skrip.
Fungsi: Driver terpadu untuk program latar belakang. Semua formulir front-end dihasilkan oleh konfigurasi, dan tidak perlu menyentuh kode front-end. Anda dapat mengirimkan skrip ke skrip yang berjalan back-end dengan mengisi formulir yang dihasilkan oleh konfigurasi, dan menampilkan hasil yang berjalan . Ia juga memiliki kemampuan untuk menjalankan skrip secara teratur, memutar ulang tugas yang dijalankan sebelumnya, dan mencatat waktu berjalan, mencatat log operasi, menyesuaikan formulir catatan operasi, dan fungsi manusiawi lainnya
Melihat:
Modul:
Sunting skrip:
Opsi awal:
Opsi komponen:
print()
langsung dalam skrip untuk mencetak teks yang perlu dikeluarkan. Selain itu, melalui format data tertentu, opsi komponen pemilih dapat diinisialisasi di bawah: 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 ))
Masuk: Arahkan nama pengguna di sudut kiri atas setelah masuk-Akun Konsol dan Izin
Fungsi: Sistem kontrol izin tingkat antarmuka yang ditulis menggunakan model "izin peran pengguna". Antarmuka dapat mengontrol izin menggunakan dekorator. Secara default, ketika pengguna meminta antarmuka, IP yang meminta harus konsisten dengan IP yang digunakan saat masuk. Ini adalah kebijakan yang relatif ketat dan dapat dimatikan di "/backend/app/privilege/privilege_control.py:24"
Modul:
Pengaturan pengguna: menambah pengguna, menonaktifkan pengguna, menghapus pengguna, mengubah peran pengguna, mengubah kata sandi pengguna
Pengaturan izin terkait peran: menambah peran, menonaktifkan peran, menghapus peran, mengubah nama peran, mengubah izin terkait peran
Pengaturan izin: menambah izin, menonaktifkan izin, menghapus izin, mengubah izin
Masuk: Setelah masuk, arahkan nama pengguna di sudut kiri atas-Konsol-Ubah komponen beranda
Fungsi: Seret dan lepas untuk mengubah tampilan beranda. Induk suatu komponen didefinisikan sebagai "kumpulan komponen". Jika ada dan hanya ada satu kumpulan komponen, halaman tidak menampilkan judul kumpulan komponen, tetapi hanya menampilkan komponen yang dikandungnya. halaman menampilkan kumpulan Komponen dan komponen yang dikandungnya
Tombol: Gunakan tarik kiri dan kanan untuk mengedit urutan kumpulan komponen, gunakan tombol bulat plus di sisi kanan kumpulan komponen untuk menambahkan kumpulan komponen, gunakan tombol edit di dalam setiap kumpulan komponen untuk mengubah nama komponen set, gunakan setiap komponen Gunakan tombol hapus di dalam set untuk menghapus set komponen gunakan metode menyeret ke atas dan ke bawah untuk mengedit urutan komponen dalam set komponen, gunakan tombol persegi plus di setiap set komponen untuk menambahkan komponen, dan gunakan tombol hapus di sisi kanan komponen untuk menghapus komponen. Detail komponen tidak mendukung modifikasi. Anda dapat mengubah perpustakaan (widget) secara manual untuk memodifikasinya.
Masuk: Arahkan nama pengguna di sudut kiri atas setelah masuk - disk jaringan/tempat tidur gambar
Disk jaringan:
Fungsi disk jaringan sederhana yang mendukung berbagi melalui tautan unduhan. Tidak ada batasan ukuran unggahan file dan tidak ada batasan kecepatan unduh. Namun, saat mengunggah file besar, Anda perlu menunggu beberapa saat hingga pemuatan selesai. File disimpan di folder unggahan direktori root, dan subfolder bernama Tanggal dibuat.
Tombol: Bagian atas antarmuka adalah tombol unggah file. Anda dapat mengklik dan memilih file atau mengunggah file dengan menyeret file ke browser; file; 2. Tombol bagikan (tidak dibagikan) muncul) - setelah mengklik, tautan berbagi akan dibuat. Setelah membagikannya dengan orang lain, orang lain dapat menempelkannya ke browser untuk memicu pengunduhan file dan dikompresi, dan unduhan sebenarnya Tautan unduhan akan dikompresi menjadi tautan pendek agar mudah digunakan, dan tautan tersebut memiliki token otentikasi untuk memastikan keamanan dasar; 3. Tombol salin tautan berbagi (muncul setelah dibagikan) - klik untuk menyalin tautan bagikan ke papan klip; Tombol Batalkan Bagikan (muncul setelah berbagi) - membatalkan tautan berbagi dan membatalkan berbagi; 5. Tombol Hapus - menghapus file secara logis; 6. Tombol Ubah nama file, Anda dapat mengubah nama file
Tempat tidur bergambar:
Jika Anda tidak masuk, informasi cuaca dari lokasi IP akan ditampilkan (dibatasi oleh API pihak ketiga, dan ketika lokasi IP di luar negeri, dukungannya tidak baik). rentang tampilan adalah IP + informasi lokasi khusus. Selain itu, saat meminta data, untuk memastikan kecepatan, cache akan digunakan terlebih dahulu. Data yang di-cache valid selama 3 jam (dimodifikasi di backendappweatherweather_function.py:16). cache, API eksternal akan diminta untuk Mendapatkan data dan menyimpannya dalam cache
Tombol: Tambah - tambahkan kota baru setelah masuk; Urutkan - Anda dapat menyeret untuk mengurutkan atau menghapus kota yang disesuaikan; dan Kualitas udara, serta lokasi yang akan didorong dan lokasi yang akan ditampilkan bersifat independen dan dapat diatur secara terpisah.
Anda dapat menyesuaikannya setelah masuk. Bookmark yang ditampilkan saat Anda tidak masuk diubah dalam database (bookmarks.user_id==0)
Tombol: Tambah - tambahkan bookmark setelah masuk Pengaturan - seret ikon untuk mengurutkan, menghapus atau mengubah bookmark setelah masuk
Temukan aplikasi di Apple App Store dan pantau harganya, serta beri tahu pengguna jika harganya kurang dari ambang batas yang ditetapkan.
Rekam catatan dan kirimkan konten catatan ke WeChat/email secara teratur. Karena kami tidak ingin membuat fungsinya terlalu rumit, push yang dikirimkan tidak dapat dibatalkan, tetapi dapat diatur berkali-kali. Artinya, set push dapat ditambahkan sesuka hati tetapi tidak dapat dikurangi. Selain itu, catatan dapat dikembalikan ke versi sebelumnya melalui "mesin waktu", yang cocok untuk penghapusan tidak disengaja dan situasi lainnya.
Tombol: Saat mouse mengarahkan elipsis, tiga tombol dapat muncul: Edit dan Hapus - mengedit atau menghapus catatan yang dipilih, dan menyimpan semua catatan sebagai versi baru setelah pengiriman; Pengingat - klik untuk memunculkan kotak dialog edit pengingat, yang mana dapat diakses melalui WeChat/ Ingatkan isi catatan melalui email, dengan rincian minimal lima menit. Tombol melingkar di bawah ini masing-masing merupakan tombol baru dan tombol mesin waktu. Fungsinya tidak akan dijelaskan lagi.
Ini diimplementasikan menggunakan penerjemah, menggunakan layanan Alibaba. Ketika teks dimasukkan di area input di sebelah kiri, setelah jangka waktu tertentu, teks tersebut akan diterjemahkan sesuai dengan bahasa yang dipilih di atas.
Sistem menggunakan "platform menjalankan skrip" untuk menggerakkan skrip untuk merayapi satu wallpaper Bing setiap hari, dan widget bergulir untuk menampilkan wallpaper dalam waktu 7 hari. Klik pada gambar untuk mengunduh gambar aslinya.
Pantau harga emas dan dapat menetapkan ambang batas untuk mengirimkan peringatan ketika harga melebihi ambang batas. Anda perlu mengonfigurasi tugas terjadwal di "Platform Menjalankan Skrip". Saat merayapi data, perayap akan melewatkan waktu ketika emas domestik tidak dibuka.
Merayapi data saham dari pasar saham Shanghai dan Shenzhen, saham Hong Kong, dan saham AS, dan mengatur fungsi pengingat ketika ambang batas terlampaui.
Merayapi data dana dan mengatur fungsi pengingat ketika ambang batas terlampaui.
Ini mengumpulkan informasi dari lebih dari 20 situs web dan mengumpulkannya setiap jam melalui tugas terjadwal. Ini dapat disegarkan secara manual dengan mengklik judulnya.
Catatan: Mulai November 2020, Baidu, Weibo, Omelette, dan Sogou dengan jelas melarang pengguna individu merayapi informasi apa pun. Harap hapus dengan tegas kode yang relevan saat menjalankan proyek.
Karena aturan situs web dapat berubah, harap periksa sumber data yang digunakan dalam proyek ini secara berurutan saat menjalankan proyek. Jika protokol robot melarang perayapan oleh pengguna individu, hapus kode yang relevan!
Patuhi protokol robot, patuhi etika perayap, dan bangun lingkungan Internet yang lebih baik.
?Pengembangan proyek ini bergantung pada sejumlah besar proyek sumber terbuka dan layanan situs web yang sangat baik:
Kode telah dioptimalkan menggunakan metode seperti data cache dan membatasi frekuensi untuk menghindari data perayapan yang menyebabkan tekanan lebih besar pada situs web.
Data yang diperoleh hanya untuk referensi pembelajaran. Jika ada pelanggaran, harap segera menghubungi kami untuk menghapusnya.
?Email: [email protected]
?Jika proyek ini menginspirasi atau membantu Anda, Anda mungkin ingin mendukung pengembangnya
MPL-2.0