0.0.4 • Published 2 years ago

u-cookies v0.0.4

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

U-Cookies

Set and monitor cookie events in uniapp.

Install

npm install u-cookies -S

Usage

import cookies from 'u-cookies'

// 获取 cookie
let token = cookies.get('csrf_token', 'example.com')

// 设置 cookie
let cookie = cookies.set('uid', 100, { domain: 'example.com' })

// 删除 cookie
let isRemoved = cookies.remove('uid', 'example.com')

// 判断是否存在 cookie
let hasToken = cookies.has('uid', 'example.com')

// 监听 cookie 事件
cookies.addEventListener('cookies_token', (e) => {
  console.log(e);
  console.log('cookie 已改变');
});

// 删除 cookie 事件
const han = (e) => {
  console.log(e);
  console.log('cookie 已改变');
};

cookies.addEventListener('cookies_token', han);

cookies.removeEventListener('cookies_token', han);

Api

CookieStore

import cookies from 'u-cookies'

/**
* 获取 cookie 值
* @param {String} name       cookie 名称
* @param {String} [domain]   指定域名(可选)
* @return {String}           cookie 值
*/
cookies.get(String name, String domain)

/**
* 设置 cookie
* @param {String}  name              cookie 名称
* @param {String}  value             cookie 值
* @param {Object}  options           cookie 选项
* @param {String}  options.domain    设置域名
* @param {String}  [options.path]      
* @param {Date}    [options.expires]
* @param {Number}  [options.maxAge]
* @param {Boolean} [options.httpOnly]
* @return {Cookie}           cookie 对象
*/
cookies.set(String name, String value, Object options)

/**
* 是否存在某个 cookie
* @param  {String}  name       cookie 名称
* @param  {String}  [domain]   指定域名(可选,不指定则任意域名包含名称为 name 的 cokkie 即为存在)
* @return {Boolean}            是否存在
*/
cookies.has(String name, String domain)

/**
* 删除 cookie
* @param  {Array}  name      cookie 键
* @param  {String} [domain]  指定域名(可选,不指定则删除所有域名中名称为 name 的 cookie)
* @return {Boolean}          是否删除成功
*/
cookies.remove(String name, String domain)

/**
* 获取 cookie 对象
* @param {String} name       cookie 名称
* @param {String} [domain]   指定域名(可选)
* @return {Cookie}           cookie 对象
*/
cookies.getCookie(String name, String domain)

/**
* 获取 cookies JSON对象
* @param  {String} [domain]  指定域名(可选,不指定则获取包含所有域名的 cookie 值对象)
* @return {Object}           cookie JSON对象
*/
cookies.getCookies(String domain)

/**
* 清除 cookie
* @param  {String} [domain]  指定域名(可选,不指定则清除所有域名 cookie)
* @return {Boolean}          是否清除成功
*/
cookies.clearCookies (domain)

/**
* 获取所有存储的域名和 cookies 结构
* @return {Object}   obj   结构JSON对象
*/
cookies.dir(domain)

/**
* 监听 cookies 改变事件
* @param  {String} [eventName]  事件名(cookies_名称) 如:要监听cookie名称为token的,则事件名为cookies_token
* @param  {Function} [eventFunction]  事件函数
*/
cookies.addEventListener(eventName, eventFunction);

/**
* 删除 cookies 监听事件
* @param  {String} [eventName]  事件名(cookies_名称) 如:要监听cookie名称为token的,则事件名为cookies_token
* @param  {Function} [eventFunction]  事件函数
*/
cookies.removeEventListener(eventName, eventFunction);

Cookie

import cookies from 'u-cookies'

// 获取 cookie 对象
let cookie = cookies.getCookie('uuid', 'example.com')

// ===== cookie 属性 =====
cookie.name:        String
cookie.value:       String
cookie.domain:      String
cookie.path:        String
cookie.expires:     Date
cookie.maxAge:      Number
cookie.httpOnly:    Boolean

// ===== cookie 方法 =====

/**
 * 验证 cookie 是否过期
 * @return {Boolean} 是否过期
 */
cookie.isExpired()

/**
 * 验证 cookie 是否可持久化
 * @return {Boolean} 是否可持久化
 */
cookie.isPersistence()

License

This content is released under the MIT License.

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago