Старая стандартная версия веб-чата, запоминающая пользователя во время сеансов при доступе через тот же браузер. Я предполагаю, что это было через использование куки? Новая версия ("Близнецы") не делает этого. Каждый раз, когда я закрываю окно браузера и снова открываю из того же браузера, отправляется новый идентификатор, поэтому у меня больше нет доступа к сохраненной информации о пользовательском состоянии. Чтобы восстановить форматирование, я переключился на botframework-webchat через прямую линию, и у меня возникла та же проблема. Существует явный ввод для userID, и я понятия не имею, как сделать это согласованным для конкретного пользователя.
Я не веб-разработчик и не нуждаюсь в этом времени, чтобы сделать это надежной реализацией. Я просто хочу, чтобы эта работа работала так же, как работал первый из чатов. Может кто-нибудь пролить свет на то, как работала эта предыдущая версия, и / или как я могу сделать так, чтобы прямая версия имела такую же функциональность?
Редактировать: На основании комментария Стивена к ответу ниже, Я пытался реализовать файлы cookie get / set, но это не работает. Ниже приведен код, который я пробовал. Через консоль я вижу, что получаю оператор if и генерируется userID, но он не сохраняется (я не вижу его в Application> Storage> Cookies, так что это не просто get не работает). Пожалуйста, сообщите!
function setCookie(name,value,days) {
var expires = "";
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days*24*60*60*1000));
expires = "; expires=" + date.toUTCString();
}
document.cookie = name + "=" + (value || "") + expires + "; path=/";
}
function getCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name) {
document.cookie = name+'=; Max-Age=-99999999;';
}
if (!getCookie('userID')) {
console.log('in if');
var userID = Date.now() + '_' + Math.random().toString().substr(2, 9);
console.log(userID);
setCookie('userID',userID,999);
}
console.log('out of if');