У меня есть приложение, которое использует локальное хранилище Chrome для сохранения некоторой информации на ПК пользователя.Удаление локального хранилища Chrome после закрытия приложения NWJS на Windows
Это приложение отлично работает на OS X и Linux (Ubuntu), однако при тестировании в Windows 8.1 я открыл локальную папку хранения приложения. Было 2 файла:
chrome-extension_nbcogalgoagjhkbkpjfkfcckdmochgmi_0.localstorage
chrome-extension_nbcogalgoagjhkbkpjfkfcckdmochgmi_0.localstorage-journal
Как только я закрыл приложение, я увидел в папке, что оба файла были удалены!
После этого я снова открыл приложение и обнаружили, что теперь он создал эти файлы:
chrome-extension_cobbbbdapgeflbdpmchapmffabihofip_0.localstorage
chrome-extension_cobbbbdapgeflbdpmchapmffabihofip_0.localstorage-journal
И еще раз после закрытия приложения они оба были удалены.
Я использую NWJS SDK 13 alpha version 3, потому что мы работаем с Chrome Serial.
Это проблема, которая возникает только в Windows, еще не протестирована на других версиях Windows, но по крайней мере на Windows 8.1 она была, когда я проверял папки Local Storage на OS X и Ubuntu, файлы не получили удален.
Я выполняю его в режиме администратора.
Я также заметил, что после закрытия приложения он не удаляется, но после его открытия снова.
Не уверен, какие файлы должны быть отправлены, поэтому я опубликую то, что, я думаю, может помочь. Я не программировал в JS много, ни с NWJS. Возможно, что я делаю что-то неправильно, и потому что я не знаю, что может быть полезным или что не я не уверен, о внесении MCVE ...
manifest.json
{
"manifest_version": 2,
"name": "Hello World",
"version": "2.1",
"minimum_chrome_version": "23",
"icons": {
"16": "assets/images/16x16.png"
},
"app": {
"background": {
"scripts": ["main.js"]
}
},
"permissions": ["serial"]
}
Package.json :
{
"main": "main.html",
"name": "PAGUSS",
"description": "Paguss Payment Services",
"version": "0.1.0",
"keywords": [ "paguss", "payment" ],
"window": {
"title": "Paguss",
"transparent": true,
"icon": "assets/images/64x64.png",
"toolbar": false,
"frame": true,
"resizable": true,
"position": "mouse",
"min_width": 400,
"min_height": 500,
"max_width": 1200,
"max_height": 800,
"no-edit-menu": false
},
"webkit": {
"plugin": false
}
}
Первая функция выполняется при вызове login.js:
function recoverBusinessConf(){
var obj = {
"id": "1",
"saleExecutorFlow" : "[{\"callback\": \"validateTransactionData\"},{\"callback\": \"getTid\"},{\"callback\": \"fillTransactionData\"},{\"callback\": \"parseJsonToXML\"},{\"callback\": \"sendRequest\"},{\"callback\": \"processResponse\"},{\"callback\": \"endTransaction\"},{\"callback\": \"printVoucher\"},{\"callback\": \"updateLastRecordNumber\"},{\"callback\": \"sendTransactionToPagussServer\"}]",
"name": "SOFIA IS",
"rfc": "SIS141707UPT",
"address": {
"street": "CASTILLA 136",
"cologne": "ALAMOS",
"city": "BENITO JUÁREZ",
"country": "MÉXICO",
"postalCode": "03020",
"latitude": "",
"longitude": "",
"zone": "DISTRITO FEDERAL"
},
"additionalData": {
"reference": false,
"waiter": false,
"turn": false,
"room": false
},
"product": {
"id": "1",
"type": "RETAIL",
"operatives": {
"sale": {
"menu-link": "",
"title": "Venta",
"voucher": "",
"elavonMessage": "{\"Request\": {\"_id\":\"Credit Card.Sale\",\"Version\":\"4018\",\"Block\":[{\"_id\":\"HD\",\"Network_Status_Byte\":\"*\",\"Transaction_Code\":\"000\",\"Application_ID\":\"${vendorId}\",\"Terminal_ID\":\"${affiliationAndTid}\",\"Device_Tag\":\"${serialNumber}\"},{\"_id\":\"01\",\"POS_Entry_Capability\":\"04\",\"Account_Entry_Mode\":\"${accountEntryMode}\",\"Partial_Auth_Indicator\":\"0\",\"Account_Data\":\"${track02}\",\"Transaction_Amount\":\"${elavonFormattedAmount}\",\"Last_Record_Number\":\"${lastRecordNumber}\"},{\"_id\":\"03\",\"Merchant_Reference_Nbr\":\"${merchantReferenceNumber}\"},{\"_id\":\"16\",\"ICC_Cryptogram\":\"${_9F26}\",\"ICC_CID\":\"${_9F27}\",\"ICC_AED\":\"000000\",\"ICC_Unpredictable_Number\":\"${_9F37}\",\"ICC_ATC\":\"${_9F36}\",\"ICC_TVR\":\"${_95}\",\"ICC_TT\":\"${_9C}\",\"ICC_AIP\":\"${_82}\",\"ICC_TCP\":\"${_9F33}\",\"ICC_CVMR\":\"${_9F34}\",\"ICC_TTD\":\"${_9A}\",\"ICC_Transaction_Currency\":\"${_5F2A}\",\"ICC_Authorized_Amount\":\"${_9F02}\",\"ICC_Other_Amount\":\"${_9F03}\",\"ICC_Terminal_Type\":\"${_9F35}\",\"ICC_CSN\":\"${_5F34}\",\"ICC_IAD\":\"${_9F10}\"}]}}",
"voucher": ["[email protected] Santader @br @cnn VENTA @br @cnn (_affiliation_number_) _business_name_ @cnn _address_street_ @cnn _address_cologne_, _address_city_ @cnn _address_zone_ @br @lnn No.Tarjeta: _ccnumber_ @br @lnn _ccvendor_ @br @lnn APROBADA @lnn IMPORTE @cnn $ _amount_ _currency_ @br @lnn Oper.: _id_ @lnn Ref.: _reference_ @lnn ARQC: _arqc_ @lnn AID: _aid_ @lnn Aut.: _auth_ @br @lnn Fecha: _date_ _time_ @br @cnn ME OBLIGO EN LOS TERMINOS DADOS AL REVERSO DE ESTE DOCUMENTO @br @br @br @br @cnn ______________________________ @cnn _ccname_ @bc _id_ @br @br @br @br @br @br @br",
"[email protected] Santader @br @cnn VENTA @br @cnn (_affiliation_number_) _business_name_ @cnn _address_street_ @cnn _address_cologne_, _address_city_ @cnn _address_zone_ @br @lnn No.Tarjeta: _ccnumber_ @br @lnn _ccvendor_ @br @cnn C-L-I-E-N-T-E @br @lnn APROBADA @lnn IMPORTE @cnn $ _amount_ _currency_ @br @lnn Oper.: _id_ @lnn Ref.: _reference_ @lnn ARQC: _arqc_ @lnn AID: _aid_ @lnn Aut.: _auth_ @br @lnn Fecha: _date_ _time_ @br @cnn ME OBLIGO EN LOS TERMINOS DADOS AL REVERSO DE ESTE DOCUMENTO @br @br @br @br @cnn ______________________________ @cnn _ccname_ @bc _id_ @br @br @br @br @br @br @br"]
}
}
},
"installer": {
},
"keyAccountManager": {
},
"affiliation": [{
"affiliation": "7749517",
"lastRecordNumber": 0,
"device": {
"serie": "",
"model": "",
"version": "",
"tids": ["001"]
},
"paymentModes": [{
"type": "C",
"text": "Contado",
"max": 1000.0,
"min": 10.0,
"active": true,
"iniDate": "01/11/2015 9:00",
"endDate": "01/12/2015 9:00"
}],
"currency": "MXN"
}],
"users": [{
"id": "1",
"name": "Ricardo",
"active": true,
"lastName": "Vargas",
"mothersName": "Flores",
"mail": "[email protected]",
"masterPin": "3579"
}]
};
chrome.storage.local.set({'business': obj},function(items){
window.location.href = '/view/index.html'
});
}
Хорошо, но почему локальное хранилище не сохраняет что-либо только на Windows, если оно отлично работает в Linux и OS X? Вам нужно больше информации? Какой код, и я буду искать его – Frakcool
Он отлично работает в Windows. Почему вы думаете, что это не так? – wOxxOm
Мое приложение проверяет, есть ли какие-либо данные, хранящиеся в локальном хранилище Chrome (это приложение на основе NWJS), если этого не происходит, тогда он просит пользователя ввести идентификатор и ключ (представить пользователя и пароль) и некоторые другие конфигурации. После того, как они полностью сконфигурировали его, если они закрываются/выходят из приложения, они должны иметь возможность видеть экран входа (который отлично работает на Linux и OS X), но в Windows он просто возвращает меня на «экран регистрации» вместо «экран входа в систему». – Frakcool