Выход приложения в Кордове не может очистить сеансы на сервере

#php #cordova #session #phonegap

#php #cordova #сеанс #phonegap

Вопрос:

Я использую Cordova для создания онлайн-приложения, я использую некоторые переменные сеанса на моем сервере (php). когда я выхожу из этого приложения, сеансы все еще существуют на моем сервере. как я могу исправить это, чтобы автоматически отключать все сеансы? вот мой package.json:

 {
  "name": "helloworld",
  "displayName": "HelloCordova",
  "version": "1.0.0",
  "description": "A sample Apache Cordova application that responds to the deviceready event.",
  "main": "index.js",
  "scripts": {
    "test": "echo "Error: no test specified" amp;amp; exit 1"
  },
  "author": "Apache Cordova Team",
  "license": "Apache-2.0",
  "dependencies": {
    "cordova-android": "^7.1.4",
    "cordova-browser": "^5.0.4",
    "cordova-plugin-device": "^2.0.2",
    "cordova-plugin-dialogs": "^2.0.1",
    "cordova-plugin-inappbrowser": "^3.0.0",
    "cordova-plugin-nativestorage": "^2.3.2",
    "cordova-plugin-network-information": "^2.0.1",
    "cordova-plugin-share": "^0.1.3",
    "cordova-plugin-statusbar": "^2.4.2",
    "cordova-plugin-whitelist": "^1.3.3",
    "cordova-plugin-x-toast": "^2.7.2"
  },
  "cordova": {
    "plugins": {
      "cordova-plugin-dialogs": {},
      "cordova-plugin-nativestorage": {},
      "cordova-plugin-device": {},
      "cordova-plugin-whitelist": {},
      "cordova-plugin-x-toast": {},
      "cordova-plugin-statusbar": {},
      "cordova-plugin-inappbrowser": {},
      "cordova-plugin-network-information": {},
      "nl.madebymark.share": {}
    },
    "platforms": [
      "browser",
      "android"
    ]
  }
}
  

Ответ №1:

Вы ищете собственные onDestroy и applicationWillTerminate функции для Android и iOS соответственно. Попробуйте выполнить поиск плагинов, добавив эти ключевые слова. Кажется, для этих событий существуют некоторые плагины cordova:

Однако я не проверял их достоверность. Есть большая вероятность, что приложение на самом деле может быть уже уничтожено к моменту получения события вашим WebView приложением по cordova bridge.

С другой стороны, почему бы просто не сохранить токен сеанса и в вашем приложении? Просто храните его где-нибудь надежно. Тот факт, что пользователю не нужно входить в систему при каждом закрытии приложения, является отличной функцией, а не ошибкой.

Комментарии:

1. спасибо за ответ, но я должен использовать некоторые сеансы на сервере, я думаю, что когда сервер проводит все сеансы, его память может быть заполнена! мне просто нужно автоматически очистить все сеансы сервера при выходе из приложения.