@ -0,0 +1,54 @@
|
||||
html, |
||||
body, |
||||
#app { |
||||
height: 100%; |
||||
margin: 0; |
||||
padding: 0; |
||||
} |
||||
|
||||
.avue-home { |
||||
background-color: #303133; |
||||
height: 100%; |
||||
display: flex; |
||||
flex-direction: column; |
||||
} |
||||
|
||||
.avue-home__main { |
||||
user-select: none; |
||||
width: 100%; |
||||
flex-grow: 1; |
||||
display: flex; |
||||
justify-content: center; |
||||
align-items: center; |
||||
flex-direction: column; |
||||
} |
||||
|
||||
.avue-home__footer { |
||||
width: 100%; |
||||
flex-grow: 0; |
||||
text-align: center; |
||||
padding: 1em 0; |
||||
} |
||||
|
||||
.avue-home__footer > a { |
||||
font-size: 12px; |
||||
color: #ABABAB; |
||||
text-decoration: none; |
||||
} |
||||
|
||||
.avue-home__loading { |
||||
height: 32px; |
||||
width: 32px; |
||||
margin-bottom: 20px; |
||||
} |
||||
|
||||
.avue-home__title { |
||||
color: #FFF; |
||||
font-size: 14px; |
||||
margin-bottom: 10px; |
||||
} |
||||
|
||||
.avue-home__sub-title { |
||||
color: #ABABAB; |
||||
font-size: 12px; |
||||
} |
@ -0,0 +1,31 @@
|
||||
|
||||
[class^="icon-"]{ |
||||
font-family: "iconfont" !important; |
||||
/* 以下内容参照第三方图标库本身的规则 */ |
||||
font-size: 18px !important; |
||||
font-style: normal; |
||||
-webkit-font-smoothing: antialiased; |
||||
-moz-osx-font-smoothing: grayscale; |
||||
} |
||||
.avue-icon-select__item i { |
||||
font-family: "iconfont" !important; |
||||
/* 以下内容参照第三方图标库本身的规则 */ |
||||
font-size: 24px !important; |
||||
font-style: normal; |
||||
-webkit-font-smoothing: antialiased; |
||||
-moz-osx-font-smoothing: grayscale; |
||||
} |
||||
.el-menu-item [class^=icon-] { |
||||
margin-right: 5px; |
||||
width: 24px; |
||||
text-align: center; |
||||
font-size: 18px; |
||||
vertical-align: middle; |
||||
} |
||||
.el-submenu [class^=icon-] { |
||||
vertical-align: middle; |
||||
margin-right: 5px; |
||||
width: 24px; |
||||
text-align: center; |
||||
font-size: 18px; |
||||
} |
@ -0,0 +1,193 @@
|
||||
'use strict' |
||||
// Module export pattern from
|
||||
// https://github.com/umdjs/umd/blob/master/returnExports.js
|
||||
;(function (root, factory) { |
||||
if (typeof define === 'function' && define.amd) { |
||||
// AMD. Register as an anonymous module.
|
||||
define([], factory) |
||||
} else if (typeof exports === 'object') { |
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory() |
||||
} else { |
||||
// Browser globals (root is window)
|
||||
root.store = factory() |
||||
} |
||||
}(this, function () { |
||||
// Store.js
|
||||
var store = {} |
||||
|
||||
var win = (typeof window !== 'undefined' ? window : global) |
||||
|
||||
var doc = win.document |
||||
|
||||
var localStorageName = 'localStorage' |
||||
|
||||
var scriptTag = 'script' |
||||
|
||||
var storage |
||||
|
||||
store.disabled = false |
||||
store.version = '1.3.20' |
||||
store.set = function (key, value) {} |
||||
store.get = function (key, defaultVal) {} |
||||
store.has = function (key) { return store.get(key) !== undefined } |
||||
store.remove = function (key) {} |
||||
store.clear = function () {} |
||||
store.transact = function (key, defaultVal, transactionFn) { |
||||
if (transactionFn == null) { |
||||
transactionFn = defaultVal |
||||
defaultVal = null |
||||
} |
||||
if (defaultVal == null) { |
||||
defaultVal = {} |
||||
} |
||||
var val = store.get(key, defaultVal) |
||||
transactionFn(val) |
||||
store.set(key, val) |
||||
} |
||||
store.getAll = function () {} |
||||
store.forEach = function () {} |
||||
|
||||
store.serialize = function (value) { |
||||
return JSON.stringify(value) |
||||
} |
||||
store.deserialize = function (value) { |
||||
if (typeof value !== 'string') { return undefined } |
||||
try { return JSON.parse(value) } catch (e) { return value || undefined } |
||||
} |
||||
|
||||
// Functions to encapsulate questionable FireFox 3.6.13 behavior
|
||||
// when about.config::dom.storage.enabled === false
|
||||
// See https://github.com/marcuswestin/store.js/issues#issue/13
|
||||
function isLocalStorageNameSupported () { |
||||
try { return (localStorageName in win && win[localStorageName]) } catch (err) { return false } |
||||
} |
||||
|
||||
if (isLocalStorageNameSupported()) { |
||||
storage = win[localStorageName] |
||||
store.set = function (key, val) { |
||||
if (val === undefined) { return store.remove(key) } |
||||
storage.setItem(key, store.serialize(val)) |
||||
return val |
||||
} |
||||
store.get = function (key, defaultVal) { |
||||
var val = store.deserialize(storage.getItem(key)) |
||||
return (val === undefined ? defaultVal : val) |
||||
} |
||||
store.remove = function (key) { storage.removeItem(key) } |
||||
store.clear = function () { storage.clear() } |
||||
store.getAll = function () { |
||||
var ret = {} |
||||
store.forEach(function (key, val) { |
||||
ret[key] = val |
||||
}) |
||||
return ret |
||||
} |
||||
store.forEach = function (callback) { |
||||
for (var i = 0; i < storage.length; i++) { |
||||
var key = storage.key(i) |
||||
callback(key, store.get(key)) |
||||
} |
||||
} |
||||
} else if (doc && doc.documentElement.addBehavior) { |
||||
var storageOwner, |
||||
storageContainer |
||||
// Since #userData storage applies only to specific paths, we need to
|
||||
// somehow link our data to a specific path. We choose /favicon.ico
|
||||
// as a pretty safe option, since all browsers already make a request to
|
||||
// this URL anyway and being a 404 will not hurt us here. We wrap an
|
||||
// iframe pointing to the favicon in an ActiveXObject(htmlfile) object
|
||||
// (see: http://msdn.microsoft.com/en-us/library/aa752574(v=VS.85).aspx)
|
||||
// since the iframe access rules appear to allow direct access and
|
||||
// manipulation of the document element, even for a 404 page. This
|
||||
// document can be used instead of the current document (which would
|
||||
// have been limited to the current path) to perform #userData storage.
|
||||
try { |
||||
storageContainer = new ActiveXObject('htmlfile') |
||||
storageContainer.open() |
||||
storageContainer.write('<' + scriptTag + '>document.w=window</' + scriptTag + '><iframe src="/favicon.ico"></iframe>') |
||||
storageContainer.close() |
||||
storageOwner = storageContainer.w.frames[0].document |
||||
storage = storageOwner.createElement('div') |
||||
} catch (e) { |
||||
// somehow ActiveXObject instantiation failed (perhaps some special
|
||||
// security settings or otherwse), fall back to per-path storage
|
||||
storage = doc.createElement('div') |
||||
storageOwner = doc.body |
||||
} |
||||
var withIEStorage = function (storeFunction) { |
||||
return function () { |
||||
var args = Array.prototype.slice.call(arguments, 0) |
||||
args.unshift(storage) |
||||
// See http://msdn.microsoft.com/en-us/library/ms531081(v=VS.85).aspx
|
||||
// and http://msdn.microsoft.com/en-us/library/ms531424(v=VS.85).aspx
|
||||
storageOwner.appendChild(storage) |
||||
storage.addBehavior('#default#userData') |
||||
storage.load(localStorageName) |
||||
var result = storeFunction.apply(store, args) |
||||
storageOwner.removeChild(storage) |
||||
return result |
||||
} |
||||
} |
||||
|
||||
// In IE7, keys cannot start with a digit or contain certain chars.
|
||||
// See https://github.com/marcuswestin/store.js/issues/40
|
||||
// See https://github.com/marcuswestin/store.js/issues/83
|
||||
var forbiddenCharsRegex = new RegExp("[!\"#$%&'()*+,/\\\\:;<=>?@[\\]^`{|}~]", 'g') |
||||
var ieKeyFix = function (key) { |
||||
return key.replace(/^d/, '___$&').replace(forbiddenCharsRegex, '___') |
||||
} |
||||
store.set = withIEStorage(function (storage, key, val) { |
||||
key = ieKeyFix(key) |
||||
if (val === undefined) { return store.remove(key) } |
||||
storage.setAttribute(key, store.serialize(val)) |
||||
storage.save(localStorageName) |
||||
return val |
||||
}) |
||||
store.get = withIEStorage(function (storage, key, defaultVal) { |
||||
key = ieKeyFix(key) |
||||
var val = store.deserialize(storage.getAttribute(key)) |
||||
return (val === undefined ? defaultVal : val) |
||||
}) |
||||
store.remove = withIEStorage(function (storage, key) { |
||||
key = ieKeyFix(key) |
||||
storage.removeAttribute(key) |
||||
storage.save(localStorageName) |
||||
}) |
||||
store.clear = withIEStorage(function (storage) { |
||||
var attributes = storage.XMLDocument.documentElement.attributes |
||||
storage.load(localStorageName) |
||||
for (var i = attributes.length - 1; i >= 0; i--) { |
||||
storage.removeAttribute(attributes[i].name) |
||||
} |
||||
storage.save(localStorageName) |
||||
}) |
||||
store.getAll = function (storage) { |
||||
var ret = {} |
||||
store.forEach(function (key, val) { |
||||
ret[key] = val |
||||
}) |
||||
return ret |
||||
} |
||||
store.forEach = withIEStorage(function (storage, callback) { |
||||
var attributes = storage.XMLDocument.documentElement.attributes |
||||
for (var i = 0, attr; attr = attributes[i]; ++i) { |
||||
callback(attr.name, store.deserialize(storage.getAttribute(attr.name))) |
||||
} |
||||
}) |
||||
} |
||||
|
||||
try { |
||||
var testKey = '__storejs__' |
||||
store.set(testKey, testKey) |
||||
if (store.get(testKey) != testKey) { store.disabled = true } |
||||
store.remove(testKey) |
||||
} catch (e) { |
||||
store.disabled = true |
||||
} |
||||
store.enabled = !store.disabled |
||||
|
||||
return store |
||||
})) |
After Width: | Height: | Size: 218 KiB |
After Width: | Height: | Size: 476 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 132 KiB |
After Width: | Height: | Size: 893 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 6.3 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 6.9 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 688 B |
After Width: | Height: | Size: 501 B |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 463 B |
After Width: | Height: | Size: 451 B |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 9.4 KiB |
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 262 B |
After Width: | Height: | Size: 275 B |
After Width: | Height: | Size: 185 B |
After Width: | Height: | Size: 210 B |
After Width: | Height: | Size: 386 KiB |
After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 593 B |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 1021 B |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 838 B |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 1.3 KiB |
@ -0,0 +1,40 @@
|
||||
<!DOCTYPE html> |
||||
<html> |
||||
|
||||
<head> |
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0"> |
||||
<meta name="apple-mobile-web-app-capable" content="yes"> |
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black"> |
||||
<meta name="format-detection" content="telephone=no"> |
||||
<meta http-equiv="X-UA-Compatible" content="chrome=1" /> |
||||
<link rel="stylesheet" href="<%= BASE_URL %>cdn/animate/3.5.2/animate.css"> |
||||
<link rel="stylesheet" href="<%= BASE_URL %>cdn/iconfont/1.0.0/index.css"> |
||||
<!-- <link rel="stylesheet" href="<%= BASE_URL %>cdn/avue/2.5.3/avue.css"> --> |
||||
<link rel="stylesheet" href="<%= BASE_URL %>cdn/avue/2.5.3/index.css"> |
||||
<link rel="icon" href="<%= BASE_URL %>favicon.ico"> |
||||
<title>cinderella</title> |
||||
</head> |
||||
|
||||
<body> |
||||
<noscript> |
||||
<strong>很抱歉,如果没有 JavaScript 支持,网站将不能正常工作。请启用浏览器的 JavaScript 然后继续。</strong> |
||||
</noscript> |
||||
<div id="app"> |
||||
<div class="avue-home"> |
||||
<div class="avue-home__main"> |
||||
<img class="avue-home__loading" src="./svg/loading-spin.svg" alt="loading"> |
||||
<div class="avue-home__title" style="height:100vh;text-align: center;line-height:100vh;"> |
||||
<img src="./images/loading.gif" alt="" style="width: 300px;"> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<!-- built files will be auto injected --> |
||||
<script src="<%= BASE_URL %>cdn/axios/1.0.0/axios.min.js" charset="utf-8"></script> |
||||
<script src="<%= BASE_URL %>cdn/avue/2.5.3/avue.min.js" charset="utf-8"></script> |
||||
<!-- <script src="https://cdn.bootcss.com/jspdf/1.3.4/jspdf.debug.js"></script> --> |
||||
</body> |
||||
|
||||
</html> |