微信小程序中使用cookie

1,821 阅读1分钟

在微信小程序中使用weapp-cookie,可以让小程序支持cookie

1、安装weapp-cookie

npm install weapp-cookie --save

2、引入weapp-cookie

引入后 weapp-cookie 会在底层自动代理 wx.request的接口访问,以支持 cookie 存储和发送

//app.js
//import cookies from 'weapp-cookie'
import './miniprogram_npm/weapp-cookie/index'

3、API

import cookies from 'weapp-cookie'

/**
* 获取 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)
 
/**
* 获取 cookies Array 数组
* @param  {String} [domain]  指定域名(可选,不指定则获取包含所有域名的 cookie 数组)
* @return {Array}            Cookie 对象数组
*/
cookies.getCookiesArray(String domain)
 
/**
* 批量设置 cookie
* @param  {Array} cookies  Cookie 对象数组
* @return {Map}            cookies Map 对象
*/
cookies.setCookiesArray (Array cookies)
 
/**
* 清除 cookie
* @param  {String} [domain]  指定域名(可选,不指定则清除所有域名 cookie)
* @return {Boolean}          是否清除成功
*/
cookies.clearCookies (domain)
 
/**
* 获取所有存储的域名和 cookies 结构
* @return {Object}   obj   结构JSON对象
*/
cookies.dir(domain)