提交 9c101e51 authored 作者: blu's avatar blu

new feature: evwifi

上级 480fadb1
(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{209:function(t,n,e){var r=e(18);t.exports=function(t,n){if(!r(t)||t._t!==n)throw TypeError("Incompatible receiver, "+n+" required!");return t}},210:function(t,n,e){"use strict";var strong=e(211),r=e(209);t.exports=e(212)("Set",(function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}}),{add:function(t){return strong.def(r(this,"Set"),t=0===t?0:t,t)}},strong)},211:function(t,n,e){"use strict";var r=e(22).f,o=e(79),c=e(146),l=e(36),f=e(144),d=e(145),v=e(100),h=e(147),_=e(102),w=e(19),m=e(99).fastKey,C=e(209),y=w?"_s":"size",k=function(t,n){var e,r=m(n);if("F"!==r)return t._i[r];for(e=t._f;e;e=e.n)if(e.k==n)return e};t.exports={getConstructor:function(t,n,e,v){var h=t((function(t,r){f(t,h,n,"_i"),t._t=n,t._i=o(null),t._f=void 0,t._l=void 0,t[y]=0,null!=r&&d(r,e,t[v],t)}));return c(h.prototype,{clear:function(){for(var t=C(this,n),data=t._i,e=t._f;e;e=e.n)e.r=!0,e.p&&(e.p=e.p.n=void 0),delete data[e.i];t._f=t._l=void 0,t[y]=0},delete:function(t){var e=C(this,n),r=k(e,t);if(r){var o=r.n,c=r.p;delete e._i[r.i],r.r=!0,c&&(c.n=o),o&&(o.p=c),e._f==r&&(e._f=o),e._l==r&&(e._l=c),e[y]--}return!!r},forEach:function(t){C(this,n);for(var e,r=l(t,arguments.length>1?arguments[1]:void 0,3);e=e?e.n:this._f;)for(r(e.v,e.k,this);e&&e.r;)e=e.p},has:function(t){return!!k(C(this,n),t)}}),w&&r(h.prototype,"size",{get:function(){return C(this,n)[y]}}),h},def:function(t,n,e){var r,o,c=k(t,n);return c?c.v=e:(t._l=c={i:o=m(n,!0),k:n,v:e,p:r=t._l,n:void 0,r:!1},t._f||(t._f=c),r&&(r.n=c),t[y]++,"F"!==o&&(t._i[o]=c)),t},getEntry:k,setStrong:function(t,n,e){v(t,n,(function(t,e){this._t=C(t,n),this._k=e,this._l=void 0}),(function(){for(var t=this._k,n=this._l;n&&n.r;)n=n.p;return this._t&&(this._l=n=n?n.n:this._t._f)?h(0,"keys"==t?n.k:"values"==t?n.v:[n.k,n.v]):(this._t=void 0,h(1))}),e?"entries":"values",!e,!0),_(n)}}},212:function(t,n,e){"use strict";var r=e(13),o=e(12),c=e(26),l=e(146),meta=e(99),f=e(145),d=e(144),v=e(18),h=e(20),_=e(103),w=e(62),m=e(104);t.exports=function(t,n,e,C,y,k){var D=r[t],S=D,x=y?"set":"add",I=S&&S.prototype,E={},W=function(t){var n=I[t];c(I,t,"delete"==t?function(a){return!(k&&!v(a))&&n.call(this,0===a?0:a)}:"has"==t?function(a){return!(k&&!v(a))&&n.call(this,0===a?0:a)}:"get"==t?function(a){return k&&!v(a)?void 0:n.call(this,0===a?0:a)}:"add"==t?function(a){return n.call(this,0===a?0:a),this}:function(a,b){return n.call(this,0===a?0:a,b),this})};if("function"==typeof S&&(k||I.forEach&&!h((function(){(new S).entries().next()})))){var F=new S,R=F[x](k?{}:-0,1)!=F,A=h((function(){F.has(1)})),z=_((function(t){new S(t)})),M=!k&&h((function(){for(var t=new S,n=5;n--;)t[x](n,n);return!t.has(-0)}));z||((S=n((function(n,e){d(n,S,t);var r=m(new D,n,S);return null!=e&&f(e,y,r[x],r),r}))).prototype=I,I.constructor=S),(A||M)&&(W("delete"),W("has"),y&&W("get")),(M||R)&&W(x),k&&I.clear&&delete I.clear}else S=C.getConstructor(n,t,y,x),l(S.prototype,e),meta.NEED=!0;return w(S,t),E[t]=S,o(o.G+o.W+o.F*(S!=D),E),k||C.setStrong(S,t,y),S}},214:function(t,n,e){"use strict";e.r(n);e(101),e(3),e(1),e(210),e(49),e(148),e(42);var r=e(60),o=e.n(r),c={mounted:function(){return regeneratorRuntime.async((function(t){for(;;)switch(t.prev=t.next){case 0:try{this.getWifiData()}catch(t){console.log(t)}case 1:case"end":return t.stop()}}),null,this)},data:function(){var t=this;return{connectWifi:function(n){var e;return regeneratorRuntime.async((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,regeneratorRuntime.awrap(o.a.get("".concat("http://192.168.0.1","/wifi?mode=2&ssid=").concat(t.ssid,"&password=").concat(t.password)));case 2:return e=n.sent,n.abrupt("return",e);case 4:case"end":return n.stop()}}))},getWifiData:function(n){var param,e;return regeneratorRuntime.async((function(r){for(;;)switch(r.prev=r.next){case 0:return t.bInScan=!0,param=n?"true":"false",r.next=4,regeneratorRuntime.awrap(o.a.get("".concat("http://192.168.0.1","/wifi?scan=").concat(param)));case 4:e=r.sent,t.wifiData=e.data.wifiData,t.ssids=Array.from(new Set(t.wifiData.wifi.ssids)).filter((function(t){return""!=t&&null!=t})).map((function(t){var data=t.match(/ESSID:\"(.+)\"/)[1];if("\\"!=data[0])return data;for(var n=data.length,e=0;e<n;e+=1)String.fromCharCode(data[e]);return data})).filter((function(t){return"\\"!=t[0]})),t.devSn=t.wifiData.info.sn,t.bInScan=!1,console.log(t.devSn),console.log(t.ssids);case 11:case"end":return r.stop()}}))},cancelDisabled:!1,connDisabled:!1,bInScan:!1,ssid:"",devSn:"",password:"",ssids:["NO WIFI AVAILABLE"]}},computed:{connEnabled:function(){return this.password.length>=4&&!this.connDisabled}},methods:{scanWifi:function(t){this.getWifiData(!0)},config:function(t){console.log(t.target.innerText),this.ssid=t.target.innerText,this.password="",this.cancelDisabled=!1,this.connDisabled=!1,this.$bvModal.show("config")},closeModal:function(){this.$refs.config.hide()},connect:function(){this.connectWifi(),this.cancelDisabled=!0,this.connDisabled=!0}}},l=e(45),component=Object(l.a)(c,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("div",{staticClass:"grid"},[e("div",{staticClass:"row"},[e("nuxt-link",{staticClass:"col-4",attrs:{to:"/"}},[t._v("返回主页")]),t._v(" "),e("label",{staticClass:"col-4"},[t._v("WIFI配置")]),t._v(" "),e("label",{staticClass:"col-4"},[t._v(t._s(t.devSn))])],1),t._v(" "),e("div",{staticClass:"row"},[e("label",{staticClass:"col-4 offset-2"},[t._v("附近热点")]),t._v(" "),e("b-button",{staticClass:"col-4",attrs:{disabled:t.bInScan,variant:"primary"},on:{click:t.scanWifi}},[t._v("重新扫描")])],1),t._v(" "),e("div",{staticClass:"row"},t._l(t.ssids,(function(n){return e("b-button",{key:n.id,staticClass:"col-10 offset-1 mt-3",attrs:{variant:"primary"},on:{click:t.config}},[t._v(t._s(n))])})),1),t._v(" "),e("b-modal",{ref:"config",attrs:{"hide-header-close":"","no-close-on-esc":"","no-close-on-backdrop":"","hide-footer":"",id:"config",size:"mw-100",title:"WIFI连接配置"}},[e("div",{staticClass:"grid"},[e("div",{staticClass:"row"},[e("label",{staticClass:"col-4 offset-2",attrs:{disabled:"",variant:"info"}},[t._v("热点名")]),t._v(" "),e("b-button",{staticClass:"col-4",attrs:{disabled:""}},[t._v(t._s(t.ssid))])],1),t._v(" "),e("div",{staticClass:"row mt-4"},[e("label",{staticClass:"col-4 offset-2"},[t._v("密码")]),t._v(" "),e("b-input",{staticClass:"col-4",model:{value:t.password,callback:function(n){t.password=n},expression:"password"}},[t._v(t._s(t.ssid))])],1),t._v(" "),e("div",{staticClass:"row mt-4"},[e("b-button",{staticClass:"col-2 offset-3",attrs:{disabled:t.cancelDisabled,variant:"outline-danger"},on:{click:t.closeModal}},[t._v("取消")]),t._v(" "),e("b-button",{staticClass:"col-2 offset-2",attrs:{disabled:!t.connEnabled,variant:"primary"},on:{click:t.connect}},[t._v("连接")])],1)])])],1)}),[],!1,null,null,null);n.default=component.exports}}]);
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
!function(e){function r(data){for(var r,n,l=data[0],f=data[1],d=data[2],i=0,h=[];i<l.length;i++)n=l[i],Object.prototype.hasOwnProperty.call(o,n)&&o[n]&&h.push(o[n][0]),o[n]=0;for(r in f)Object.prototype.hasOwnProperty.call(f,r)&&(e[r]=f[r]);for(v&&v(data);h.length;)h.shift()();return c.push.apply(c,d||[]),t()}function t(){for(var e,i=0;i<c.length;i++){for(var r=c[i],t=!0,n=1;n<r.length;n++){var f=r[n];0!==o[f]&&(t=!1)}t&&(c.splice(i--,1),e=l(l.s=r[0]))}return e}var n={},o={3:0},c=[];function l(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,l),t.l=!0,t.exports}l.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise((function(r,n){t=o[e]=[r,n]}));r.push(t[2]=n);var c,script=document.createElement("script");script.charset="utf-8",script.timeout=120,l.nc&&script.setAttribute("nonce",l.nc),script.src=function(e){return l.p+""+{0:"1780d12d8770454dc75a",5:"37ae72f19a34500a84df"}[e]+".js"}(e);var f=new Error;c=function(r){script.onerror=script.onload=null,clearTimeout(d);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),c=r&&r.target&&r.target.src;f.message="Loading chunk "+e+" failed.\n("+n+": "+c+")",f.name="ChunkLoadError",f.type=n,f.request=c,t[1](f)}o[e]=void 0}};var d=setTimeout((function(){c({type:"timeout",target:script})}),12e4);script.onerror=script.onload=c,document.head.appendChild(script)}return Promise.all(r)},l.m=e,l.c=n,l.d=function(e,r,t){l.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},l.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,r){if(1&r&&(e=l(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(l.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)l.d(t,n,function(r){return e[r]}.bind(null,n));return t},l.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(r,"a",r),r},l.o=function(object,e){return Object.prototype.hasOwnProperty.call(object,e)},l.p="/_nuxt/",l.oe=function(e){throw console.error(e),e};var f=window.webpackJsonp=window.webpackJsonp||[],d=f.push.bind(f);f.push=r,f=f.slice();for(var i=0;i<f.length;i++)r(f[i]);var v=d;t()}([]);
\ No newline at end of file
<!doctype html>
<html lang="en" data-n-head="%7B%22lang%22:%7B%221%22:%22en%22%7D%7D">
<head>
<title>evbox</title><meta data-n-head="1" charset="utf-8"><meta data-n-head="1" name="viewport" content="width=device-width,initial-scale=1"><meta data-n-head="1" data-hid="description" name="description" content="web for evbox device"><meta data-n-head="1" data-hid="mobile-web-app-capable" name="mobile-web-app-capable" content="yes"><meta data-n-head="1" data-hid="apple-mobile-web-app-title" name="apple-mobile-web-app-title" content="evbox"><meta data-n-head="1" data-hid="author" name="author" content="bruce.lu"><meta data-n-head="1" data-hid="theme-color" name="theme-color" content="#fff"><meta data-n-head="1" data-hid="og:type" name="og:type" property="og:type" content="website"><meta data-n-head="1" data-hid="og:title" name="og:title" property="og:title" content="evbox"><meta data-n-head="1" data-hid="og:site_name" name="og:site_name" property="og:site_name" content="evbox"><meta data-n-head="1" data-hid="og:description" name="og:description" property="og:description" content="web for evbox device"><link data-n-head="1" rel="icon" type="image/x-icon" href="/favicon.ico"><link data-n-head="1" rel="manifest" href="/_nuxt/manifest.ec4a7e8a.json"><link data-n-head="1" rel="shortcut icon" href="/_nuxt/icons/icon_64.5f6a36.png"><link data-n-head="1" rel="apple-touch-icon" href="/_nuxt/icons/icon_512.5f6a36.png" sizes="512x512"><link rel="preload" href="/_nuxt/bacb57094cd7dd171258.js" as="script"><link rel="preload" href="/_nuxt/8a709989afb013926c1b.js" as="script"><link rel="preload" href="/_nuxt/eeafa4dc446371943266.js" as="script"><link rel="preload" href="/_nuxt/3269c78ecc981f545a9e.js" as="script">
</head>
<body>
<div id="__nuxt"><style>#nuxt-loading{visibility:hidden;opacity:0;position:absolute;left:0;right:0;top:0;bottom:0;display:flex;justify-content:center;align-items:center;flex-direction:column;animation:nuxtLoadingIn 10s ease;-webkit-animation:nuxtLoadingIn 10s ease;animation-fill-mode:forwards;overflow:hidden}@keyframes nuxtLoadingIn{0%{visibility:hidden;opacity:0}20%{visibility:visible;opacity:0}100%{visibility:visible;opacity:1}}@-webkit-keyframes nuxtLoadingIn{0%{visibility:hidden;opacity:0}20%{visibility:visible;opacity:0}100%{visibility:visible;opacity:1}}#nuxt-loading>div,#nuxt-loading>div:after{border-radius:50%;width:5rem;height:5rem}#nuxt-loading>div{font-size:10px;position:relative;text-indent:-9999em;border:.5rem solid #f5f5f5;border-left:.5rem solid #fff;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation:nuxtLoading 1.1s infinite linear;animation:nuxtLoading 1.1s infinite linear}#nuxt-loading.error>div{border-left:.5rem solid #ff4500;animation-duration:5s}@-webkit-keyframes nuxtLoading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes nuxtLoading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}</style><script>window.addEventListener("error",function(){var e=document.getElementById("nuxt-loading");e&&(e.className+=" error")})</script><div id="nuxt-loading" aria-live="polite" role="status"><div>Loading...</div></div></div>
<script type="text/javascript" src="/_nuxt/bacb57094cd7dd171258.js"></script><script type="text/javascript" src="/_nuxt/8a709989afb013926c1b.js"></script><script type="text/javascript" src="/_nuxt/eeafa4dc446371943266.js"></script><script type="text/javascript" src="/_nuxt/3269c78ecc981f545a9e.js"></script></body>
</html>
<!doctype html>
<html lang="en" data-n-head="%7B%22lang%22:%7B%221%22:%22en%22%7D%7D">
<head>
<title>evbox</title><meta data-n-head="1" charset="utf-8"><meta data-n-head="1" name="viewport" content="width=device-width,initial-scale=1"><meta data-n-head="1" data-hid="description" name="description" content="web for evbox device"><meta data-n-head="1" data-hid="mobile-web-app-capable" name="mobile-web-app-capable" content="yes"><meta data-n-head="1" data-hid="apple-mobile-web-app-title" name="apple-mobile-web-app-title" content="evbox"><meta data-n-head="1" data-hid="author" name="author" content="bruce.lu"><meta data-n-head="1" data-hid="theme-color" name="theme-color" content="#fff"><meta data-n-head="1" data-hid="og:type" name="og:type" property="og:type" content="website"><meta data-n-head="1" data-hid="og:title" name="og:title" property="og:title" content="evbox"><meta data-n-head="1" data-hid="og:site_name" name="og:site_name" property="og:site_name" content="evbox"><meta data-n-head="1" data-hid="og:description" name="og:description" property="og:description" content="web for evbox device"><link data-n-head="1" rel="icon" type="image/x-icon" href="/favicon.ico"><link data-n-head="1" rel="manifest" href="/_nuxt/manifest.ec4a7e8a.json"><link data-n-head="1" rel="shortcut icon" href="/_nuxt/icons/icon_64.5f6a36.png"><link data-n-head="1" rel="apple-touch-icon" href="/_nuxt/icons/icon_512.5f6a36.png" sizes="512x512"><link rel="preload" href="/_nuxt/bacb57094cd7dd171258.js" as="script"><link rel="preload" href="/_nuxt/8a709989afb013926c1b.js" as="script"><link rel="preload" href="/_nuxt/eeafa4dc446371943266.js" as="script"><link rel="preload" href="/_nuxt/3269c78ecc981f545a9e.js" as="script">
</head>
<body>
<div id="__nuxt"><style>#nuxt-loading{visibility:hidden;opacity:0;position:absolute;left:0;right:0;top:0;bottom:0;display:flex;justify-content:center;align-items:center;flex-direction:column;animation:nuxtLoadingIn 10s ease;-webkit-animation:nuxtLoadingIn 10s ease;animation-fill-mode:forwards;overflow:hidden}@keyframes nuxtLoadingIn{0%{visibility:hidden;opacity:0}20%{visibility:visible;opacity:0}100%{visibility:visible;opacity:1}}@-webkit-keyframes nuxtLoadingIn{0%{visibility:hidden;opacity:0}20%{visibility:visible;opacity:0}100%{visibility:visible;opacity:1}}#nuxt-loading>div,#nuxt-loading>div:after{border-radius:50%;width:5rem;height:5rem}#nuxt-loading>div{font-size:10px;position:relative;text-indent:-9999em;border:.5rem solid #f5f5f5;border-left:.5rem solid #fff;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation:nuxtLoading 1.1s infinite linear;animation:nuxtLoading 1.1s infinite linear}#nuxt-loading.error>div{border-left:.5rem solid #ff4500;animation-duration:5s}@-webkit-keyframes nuxtLoading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes nuxtLoading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}</style><script>window.addEventListener("error",function(){var e=document.getElementById("nuxt-loading");e&&(e.className+=" error")})</script><div id="nuxt-loading" aria-live="polite" role="status"><div>Loading...</div></div></div>
<script type="text/javascript" src="/_nuxt/bacb57094cd7dd171258.js"></script><script type="text/javascript" src="/_nuxt/8a709989afb013926c1b.js"></script><script type="text/javascript" src="/_nuxt/eeafa4dc446371943266.js"></script><script type="text/javascript" src="/_nuxt/3269c78ecc981f545a9e.js"></script></body>
</html>
wifisettings/index.vue
\ No newline at end of file
<template>
<div class="grid">
<div class="row">
<nuxt-link to="/" class="col-4">返回主页</nuxt-link>
<label class="col-4">WIFI配置</label>
<label class="col-4">{{devSn}}</label>
</div>
<div class="row">
<label class="col-4 offset-2">附近热点</label>
<b-button :disabled="bInScan" class="col-4" variant="primary" v-on:click="scanWifi">重新扫描</b-button>
</div>
<div class="row">
<b-button
class="col-10 offset-1 mt-3"
variant="primary"
v-on:click="config"
v-for=" item in ssids"
v-bind:key="item.id"
>{{ item }}</b-button>
</div>
<b-modal
hide-header-close
no-close-on-esc
no-close-on-backdrop
hide-footer
ref="config"
id="config"
size="mw-100"
title="WIFI连接配置"
>
<div class="grid">
<div class="row">
<label class="col-4 offset-2" disabled variant="info">热点名</label>
<b-button class="col-4" disabled>{{ssid}}</b-button>
</div>
<div class="row mt-4">
<label class="col-4 offset-2">密码</label>
<b-input class="col-4" v-model="password">{{ssid}}</b-input>
</div>
<div class="row mt-4">
<b-button
:disabled="cancelDisabled"
class="col-2 offset-3"
variant="outline-danger"
@click="closeModal"
>取消</b-button>
<b-button
:disabled="!connEnabled"
class="col-2 offset-2"
variant="primary"
@click="connect"
>连接</b-button>
</div>
</div>
</b-modal>
</div>
</template>
<script>
import axios from "axios";
const apiHost = 'http://192.168.0.1';
export default {
async mounted() {
try {
this.getWifiData();
} catch (err) {
console.log(err);
}
},
data() {
return {
connectWifi: async e => {
let response = await axios.get(`${apiHost}/wifi?mode=2&ssid=${this.ssid}&password=${this.password}`);
return response;
},
getWifiData: async e => {
this.bInScan = true;
let param = e ? "true" : "false";
let response = await axios.get(
`${apiHost}/wifi?scan=${param}`
);
this.wifiData = response.data.wifiData;
this.ssids = Array.from(new Set(this.wifiData.wifi.ssids))
.filter(e => e != "" && e != undefined)
.map(e => {
let data = e.match(/ESSID:\"(.+)\"/)[1];
if (data[0] != "\\") {
return data;
} else {
var count = data.length;
var str = "";
for (var index = 0; index < count; index += 1)
str += String.fromCharCode(data[index]);
return data;
}
})
.filter(e => e[0] != "\\");
this.devSn = this.wifiData.info.sn;
this.bInScan = false;
console.log(this.devSn);
console.log(this.ssids);
},
cancelDisabled: false,
connDisabled: false,
bInScan: false,
ssid: "",
devSn: "",
password: "",
ssids: ["NO WIFI AVAILABLE"]
};
},
computed: {
connEnabled() {
return this.password.length >= 4 && !this.connDisabled;
}
},
methods: {
scanWifi: function(event) {
this.getWifiData(true);
},
config: function(event) {
console.log(event.target.innerText);
this.ssid = event.target.innerText;
this.password = "";
this.cancelDisabled = false;
this.connDisabled = false;
this.$bvModal.show("config");
},
closeModal() {
this.$refs["config"].hide();
},
connect() {
this.connectWifi();
this.cancelDisabled = true;
this.connDisabled = true;
}
}
};
</script>
importScripts('https://cdn.jsdelivr.net/npm/workbox-cdn@4.3.1/workbox/workbox-sw.js')
// --------------------------------------------------
// Configure
// --------------------------------------------------
// Set workbox config
workbox.setConfig({
"debug": false
})
// Start controlling any existing clients as soon as it activates
workbox.core.clientsClaim()
// Skip over the SW waiting lifecycle stage
workbox.core.skipWaiting()
workbox.precaching.cleanupOutdatedCaches()
// --------------------------------------------------
// Precaches
// --------------------------------------------------
// Precache assets
// --------------------------------------------------
// Runtime Caching
// --------------------------------------------------
// Register route handlers for runtimeCaching
workbox.routing.registerRoute(new RegExp('/_nuxt/'), new workbox.strategies.CacheFirst ({}), 'GET')
workbox.routing.registerRoute(new RegExp('/'), new workbox.strategies.NetworkFirst ({}), 'GET')
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论