u-cookies
v0.0.4
Published
Set and monitor cookie events in uniapp.
Downloads
2
Readme
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.