


Bagaimana untuk melaksanakan fungsi mesej peribadi dalam tapak dalam php
Cara melaksanakan fungsi mesej peribadi dalam laman web dalam PHP: 1. Baca badan permintaan permintaan POST 2. Panggil sub-modul untuk memasukkan mesej tapak yang dihantar ke seluruh tapak atau pengguna kumpulan yang dimiliki; 3. Dapatkan mesej tapak yang belum dibaca Kuantiti 4. Semak sama ada messageId milik pengguna semasa
Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3
Bagaimanakah php melaksanakan fungsi mesej peribadi dalam tapak?
Pelaksanaan PHP Idea dan Pelan Reka Bentuk Pemesejan Tapak
1 platform penyelenggaraan Apabila pengguna berkomunikasi, mereka lebih bergantung pada WeChat dan pemberitahuan e-mel Sebagai keseluruhan produk, platform operasi dan penyelenggaraan juga memerlukan perkhidmatan yang boleh menjalankan komunikasi dalaman - pemesejan dalam tapak.
Nada reka bentuk mesej di tapak
Nada reka bentuk mesej di tapak bergantung pada cara pengguna menggunakan mesej di tapak:
Pengguna tidak akan melekat pada halaman platform operasi dan penyelenggaraan, menunggu pemberitahuan mesej, menyemak kandungan mesej dan kemudian melompat ke halaman yang mereka mahu beroperasi.- Tidak seperti kebanyakan tapak rangkaian sosial (Facebook, Zhihu, Weibo, dll.), pengguna akan kekal di halaman utama tapak rangkaian sosial, sentiasa menyegarkan kandungan baharu dan menyemak kandungan baharu mesej (terutamanya Mesej peribadi peribadi, balasan orang lain, dsb. tidak bertujuan untuk menyemak mesej pemberitahuan sistem)
- Jika terdapat banyak e-mel, contohnya, terdapat beberapa pesanan kerja yang perlu diproses oleh pengguna pada masa yang sama, pengguna juga akan melaksanakan semua kerja pada halaman "My To Do" yang disediakan oleh platform pesanan kerja.
- Jika e-mel tersalah padam dan tiada pautan e-mel untuk terus masuk ke modul yang akan dikendalikan
- atau cari terus dalam modul yang berkaitan
-
- Apabila ia berkaitan dengan modul tertentu Apabila tiada rekod operasi terperinci, anda boleh menyemak masa berlakunya mesej di tapak
2 Perihalan keperluan
Mesej dalam tapak biasanya perlu menyelesaikan dua keperluan:
- <.>
- Mesej dalam tapak daripada pengguna kepada pengguna, daripada pentadbir kepada pengguna: iaitu, dihantar satu kepada satu
Pentadbir kepada berbilang pengguna, pengguna Mesej dalam tapak untuk kumpulan dan seluruh tapak: iaitu, menghantar satu-ke-banyak
(terdapat juga mesej dalam tapak daripada pengguna tentang produk , seperti maklum balas dan soalan tentang modul tertentu)
Keperluan semasa kami ialah:
1 Pentadbir menghantar mesej intra-tapak kepada berbilang pengguna
Tiada pengesahan ketulenan pengguna
Hadkan panjang tajuk dan panjang kandungan (masing-masing 45 bait dan 150 bait, sepadan dengan 15 dan 50 aksara Cina)
Hadkan panjang pinyin penerima (maks . 50 bait panjang)
[Pembelajaran yang disyorkan: "
Tutorial Video PHP"]
2 Pengguna boleh melihat maklumat tapak mereka sendiri Klik " Semua penapis , baca, belum dibaca"
Dikelaskan mengikut sumber mesej: platform pesanan kerja, pengurusan sumber, pemasangan automatik, platform kerentanan, platform kerosakan. . .
3 Pengguna boleh memadam atau memadam secara berkumpulan mesej tapak
4 Pengguna boleh membaca, membaca kelompok dan menandakan semua mesej tapak sebagai dibaca
5 ikon mesej di bahagian atas halaman platform operasi dan penyelenggaraan
memaparkan bilangan mesej yang belum dibaca Jika melebihi 99, ia akan memaparkan 99
- <.>Letakkan tetikus padanya dan akan terdapat kotak menu lungsur, menunjukkan 10 mesej terakhir yang belum dibaca (menunjukkan "masa", "sumber", "tajuk")
- Terdapat dua butang di bahagian bawah kotak lungsur: "Lagi", Muatkan lebih banyak mesej yang belum dibaca "Lihat semua" untuk melompat ke halaman senarai mesej tapak (sebaik-baiknya buka tetingkap lain)
- 6 halaman Pentadbir: Kemas kini pengguna
4 >Hantar mesej seluruh tapak
Baca kandungan permintaan permintaan POST
Panjang semak
- Masukkan ke dalam pangkalan data
- Kembali
Dapatkan senarai mesej tapak
-
Panggil sub-modul dan masukkan mesej tapak yang dihantar ke seluruh tapak atau kumpulan pengguna yang saya miliki
Kembalikan data pangkalan data mengikut syarat pertanyaan
Dapatkan bilangan mesej tapak yang belum dibaca
-
Panggil sub-modul dan masukkan mesej dalam tapak yang dihantar ke seluruh tapak atau kumpulan pengguna yang saya miliki
Kembalikan kuantiti
Baca dalam kelompok
Semak sama ada messageId milik pengguna semasa
Tetapkan bacaan kepada 1 dalam jadual inbox_message dan ubah suai masa_kemas kini
Semua dibaca
update inbox_message set “read”=1, “update_time”=now where “receiver_name”=currentUser() and “read” = 0
Pemadaman kelompok
Semak sama ada messageId milik pengguna semasa
Tetapkan dipadamkan kepada 1 dalam jadual inbox_message, ubah suai kemas kini_masa
Padamkan semua
update inbox_message set “deleted”=1, “update_time”=now where “receiver_name”=currentUser() and “deleted” = 0
5 Reka bentuk pangkalan data
Jadual kandungan mesej dalam tapak
CREATE TABLE `inbox_message_text` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `title` varchar(128) NOT NULL DEFAULT '', `content` longtext NOT NULL, `create_time` datetime NOT NULL, `update_time` datetime NOT NULL, `send_type` tinyint(4) NOT NULL DEFAULT '0', `creator_name` varchar(255) NOT NULL DEFAULT '', `deleted` tinyint(4) NOT NULL DEFAULT '0', `module_id` bigint(20) NOT NULL, `link` varchar(255) NOT NULL DEFAULT '', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Selain sumber mesej (nama_modul), mesej dalam tapak itu sendiri Terdapat juga perihalan dimensi yang dipanggil jenis mesej (jenis_mesej), seperti mesej keselamatan, mesej aktiviti, mesej perkhidmatan, dll. Dalam setiap kategori utama , ia boleh dibahagikan kepada subkategori, seperti aktiviti mesej-promosi
Sumber mesej dan jenis mesej boleh mempunyai hubungan ortogon, iaitu, platform pesanan kerja juga boleh mempunyai mesej aktif; sumber mesej juga boleh menjadi jenis jenis mesej, dipanggil "mesej produk"
Jadual penghantaran mesej tapak
CREATE TABLE `inbox_message` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `message_text_id` bigint(20) NOT NULL, `receiver_name` varchar(255) NOT NULL DEFAULT '', `read` tinyint(4) NOT NULL DEFAULT '0', `deleted` tinyint(4) NOT NULL DEFAULT '0', `create_time` datetime NOT NULL, `update_time` datetime NOT NULL, PRIMARY KEY (`id`), KEY `inbox_message_receiver_name_deleted_read_id` (`receiver_name`,`deleted`,`read`,`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Jadual sumber mesej
CREATE TABLE `inbox_module` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `code` varchar(128) NOT NULL DEFAULT '', `name` varchar(128) NOT NULL DEFAULT '', `create_time` datetime NOT NULL, `update_time` datetime NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `code` (`code`), UNIQUE KEY `name` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
6 reka bentuk API
Hantar mesej tapak: POST /v1/message
badan permintaan Jenis Kandungan: application/json
{ "title": "工单审批", "content": "XXX提交了变更申请,请审批", "to": "sunzhongyuan,shenli,wangya", "module_name": "工单平台", "link": "xxx" }
respon
{ "code": 200, "data": 32, "msg": "OK" }
Dapatkan senarai mesej tapak: GET /v1/ mesej User-Id: xxx
http://127.0.0.1:10085/v1/message?query=message_text_id.module_id.name:xxx&limit=1
{ "code": 200, "data": { "data": [ { "id": 1, "message_text": { "id": 1, "title": "title 2", "content": "content 2", "create_time": "2018-01-12 11:13:48", "update_time": "2018-01-12 11:13:48", "send_type": 1, "creator_name": "sysadmin", "deleted": 0, "link": "xxx", "Messages": null, "module": { "id": 4, "code": "secure", "name": "xxx", "create_time": "2018-01-11 15:38:01", "update_time": "2018-01-11 15:38:01", "MessageTexts": null } }, "receiver_name": "xxx", "read": 0, "deleted": 0, "create_time": "2018-01-12 11:13:48", "update_time": "2018-01-12 11:13:48" } ], "total": 2 }, "msg": "OK" }
Sudah Dibaca dan batch membaca mesej tapak: PUT /v1/read_messages/:messageIds
respon
{ "code": 200, "data": "OK", "msg": "OK" }
Semua baca PUT: / v1/read_all_messages
respons Sama seperti di atas
Padam dan padam secara kelompok mesej tapak: PUT /v1/delete_messages/:messageIds
balas Sama seperti di atas
Padam semua tapak mesej: PUT /v1/delete_all_messages
respons Sama seperti di atas
Dapatkan senarai sumber mesej: GET /v1/modul
balas
{ "code": 200, "data": [ { "id": 1, "code": "worksheet", "name": "工单平台", "create_time": "2018-01-11 15:21:38", "update_time": "2018-01-11 15:21:38", "MessageTexts": null }, { "id": 2, "code": "cmdb", "name": "资源管理", "create_time": "2018-01-11 15:22:28", "update_time": "2018-01-11 15:22:28", "MessageTexts": null }, ... ], "msg": "OK" }
7. Nota Ujian
1 Menghantar mesej tapak
Antara muka tulen
Pengguna penerima dipisahkan dengan koma , keaslian tidak disahkan
Pengguna penerima telah pengesahan panjang, 50 bait
kandungan tajuk mempunyai pengesahan panjang, masing-masing adalah 45 dan 150 bait
nama_modul ialah senarai, anda mesti memilih satu dari sini
2 Antara muka lain boleh diakses melalui halaman hadapan Pengujian
8. Pengoptimuman
Senarai yang belum dibaca boleh dipaparkan dalam huruf tebal, manakala senarai yang dibaca boleh dipaparkan dalam fon biasa
Kategori mesej dan label dalam tapak. mereka dengan latitud berbeza untuk memudahkan penapisan, carian dan penyekatan
Pengguna boleh menetapkan mesej dalam tapak yang mereka dibenarkan untuk menerima sumber Mesej
-
Pentadbir boleh menambah, memadam, mengubah suai dan menyemak mesej seluruh tapak, kakitangan seluruh tapak dan atribut mesej seluruh tapak, seperti membatalkan mesej tapak supaya tiada sesiapa pun dapat melihatnya
Pentadbir boleh mengira bilangan mesej yang dihantar dalam tapak, penggunaan setiap produk, bahagian mesej dibaca, masa mesej dibaca dan cara mesej dibaca (klik atau kelompok) Operasi), dsb.
9 Reka bentuk titik fungsi utama
Tingkah laku ikon di sudut kanan atas<.>
1 Klik ikon untuk memaparkan N mesej terbaharu yang belum dibaca
Tunjukkan kotak lungsur
Dapatkan N terkini dalam masa nyata Mesej belum dibaca
N boleh menjadi 5 hingga 10, nilai khusus bergantung pada had ketinggian kotak lungsur
-
Apabila mesej yang belum dibaca kurang daripada N , kotak lungsur turun boleh menyesuaikan diri dengan ketinggian
Jika tiada mesej yang belum dibaca, paparkan "Belum ada mesej baharu"
Hentikan pengambilan setiap 10 saat Antara muka kiraan mesej yang belum dibaca
Gelongsor ke bawah kotak lungsur untuk memaparkan lebih banyak mesej yang belum dibaca (hanya dapatkan id yang lebih kecil daripada id minimum dalam paparan senarai mesej, iaitu, jangan terima mesej baharu selepas mengklik ikon)
Kotak lungsur turun tidak hilang
Masih Hentikan antara muka untuk mendapatkan bilangan mesej yang belum dibaca setiap 10 saat
Kurangkan bilangan mesej yang belum dibaca sebanyak 1
Padamkan mesej semasa daripada senarai mesej yang belum dibaca (sepotong )
Paparan pop timbul kotak
5 Tutup kotak timbul atau klik di luar:
Kotak pop timbul hilang
Kotak lungsur turun tidak hilang
Anda boleh terus mengklik pada mesej yang belum dibaca
Kotak lungsur turun hilang
Kosongkan senarai mesej yang belum dibaca sedia ada
Pulihkan bilangan mesej yang belum dibaca yang diperolehi setiap 10 saat Antara Muka
Gelagat ikon Alibaba Cloud ialah:
Bilangan mesej yang belum dibaca hanya akan diminta sekali apabila halaman dimuat semula dan tidak akan dimuat semula kerap selepas itu (sudah tentu ia juga mungkin Ini kerana selang masa penyegaran adalah agak panjang, tetapi saya tidak menemuinya; atau mungkin kaedah soket digunakan untuk mewujudkan pautan yang panjang)
-
ikon tuding, iaitu kotak lungsur yang memaparkan mesej yang belum dibaca
Klik ikon untuk memasuki halaman pengurusan mesej tapak Secara lalai ialah "Mesej Belum Dibaca"
4 Klik pada mesej yang belum dibaca dan buka Tab baharu untuk memaparkan butiran mesej (halaman butiran kekal). tidak berubah, iaitu, tiada mesej yang belum dibaca tolak satu, dan mesej yang diklik sahaja tidak dipadamkan daripada kotak lungsur
5 Maksimum 5 mesej boleh dipaparkan sebagai selagi halaman tidak dimuat semula, ia akan sentiasa menjadi 5 mesej ini
6 Tiada tatal untuk lebih banyak fungsi, hanya untuk melihat lebih banyak, klik untuk memasuki halaman pengurusan mesej tapak "
. Perbezaan antara mengklik ikon dan mengklik ikon ialah: mengklik ikon terus melompat ke halaman semasa ke halaman pengurusan mesej tapak. Mengklik "Lihat Lagi" akan mencipta Tab baharu
7 Terdapat butang "Pengurusan Penerimaan Mesej" tambahan Halaman semasa melompat ke halaman pengurusan mesej tapak, tetapi lalai ialah "Pengurusan Penerimaan Asas"
<.>
Sembunyikan bar kemajuan penyemak imbas
Antara muka untuk mendapatkan bilangan mesej yang belum dibaca setiap 10 saat akan mencetuskan penyemak imbas untuk memaparkan bar kemajuan, mengganggu perhatian pengguna, untuk menyembunyikan bar kemajuan ini. Gelagat lain untuk menyegarkan halaman tidak akan terjejas.Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi mesej peribadi dalam tapak dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Jika anda seorang pembangun PHP yang berpengalaman, anda mungkin merasakan bahawa anda telah berada di sana dan telah melakukannya. Anda telah membangunkan sejumlah besar aplikasi, menyahpenyahpepijat berjuta-juta baris kod dan mengubah suai sekumpulan skrip untuk mencapai op

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.
