lanis icon indicating copy to clipboard operation
lanis copied to clipboard

Nachrichten interagierbar machen

Open spezian opened this issue 2 years ago • 12 comments

Unterhaltungs-Status setzen. Auf eine Unterhaltung antworten. Neue Unterhaltung starten mit den 4 Arten.

spezian avatar Dec 21 '23 23:12 spezian

Ist das Issue noch aktuell?

alessioC42 avatar Dec 28 '23 13:12 alessioC42

Ich kann es erst nach den Winterferien machen, da der Lehrer nicht geantwortet hat.

spezian avatar Dec 28 '23 13:12 spezian

Um Nachrichten schnell auszublenden oder wieder einzublenden, würde ich es durch "Swipen" ermöglichen.

https://api.flutter.dev/flutter/widgets/Dismissible-class.html

Man muss es nur irgendwie kennzeichen.

Das gleiche könnte man auch mit Haussufgaben machen, aber die haben schon einen schnellen Weg durch die fette Checkbox.

spezian avatar Jan 11 '24 04:01 spezian

JS: https://start.schulportal.hessen.de/module/nachrichten/js/read.js Koenidv: https://github.com/koenidv/sph-planner/blob/main/app/src/main/java/de/koenidv/sph/networking/Messages.kt sendReply

Ein Kommentar zu schreiben hat zwei Felder:

a, zb: reply

c,

  • to
    • ["Sender"]
  • groupOnly (Lanis guckt nur ob das existiert)
    • ["groupOnly"]
  • privateAnswerOnly (Lanis guckt nur ob das existiert)
    • ["privateAnswerOnly"]
  • message
    • Die Nachricht
  • replyToMsg
    • ["Uniquid"]

spezian avatar Jan 28 '24 17:01 spezian

JS: https://start.schulportal.hessen.de/module/nachrichten/js/start.js $('#btnNewMsgSave').click(function () { ...._ Koenidv: https://github.com/koenidv/sph-planner/blob/main/app/src/main/java/de/koenidv/sph/ui/ChatFragment.kt#L133 sendFirstMessage

Neue Unterhaltung starten:

a: newmessage

c,

Empfänger to[]

  • Lehrer deiner Kurse
  • (Falls aktiviert) Schüler deiner Kurse
  • Für die Suche gibt es eine Funktion
    • https://start.schulportal.hessen.de/nachrichten.php?q=LEHRER&page=1&a=searchRecipt
{
   "total_count":1,
   "incomplete_results":false,
   "items":[
      {
         "type":"lul",
         "id":"l-140824",
         "logo":"fa fa-user",
         "text":"bnsdlfsdfsdf"
      }
   ]

Arten Art

  • Hinweis
    • Keine Antworten
    • noAnswerAllowed
  • Mitteilung
    • Antwort nur an Nachrichtenersteller
    • privateAnswerOnly
  • Gruppenchat
    • Antwort immer an alle
    • groupOnly
  • Offener Chat
    • Private Nachrichten unereinander möglich
    • openChat

Betreff subject

Text text

POST data

[
  {
    "name": "to[]",
    "value": "l-36772"
  },
  {
    "name": "to[]",
    "value": "l-140824"
  },
  {
    "name": "Art",
    "value": "noAnswerAllowed"
  },
  {
    "name": "subject",
    "value": "asdasdasdasd"
  },
  {
    "name": "text",
    "value": "sadasdasd"
  }
]

spezian avatar Jan 28 '24 18:01 spezian

Das sieht nach noch mehr Drecksarbeit aus. Vorallem der offene Chat.

Ich versuche einfach zuerst Hinweis, Mitteilung und Gruppenchat zu machen. Das sind auch die häufigsten (und einzigsten) Varianten die ich sehe.

Die JSON-Daten der Nachrichten haben auch noch mehr Daten, ob sie gelöscht sind usw. Das müsste ich mir auch nochmal angucken.

spezian avatar Jan 28 '24 18:01 spezian

Vlt kannst du auch in dem Projekt von koenidv noch nach möglichkeiten das zu verstehen suchen

ich steige vlt auch bald in den Nachrichten ein

alessioC42 avatar Jan 28 '24 19:01 alessioC42

Vlt kannst du auch in dem Projekt von koenidv noch nach möglichkeiten das zu verstehen suchen

Gute Idee, solange der Code nicht schwarze Magie ist.

https://github.com/koenidv/sph-planner/blob/main/app/src/main/java/de/koenidv/sph/networking/Messages.kt

ich steige vlt auch bald in den Nachrichten ein

(:

spezian avatar Jan 28 '24 19:01 spezian

https://github.com/koenidv/sph-planner/blob/main/app/src/main/java/de/koenidv/sph/networking/Messages.kt

Das sieht doch eigentlich sehr überschaubar aus! Nur mache ich mir langsam Sorgen, dass client.dart zu unübersichtlich wird. Ich werde das in den nächsten Tagen nochmal überarbeiten und besser strukturieren.

alessioC42 avatar Jan 31 '24 15:01 alessioC42

JSON einer Unterhaltung (Alle antworten an alle)

{
  "Id": "4806",
  "Uniquid": "228322614a2589d70c062d2f13bb9741-bb10e4a2-7f82-450a-9a4b-2e580ab79feb",
  "Sender": "65767",
  "SenderArt": "Betreuer",
  "groupOnly": "ja",
  "privateAnswerOnly": "nein",
  "noAnswerAllowed": "nein",
  "Betreff": "blablablablablablablablabla",
  "Datum": "18.01.2021 13:10",
  "Inhalt": "blablabla,<br \/>\r\n<br \/>\r\nblablabla f\u00fcr blablabla.<br \/>\r\nDu ben\u00f6tigst f\u00fcr die blablabla (heute gab es gro\u00dfe technische Schwierigkeiten), blablabla.<br \/>\r\n<br \/>\r\nWas gut w\u00e4re, wenn du mich h\u00f6rst ......Gr\u00fcn",
  "WeitereEmpfaenger": null,
  "SenderName": "<span class=\"label label-info\"><i class=\"fas fa-user\"><\/i> Gr\u00fcn<\/span>",
  "Papierkorb": "nein",
  "statistik": {
    "teilnehmer": 1,
    "betreuer": 0,
    "eltern": 0
  },
  "own": false,
  "username": "<span class=\"label label-info\"><i class=\"fas fa-user\"><\/i> Gr\u00fcn<\/span>", 
// eigentlich nur Text nicht HTML
  "noanswer": true,
  "Delete": "17.02.2021 um 13:10:51 Uhr",
  "reply": [
    {
      "Uniquid": "813356fa6304bca5f5446e2b684072f8-c4a7e781-bf23-4bcc-8bef-d20c192f2a40",
      "Sender": "395032",
      "SenderArt": "Teilnehmer",
      "Datum": "23.12.2023 20:04",
      "Id": "58071",
      "Betreff": "Re: Deine Frage zur Videokonferenz",
      "Inhalt": "*test*",
      "SenderName": "<span class=\"label label-default\"><i class=\"fas fa-child\"><\/i> Gapinski, Dacjan<\/span>",
      "WeitereEmpfaenger": null,
      "statistik": {
        "teilnehmer": 0,
        "betreuer": 1,
        "eltern": 0
      },
  ],
  "empf": "",
  "private": 1,
  "ungelesen": false,
  "AntwortAufAusgeblendeteNachricht": false
}

Andere JSON (Antwort nur an Ersteller)

{
  "Id": "58150",
  "Uniquid": "d4581b08c326f1b2b986785382de8b73-104bcf0e-5d82-4ed1-bd90-f51919ca46a7",
  "Sender": "36726",
  "SenderArt": "Betreuer",
  "groupOnly": "nein",
  "privateAnswerOnly": "ja",
  "noAnswerAllowed": "nein",
  "Betreff": "aktuelle Infos LZA",
  "Datum": "13.01.2024 11:38",
  "Inhalt": "sdfgsdfsdfsdfsdfghfgbxcvdfdfgedrtf",
  "WeitereEmpfaenger": " <span class=\"label label-primary\"><i class=\"fas fa-users\"><\/i> Lernende der Klasse 08GA<\/span> <span class=\"label label-primary\"><i class=\"fas fa-users\"><\/i>  Lernende der Klasse 08GB<\/span> <span class=\"label label-primary\"><i class=\"fas fa-users\"><\/i>  Lernende der Klasse 08GC<\/span> <span class=\"label label-primary\"><i class=\"fas fa-users\"><\/i>  Lernende der Klasse 09GA<\/span> <span class=\"label label-primary\"><i class=\"fas fa-users\"><\/i>  Lernende der Klasse 09GB<\/span> <span class=\"label label-primary\"><i class=\"fas fa-users\"><\/i>  Lernende der Klasse 09GC<\/span>",
  "SenderName": "<span class=\"label label-info\"><i class=\"fas fa-user\"><\/i> Kowalski<\/span>",
  "Papierkorb": "nein",
  "statistik": {
    "teilnehmer": 147,
    "betreuer": 0,
    "eltern": 0
  },
  "own": false,
  "username": "El Krigo",
  "noanswer": false,
  "Delete": "12.02.2024 um 11:38:00 Uhr",
  "reply": [
    {
      "Uniquid": "6577332b6150380735ddfba73c2cc1ad-e6380647-11e6-4c46-a29c-f8829c21f50d",
      "Sender": "36726",
      "SenderArt": "Betreuer",
      "Datum": "13.01.2024 12:18",
      "Id": "58156",
      "Betreff": "Re: aktuelle Infos LZA",
      "Inhalt": "sdfgsdfdfgsdfgsdfgsdfg",
      "SenderName": "<span class=\"label label-info\"><i class=\"fas fa-user\"><\/i> sdgsdfgdfgdfg<\/span>",
      "WeitereEmpfaenger": null,
      "statistik": {
        "teilnehmer": 147,
        "betreuer": 0,
        "eltern": 0
      },
      "own": false,
      "username": "sdfgsdfgsfdgsdfg",
      "noanswer": false,
      "Delete": "12.02.2024 um 12:18:14 Uhr",
      "reply": [],
      "empf": "",
      "private": 147,
      "ungelesen": false,
      "AntwortAufAusgeblendeteNachricht": "on"
    },
  ],
  "empf": "",
  "private": 147,
  "ungelesen": false,
  "AntwortAufAusgeblendeteNachricht": "on"
}

Felder

Manche dieser Felder kann man für die POST Requests benutzen und Andere kann man noch implementieren.

spezian avatar Feb 02 '24 11:02 spezian

image

Nur noch Lehrersuche implementieren und dann kann ich mit der UI anfangen.

spezian avatar Feb 02 '24 19:02 spezian

Lehrersuche

Sieht so aus, als wäre es nicht nur eine Lehrersuche:

https://support.schulportal.hessen.de/knowledgebase.php?article=845

alessioC42 avatar May 05 '24 09:05 alessioC42