摘要:一行代碼讓微信小程序支持,傳送門微信原生的網(wǎng)絡(luò)請(qǐng)求接口并不支持傳統(tǒng)的,但有時(shí)候我們現(xiàn)有的后端接口確于依賴比如服務(wù)器用戶登錄態(tài),這個(gè)庫可用一行代碼為你的小程序?qū)崿F(xiàn)機(jī)制,以保證基于的服務(wù)會(huì)話不會(huì)失效,與端共用會(huì)話機(jī)制一行代碼讓小程序支持可
weapp-cookie
一行代碼讓微信小程序支持 cookie,傳送門:githubIntro
微信原生的 wx.request 網(wǎng)絡(luò)請(qǐng)求接口并不支持傳統(tǒng)的 Cookie,但有時(shí)候我們現(xiàn)有的后端接口確于依賴 Cookie(比如服務(wù)器用戶登錄態(tài)),這個(gè)庫可用一行代碼為你的小程序?qū)崿F(xiàn) Cookie 機(jī)制,以保證基于 cookie 的服務(wù)會(huì)話不會(huì)失效,與 web 端共用會(huì)話機(jī)制
Featrues一行代碼讓小程序支持 cookie
可使用 api 獲取、設(shè)置 cookie
支持 domain/path 作用域
Installnpm install weapp-cookie --save # 將 npm 包復(fù)制到 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 調(diào)用方式保持不變,引入后 weapp-cookie 會(huì)在底層自動(dòng)代理 wx.request 的接口訪問,以支持 cookie 存儲(chǔ)和發(fā)送
// pages/home/index.js Page({ onLoad: function () { wx.request({ url: "https://example.com/login", data: { username: "admin", password: "123456" }, success: function (res) { /* * 接口調(diào)用成功后 weapp-cookie 會(huì)自動(dòng)保存后端發(fā)送的所有Cookie(比如:SessionID) * 并在后續(xù)的所有請(qǐng)求中帶上,以保證基于 cookie 的服務(wù)器會(huì)話機(jī)制不會(huì)失效, * 實(shí)現(xiàn)與 web 端共用會(huì)話機(jī)制(無需再手動(dòng)維護(hù) 3rd_session_key) */ } }) } })
cookie 操作可通過 api 調(diào)用
import cookies from "weapp-cookie" // 獲取 cookie let token = cookies.get("csrf_token", "example.com") // 設(shè)置 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") // ... 詳情請(qǐng)參考 ApiApi CookieStore
import cookies from "weapp-cookie" /** * 獲取 cookie 值 * @param {String} name cookie 名稱 * @param {String} [domain] 指定域名(可選) * @return {String} cookie 值 */ cookies.get(String name, String domain) /** * 設(shè)置 cookie * @param {String} name cookie 名稱 * @param {String} value cookie 值 * @param {Object} options cookie 選項(xiàng) * @param {String} options.domain 設(shè)置域名 * @param {String} [options.path] * @param {Date} [options.expires] * @param {Number} [options.maxAge] * @param {Boolean} [options.httpOnly] * @return {Cookie} cookie 對(duì)象 */ cookies.set(String name, String value, Object options) /** * 是否存在某個(gè) 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 對(duì)象 * @param {String} name cookie 名稱 * @param {String} [domain] 指定域名(可選) * @return {Cookie} cookie 對(duì)象 */ cookies.getCookie(String name, String domain) /** * 獲取 cookies JSON對(duì)象 * @param {String} [domain] 指定域名(可選,不指定則獲取包含所有域名的 cookie 值對(duì)象) * @return {Object} cookie JSON對(duì)象 */ cookies.getCookies(String domain) /** * 清除 cookie * @param {String} [domain] 指定域名(可選,不指定則清除所有域名 cookie) * @return {Boolean} 是否清除成功 */ cookies.clearCookies (domain) /** * 獲取所有存儲(chǔ)的域名和 cookies 結(jié)構(gòu) * @return {Object} obj 結(jié)構(gòu)JSON對(duì)象 */ cookies.dir(domain)Cookie
import cookies from "weapp-cookie" // 獲取 cookie 對(duì)象 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 方法 ===== /** * 驗(yàn)證 cookie 是否過期 * @return {Boolean} 是否過期 */ cookie.isExpired() /** * 驗(yàn)證 cookie 是否可持久化 * @return {Boolean} 是否可持久化 */ cookie.isPersistence()
如果對(duì)你有用,歡迎 star ^_^
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/98006.html
摘要:為了方便大家了解并入門微信小程序,我將一些可能會(huì)需要的知識(shí),列在這里,讓大家方便的從零開始學(xué)習(xí)一微信小程序的特點(diǎn)張小龍張小龍全面闡述小程序,推薦通讀此文小程序是一種不需要下載安裝即可使用的應(yīng)用,它出現(xiàn)了觸手可及的夢(mèng)想,用戶掃一掃或者搜一下即 為了方便大家了解并入門微信小程序,我將一些可能會(huì)需要的知識(shí),列在這里,讓大家方便的從零開始學(xué)習(xí); 一:微信小程序的特點(diǎn) 張小龍:張小龍全面闡述小程...
摘要:為了方便大家了解并入門微信小程序,我將一些可能會(huì)需要的知識(shí),列在這里,讓大家方便的從零開始學(xué)習(xí)一微信小程序的特點(diǎn)張小龍張小龍全面闡述小程序,推薦通讀此文小程序是一種不需要下載安裝即可使用的應(yīng)用,它出現(xiàn)了觸手可及的夢(mèng)想,用戶掃一掃或者搜一下即 為了方便大家了解并入門微信小程序,我將一些可能會(huì)需要的知識(shí),列在這里,讓大家方便的從零開始學(xué)習(xí); 一:微信小程序的特點(diǎn) 張小龍:張小龍全面闡述小程...
摘要:為了方便大家了解并入門微信小程序,我將一些可能會(huì)需要的知識(shí),列在這里,讓大家方便的從零開始學(xué)習(xí)一微信小程序的特點(diǎn)張小龍張小龍全面闡述小程序,推薦通讀此文小程序是一種不需要下載安裝即可使用的應(yīng)用,它出現(xiàn)了觸手可及的夢(mèng)想,用戶掃一掃或者搜一下即 為了方便大家了解并入門微信小程序,我將一些可能會(huì)需要的知識(shí),列在這里,讓大家方便的從零開始學(xué)習(xí); 一:微信小程序的特點(diǎn) 張小龍:張小龍全面闡述小程...
摘要:微信小程序列表頁面簡(jiǎn)單的列表頁面和數(shù)據(jù)添加,此時(shí)有一些問題在清除一些用戶交互的頁面的時(shí)候有些問題。一個(gè)微信小程序,同時(shí)只能有個(gè)網(wǎng)絡(luò)請(qǐng)求連接。可能要在服務(wù)器上配置一些參數(shù),可以讓微信小程序調(diào)用基本上是沒有問題的。 weixinApp 微信小程序toDoList 列表頁面 簡(jiǎn)單的列表頁面和數(shù)據(jù)添加,此時(shí)有一些問題 setData在清除一些用戶交互的頁面的時(shí)候有些問題。 inputA 是一...
閱讀 1168·2023-04-26 01:35
閱讀 2561·2021-11-02 14:44
閱讀 7692·2021-09-22 15:38
閱讀 2246·2021-09-06 15:11
閱讀 3735·2019-08-30 15:53
閱讀 841·2019-08-29 16:54
閱讀 669·2019-08-26 13:48
閱讀 1783·2019-08-26 13:47