#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:
- https://github.com/agamemnus/cordova-plugin-ondestroy
- https://github.com/bsorrentino/cordova-broadcaster
Однако я не проверял их достоверность. Есть большая вероятность, что приложение на самом деле может быть уже уничтожено к моменту получения события вашим WebView
приложением по cordova bridge.
С другой стороны, почему бы просто не сохранить токен сеанса и в вашем приложении? Просто храните его где-нибудь надежно. Тот факт, что пользователю не нужно входить в систему при каждом закрытии приложения, является отличной функцией, а не ошибкой.
Комментарии:
1. спасибо за ответ, но я должен использовать некоторые сеансы на сервере, я думаю, что когда сервер проводит все сеансы, его память может быть заполнена! мне просто нужно автоматически очистить все сеансы сервера при выходе из приложения.