Изменить метод в зависимости от cookies

136
03 ноября 2019, 04:00

Необходимо, чтобы метод возвращал { device_id: device_id } если в cookies есть строка device_id. Подскажите, пожалуйста, как это лучше реализовать в данном случае?

import { UAParser } from 'ua-parser-js'; 
 
export interface IDevice { 
  user_agent: string; 
  browser_name?: string; 
  browser_version?: string; 
  device_type?: string; 
  device_vendor?: string; 
  os_name?: string; 
  os_version?: string; 
  device_id?: number; 
} 
 
export class Device { 
  public user_agent: string; 
  public browser_name?: string;  
  public os_name?: string; 
  public device_type?: string; 
  public device_id?: number; 
 
 
  constructor(user_agent: string) { 
    this.user_agent = user_agent; 
  } 
 
  detect(): IDevice | null{ 
 
    var parser = new UAParser(); 
   
    this.browser_name = parser.setUA(this.user_agent).getBrowser().name; 
    this.os_name = parser.setUA(this.user_agent).getOS().name; 
    this.device_type = parser.setUA(this.user_agent).getDevice().type; 
     
    return { 
      user_agent: this.user_agent, 
      browser_name: this.browser_name, 
      os_name: this.os_name, 
      device_type: this.device_type 
    } 
 
  } 
 
}

Answer 1

Для работы с cookie в Angular вы можете использовать ngx-cookie-service

app.module.ts

...
import { CookieService } from 'ngx-cookie-service';
@NgModule({
  ...
  providers: [ CookieService ],
})

device.component.ts

import { UAParser } from 'ua-parser-js';
import { CookieService } from 'ngx-cookie-service';
constructor(user_agent: string, cookieService: CookieService) {
  ...
}
detect() {
  ...
  this.device_id = this.cookieService.get('device_id') || null;
}
setDeviceId(device_id: string): void {
  this.cookieService.set('device_id', device_id);
}
checkDeviceId(): boolean {
  this.cookieService.check('device_id');
}
READ ALSO
Как сделать чтобы прокрутка мыши не действовала на определенном article?

Как сделать чтобы прокрутка мыши не действовала на определенном article?

кому-то вечера или ночи, все вам ребята! Я постараюсь объяснить, чтобы вы меня понялиИтак в качестве образца я залил на тестовый домен html сайт

123
MySQL вывод значений

MySQL вывод значений

Как вывести данные, где col1 < col2

137
Ссылка на источник через html css

Ссылка на источник через html css

Каким образом можно реализовать такую вещь: при копирование ссылки с какого-то сайта и вставки в соц сеть, чтобы отображался блок с минимальной...

164