中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微信小程序如何支持cookie

發布時間:2021-01-28 10:36:56 來源:億速云 閱讀:1245 作者:小新 欄目:移動開發

這篇文章給大家分享的是有關微信小程序如何支持cookie的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

weapp-cookie

一行代碼讓微信小程序支持 cookie,傳送門:github

Intro

微信原生的 wx.request 網絡請求接口并不支持傳統的 Cookie,但有時候我們現有的后端接口確于依賴 Cookie(比如服務器用戶登錄態),這個庫可用一行代碼為你的小程序實現 Cookie 機制,以保證基于 cookie 的服務會話不會失效,與 web 端共用會話機制

Featrues

  • 一行代碼讓小程序支持 cookie

  • 可使用 api 獲取、設置 cookie

  • 支持 domain/path 作用域

Install

npm install weapp-cookie --save

# 將 npm 包復制到 vendor 文件夾,避免小程序可能不能找到文件(tips:使用 wepy/mpvue 等框架無需此步)
cp -rf ./node_modules/ ./vendor/

Usage

在小程序根目錄的 app.js 一行代碼引入即可

// app.js
import './vendor/weapp-cookie/index'

// tips: 使用 wepy/mpvue 可以直接在入口 js 引入 weapp-cookie 模塊
// import 'weapp-cookie'

App({
    onLaunch: function () { }
    // ...
})

原來的 wx.request 調用方式保持不變,引入后 weapp-cookie 會在底層自動代理 wx.request 的接口訪問,以支持 cookie 存儲和發送

// pages/home/index.js

Page({
    onLoad: function () {
        wx.request({
            url: 'https://example.com/login',
            data: {
                username: 'admin',
                password: '123456'
            },
            success: function (res) {
                /*
                 * 接口調用成功后 weapp-cookie 會自動保存后端發送的所有Cookie(比如:SessionID)
                 * 并在后續的所有請求中帶上,以保證基于 cookie 的服務器會話機制不會失效,
                 * 實現與 web 端共用會話機制(無需再手動維護 3rd_session_key) 
                 */
            }
        })
    }
})

cookie 操作可通過 api 調用

import cookies from 'weapp-cookie'

// 獲取 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')

// ... 詳情請參考 Api

Api

CookieStore

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)

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

/**
* 獲取所有存儲的域名和 cookies 結構
* @return {Object}   obj   結構JSON對象
*/
cookies.dir(domain)

Cookie

import cookies from 'weapp-cookie'

// 獲取 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()

感謝各位的閱讀!關于“微信小程序如何支持cookie”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

修文县| 台东县| 桓仁| 乌兰察布市| 莒南县| 哈密市| 修武县| 五大连池市| 福州市| 留坝县| 道孚县| 静乐县| 资中县| 开鲁县| 梁平县| 鲜城| 方正县| 宾川县| 岳普湖县| 黔南| 榆林市| 松溪县| 茂名市| 太保市| 榕江县| 哈密市| 龙里县| 类乌齐县| 宣化县| 高平市| 涞源县| 新源县| 城步| 哈巴河县| 绥江县| 滁州市| 岢岚县| 昆明市| 萍乡市| 卓尼县| 治县。|