cookie.d.ts 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. import { XEUtilsMethods } from '../xe-utils'
  2. export interface CookieOptions {
  3. /**
  4. * 键
  5. */
  6. name?: string;
  7. /**
  8. * 值
  9. */
  10. value?: string;
  11. /**
  12. * 路径
  13. */
  14. path?: string;
  15. /**
  16. * 作用域
  17. */
  18. domain?: string;
  19. /**
  20. * 设置为安全的,只能用https协议
  21. */
  22. secure?: string;
  23. /**
  24. * 过期时间,可以指定日期或者字符串,默认天
  25. */
  26. expires?: string;
  27. }
  28. export interface XECookie {
  29. /**
  30. * 根据 name 判断 Cookie 是否存在
  31. * @param name 键
  32. */
  33. has(name: string): boolean;
  34. /**
  35. * 添加 Cookie
  36. * @param name 键
  37. * @param value 值
  38. * @param options 可选参数
  39. */
  40. set(name: string, value: any, options?: CookieOptions): this;
  41. setItem(name: string, value: any, options?: CookieOptions): this;
  42. /**
  43. * 根据 name 获取 Cookie
  44. * @param name 键
  45. */
  46. get(name: string): string;
  47. getItem(name: string): string;
  48. /**
  49. * 根据 name 删除 Cookie
  50. * @param name 键
  51. * @param options 可选参数
  52. */
  53. remove(name: string, options?: CookieOptions): number;
  54. removeItem(name: string, options?: CookieOptions): number;
  55. /**
  56. * 获取 Cookie 所有键
  57. */
  58. keys(): any[];
  59. /**
  60. * 获取所有 Cookie
  61. */
  62. getJSON(): any;
  63. }
  64. /**
  65. * Cookie 操作函数
  66. * @param name 键/数组/对象
  67. * @param value 值
  68. * @param options 可选参数
  69. */
  70. export declare function cookie(name?: string, value?: any, options?: CookieOptions): XECookie;
  71. declare module '../xe-utils' {
  72. interface XEUtilsMethods {
  73. /**
  74. * Cookie 操作函数
  75. * @param name 键/数组/对象
  76. * @param value 值
  77. * @param options 可选参数
  78. */
  79. cookie: typeof cookie;
  80. }
  81. }
  82. export default cookie