v3hooks
Version:
针对 Vue3 的实用Hooks集合
3,645 lines • 138 kB
JavaScript
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
function _typeof(obj) {
"@babel/helpers - typeof";
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
return typeof obj;
} : function (obj) {
return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
}, _typeof(obj);
}
var _assign = function __assign() {
_assign = Object.assign || function __assign(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) {
if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
}
}
return t;
};
return _assign.apply(this, arguments);
};
function __rest(s, e) {
var t = {};
for (var p in s) {
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
}
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
}
return t;
}
function __awaiter(thisArg, _arguments, P, generator) {
function adopt(value) {
return value instanceof P ? value : new P(function (resolve) {
resolve(value);
});
}
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
}
function rejected(value) {
try {
step(generator["throw"](value));
} catch (e) {
reject(e);
}
}
function step(result) {
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
}
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
}
function __generator(thisArg, body) {
var _ = {
label: 0,
sent: function sent() {
if (t[0] & 1) throw t[1];
return t[1];
},
trys: [],
ops: []
},
f,
y,
t,
g;
return g = {
next: verb(0),
"throw": verb(1),
"return": verb(2)
}, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
return this;
}), g;
function verb(n) {
return function (v) {
return step([n, v]);
};
}
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (_) {
try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0:
case 1:
t = op;
break;
case 4:
_.label++;
return {
value: op[1],
done: false
};
case 5:
_.label++;
y = op[1];
op = [0];
continue;
case 7:
op = _.ops.pop();
_.trys.pop();
continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
_ = 0;
continue;
}
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
_.label = op[1];
break;
}
if (op[0] === 6 && _.label < t[1]) {
_.label = t[1];
t = op;
break;
}
if (t && _.label < t[2]) {
_.label = t[2];
_.ops.push(op);
break;
}
if (t[2]) _.ops.pop();
_.trys.pop();
continue;
}
op = body.call(thisArg, _);
} catch (e) {
op = [6, e];
y = 0;
} finally {
f = t = 0;
}
}
if (op[0] & 5) throw op[1];
return {
value: op[0] ? op[1] : void 0,
done: true
};
}
}
function __read(o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o),
r,
ar = [],
e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {
ar.push(r.value);
}
} catch (error) {
e = {
error: error
};
} finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
} finally {
if (e) throw e.error;
}
}
return ar;
}
function __spreadArray(to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || from);
}
/**
* 防抖
* @param fn
* @param delay
* @returns
*/
var debounce = function (fn, delay) {
var timer = null;
return function () {
var _this = this;
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
if (timer)
clearTimeout(timer);
timer = setTimeout(function () {
// @ts-ignore
fn.call.apply(fn, __spreadArray([_this], __read(args)));
}, delay);
};
};
/**
* 节流
* @param fn
* @param delay
* @returns
*/
var throttle = function (fn, delay) {
var oldNow = Date.now();
return function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var currNow = Date.now();
if (currNow - oldNow < delay)
return;
oldNow = currNow;
// @ts-ignore
fn.call.apply(fn, __spreadArray([this], __read(args)));
};
};
/**
* 防抖+节流
* @param fn
* @param DBdelay
* @param TRdelay
* @returns
*/
var throttleAndDeBounce = function (fn, DBdelay, TRdelay) {
var oldNow = Date.now();
var timer = null;
return function () {
var _this = this;
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var currNow = Date.now();
if (currNow - oldNow < TRdelay) {
if (timer)
clearTimeout(timer);
timer = setTimeout(function () {
oldNow = currNow;
// @ts-ignore
fn.call.apply(fn, __spreadArray([_this], __read(args)));
}, DBdelay);
return;
}
oldNow = currNow;
// @ts-ignore
fn.call.apply(fn, __spreadArray([this], __read(args)));
};
};
/**
* 按照类型格式数据的常量Map
*/
var TypeSerializers = {
boolean: {
read: function (v) { return v != null ? v === 'true' : null; },
write: function (v) { return String(v); },
},
object: {
read: function (v) { return v ? JSON.parse(v) : null; },
write: function (v) { return JSON.stringify(v); },
},
number: {
read: function (v) { return v != null ? Number.parseFloat(v) : null; },
write: function (v) { return String(v); },
},
any: {
read: function (v) { return (v != null && v !== 'null') ? v : null; },
write: function (v) { return String(v); },
},
string: {
read: function (v) { return v != null ? v : null; },
write: function (v) { return String(v); },
},
};
/**
* 获取数据类型
* @param defaultValue
* @returns
*/
var getValueType = function (defaultValue) {
return defaultValue == null
? 'any'
: typeof defaultValue === 'boolean'
? 'boolean'
: typeof defaultValue === 'string'
? 'string'
: typeof defaultValue === 'object'
? 'object'
: Array.isArray(defaultValue)
? 'object'
: !Number.isNaN(defaultValue)
? 'number'
: 'any';
};
/**
* loading的延迟计算
* @param startTime
* @param loadingDelay
* @param args
* @returns
*/
var loadingDelayTimer = null;
var loadingDelayAsync = function (loadingDelay) {
clearLoadingDelayTimer();
return new Promise(function (resolve) {
loadingDelayTimer = setTimeout(function () { return resolve(loadingDelayTimer); }, Math.max(loadingDelay, 0));
});
};
/**
* 取消loading延迟计算Timer
*/
var clearLoadingDelayTimer = function () {
if (loadingDelayTimer) {
clearTimeout(loadingDelayTimer);
}
};
var defaultParams = {
method: 'POST',
mode: 'cors',
cache: 'no-cache',
credentials: 'same-origin',
headers: {
'Content-Type': 'application/json'
},
redirect: 'follow',
referrerPolicy: 'no-referrer', // no-referrer, *no-referrer-when-downgrade, origin, origin-when-cross-origin, same-origin, strict-origin, strict-origin-when-cross-origin, unsafe-url
};
/**
* 使用fetch发起请求
* @param Params
* @returns FetchData
*/
function fetchData(p) {
var params = _assign(_assign({}, defaultParams), p);
return fetch(params.url, params);
}
var argsSymbolKey = 'argsKey';
var serveiceProxy = function (service, args, reqParamsCache) { return __awaiter(void 0, void 0, void 0, function () {
var response, error_1;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
_a.trys.push([0, 5, , 6]);
if (args.length > 0) {
reqParamsCache.put(argsSymbolKey, args);
}
if (!(Object.prototype.toString.call(service) === "[object Function]")) return [3 /*break*/, 2];
return [4 /*yield*/, service.apply(void 0, __spreadArray([], __read(args)))];
case 1: return [2 /*return*/, _a.sent()];
case 2:
if (!(Object.prototype.toString.call(service) === "[object Object]")) return [3 /*break*/, 4];
return [4 /*yield*/, fetchData(service)];
case 3:
response = _a.sent();
return [2 /*return*/, response.json()];
case 4: return [3 /*break*/, 6];
case 5:
error_1 = _a.sent();
return [2 /*return*/, Promise.reject(error_1)];
case 6: return [2 /*return*/];
}
});
}); };
/**
* 执行轮询
*/
var Polling = /** @class */ (function () {
function Polling() {
this.isActive = false;
this.pollingInterval = 0;
this.pollingWhenHidden = true;
}
Polling.prototype.run = function (run, pollingInterval, pollingWhenHidden) {
this.isActive = true;
this.pollingInterval = pollingInterval;
this.pollingWhenHidden = pollingWhenHidden;
this.task(run);
};
Polling.prototype.cancel = function () {
this.isActive = false;
};
Polling.prototype.task = function (run) {
var _this = this;
setTimeout(function () {
if (!_this.isActive)
return;
if (_this.pollingWhenHidden) {
run();
}
else {
if (!document.hidden) {
run();
}
}
_this.task(run);
}, this.pollingInterval);
};
return Polling;
}());
var Polling$1 = new Polling();
/**
* 监听屏幕是否聚焦
* @param run
* @param focusTimespan
*/
var visibility = function (run, focusTimespan) {
var handler = function () {
if (!document.hidden) {
run();
}
};
if (focusTimespan !== undefined && typeof (focusTimespan) === 'number') {
handler = throttle(handler, focusTimespan);
}
document.addEventListener('visibilitychange', handler);
};
var handleResCache = function (data, resCache, cacheKey, cacheTime) {
if (cacheKey) {
if (resCache.has(cacheKey)) {
resCache.put(cacheKey, data);
return;
}
resCache.put(cacheKey, data, cacheTime);
}
};
var MemoryCache = /** @class */ (function () {
function MemoryCache(options) {
this.memoryCache = new Map();
this.timer = {};
this.maxCache = (options === null || options === void 0 ? void 0 : options.maxCache) || 1000;
}
/**
* 增加缓存
* @param key
* @param value
* @param time
* @param timeoutCallback
*/
MemoryCache.prototype.put = function (key, value, time, timeoutCallback) {
var _this = this;
if (!key || !value) {
throw new Error('key & value is required');
}
if (this.size() >= this.maxCache) {
this.del(__spreadArray([], __read(this.memoryCache))[0][0]);
}
this.memoryCache.set(key, value);
if (time
&& typeof time === 'number'
&& time > 0) {
this.timer[key] = setTimeout(function () {
_this.del(key);
delete _this.timer[key];
timeoutCallback && timeoutCallback();
}, time);
}
};
/**
* 获取缓存
* @param key
* @returns
*/
MemoryCache.prototype.get = function (key) {
if (!this.has(key))
return null;
return this.memoryCache.get(key);
};
/**
* 判断是否有缓存
* @param key
* @returns
*/
MemoryCache.prototype.has = function (key) {
return this.memoryCache.has(key);
};
/**
* 删除缓存
* @param key
* @returns
*/
MemoryCache.prototype.del = function (key) {
if (!this.has(key))
return;
if (this.timer[key]) {
clearTimeout(this.timer[key]);
delete this.timer[key];
}
this.memoryCache.delete(key);
};
/**
* 清除缓存
* @returns
*/
MemoryCache.prototype.clear = function () {
if (this.size() <= 0)
return;
this.memoryCache.clear();
for (var i in this.timer) {
clearTimeout(this.timer[i]);
delete this.timer[i];
}
};
/**
* 获取缓存条数
* @returns
*/
MemoryCache.prototype.size = function () {
return this.memoryCache.size;
};
return MemoryCache;
}());
// service请求参数缓存
var reqCache = new MemoryCache();
// 请求参数缓存
var resCache = new MemoryCache();
// 默认参数
var defaultOptions$7 = {
manual: false,
initialData: undefined,
onSuccess: function () { },
onError: function () { },
formatResult: function (data) { return data; },
defaultParams: [],
pollingInterval: 0,
pollingWhenHidden: true,
ready: undefined,
debounceInterval: undefined,
throttleInterval: undefined,
refreshOnWindowFocus: false,
focusTimespan: undefined,
loadingDelay: 0,
refreshDeps: [],
cacheTime: 300000,
staleTime: 0,
};
var useRequest = function (service, options) {
var _a = _assign(_assign({}, defaultOptions$7), options), manual = _a.manual, initialData = _a.initialData, onSuccess = _a.onSuccess, onError = _a.onError, formatResult = _a.formatResult, defaultParams = _a.defaultParams, pollingInterval = _a.pollingInterval, pollingWhenHidden = _a.pollingWhenHidden, ready = _a.ready, debounceInterval = _a.debounceInterval, throttleInterval = _a.throttleInterval, refreshOnWindowFocus = _a.refreshOnWindowFocus, focusTimespan = _a.focusTimespan, loadingDelay = _a.loadingDelay, refreshDeps = _a.refreshDeps, cacheKey = _a.cacheKey, cacheTime = _a.cacheTime, staleTime = _a.staleTime;
var data = vue.shallowRef(initialData);
var error = vue.ref(undefined);
var loading = vue.ref(false);
var latestTime = vue.ref(0);
// 取消轮询
var cancel = function () { return Polling$1.cancel(); };
// 执行轮询
var pollingRun = function () {
if (pollingInterval < 4 || Polling$1.isActive) {
return;
}
Polling$1.run(run, pollingInterval, pollingWhenHidden);
};
// 执行网络请求
var run = function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
// 请求开始时间
var reqTime = +new Date();
// 判断开启缓存 && 有缓存,先返回缓存
// 缓存修改并不会阻止顺序执行,service请求会继续发出
// 也就是所谓SWR能力
if (cacheKey && resCache.has(cacheKey)) {
data.value = resCache.get(cacheKey);
if (latestTime.value + staleTime > reqTime) {
return;
}
}
else if (loadingDelay > 0) {
loadingDelayAsync(loadingDelay).then(function () { return loading.value = true; });
}
else {
loading.value = true;
}
// 更新最新一次请求开始时间
latestTime.value = reqTime;
serveiceProxy(service, args, reqCache).then(function (responseData) {
clearLoadingDelayTimer();
responseData = formatResult(responseData);
data.value = responseData;
loading.value = false;
onSuccess(responseData, args);
// 处理缓存
handleResCache(responseData, resCache, cacheKey, cacheTime);
}).catch(function (e) {
loading.value = false;
error.value = e;
onError(error.value, args);
});
// 非激活状态执行轮询
pollingRun();
};
var refresh = function () {
var args = reqCache.get(argsSymbolKey) || [];
run.apply(void 0, __spreadArray([], __read(args)));
};
// 是否自动执行
if (!manual && ready === undefined) {
// 是否携带默认参数
defaultParams.length > 0 ? run.apply(void 0, __spreadArray([], __read(defaultParams))) : run();
// 是否执行轮询
pollingRun();
}
//监听依赖请求是否执行
vue.watch(function () { return ready; }, function (curr) {
if ((curr === null || curr === void 0 ? void 0 : curr.value) === true) {
refresh();
}
}, { deep: true });
//多个监听依赖请求是否执行
vue.watch(refreshDeps, function () { return refresh(); }, { deep: true });
// 防抖+节流
if (debounceInterval !== undefined
&& throttleInterval !== undefined
&& typeof (debounceInterval) === 'number'
&& typeof (throttleInterval) === 'number') {
run = throttleAndDeBounce(run, debounceInterval, throttleInterval);
}
else {
// 防抖
if (debounceInterval !== undefined
&& typeof (debounceInterval) === 'number') {
run = debounce(run, debounceInterval);
}
// 节流
if (throttleInterval !== undefined
&& typeof (throttleInterval) === 'number') {
run = throttle(run, throttleInterval);
}
}
// 屏幕聚焦重新请求
if (refreshOnWindowFocus === true) {
visibility(refresh, focusTimespan);
}
// 突变改变data值
var mutate = function (state) {
data.value = state;
};
// 返回值
var res = {
data: data,
error: error,
run: run,
refresh: refresh,
loading: loading,
cancel: cancel,
mutate: mutate
};
return res;
};
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
var dayjs_min = {exports: {}};
(function (module, exports) {
!function (t, e) {
module.exports = e() ;
}(commonjsGlobal, function () {
var t = 1e3,
e = 6e4,
n = 36e5,
r = "millisecond",
i = "second",
s = "minute",
u = "hour",
a = "day",
o = "week",
f = "month",
h = "quarter",
c = "year",
d = "date",
$ = "Invalid Date",
l = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,
y = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,
M = {
name: "en",
weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_")
},
m = function m(t, e, n) {
var r = String(t);
return !r || r.length >= e ? t : "" + Array(e + 1 - r.length).join(n) + t;
},
g = {
s: m,
z: function z(t) {
var e = -t.utcOffset(),
n = Math.abs(e),
r = Math.floor(n / 60),
i = n % 60;
return (e <= 0 ? "+" : "-") + m(r, 2, "0") + ":" + m(i, 2, "0");
},
m: function t(e, n) {
if (e.date() < n.date()) return -t(n, e);
var r = 12 * (n.year() - e.year()) + (n.month() - e.month()),
i = e.clone().add(r, f),
s = n - i < 0,
u = e.clone().add(r + (s ? -1 : 1), f);
return +(-(r + (n - i) / (s ? i - u : u - i)) || 0);
},
a: function a(t) {
return t < 0 ? Math.ceil(t) || 0 : Math.floor(t);
},
p: function p(t) {
return {
M: f,
y: c,
w: o,
d: a,
D: d,
h: u,
m: s,
s: i,
ms: r,
Q: h
}[t] || String(t || "").toLowerCase().replace(/s$/, "");
},
u: function u(t) {
return void 0 === t;
}
},
D = "en",
v = {};
v[D] = M;
var p = function p(t) {
return t instanceof _;
},
S = function S(t, e, n) {
var r;
if (!t) return D;
if ("string" == typeof t) v[t] && (r = t), e && (v[t] = e, r = t);else {
var i = t.name;
v[i] = t, r = i;
}
return !n && r && (D = r), r || !n && D;
},
w = function w(t, e) {
if (p(t)) return t.clone();
var n = "object" == _typeof(e) ? e : {};
return n.date = t, n.args = arguments, new _(n);
},
O = g;
O.l = S, O.i = p, O.w = function (t, e) {
return w(t, {
locale: e.$L,
utc: e.$u,
x: e.$x,
$offset: e.$offset
});
};
var _ = function () {
function M(t) {
this.$L = S(t.locale, null, !0), this.parse(t);
}
var m = M.prototype;
return m.parse = function (t) {
this.$d = function (t) {
var e = t.date,
n = t.utc;
if (null === e) return new Date(NaN);
if (O.u(e)) return new Date();
if (e instanceof Date) return new Date(e);
if ("string" == typeof e && !/Z$/i.test(e)) {
var r = e.match(l);
if (r) {
var i = r[2] - 1 || 0,
s = (r[7] || "0").substring(0, 3);
return n ? new Date(Date.UTC(r[1], i, r[3] || 1, r[4] || 0, r[5] || 0, r[6] || 0, s)) : new Date(r[1], i, r[3] || 1, r[4] || 0, r[5] || 0, r[6] || 0, s);
}
}
return new Date(e);
}(t), this.$x = t.x || {}, this.init();
}, m.init = function () {
var t = this.$d;
this.$y = t.getFullYear(), this.$M = t.getMonth(), this.$D = t.getDate(), this.$W = t.getDay(), this.$H = t.getHours(), this.$m = t.getMinutes(), this.$s = t.getSeconds(), this.$ms = t.getMilliseconds();
}, m.$utils = function () {
return O;
}, m.isValid = function () {
return !(this.$d.toString() === $);
}, m.isSame = function (t, e) {
var n = w(t);
return this.startOf(e) <= n && n <= this.endOf(e);
}, m.isAfter = function (t, e) {
return w(t) < this.startOf(e);
}, m.isBefore = function (t, e) {
return this.endOf(e) < w(t);
}, m.$g = function (t, e, n) {
return O.u(t) ? this[e] : this.set(n, t);
}, m.unix = function () {
return Math.floor(this.valueOf() / 1e3);
}, m.valueOf = function () {
return this.$d.getTime();
}, m.startOf = function (t, e) {
var n = this,
r = !!O.u(e) || e,
h = O.p(t),
$ = function $(t, e) {
var i = O.w(n.$u ? Date.UTC(n.$y, e, t) : new Date(n.$y, e, t), n);
return r ? i : i.endOf(a);
},
l = function l(t, e) {
return O.w(n.toDate()[t].apply(n.toDate("s"), (r ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e)), n);
},
y = this.$W,
M = this.$M,
m = this.$D,
g = "set" + (this.$u ? "UTC" : "");
switch (h) {
case c:
return r ? $(1, 0) : $(31, 11);
case f:
return r ? $(1, M) : $(0, M + 1);
case o:
var D = this.$locale().weekStart || 0,
v = (y < D ? y + 7 : y) - D;
return $(r ? m - v : m + (6 - v), M);
case a:
case d:
return l(g + "Hours", 0);
case u:
return l(g + "Minutes", 1);
case s:
return l(g + "Seconds", 2);
case i:
return l(g + "Milliseconds", 3);
default:
return this.clone();
}
}, m.endOf = function (t) {
return this.startOf(t, !1);
}, m.$set = function (t, e) {
var n,
o = O.p(t),
h = "set" + (this.$u ? "UTC" : ""),
$ = (n = {}, n[a] = h + "Date", n[d] = h + "Date", n[f] = h + "Month", n[c] = h + "FullYear", n[u] = h + "Hours", n[s] = h + "Minutes", n[i] = h + "Seconds", n[r] = h + "Milliseconds", n)[o],
l = o === a ? this.$D + (e - this.$W) : e;
if (o === f || o === c) {
var y = this.clone().set(d, 1);
y.$d[$](l), y.init(), this.$d = y.set(d, Math.min(this.$D, y.daysInMonth())).$d;
} else $ && this.$d[$](l);
return this.init(), this;
}, m.set = function (t, e) {
return this.clone().$set(t, e);
}, m.get = function (t) {
return this[O.p(t)]();
}, m.add = function (r, h) {
var d,
$ = this;
r = Number(r);
var l = O.p(h),
y = function y(t) {
var e = w($);
return O.w(e.date(e.date() + Math.round(t * r)), $);
};
if (l === f) return this.set(f, this.$M + r);
if (l === c) return this.set(c, this.$y + r);
if (l === a) return y(1);
if (l === o) return y(7);
var M = (d = {}, d[s] = e, d[u] = n, d[i] = t, d)[l] || 1,
m = this.$d.getTime() + r * M;
return O.w(m, this);
}, m.subtract = function (t, e) {
return this.add(-1 * t, e);
}, m.format = function (t) {
var e = this,
n = this.$locale();
if (!this.isValid()) return n.invalidDate || $;
var r = t || "YYYY-MM-DDTHH:mm:ssZ",
i = O.z(this),
s = this.$H,
u = this.$m,
a = this.$M,
o = n.weekdays,
f = n.months,
h = function h(t, n, i, s) {
return t && (t[n] || t(e, r)) || i[n].substr(0, s);
},
c = function c(t) {
return O.s(s % 12 || 12, t, "0");
},
d = n.meridiem || function (t, e, n) {
var r = t < 12 ? "AM" : "PM";
return n ? r.toLowerCase() : r;
},
l = {
YY: String(this.$y).slice(-2),
YYYY: this.$y,
M: a + 1,
MM: O.s(a + 1, 2, "0"),
MMM: h(n.monthsShort, a, f, 3),
MMMM: h(f, a),
D: this.$D,
DD: O.s(this.$D, 2, "0"),
d: String(this.$W),
dd: h(n.weekdaysMin, this.$W, o, 2),
ddd: h(n.weekdaysShort, this.$W, o, 3),
dddd: o[this.$W],
H: String(s),
HH: O.s(s, 2, "0"),
h: c(1),
hh: c(2),
a: d(s, u, !0),
A: d(s, u, !1),
m: String(u),
mm: O.s(u, 2, "0"),
s: String(this.$s),
ss: O.s(this.$s, 2, "0"),
SSS: O.s(this.$ms, 3, "0"),
Z: i
};
return r.replace(y, function (t, e) {
return e || l[t] || i.replace(":", "");
});
}, m.utcOffset = function () {
return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
}, m.diff = function (r, d, $) {
var l,
y = O.p(d),
M = w(r),
m = (M.utcOffset() - this.utcOffset()) * e,
g = this - M,
D = O.m(this, M);
return D = (l = {}, l[c] = D / 12, l[f] = D, l[h] = D / 3, l[o] = (g - m) / 6048e5, l[a] = (g - m) / 864e5, l[u] = g / n, l[s] = g / e, l[i] = g / t, l)[y] || g, $ ? D : O.a(D);
}, m.daysInMonth = function () {
return this.endOf(f).$D;
}, m.$locale = function () {
return v[this.$L];
}, m.locale = function (t, e) {
if (!t) return this.$L;
var n = this.clone(),
r = S(t, e, !0);
return r && (n.$L = r), n;
}, m.clone = function () {
return O.w(this.$d, this);
}, m.toDate = function () {
return new Date(this.valueOf());
}, m.toJSON = function () {
return this.isValid() ? this.toISOString() : null;
}, m.toISOString = function () {
return this.$d.toISOString();
}, m.toString = function () {
return this.$d.toUTCString();
}, M;
}(),
b = _.prototype;
return w.prototype = b, [["$ms", r], ["$s", i], ["$m", s], ["$H", u], ["$W", a], ["$M", f], ["$y", c], ["$D", d]].forEach(function (t) {
b[t[1]] = function (e) {
return this.$g(e, t[0], t[1]);
};
}), w.extend = function (t, e) {
return t.$i || (t(e, _, w), t.$i = !0), w;
}, w.locale = S, w.isDayjs = p, w.unix = function (t) {
return w(1e3 * t);
}, w.en = v[D], w.Ls = v, w.p = {}, w;
});
})(dayjs_min);
var dayjs = dayjs_min.exports;
var defaultOptions$6 = {
format: 'YYYY-MM-DD HH:mm:ss',
method: 'format'
};
function useDate(initialValue, options) {
var state = vue.ref();
var value = initialValue || +new Date();
var _a = _assign(_assign({}, defaultOptions$6), options), format = _a.format, method = _a.method, methodParam = _a.methodParam;
var refresh = function (refreshValue) {
console.log(refreshValue);
value = refreshValue || +new Date();
switch (method) {
case 'format':
state.value = dayjs(value).format(format);
break;
case undefined:
break;
default:
var data_1 = dayjs(value);
if (methodParam) {
data_1 = data_1[method](methodParam);
if (options && options.format) {
data_1 = data_1.format(format);
}
}
state.value = data_1;
}
};
refresh();
var data = vue.readonly(state);
return {
data: data,
refresh: refresh
};
}
var defaultDelay$3 = 1000;
/**
* 处理防抖函数
* @param fn
* @param delay
* @returns
*/
var useDebounceFn = function (fn, delay) {
var run = debounce(fn, typeof (delay) === 'number' ? delay : defaultDelay$3);
return { run: run };
};
// import { debounce } from '../utils'
// 默认值
var defaultDelay$2 = 1000;
/**
* 处理防抖值
* @param value
* @param delay
* @returns
*/
var useDebounce = function (value, delay) {
delay = delay || defaultDelay$2;
var res = vue.ref(value.value);
// 利用useDebounceFn来简化处理值
var run = useDebounceFn(function () { return res.value = value.value; }, delay).run;
vue.watch(value, function () { return run(); }, { deep: true });
return res;
};
var defaultDelay$1 = 1000;
/**
* 处理节流函数
* @param fn
* @param delay
* @returns
*/
var useThrottleFn = function (fn, delay) {
var run = throttle(fn, typeof (delay) === 'number' ? delay : defaultDelay$1);
return { run: run };
};
// import { debounce } from '../utils'
// 默认值
var defaultDelay = 1000;
/**
* 处理防抖值
* @param value
* @param delay
* @returns
*/
var useThrottle = function (value, delay) {
delay = delay || defaultDelay;
var res = vue.ref(value.value);
// 利用useDebounceFn来简化处理值
var run = useThrottleFn(function () { return res.value = value.value; }, delay).run;
vue.watch(value, function () { return run(); }, { deep: true });
return res;
};
/**
* 用于在N个状态值间切换。
* @param args
* @returns
*/
function useToggle() {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var argsStateArr = args.map(function (variable) { return vue.isRef(variable) ? variable : vue.ref(variable); });
var initialValue = argsStateArr[0].value;
var state = vue.ref(initialValue);
var activeState = argsStateArr[0];
// 1: 监听当前被激活的state异步
// 2: 如果当前的异步发生改变则修改state
vue.watch([activeState], function () {
state.value = activeState.value;
}, {
deep: true
});
var currIndex = 0;
var len = args.length;
var toggle = function (param) {
// 判定是否在参数里
if (param !== undefined && args.includes(param)) {
state.value = vue.isRef(param) ? param.value : param;
activeState = vue.isRef(param) ? param : vue.ref(param);
return;
}
// 顺序变化
currIndex = currIndex + 1 > len - 1 ? 0 : currIndex + 1;
state.value = argsStateArr[currIndex].value;
activeState = argsStateArr[currIndex];
};
var createHandle = function () {
return argsStateArr.map(function (active, index) {
return function () {
state.value = active.value;
activeState = active;
currIndex = index;
};
});
};
var actions = __spreadArray([toggle], __read(createHandle()));
return [state, actions];
}
// 默认值
var defaultValue = false;
/**
*
* @param defaultValue
* @returns
*/
function useBoolean(value) {
value = value || defaultValue;
var _a = __read(useToggle(value, !value), 2), state = _a[0], _b = __read(_a[1], 1), toggle = _b[0];
var setTrue = function () { return toggle(true); };
var setFalse = function () { return toggle(false); };
var actions = { toggle: toggle, setTrue: setTrue, setFalse: setFalse };
return [state, actions];
}
var useVirtualList = function (state, options) {
var start = 0;
var end = 10;
var list = vue.ref(state.slice(start, end));
var itemHeight = options.itemHeight, _a = options.overscan, overscan = _a === void 0 ? 5 : _a;
var containerRef = vue.ref();
var totalHeight = (function () {
if (typeof itemHeight === 'number') {
return state.length * itemHeight;
}
return state.reduce(function (sum, _, index) { return sum + itemHeight(index); }, 0);
})();
// 计算当前视图展示数量
var getViewCapacity = function (containerHeight) {
if (typeof itemHeight === 'number') {
return Math.ceil(containerHeight / itemHeight);
}
var sum = 0;
var capacity = 0;
for (var i = start; i < state.length; i++) {
var height = itemHeight(i);
sum += height;
if (sum >= containerHeight) {
capacity = i;
break;
}
}
return capacity - start;
};
// 获取当前索引
var getOffset = function (scrollTop) {
if (typeof itemHeight === 'number') {
return Math.floor(scrollTop / itemHeight) + 1;
}
var sum = 0;
var offset = 0;
for (var i = 0; i < state.length; i++) {
var height = itemHeight(i);
sum += height;
if (sum >= scrollTop) {
offset = i;
break;
}
}
return offset + 1;
};
// 获取当前索引向上高度
var getDistanceTop = function (index) {
if (typeof itemHeight === 'number') {
var height_1 = index * itemHeight;
return height_1;
}
var height = state.slice(0, index).reduce(function (sum, _, i) { return sum + itemHeight(i); }, 0);
return height;
};
var offsetTop = getDistanceTop(start);
// 计算展示指定位置
var calculateRange = function () {
var element = containerRef.value;
if (element) {
var offset = getOffset(element.scrollTop);
var viewCapacity = getViewCapacity(element.clientHeight);
var from = offset - overscan;
var to = offset + viewCapacity + overscan;
start = from < 0 ? 0 : from;
end = to > state.length ? state.length : to;
list.value = state.slice(start, end);
// 实时计算
offsetTop = getDistanceTop(start);
wrapperStyle.marginTop = offsetTop + 'px';
wrapperStyle.height = totalHeight - offsetTop + 'px';
}
};
// 滚动容器的外层监听
var containerProps = vue.reactive({
ref: function (ele) {
containerRef.value = ele;
},
onScroll: function (e) {
e.preventDefault();
calculateRange();
},
style: { overflowY: 'auto' },
});
// children 外层包裹器 style
var wrapperStyle = vue.reactive({
width: '100%',
height: totalHeight - offsetTop + 'px',
marginTop: offsetTop + 'px'
});
// 快速滚动到指定 index
var scrollTo = function (index) {
if (containerRef.value) {
containerRef.value.scrollTop = getDistanceTop(index);
calculateRange();
}
};
return {
list: list,
wrapperStyle: wrapperStyle,
containerProps: containerProps,
scrollTo: scrollTo
};
};
var useDynamicList = function (initialValue) {
var uuid = (0);
var uuidKeys = vue.ref([]);
var setUUID = function (index) {
index = index === undefined ? uuidKeys.value.length : index;
uuidKeys.value.splice(index, 0, uuid++);
};
(function () {
initialValue.value.forEach(function () { return setUUID(); });
})();
var resetList = function (resetList) {
uuidKeys.value = [];
if (vue.isRef(resetList)) {
resetList.value.forEach(function () { return setUUID(); });
initialValue = resetList;
return;
}
resetList.forEach(function () { return setUUID(); });
initialValue.value = resetList;
};
var insert = function (index, obj) {
initialValue.value.splice(index, 0, obj);
setUUID(index);
};
var merge = function (index, obj) {
var _a;
obj.forEach(function (active, i) { return setUUID(index + i); });
(_a = initialValue.value).splice.apply(_a, __spreadArray([index, 0], __read(obj)));
};
var replace = function (index, obj) {
initialValue.value.splice(index, 1, obj);
};
var remove = function (index) {
uuidKeys.value.splice(index, 1);
initialValue.value.splice(index, 1);
};
var move = function (oldIndex, newIndex) {
var _a, _b;
if (oldIndex === newIndex)
return;
_a = __read([initialValue.value[newIndex], initialValue.value[oldIndex]], 2), initialValue.value[oldIndex] = _a[0], initialValue.value[newIndex] = _a[1];
_b = __read([uuidKeys.value[newIndex], uuidKeys.value[oldIndex]], 2), uuidKeys.value[oldIndex] = _b[0], uuidKeys.value[newIndex] = _b[1];
};
var getKey = function (index) { return uuidKeys.value[index]; };
var getIndex = function (key) { return uuidKeys.value.indexOf(key); };
var push = function (obj) {
initialValue.value.push(obj);
setUUID();
};
var pop = function () {
initialValue.value.pop();
uuidKeys.value.pop();
};
var unshift = function (obj) {
initialValue.value.unshift(obj);
setUUID(0);
};
var shift = function () {
initialValue.value.shift();
uuidKeys.value.shift();
};
return {
list: initialValue,
resetList: resetList,
insert: insert,
merge: merge,
replace: replace,
remove: remove,
move: move,
getKey: getKey,
getIndex: getIndex,
push: push,
pop: pop,
unshift: unshift,
shift: shift
};
};
var storage$1 = localStorage;
var defaultOptions$5 = {
watch: true
};
var useLocalStorage = function (key, initialValue, options) {
var watch = _assign(_assign({}, defaultOptions$5), options).watch;
var data = vue.ref();
try {
if (initialValue !== undefined) {
data.value = vue.isRef(initialValue) ? initialValue.value : initialValue;
}
else {
data.value = JSON.parse(storage$1.getItem(key) || '{}');
}
}
catch (error) {
console.log(error, 'useLocalStorage初始化失败');
}
var type = getValueType(data.value);
// 判断类型取格式化方法
var serializer = TypeSerializers[type];
var setStorage = function () { return storage$1.setItem(key, serializer.write(data.value)); };
// 状态监听
if (watch) {
vue.watch(data, function (newValue) {
if (newValue === undefined || newValue === null) {
storage$1.removeItem(key);
return;
}
setStorage();
}, {
deep: true
});
}
setStorage();
return data;
};
var storage = sessionStorage;
var defaultOptions$4 = {
watch: true
};
var useSessionStorage = function (key, initialValue, options) {
var watch = _assign(_assign({}, defaultOptions$4), options).watch;
var data = vue.ref();
try {
if (initialValue !== undefined) {
data.value = vue.isRef(initialValue) ? initialValue.value : initialValue;
}
else {
data.value = JSON.parse(storage.getItem(key) || '{}');
}
}
catch (error) {
console.log(error, 'useLocalStorage初始化失败');
}
var type = getValueType(data.value);
// 判断类型取格式化方法
var serializer = TypeSerializers[type];
var setStorage = function () { return storage.setItem(key, serializer.write(data.value)); };
// 状态监听
if (watch) {
vue.watch(data, function (newValue) {
if (newValue === undefined || newValue === null) {
storage.removeItem(key);
return;
}
setStorage();
}, {
deep: true
});
}
setStorage();
return data;
};
var getConnection = function () {
var nav = navigator;
if (typeof nav !== 'object')
return null;
return nav.connection || nav.mozConnection || nav.webkitConnection;
};
var handlerSetConnection = function () {
var connection = getConnection();
return {
rtt: connection.rtt,
type: connection.type,
saveData: connection.saveData,
downlink: connection.downlink,
downlinkMax: connection.downlinkMax,
effectiveType: connection.effectiveType,
};
};
var useNetwork = function () {
var state = vue.reactive(_assign({ online: navigator.onLine, since: +new Date() }, handlerSetConnection()));
var onOnline = function () {
state.online = true;
state.since = +new Date();
};
var onOffline = function () {
state.online = false;
state.since = +new Date();
};
var onConnectionChange = function () {
var connectionData = handlerSetConnection();
Object.keys(connectionData).forEach(function (key) {
var propertyKey = key;
state[propertyKey] = connectionData[propertyKey];
});
};
vue.onMounted(function () {
var _a;
window.addEventListener('online', onOnline);
window.addEventListener('offline', onOffline);
(_a = getConnection()) === null || _a === void 0 ? void 0 : _a.addEventListener('change', onConnectionChange);
});
vue.onUnmounted(function () {
var _a;
window.removeEventListener('online', onOnline);
window.removeEventListener('offline', onOffline);
(_a = getConnection()) === null || _a === void 0 ? void 0 : _a.removeEventListener('change', onConnectionChange);
});
return state;
};
var js_cookie = {exports: {}};
/*!
* JavaScript Cookie v2.2.1
* https://github.com/js-cookie/js-cookie
*
* Copyright 2006, 2015 Klaus Hartl & Fagner Brack
* Released under the MIT license
*/
(function (module, exports) {
(function (factory) {
var registeredInModuleLoader;
{
module.exports = factory();
registeredInModuleLoader = true;
}
if (!registeredInModuleLoader) {
var OldCookies = window.Cookies;
var api = window.Cookies = factory();
api.noConflict = function () {
window.Cookies = OldCookies;
return api;
};
}
})(function () {
function extend() {
var i = 0;
var result = {};
for (; i < arguments.length; i++) {
var attributes = arguments[i];
for (var key in attributes) {
result[key] = attributes[key];
}
}
return result;
}
function decode(s) {
return s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);
}
function init(converter) {
function api() {}
function set(key, value, attributes) {
if (typeof document === 'undefined') {
return;
}
attributes = extend({
path: '/'
}, api.defaults, attributes);
if (typeof attributes.expires === 'number') {
attributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);
} // We're using "expires" because "max-age" is not supported by IE
attributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';
try {
var result = JSON.stringify(value);
if (/^[\{\[]/.test(result)) {
value = result;
}
} catch (e) {}
value = converter.write ? converter.write(value, key) : encodeURIComponent(String(value)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);
key = encodeURIComponent(String(key)).replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent).replace(/[\(\)]/g, escape);
var stringifiedAttributes = '';
for (var attributeName in attributes) {
if (!attributes[attributeName]) {
continue;
}
stringifiedAttributes += '; ' + attributeName;
if (attributes[attributeName] === true) {
continue;
} // Considers RFC 6265 section 5.2:
// ...
// 3. If the remaining unparsed-attributes contains a %x3B (";")
// character:
// Consume the characters of the unparsed-attributes up to,
// not including, the first %x3B (";") character.
// ...
stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];
}
return document.cookie = key + '=' + value + stringifiedAttributes;
}
function get(key, json) {
if (typeof document === 'undefined') {
return;
}
var jar = {}; // To prevent the for loop in the first place assign an empty array
// in case there are no cookies at all.
var cookies = document.cookie ? document.cookie.split('; ') : [];
var i = 0;
for (; i < cookies.length; i++) {
var parts = cookies[i].split('=');
var cookie = parts.slice(1).join('=');
if (!json && cookie.charAt(0) === '"') {
cookie = cookie.slice(1, -1);
}
try {
var name = decode(parts[0]);
cookie = (converter.read || converter)(cookie, name) || decode(cookie);
if (json) {
try {
cookie = JSON.parse(cookie);
} catch (e) {}
}
jar[name] = cookie;
if (key === name) {
break;
}
} catch (e) {}
}
return key ? jar[key] : jar;
}
api.set = set;
api.get = function (key) {
return get(key, false
/* read as raw */
);
};
api.getJSON = function (key) {
return get(key, true
/* read as json */
);
};
api.remove = function (key, attributes) {
set(key, '', extend(attributes, {
expires: -1
}));
};
api.defaults = {};
api.withConverter = init;
return api;
}
return init(function () {});
});
})(js_cookie);
var Cookies = js_cookie.exports;
var defaultOptions$3 = {
watch: false,
defaultValue: undefined
};
var useCookie = function (key, options) {
var _a = _assign(_assign({}, defaultOptions$3), options), watch = _a.watch, defaultValue = _a.defaultValue;
var state = vue.ref(Cookies.get(key) || defaultValue);
var setCookie = function (value) {
Cookies.set(key, value, _assign({}, options));
state.value = value;
};
if (watch) {
vue.watch(state, function (value) {
if (value === null || value === undefined) {
Cookies.remove(key);
return;
}
setCookie(value);
}, {
deep: true
});
}
return state;
};
var useLockFn = function (fn) {
var lock = vue.ref(false);
return function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
return __awaiter(void 0, void 0, void 0, function () {
var ret, error_1;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
if (lock.value)
return [2 /*return*/];
lock.value = true;
_a.label = 1;
case 1:
_a.trys.push([1, 3, , 4]);
return [4 /*yield*/, fn.apply(void 0, __spreadArray([], __read(args)))];
case 2:
ret = _a.sent();
lock.value = false;
return [2 /*return*/, ret];
case 3:
error_1 = _a.sent();
lock.value = false;
throw error_1;
case 4: return [2 /*return*/];
}
});
});
};
};
function useSet(initialValue) {
var initialSet = initialValue ? new Set(initialValue) : new Set();
var state = vue.ref(initialSet);
var actions = {
add: function (value) {
state.value.add(value);
},
remove: function (value) {
state.value.delete(value);
},
has: function (value) { return state.value.has(value); },
clear: function () { return state.value.clear(); },
reset: function () {
state.value = new Set();
}
};
return [state, vue.markRaw(actions)];
}
function useMap(initialValue) {
var initialMap = initialValue ? new Map(initialValue) : new Map();
var state = vue.ref(initialMap);
var actions = {
set: function (key, value) {
state.value.set(key, value);
},
get: function (key) {
return state.value.get(key);
},
remove: function (key) {
state.value.delete(key);
},
has: function (key) { return state.value.has(key); },
clear: function () { return state.value.clear(); },
setAll: function (newMap) {
state.value = new Map(newMap);
},
reset: function () { return state.value = initialMap; }
};
return [state, vue.markRaw(actions)];
}
var useMediaQuery = function (query) {
var mediaQuery = window.matchMedia(query);
var stata = vue.ref(mediaQuery.matches);
var handleChange = function (event) { return stata.value = event.matches; };
mediaQuery.addEventListener('change', handleChange);
vue.onUnmounted(function () {
mediaQuery.removeEventListener('change', handleChange);
});
return stata;
};
var useExternal = function (src, onLoaded, options) {
if (options === void 0) { options = {}; }
var resources = vue.ref(null);
var _a = options.manual, manual = _a === void 0 ? false : _a, async = options.async, crossOrigin = options.crossOrigin, referrerPolicy = options.referrerPolicy, noModule = options.noModule, defer = options.defer, _b = options.media, media = _b === void 0 ? 'all' : _b, _c = options.target, target = _c === void 0 ? document.body : _c;
var el = document.createElement('script');
var parentEl = document.head;
var loadScript = function () { return new Promise(function (resolve) {
var isExist = document.querySelector("script[src=\"" + src + "\"]");
if (isExist)
return;
el = document.createElement('script');
el.src = src;
el.type = 'text/javascript';
if (async)
el.async = async;
if (defer)
el.defer = defer;
if (noModule)
el.noModule = noModule;
if (crossOrigin)
el.crossOrigin = crossOrigin;
if (referrerPolicy)
el.referrerPolicy = referrerPolicy;
el = parentEl.appendChild(el);
resolve(el);
}); };
var loadCss = function () { return new Promise(function (resolve) {
var isExist = document.querySelector("link[href=\"" + src + "\"]");
if (isExist)
return;
el = document.createElement('link');
el.href = src;
el.rel = 'stylesheet';
el.type = 'text/css';
el.media = media;
el = parentEl.appendChild(el);
resolve(el);
}); };
var loadImage = function () { return new Promise(function (resolve) {
var isExist = document.querySelector("img[src=\"" + src + "\"]");
if (isExist)
return;
el = document.createElement('img');
el.src = src;
parentEl = vue.isRef(target) ? target.value : target;
parentEl.appendChild(el);
resolve(el);
}); };
var load = function () { return new Promise(function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
if (!/\.js$/.test(src)) return [3 /*break*/, 2];
return [4 /*yield*/, loadScript()];
case 1:
_a.sent();
_a.label = 2;
case 2:
if (!/\.css$/.test(src)) return [3 /*break*/, 4];
return [4 /*yield*/, loadCss()];
case 3:
_a.sent();
_a.label = 4;
case 4:
if (!/\.(gif|jpg|jpeg|png|svg|GIF|JPG|PNG|)$/.test(src)) return [3 /*break*/, 6];
return [4 /*yield*/, loadImage()];
case 5:
_a.sent();
_a.label = 6;
case 6:
resources.value = el;
el.addEventListener('error', function (event) { return reject(event); });
el.addEventListener('abort', function (event) { return reject(event); });
el.addEventListener('load', function () {
onLoaded && onLoaded(el);
});
resolve(el);
return [2 /*return*/];
}
});
}); }); };
var unload = function () {
if (resources.value) {
parentEl.removeChild(resources.value);
}
};
if (!manual)
load();
return { resources: resources, load: load, unload: unload };
};
var defaultOptions$2 = {
onFull: function () { },
onExitFull: function () { },
};
var useFullscreen = function (target, options) {
var fullScreenElement = !!document.fullscreenElement;
var isFullscreen = vue.ref(fullScreenElement);
var _a = _assign(_assign({}, defaultOptions$2), options), onFull = _a.onFull, onExitFull = _a.onExitFull;
var el = document.body;
var getEl = function () {
if (typeof target === 'function') {
return target();
}
return vue.isRef(target) ? target.value : target;
};
var handler = function () {
if (isFullscreen.value) {
onFull();
}
else {
onExitFull();
}
};
vue.onMounted(function () {
el = getEl() || el;
el.addEventListener('fullscreenchange', handler);
});
vue.onUnmounted(function () {
el.removeEventListener('fullscreenchange', handler);
});
var actions = {
setFull: function () {
if (isFullscreen.value)
return;
el.requestFullscreen();
isFullscreen.value = true;
},
exitFull: function () {
if (!isFullscreen.value)
return;
document.exitFullscreen();
isFullscreen.value = false;
},
toggle: function () {
isFullscreen.value ? actions.exitFull() : actions.setFull();
}
};
return [isFullscreen, actions];
};
var useDocumentVisibility = function () {
var documentVisibility = vue.ref(document.hidden);
var handler = function () {
documentVisibility.value = document.hidden;
};
document.addEventListener('visibilitychange', handler);
return documentVisibility;
};
var defaultReact = {
left: NaN,
right: NaN,
top: NaN,
bottom: NaN,
height: NaN,
width: NaN
};
var useTextSelection = function (target) {
if (target === void 0) { target = document; }
var state = vue.reactive({
text: '',
rect: defaultReact
});
var el = document;
var getEl = function () {
if (typeof target === 'function') {
return target();
}
return vue.isRef(target) ? target.value : target;
};
var getRect = function (selection) {
if (!selection)
return defaultReact;
var range = selection.getRangeAt(0);
var _a = range.getBoundingClientRect(), height = _a.height, width = _a.width, top = _a.top, left = _a.left, right = _a.right, bottom = _a.bottom;
return {
height: height,
width: width,
top: top,
left: left,
right: right,
bottom: bottom,
};
};
var hanleMouseup = function () {
var currSelection = window.getSelection();
var text = currSelection ? currSelection.toString() : '';
var rect = getRect(currSelection);
state.text = text;
state.rect = rect;
};
var hanldeMousedown = function () {
if (state.text) {
state.text = '';
state.rect = defaultReact;
}
var currSelection = window.getSelection();
if (!currSelection)
return;
currSelection.removeAllRanges();
};
vue.onMounted(function () {
el = getEl();
el.addEventListener('mouseup', hanleMouseup);
document.addEventListener('mousedown', hanldeMousedown);
});
vue.onUnmounted(function () {
el.removeEventListener('mouseup', hanleMouseup);
document.removeEventListener('mousedown', hanldeMousedown);
});
return vue.toRefs(state);
};
var defaultOptions$1 = {
immediate: false,
};
var useInterval = function (fn, delay, options) {
var immediate = _assign(_assign({}, defaultOptions$1), options).immediate;
var state = vue.isRef(delay) ? delay : vue.ref(delay);
if (immediate)
fn();
var timer = null;
var clear = function () { return timer ; };
var handler = function () {
if (state.value === undefined || state.value === null)
return;
fn();
run();
};
var run = function () {
if (state.value === undefined || state.value === null) {
return;
}
setTimeout(handler, state.value);
};
run();
vue.onUnmounted(function () { return clear(); });
};
var useTimeout = function (fn, delay) {
var state = vue.isRef(delay) ? delay : vue.ref(delay);
var timer = null;
var clear = function () { return timer ; };
var handler = function () {
if (state.value === undefined || state.value === null)
return;
fn();
};
var run = function () {
if (state.value === undefined || state.value === null) {
return;
}
setTimeout(handler, state.value);
};
run();
vue.onUnmounted(function () { return clear(); });
};
var easy_qrcode_min = {exports: {}};
(function (module, exports) {
!function () {
function a(a, b) {
var c,
d = Object.keys(b);
for (c = 0; c < d.length; c++) {
a = a.replace(new RegExp("\\{" + d[c] + "\\}", "gi"), b[d[c]]);
}
return a;
}
function b(a) {
var b, c, d;
if (!a) throw new Error("cannot create a random attribute name for an undefined object");
b = "ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz", c = "";
do {
for (c = "", d = 0; d < 12; d++) {
c += b[Math.floor(Math.random() * b.length)];
}
} while (a[c]);
return c;
}
function c(a) {
var b = {
left: "start",
right: "end",
center: "middle",
start: "start",
end: "end"
};
return b[a] || b.start;
}
function d(a) {
var b = {
alphabetic: "alphabetic",
hanging: "hanging",
top: "text-before-edge",
bottom: "text-after-edge",
middle: "central"
};
return b[a] || b.alphabetic;
}
var e, _f, g, h, i;
i = function (a, b) {
var c,
d,
e,
f = {};
for (a = a.split(","), b = b || 10, c = 0; c < a.length; c += 2) {
d = "&" + a[c + 1] + ";", e = parseInt(a[c], b), f[d] = "&#" + e + ";";
}
return f["\\xa0"] = " ", f;
}("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro", 32), e = {
strokeStyle: {
svgAttr: "stroke",
canvas: "#000000",
svg: "none",
apply: "stroke"
},
fillStyle: {
svgAttr: "fill",
canvas: "#000000",
svg: null,
apply: "fill"
},
lineCap: {
svgAttr: "stroke-linecap",
canvas: "butt",
svg: "butt",
apply: "stroke"
},
lineJoin: {
svgAttr: "stroke-linejoin",
canvas: "miter",
svg: "miter",
apply: "stroke"
},
miterLimit: {
svgAttr: "stroke-miterlimit",
canvas: 10,
svg: 4,
apply: "stroke"
},
lineWidth: {
svgAttr: "stroke-width",
canvas: 1,
svg: 1,
apply: "stroke"
},
globalAlpha: {
svgAttr: "opacity",
canvas: 1,
svg: 1,
apply: "fill stroke"
},
font: {
canvas: "10px sans-serif"
},
shadowColor: {
canvas: "#000000"
},
shadowOffsetX: {
canvas: 0
},
shadowOffsetY: {
canvas: 0
},
shadowBlur: {
canvas: 0
},
textAlign: {
canvas: "start"
},
textBaseline: {
canvas: "alphabetic"
},
lineDash: {
svgAttr: "stroke-dasharray",
canvas: [],
svg: null,
apply: "stroke"
}
}, g = function g(a, b) {
this.__root = a, this.__ctx = b;
}, g.prototype.addColorStop = function (b, c) {
var d,
e,
f = this.__ctx.__createElement("stop");
f.setAttribute("offset", b), -1 !== c.indexOf("rgba") ? (d = /rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d?\.?\d*)\s*\)/gi, e = d.exec(c), f.setAttribute("stop-color", a("rgb({r},{g},{b})", {
r: e[1],
g: e[2],
b: e[3]
})), f.setAttribute("stop-opacity", e[4])) : f.setAttribute("stop-color", c), this.__root.appendChild(f);
}, h = function h(a, b) {
this.__root = a, this.__ctx = b;
}, _f = function f(a) {
var b,
c = {
width: 500,
height: 500,
enableMirroring: !1
};
if (arguments.length > 1 ? (b = c, b.width = arguments[0], b.height = arguments[1]) : b = a || c, !(this instanceof _f)) return new _f(b);
this.width = b.width || c.width, this.height = b.height || c.height, this.enableMirroring = void 0 !== b.enableMirroring ? b.enableMirroring : c.enableMirroring, this.canvas = this, this.__document = b.document || document, b.ctx ? this.__ctx = b.ctx : (this.__canvas = this.__document.createElement("canvas"), this.__ctx = this.__canvas.getContext("2d")), this.__setDefaultStyles(), this.__stack = [this.__getStyleState()], this.__groupStack = [], this.__root = this.__document.createElementNS("http://www.w3.org/2000/svg", "svg"), this.__root.setAttribute("version", 1.1), this.__root.setAttribute("xmlns", "http://www.w3.org/2000/svg"), this.__root.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:xlink", "http://www.w3.org/1999/xlink"), this.__root.setAttribute("width", this.width), this.__root.setAttribute("height", this.height), this.__ids = {}, this.__defs = this.__document.createElementNS("http://www.w3.org/2000/svg", "defs"), this.__root.appendChild(this.__defs), this.__currentElement = this.__document.createElementNS("http://www.w3.org/2000/svg", "g"), this.__root.appendChild(this.__currentElement);
}, _f.prototype.__createElement = function (a, b, c) {
void 0 === b && (b = {});
var d,
e,
f = this.__document.createElementNS("http://www.w3.org/2000/svg", a),
g = Object.keys(b);
for (c && (f.setAttribute("fill", "none"), f.setAttribute("stroke", "none")), d = 0; d < g.length; d++) {
e = g[d], f.setAttribute(e, b[e]);
}
return f;
}, _f.prototype.__setDefaultStyles = function () {
var a,
b,
c = Object.keys(e);
for (a = 0; a < c.length; a++) {
b = c[a], this[b] = e[b].canvas;
}
}, _f.prototype.__applyStyleState = function (a) {
var b,
c,
d = Object.keys(a);
for (b = 0; b < d.length; b++) {
c = d[b], this[c] = a[c];
}
}, _f.prototype.__getStyleState = function () {
var a,
b,
c = {},
d = Object.keys(e);
for (a = 0; a < d.length; a++) {
b = d[a], c[b] = this[b];
}
return c;
}, _f.prototype.__applyStyleToCurrentElement = function (b) {
var c = this.__currentElement,
d = this.__currentElementsToStyle;
d && (c.setAttribute(b, ""), c = d.element, d.children.forEach(function (a) {
a.setAttribute(b, "");
}));
var f,
i,
j,
k,
l,
m,
n = Object.keys(e);
for (f = 0; f < n.length; f++) {
if (i = e[n[f]], j = this[n[f]], i.apply) if (j instanceof h) {
if (j.__ctx) for (; j.__ctx.__defs.childNodes.length;) {
k = j.__ctx.__defs.childNodes[0].getAttribute("id"), this.__ids[k] = k, this.__defs.appendChild(j.__ctx.__defs.childNodes[0]);
}
c.setAttribute(i.apply, a("url(#{id})", {
id: j.__root.getAttribute("id")
}));
} else if (j instanceof g) c.setAttribute(i.apply, a("url(#{id})", {
id: j.__root.getAttribute("id")
}));else if (-1 !== i.apply.indexOf(b) && i.svg !== j) if ("stroke" !== i.svgAttr && "fill" !== i.svgAttr || -1 === j.indexOf("rgba")) {
var o = i.svgAttr;
if ("globalAlpha" === n[f] && (o = b + "-" + i.svgAttr, c.getAttribute(o))) continue;
c.setAttribute(o, j);
} else {
l = /rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d?\.?\d*)\s*\)/gi, m = l.exec(j), c.setAttribute(i.svgAttr, a("rgb({r},{g},{b})", {
r: m[1],
g: m[2],
b: m[3]
}));
var p = m[4],
q = this.globalAlpha;
null != q && (p *= q), c.setAttribute(i.svgAttr + "-opacity", p);
}
}
}, _f.prototype.__closestGroupOrSvg = function (a) {
return a = a || this.__currentElement, "g" === a.nodeName || "svg" === a.nodeName ? a : this.__closestGroupOrSvg(a.parentNode);
}, _f.prototype.getSerializedSvg = function (a) {
var b,
c,
d,
e,
f,
g,
h = new XMLSerializer().serializeToString(this.__root);
if (g = /xmlns="http:\/\/www\.w3\.org\/2000\/svg".+xmlns="http:\/\/www\.w3\.org\/2000\/svg/gi, g.test(h) && (h = h.replace('xmlns="http://www.w3.org/2000/svg', 'xmlns:xlink="http://www.w3.org/1999/xlink')), a) for (b = Object.keys(i), c = 0; c < b.length; c++) {
d = b[c], e = i[d], f = new RegExp(d, "gi"), f.test(h) && (h = h.replace(f, e));
}
return h;
}, _f.prototype.getSvg = function () {
return this.__root;
}, _f.prototype.save = function () {
var a = this.__createElement("g"),
b = this.__closestGroupOrSvg();
this.__groupStack.push(b), b.appendChild(a), this.__currentElement = a, this.__stack.push(this.__getStyleState());
}, _f.prototype.restore = function () {
this.__currentElement = this.__groupStack.pop(), this.__currentElementsToStyle = null, this.__currentElement || (this.__currentElement = this.__root.childNodes[1]);
var a = this.__stack.pop();
this.__applyStyleState(a);
}, _f.prototype.__addTransform = function (a) {
var b = this.__closestGroupOrSvg();
if (b.childNodes.length > 0) {
"path" === this.__currentElement.nodeName && (this.__currentElementsToStyle || (this.__currentElementsToStyle = {
element: b,
children: []
}), this.__currentElementsToStyle.children.push(this.__currentElement), this.__applyCurrentDefaultPath());
var c = this.__createElement("g");
b.appendChild(c), this.__currentElement = c;
}
var d = this.__currentElement.getAttribute("transform");
d ? d += " " : d = "", d += a, this.__currentElement.setAttribute("transform", d);
}, _f.prototype.scale = function (b, c) {
void 0 === c && (c = b), this.__addTransform(a("scale({x},{y})", {
x: b,
y: c
}));
}, _f.prototype.rotate = function (b) {
var c = 180 * b / Math.PI;
this.__addTransform(a("rotate({angle},{cx},{cy})", {
angle: c,
cx: 0,
cy: 0
}));
}, _f.prototype.translate = function (b, c) {
this.__addTransform(a("translate({x},{y})", {
x: b,
y: c
}));
}, _f.prototype.transform = function (b, c, d, e, f, g) {
this.__addTransform(a("matrix({a},{b},{c},{d},{e},{f})", {
a: b,
b: c,
c: d,
d: e,
e: f,
f: g
}));
}, _f.prototype.beginPath = function () {
var a, b;
this.__currentDefaultPath = "", this.__currentPosition = {}, a = this.__createElement("path", {}, !0), b = this.__closestGroupOrSvg(), b.appendChild(a), this.__currentElement = a;
}, _f.prototype.__applyCurrentDefaultPath = function () {
var a = this.__currentElement;
"path" === a.nodeName ? a.setAttribute("d", this.__currentDefaultPath) : console.error("Attempted to apply path command to node", a.nodeName);
}, _f.prototype.__addPathCommand = function (a) {
this.__currentDefaultPath += " ", this.__currentDefaultPath += a;
}, _f.prototype.moveTo = function (b, c) {
"path" !== this.__currentElement.nodeName && this.beginPath(), this.__currentPosition = {
x: b,
y: c
}, this.__addPathCommand(a("M {x} {y}", {
x: b,
y: c
}));
}, _f.prototype.closePath = function () {
this.__currentDefaultPath && this.__addPathCommand("Z");
}, _f.prototype.lineTo = function (b, c) {
this.__currentPosition = {
x: b,
y: c
}, this.__currentDefaultPath.indexOf("M") > -1 ? this.__addPathCommand(a("L {x} {y}", {
x: b,
y: c
})) : this.__addPathCommand(a("M {x} {y}", {
x: b,
y: c
}));
}, _f.prototype.bezierCurveTo = function (b, c, d, e, f, g) {
this.__currentPosition = {
x: f,
y: g
}, this.__addPathCommand(a("C {cp1x} {cp1y} {cp2x} {cp2y} {x} {y}", {
cp1x: b,
cp1y: c,
cp2x: d,
cp2y: e,
x: f,
y: g
}));
}, _f.prototype.quadraticCurveTo = function (b, c, d, e) {
this.__currentPosition = {
x: d,
y: e
}, this.__addPathCommand(a("Q {cpx} {cpy} {x} {y}", {
cpx: b,
cpy: c,
x: d,
y: e
}));
};
var j = function j(a) {
var b = Math.sqrt(a[0] * a[0] + a[1] * a[1]);
return [a[0] / b, a[1] / b];
};
_f.prototype.arcTo = function (a, b, c, d, e) {
var f = this.__currentPosition && this.__currentPosition.x,
g = this.__currentPosition && this.__currentPosition.y;
if (void 0 !== f && void 0 !== g) {
if (e < 0) throw new Error("IndexSizeError: The radius provided (" + e + ") is negative.");
if (f === a && g === b || a === c && b === d || 0 === e) return void this.lineTo(a, b);
var h = j([f - a, g - b]),
i = j([c - a, d - b]);
if (h[0] * i[1] == h[1] * i[0]) return void this.lineTo(a, b);
var k = h[0] * i[0] + h[1] * i[1],
l = Math.acos(Math.abs(k)),
m = j([h[0] + i[0], h[1] + i[1]]),
n = e / Math.sin(l / 2),
o = a + n * m[0],
p = b + n * m[1],
q = [-h[1], h[0]],
r = [i[1], -i[0]],
s = function s(a) {
var b = a[0];
return a[1] >= 0 ? Math.acos(b) : -Math.acos(b);
},
t = s(q),
u = s(r);
this.lineTo(o + q[0] * e, p + q[1] * e), this.arc(o, p, e, t, u);
}
}, _f.prototype.stroke = function () {
"path" === this.__currentElement.nodeName && this.__currentElement.setAttribute("paint-order", "fill stroke markers"), this.__applyCurrentDefaultPath(), this.__applyStyleToCurrentElement("stroke");
}, _f.prototype.fill = function () {
"path" === this.__currentElement.nodeName && this.__currentElement.setAttribute("paint-order", "stroke fill markers"), this.__applyCurrentDefaultPath(), this.__applyStyleToCurrentElement("fill");
}, _f.prototype.rect = function (a, b, c, d) {
"path" !== this.__currentElement.nodeName && this.beginPath(), this.moveTo(a, b), this.lineTo(a + c, b), this.lineTo(a + c, b + d), this.lineTo(a, b + d), this.lineTo(a, b), this.closePath();
}, _f.prototype.fillRect = function (a, b, c, d) {
var e, f;
e = this.__createElement("rect", {
x: a,
y: b,
width: c,
height: d,
"shape-rendering": "crispEdges"
}, !0), f = this.__closestGroupOrSvg(), f.appendChild(e), this.__currentElement = e, this.__applyStyleToCurrentElement("fill");
}, _f.prototype.strokeRect = function (a, b, c, d) {
var e, f;
e = this.__createElement("rect", {
x: a,
y: b,
width: c,
height: d
}, !0), f = this.__closestGroupOrSvg(), f.appendChild(e), this.__currentElement = e, this.__applyStyleToCurrentElement("stroke");
}, _f.prototype.__clearCanvas = function () {
for (var a = this.__closestGroupOrSvg(), b = a.getAttribute("transform"), c = this.__root.childNodes[1], d = c.childNodes, e = d.length - 1; e >= 0; e--) {
d[e] && c.removeChild(d[e]);
}
this.__currentElement = c, this.__groupStack = [], b && this.__addTransform(b);
}, _f.prototype.clearRect = function (a, b, c, d) {
if (0 === a && 0 === b && c === this.width && d === this.height) return void this.__clearCanvas();
var e,
f = this.__closestGroupOrSvg();
e = this.__createElement("rect", {
x: a,
y: b,
width: c,
height: d,
fill: "#FFFFFF"
}, !0), f.appendChild(e);
}, _f.prototype.createLinearGradient = function (a, c, d, e) {
var f = this.__createElement("linearGradient", {
id: b(this.__ids),
x1: a + "px",
x2: d + "px",
y1: c + "px",
y2: e + "px",
gradientUnits: "userSpaceOnUse"
}, !1);
return this.__defs.appendChild(f), new g(f, this);
}, _f.prototype.createRadialGradient = function (a, c, d, e, f, h) {
var i = this.__createElement("radialGradient", {
id: b(this.__ids),
cx: e + "px",
cy: f + "px",
r: h + "px",
fx: a + "px",
fy: c + "px",
gradientUnits: "userSpaceOnUse"
}, !1);
return this.__defs.appendChild(i), new g(i, this);
}, _f.prototype.__parseFont = function () {
var a = /^\s*(?=(?:(?:[-a-z]+\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\1|\2|\3)\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\d]+(?:\%|in|[cem]m|ex|p[ctx]))(?:\s*\/\s*(normal|[.\d]+(?:\%|in|[cem]m|ex|p[ctx])))?\s*([-,\'\"\sa-z0-9]+?)\s*$/i,
b = a.exec(this.font),
c = {
style: b[1] || "normal",
size: b[4] || "10px",
family: b[6] || "sans-serif",
weight: b[3] || "normal",
decoration: b[2] || "normal",
href: null
};
return "underline" === this.__fontUnderline && (c.decoration = "underline"), this.__fontHref && (c.href = this.__fontHref), c;
}, _f.prototype.__wrapTextLink = function (a, b) {
if (a.href) {
var c = this.__createElement("a");
return c.setAttributeNS("http://www.w3.org/1999/xlink", "xlink:href", a.href), c.appendChild(b), c;
}
return b;
}, _f.prototype.__applyText = function (a, b, e, f) {
var g = this.__parseFont(),
h = this.__closestGroupOrSvg(),
i = this.__createElement("text", {
"font-family": g.family,
"font-size": g.size,
"font-style": g.style,
"font-weight": g.weight,
"text-decoration": g.decoration,
x: b,
y: e,
"text-anchor": c(this.textAlign),
"dominant-baseline": d(this.textBaseline)
}, !0);
i.appendChild(this.__document.createTextNode(a)), this.__currentElement = i, this.__applyStyleToCurrentElement(f), h.appendChild(this.__wrapTextLink(g, i));
}, _f.prototype.fillText = function (a, b, c) {
this.__applyText(a, b, c, "fill");
}, _f.prototype.strokeText = function (a, b, c) {
this.__applyText(a, b, c, "stroke");
}, _f.prototype.measureText = function (a) {
return this.__ctx.font = this.font, this.__ctx.measureText(a);
}, _f.prototype.arc = function (b, c, d, e, f, g) {
if (e !== f) {
e %= 2 * Math.PI, f %= 2 * Math.PI, e === f && (f = (f + 2 * Math.PI - .001 * (g ? -1 : 1)) % (2 * Math.PI));
var h = b + d * Math.cos(f),
i = c + d * Math.sin(f),
j = b + d * Math.cos(e),
k = c + d * Math.sin(e),
l = g ? 0 : 1,
m = 0,
n = f - e;
n < 0 && (n += 2 * Math.PI), m = g ? n > Math.PI ? 0 : 1 : n > Math.PI ? 1 : 0, this.lineTo(j, k), this.__addPathCommand(a("A {rx} {ry} {xAxisRotation} {largeArcFlag} {sweepFlag} {endX} {endY}", {
rx: d,
ry: d,
xAxisRotation: 0,
largeArcFlag: m,
sweepFlag: l,
endX: h,
endY: i
})), this.__currentPosition = {
x: h,
y: i
};
}
}, _f.prototype.clip = function () {
var c = this.__closestGroupOrSvg(),
d = this.__createElement("clipPath"),
e = b(this.__ids),
f = this.__createElement("g");
this.__applyCurrentDefaultPath(), c.removeChild(this.__currentElement), d.setAttribute("id", e), d.appendChild(this.__currentElement), this.__defs.appendChild(d), c.setAttribute("clip-path", a("url(#{id})", {
id: e
})), c.appendChild(f), this.__currentElement = f;
}, _f.prototype.drawImage = function () {
var a,
b,
c,
d,
e,
g,
h,
i,
j,
k,
l,
m,
n,
o,
p = Array.prototype.slice.call(arguments),
q = p[0],
r = 0,
s = 0;
if (3 === p.length) a = p[1], b = p[2], e = q.width, g = q.height, c = e, d = g;else if (5 === p.length) a = p[1], b = p[2], c = p[3], d = p[4], e = q.width, g = q.height;else {
if (9 !== p.length) throw new Error("Invalid number of arguments passed to drawImage: " + arguments.length);
r = p[1], s = p[2], e = p[3], g = p[4], a = p[5], b = p[6], c = p[7], d = p[8];
}
h = this.__closestGroupOrSvg(), this.__currentElement;
var t = "translate(" + a + ", " + b + ")";
if (q instanceof _f) {
if (i = q.getSvg().cloneNode(!0), i.childNodes && i.childNodes.length > 1) {
for (j = i.childNodes[0]; j.childNodes.length;) {
o = j.childNodes[0].getAttribute("id"), this.__ids[o] = o, this.__defs.appendChild(j.childNodes[0]);
}
if (k = i.childNodes[1]) {
var u,
v = k.getAttribute("transform");
u = v ? v + " " + t : t, k.setAttribute("transform", u), h.appendChild(k);
}
}
} else "CANVAS" !== q.nodeName && "IMG" !== q.nodeName || (l = this.__createElement("image"), l.setAttribute("width", c), l.setAttribute("height", d), l.setAttribute("preserveAspectRatio", "none"), l.setAttribute("opacity", this.globalAlpha), (r || s || e !== q.width || g !== q.height) && (m = this.__document.createElement("canvas"), m.width = c, m.height = d, n = m.getContext("2d"), n.drawImage(q, r, s, e, g, 0, 0, c, d), q = m), l.setAttribute("transform", t), l.setAttributeNS("http://www.w3.org/1999/xlink", "xlink:href", "CANVAS" === q.nodeName ? q.toDataURL() : q.originalSrc), h.appendChild(l));
}, _f.prototype.createPattern = function (a, c) {
var d,
e = this.__document.createElementNS("http://www.w3.org/2000/svg", "pattern"),
g = b(this.__ids);
return e.setAttribute("id", g), e.setAttribute("width", a.width), e.setAttribute("height", a.height), "CANVAS" === a.nodeName || "IMG" === a.nodeName ? (d = this.__document.createElementNS("http://www.w3.org/2000/svg", "image"), d.setAttribute("width", a.width), d.setAttribute("height", a.height), d.setAttributeNS("http://www.w3.org/1999/xlink", "xlink:href", "CANVAS" === a.nodeName ? a.toDataURL() : a.getAttribute("src")), e.appendChild(d), this.__defs.appendChild(e)) : a instanceof _f && (e.appendChild(a.__root.childNodes[1]), this.__defs.appendChild(e)), new h(e, this);
}, _f.prototype.setLineDash = function (a) {
a && a.length > 0 ? this.lineDash = a.join(",") : this.lineDash = null;
}, _f.prototype.drawFocusRing = function () {}, _f.prototype.createImageData = function () {}, _f.prototype.getImageData = function () {}, _f.prototype.putImageData = function () {}, _f.prototype.globalCompositeOperation = function () {}, _f.prototype.setTransform = function () {}, "object" == (typeof window === "undefined" ? "undefined" : _typeof(window)) && (window.C2S = _f), (module.exports = _f);
}(), function () {
function a(a, b) {
this.mode = q.MODE_8BIT_BYTE, this.data = a, this.parsedData = [];
for (var c = 0, d = this.data.length; c < d; c++) {
var e = [],
f = this.data.charCodeAt(c);
b ? e[0] = f : f > 65536 ? (e[0] = 240 | (1835008 & f) >>> 18, e[1] = 128 | (258048 & f) >>> 12, e[2] = 128 | (4032 & f) >>> 6, e[3] = 128 | 63 & f) : f > 2048 ? (e[0] = 224 | (61440 & f) >>> 12, e[1] = 128 | (4032 & f) >>> 6, e[2] = 128 | 63 & f) : f > 128 ? (e[0] = 192 | (1984 & f) >>> 6, e[1] = 128 | 63 & f) : e[0] = f, this.parsedData.push(e);
}
this.parsedData = Array.prototype.concat.apply([], this.parsedData), this.parsedData.length != this.data.length && (this.parsedData.unshift(191), this.parsedData.unshift(187), this.parsedData.unshift(239));
}
function b(a, b) {
this.typeNumber = a, this.errorCorrectLevel = b, this.modules = null, this.moduleCount = 0, this.dataCache = null, this.dataList = [];
}
function c(a, b) {
if (a.length == i) throw new Error(a.length + "/" + b);
for (var c = 0; c < a.length && 0 == a[c];) {
c++;
}
this.num = new Array(a.length - c + b);
for (var d = 0; d < a.length - c; d++) {
this.num[d] = a[d + c];
}
}
function d(a, b) {
this.totalCount = a, this.dataCount = b;
}
function e() {
this.buffer = [], this.length = 0;
}
function f() {
var a = !1,
b = navigator.userAgent;
if (/android/i.test(b)) {
a = !0;
var c = b.toString().match(/android ([0-9]\.[0-9])/i);
c && c[1] && (a = parseFloat(c[1]));
}
return a;
}
function g(a, b) {
for (var c = b.correctLevel, d = 1, e = h(a), f = 0, g = w.length; f < g; f++) {
var i = 0;
switch (c) {
case r.L:
i = w[f][0];
break;
case r.M:
i = w[f][1];
break;
case r.Q:
i = w[f][2];
break;
case r.H:
i = w[f][3];
}
if (e <= i) break;
d++;
}
if (d > w.length) throw new Error("Too long data. the CorrectLevel." + ["M", "L", "H", "Q"][c] + " limit length is " + i);
return 0 != b.version && (d <= b.version ? (d = b.version, b.runVersion = d) : (console.warn("QR Code version " + b.version + " too small, run version use " + d), b.runVersion = d)), d;
}
function h(a) {
var b = encodeURI(a).toString().replace(/\%[0-9a-fA-F]{2}/g, "a");
return b.length + (b.length != a.length ? 3 : 0);
}
var i,
j,
k = "object" == _typeof(commonjsGlobal) && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal,
l = "object" == (typeof self === "undefined" ? "undefined" : _typeof(self)) && self && self.Object === Object && self,
m = k || l || Function("return this")(),
n = exports && !exports.nodeType && exports,
o = n && "object" == 'object' && module && !module.nodeType && module,
p = m.QRCode;
a.prototype = {
getLength: function getLength(a) {
return this.parsedData.length;
},
write: function write(a) {
for (var b = 0, c = this.parsedData.length; b < c; b++) {
a.put(this.parsedData[b], 8);
}
}
}, b.prototype = {
addData: function addData(b, c) {
var d = new a(b, c);
this.dataList.push(d), this.dataCache = null;
},
isDark: function isDark(a, b) {
if (a < 0 || this.moduleCount <= a || b < 0 || this.moduleCount <= b) throw new Error(a + "," + b);
return this.modules[a][b][0];
},
getEye: function getEye(a, b) {
if (a < 0 || this.moduleCount <= a || b < 0 || this.moduleCount <= b) throw new Error(a + "," + b);
var c = this.modules[a][b];
if (c[1]) {
var d = "P" + c[1] + "_" + c[2];
return "A" == c[2] && (d = "A" + c[1]), {
isDark: c[0],
type: d
};
}
return null;
},
getModuleCount: function getModuleCount() {
return this.moduleCount;
},
make: function make() {
this.makeImpl(!1, this.getBestMaskPattern());
},
makeImpl: function makeImpl(a, c) {
this.moduleCount = 4 * this.typeNumber + 17, this.modules = new Array(this.moduleCount);
for (var d = 0; d < this.moduleCount; d++) {
this.modules[d] = new Array(this.moduleCount);
for (var e = 0; e < this.moduleCount; e++) {
this.modules[d][e] = [];
}
}
this.setupPositionProbePattern(0, 0, "TL"), this.setupPositionProbePattern(this.moduleCount - 7, 0, "BL"), this.setupPositionProbePattern(0, this.moduleCount - 7, "TR"), this.setupPositionAdjustPattern("A"), this.setupTimingPattern(), this.setupTypeInfo(a, c), this.typeNumber >= 7 && this.setupTypeNumber(a), null == this.dataCache && (this.dataCache = b.createData(this.typeNumber, this.errorCorrectLevel, this.dataList)), this.mapData(this.dataCache, c);
},
setupPositionProbePattern: function setupPositionProbePattern(a, b, c) {
for (var d = -1; d <= 7; d++) {
if (!(a + d <= -1 || this.moduleCount <= a + d)) for (var e = -1; e <= 7; e++) {
b + e <= -1 || this.moduleCount <= b + e || (0 <= d && d <= 6 && (0 == e || 6 == e) || 0 <= e && e <= 6 && (0 == d || 6 == d) || 2 <= d && d <= 4 && 2 <= e && e <= 4 ? (this.modules[a + d][b + e][0] = !0, this.modules[a + d][b + e][2] = c, this.modules[a + d][b + e][1] = -0 == d || -0 == e || 6 == d || 6 == e ? "O" : "I") : this.modules[a + d][b + e][0] = !1);
}
}
},
getBestMaskPattern: function getBestMaskPattern() {
for (var a = 0, b = 0, c = 0; c < 8; c++) {
this.makeImpl(!0, c);
var d = t.getLostPoint(this);
(0 == c || a > d) && (a = d, b = c);
}
return b;
},
createMovieClip: function createMovieClip(a, b, c) {
var d = a.createEmptyMovieClip(b, c);
this.make();
for (var e = 0; e < this.modules.length; e++) {
for (var f = 1 * e, g = 0; g < this.modules[e].length; g++) {
var h = 1 * g,
i = this.modules[e][g][0];
i && (d.beginFill(0, 100), d.moveTo(h, f), d.lineTo(h + 1, f), d.lineTo(h + 1, f + 1), d.lineTo(h, f + 1), d.endFill());
}
}
return d;
},
setupTimingPattern: function setupTimingPattern() {
for (var a = 8; a < this.moduleCount - 8; a++) {
null == this.modules[a][6][0] && (this.modules[a][6][0] = a % 2 == 0);
}
for (var b = 8; b < this.moduleCount - 8; b++) {
null == this.modules[6][b][0] && (this.modules[6][b][0] = b % 2 == 0);
}
},
setupPositionAdjustPattern: function setupPositionAdjustPattern(a) {
for (var b = t.getPatternPosition(this.typeNumber), c = 0; c < b.length; c++) {
for (var d = 0; d < b.length; d++) {
var e = b[c],
f = b[d];
if (null == this.modules[e][f][0]) for (var g = -2; g <= 2; g++) {
for (var h = -2; h <= 2; h++) {
-2 == g || 2 == g || -2 == h || 2 == h || 0 == g && 0 == h ? (this.modules[e + g][f + h][0] = !0, this.modules[e + g][f + h][2] = a, this.modules[e + g][f + h][1] = -2 == g || -2 == h || 2 == g || 2 == h ? "O" : "I") : this.modules[e + g][f + h][0] = !1;
}
}
}
}
},
setupTypeNumber: function setupTypeNumber(a) {
for (var b = t.getBCHTypeNumber(this.typeNumber), c = 0; c < 18; c++) {
var d = !a && 1 == (b >> c & 1);
this.modules[Math.floor(c / 3)][c % 3 + this.moduleCount - 8 - 3][0] = d;
}
for (var c = 0; c < 18; c++) {
var d = !a && 1 == (b >> c & 1);
this.modules[c % 3 + this.moduleCount - 8 - 3][Math.floor(c / 3)][0] = d;
}
},
setupTypeInfo: function setupTypeInfo(a, b) {
for (var c = this.errorCorrectLevel << 3 | b, d = t.getBCHTypeInfo(c), e = 0; e < 15; e++) {
var f = !a && 1 == (d >> e & 1);
e < 6 ? this.modules[e][8][0] = f : e < 8 ? this.modules[e + 1][8][0] = f : this.modules[this.moduleCount - 15 + e][8][0] = f;
}
for (var e = 0; e < 15; e++) {
var f = !a && 1 == (d >> e & 1);
e < 8 ? this.modules[8][this.moduleCount - e - 1][0] = f : e < 9 ? this.modules[8][15 - e - 1 + 1][0] = f : this.modules[8][15 - e - 1][0] = f;
}
this.modules[this.moduleCount - 8][8][0] = !a;
},
mapData: function mapData(a, b) {
for (var c = -1, d = this.moduleCount - 1, e = 7, f = 0, g = this.moduleCount - 1; g > 0; g -= 2) {
for (6 == g && g--;;) {
for (var h = 0; h < 2; h++) {
if (null == this.modules[d][g - h][0]) {
var i = !1;
f < a.length && (i = 1 == (a[f] >>> e & 1));
var j = t.getMask(b, d, g - h);
j && (i = !i), this.modules[d][g - h][0] = i, e--, -1 == e && (f++, e = 7);
}
}
if ((d += c) < 0 || this.moduleCount <= d) {
d -= c, c = -c;
break;
}
}
}
}
}, b.PAD0 = 236, b.PAD1 = 17, b.createData = function (a, c, f) {
for (var g = d.getRSBlocks(a, c), h = new e(), i = 0; i < f.length; i++) {
var j = f[i];
h.put(j.mode, 4), h.put(j.getLength(), t.getLengthInBits(j.mode, a)), j.write(h);
}
for (var k = 0, i = 0; i < g.length; i++) {
k += g[i].dataCount;
}
if (h.getLengthInBits() > 8 * k) throw new Error("code length overflow. (" + h.getLengthInBits() + ">" + 8 * k + ")");
for (h.getLengthInBits() + 4 <= 8 * k && h.put(0, 4); h.getLengthInBits() % 8 != 0;) {
h.putBit(!1);
}
for (;;) {
if (h.getLengthInBits() >= 8 * k) break;
if (h.put(b.PAD0, 8), h.getLengthInBits() >= 8 * k) break;
h.put(b.PAD1, 8);
}
return b.createBytes(h, g);
}, b.createBytes = function (a, b) {
for (var d = 0, e = 0, f = 0, g = new Array(b.length), h = new Array(b.length), i = 0; i < b.length; i++) {
var j = b[i].dataCount,
k = b[i].totalCount - j;
e = Math.max(e, j), f = Math.max(f, k), g[i] = new Array(j);
for (var l = 0; l < g[i].length; l++) {
g[i][l] = 255 & a.buffer[l + d];
}
d += j;
var m = t.getErrorCorrectPolynomial(k),
n = new c(g[i], m.getLength() - 1),
o = n.mod(m);
h[i] = new Array(m.getLength() - 1);
for (var l = 0; l < h[i].length; l++) {
var p = l + o.getLength() - h[i].length;
h[i][l] = p >= 0 ? o.get(p) : 0;
}
}
for (var q = 0, l = 0; l < b.length; l++) {
q += b[l].totalCount;
}
for (var r = new Array(q), s = 0, l = 0; l < e; l++) {
for (var i = 0; i < b.length; i++) {
l < g[i].length && (r[s++] = g[i][l]);
}
}
for (var l = 0; l < f; l++) {
for (var i = 0; i < b.length; i++) {
l < h[i].length && (r[s++] = h[i][l]);
}
}
return r;
};
for (var q = {
MODE_NUMBER: 1,
MODE_ALPHA_NUM: 2,
MODE_8BIT_BYTE: 4,
MODE_KANJI: 8
}, r = {
L: 1,
M: 0,
Q: 3,
H: 2
}, s = {
PATTERN000: 0,
PATTERN001: 1,
PATTERN010: 2,
PATTERN011: 3,
PATTERN100: 4,
PATTERN101: 5,
PATTERN110: 6,
PATTERN111: 7
}, t = {
PATTERN_POSITION_TABLE: [[], [6, 18], [6, 22], [6, 26], [6, 30], [6, 34], [6, 22, 38], [6, 24, 42], [6, 26, 46], [6, 28, 50], [6, 30, 54], [6, 32, 58], [6, 34, 62], [6, 26, 46, 66], [6, 26, 48, 70], [6, 26, 50, 74], [6, 30, 54, 78], [6, 30, 56, 82], [6, 30, 58, 86], [6, 34, 62, 90], [6, 28, 50, 72, 94], [6, 26, 50, 74, 98], [6, 30, 54, 78, 102], [6, 28, 54, 80, 106], [6, 32, 58, 84, 110], [6, 30, 58, 86, 114], [6, 34, 62, 90, 118], [6, 26, 50, 74, 98, 122], [6, 30, 54, 78, 102, 126], [6, 26, 52, 78, 104, 130], [6, 30, 56, 82, 108, 134], [6, 34, 60, 86, 112, 138], [6, 30, 58, 86, 114, 142], [6, 34, 62, 90, 118, 146], [6, 30, 54, 78, 102, 126, 150], [6, 24, 50, 76, 102, 128, 154], [6, 28, 54, 80, 106, 132, 158], [6, 32, 58, 84, 110, 136, 162], [6, 26, 54, 82, 110, 138, 166], [6, 30, 58, 86, 114, 142, 170]],
G15: 1335,
G18: 7973,
G15_MASK: 21522,
getBCHTypeInfo: function getBCHTypeInfo(a) {
for (var b = a << 10; t.getBCHDigit(b) - t.getBCHDigit(t.G15) >= 0;) {
b ^= t.G15 << t.getBCHDigit(b) - t.getBCHDigit(t.G15);
}
return (a << 10 | b) ^ t.G15_MASK;
},
getBCHTypeNumber: function getBCHTypeNumber(a) {
for (var b = a << 12; t.getBCHDigit(b) - t.getBCHDigit(t.G18) >= 0;) {
b ^= t.G18 << t.getBCHDigit(b) - t.getBCHDigit(t.G18);
}
return a << 12 | b;
},
getBCHDigit: function getBCHDigit(a) {
for (var b = 0; 0 != a;) {
b++, a >>>= 1;
}
return b;
},
getPatternPosition: function getPatternPosition(a) {
return t.PATTERN_POSITION_TABLE[a - 1];
},
getMask: function getMask(a, b, c) {
switch (a) {
case s.PATTERN000:
return (b + c) % 2 == 0;
case s.PATTERN001:
return b % 2 == 0;
case s.PATTERN010:
return c % 3 == 0;
case s.PATTERN011:
return (b + c) % 3 == 0;
case s.PATTERN100:
return (Math.floor(b / 2) + Math.floor(c / 3)) % 2 == 0;
case s.PATTERN101:
return b * c % 2 + b * c % 3 == 0;
case s.PATTERN110:
return (b * c % 2 + b * c % 3) % 2 == 0;
case s.PATTERN111:
return (b * c % 3 + (b + c) % 2) % 2 == 0;
default:
throw new Error("bad maskPattern:" + a);
}
},
getErrorCorrectPolynomial: function getErrorCorrectPolynomial(a) {
for (var b = new c([1], 0), d = 0; d < a; d++) {
b = b.multiply(new c([1, u.gexp(d)], 0));
}
return b;
},
getLengthInBits: function getLengthInBits(a, b) {
if (1 <= b && b < 10) switch (a) {
case q.MODE_NUMBER:
return 10;
case q.MODE_ALPHA_NUM:
return 9;
case q.MODE_8BIT_BYTE:
case q.MODE_KANJI:
return 8;
default:
throw new Error("mode:" + a);
} else if (b < 27) switch (a) {
case q.MODE_NUMBER:
return 12;
case q.MODE_ALPHA_NUM:
return 11;
case q.MODE_8BIT_BYTE:
return 16;
case q.MODE_KANJI:
return 10;
default:
throw new Error("mode:" + a);
} else {
if (!(b < 41)) throw new Error("type:" + b);
switch (a) {
case q.MODE_NUMBER:
return 14;
case q.MODE_ALPHA_NUM:
return 13;
case q.MODE_8BIT_BYTE:
return 16;
case q.MODE_KANJI:
return 12;
default:
throw new Error("mode:" + a);
}
}
},
getLostPoint: function getLostPoint(a) {
for (var b = a.getModuleCount(), c = 0, d = 0; d < b; d++) {
for (var e = 0; e < b; e++) {
for (var f = 0, g = a.isDark(d, e), h = -1; h <= 1; h++) {
if (!(d + h < 0 || b <= d + h)) for (var i = -1; i <= 1; i++) {
e + i < 0 || b <= e + i || 0 == h && 0 == i || g == a.isDark(d + h, e + i) && f++;
}
}
f > 5 && (c += 3 + f - 5);
}
}
for (var d = 0; d < b - 1; d++) {
for (var e = 0; e < b - 1; e++) {
var j = 0;
a.isDark(d, e) && j++, a.isDark(d + 1, e) && j++, a.isDark(d, e + 1) && j++, a.isDark(d + 1, e + 1) && j++, 0 != j && 4 != j || (c += 3);
}
}
for (var d = 0; d < b; d++) {
for (var e = 0; e < b - 6; e++) {
a.isDark(d, e) && !a.isDark(d, e + 1) && a.isDark(d, e + 2) && a.isDark(d, e + 3) && a.isDark(d, e + 4) && !a.isDark(d, e + 5) && a.isDark(d, e + 6) && (c += 40);
}
}
for (var e = 0; e < b; e++) {
for (var d = 0; d < b - 6; d++) {
a.isDark(d, e) && !a.isDark(d + 1, e) && a.isDark(d + 2, e) && a.isDark(d + 3, e) && a.isDark(d + 4, e) && !a.isDark(d + 5, e) && a.isDark(d + 6, e) && (c += 40);
}
}
for (var k = 0, e = 0; e < b; e++) {
for (var d = 0; d < b; d++) {
a.isDark(d, e) && k++;
}
}
return c += Math.abs(100 * k / b / b - 50) / 5 * 10;
}
}, u = {
glog: function glog(a) {
if (a < 1) throw new Error("glog(" + a + ")");
return u.LOG_TABLE[a];
},
gexp: function gexp(a) {
for (; a < 0;) {
a += 255;
}
for (; a >= 256;) {
a -= 255;
}
return u.EXP_TABLE[a];
},
EXP_TABLE: new Array(256),
LOG_TABLE: new Array(256)
}, v = 0; v < 8; v++) {
u.EXP_TABLE[v] = 1 << v;
}
for (var v = 8; v < 256; v++) {
u.EXP_TABLE[v] = u.EXP_TABLE[v - 4] ^ u.EXP_TABLE[v - 5] ^ u.EXP_TABLE[v - 6] ^ u.EXP_TABLE[v - 8];
}
for (var v = 0; v < 255; v++) {
u.LOG_TABLE[u.EXP_TABLE[v]] = v;
}
c.prototype = {
get: function get(a) {
return this.num[a];
},
getLength: function getLength() {
return this.num.length;
},
multiply: function multiply(a) {
for (var b = new Array(this.getLength() + a.getLength() - 1), d = 0; d < this.getLength(); d++) {
for (var e = 0; e < a.getLength(); e++) {
b[d + e] ^= u.gexp(u.glog(this.get(d)) + u.glog(a.get(e)));
}
}
return new c(b, 0);
},
mod: function mod(a) {
if (this.getLength() - a.getLength() < 0) return this;
for (var b = u.glog(this.get(0)) - u.glog(a.get(0)), d = new Array(this.getLength()), e = 0; e < this.getLength(); e++) {
d[e] = this.get(e);
}
for (var e = 0; e < a.getLength(); e++) {
d[e] ^= u.gexp(u.glog(a.get(e)) + b);
}
return new c(d, 0).mod(a);
}
}, d.RS_BLOCK_TABLE = [[1, 26, 19], [1, 26, 16], [1, 26, 13], [1, 26, 9], [1, 44, 34], [1, 44, 28], [1, 44, 22], [1, 44, 16], [1, 70, 55], [1, 70, 44], [2, 35, 17], [2, 35, 13], [1, 100, 80], [2, 50, 32], [2, 50, 24], [4, 25, 9], [1, 134, 108], [2, 67, 43], [2, 33, 15, 2, 34, 16], [2, 33, 11, 2, 34, 12], [2, 86, 68], [4, 43, 27], [4, 43, 19], [4, 43, 15], [2, 98, 78], [4, 49, 31], [2, 32, 14, 4, 33, 15], [4, 39, 13, 1, 40, 14], [2, 121, 97], [2, 60, 38, 2, 61, 39], [4, 40, 18, 2, 41, 19], [4, 40, 14, 2, 41, 15], [2, 146, 116], [3, 58, 36, 2, 59, 37], [4, 36, 16, 4, 37, 17], [4, 36, 12, 4, 37, 13], [2, 86, 68, 2, 87, 69], [4, 69, 43, 1, 70, 44], [6, 43, 19, 2, 44, 20], [6, 43, 15, 2, 44, 16], [4, 101, 81], [1, 80, 50, 4, 81, 51], [4, 50, 22, 4, 51, 23], [3, 36, 12, 8, 37, 13], [2, 116, 92, 2, 117, 93], [6, 58, 36, 2, 59, 37], [4, 46, 20, 6, 47, 21], [7, 42, 14, 4, 43, 15], [4, 133, 107], [8, 59, 37, 1, 60, 38], [8, 44, 20, 4, 45, 21], [12, 33, 11, 4, 34, 12], [3, 145, 115, 1, 146, 116], [4, 64, 40, 5, 65, 41], [11, 36, 16, 5, 37, 17], [11, 36, 12, 5, 37, 13], [5, 109, 87, 1, 110, 88], [5, 65, 41, 5, 66, 42], [5, 54, 24, 7, 55, 25], [11, 36, 12, 7, 37, 13], [5, 122, 98, 1, 123, 99], [7, 73, 45, 3, 74, 46], [15, 43, 19, 2, 44, 20], [3, 45, 15, 13, 46, 16], [1, 135, 107, 5, 136, 108], [10, 74, 46, 1, 75, 47], [1, 50, 22, 15, 51, 23], [2, 42, 14, 17, 43, 15], [5, 150, 120, 1, 151, 121], [9, 69, 43, 4, 70, 44], [17, 50, 22, 1, 51, 23], [2, 42, 14, 19, 43, 15], [3, 141, 113, 4, 142, 114], [3, 70, 44, 11, 71, 45], [17, 47, 21, 4, 48, 22], [9, 39, 13, 16, 40, 14], [3, 135, 107, 5, 136, 108], [3, 67, 41, 13, 68, 42], [15, 54, 24, 5, 55, 25], [15, 43, 15, 10, 44, 16], [4, 144, 116, 4, 145, 117], [17, 68, 42], [17, 50, 22, 6, 51, 23], [19, 46, 16, 6, 47, 17], [2, 139, 111, 7, 140, 112], [17, 74, 46], [7, 54, 24, 16, 55, 25], [34, 37, 13], [4, 151, 121, 5, 152, 122], [4, 75, 47, 14, 76, 48], [11, 54, 24, 14, 55, 25], [16, 45, 15, 14, 46, 16], [6, 147, 117, 4, 148, 118], [6, 73, 45, 14, 74, 46], [11, 54, 24, 16, 55, 25], [30, 46, 16, 2, 47, 17], [8, 132, 106, 4, 133, 107], [8, 75, 47, 13, 76, 48], [7, 54, 24, 22, 55, 25], [22, 45, 15, 13, 46, 16], [10, 142, 114, 2, 143, 115], [19, 74, 46, 4, 75, 47], [28, 50, 22, 6, 51, 23], [33, 46, 16, 4, 47, 17], [8, 152, 122, 4, 153, 123], [22, 73, 45, 3, 74, 46], [8, 53, 23, 26, 54, 24], [12, 45, 15, 28, 46, 16], [3, 147, 117, 10, 148, 118], [3, 73, 45, 23, 74, 46], [4, 54, 24, 31, 55, 25], [11, 45, 15, 31, 46, 16], [7, 146, 116, 7, 147, 117], [21, 73, 45, 7, 74, 46], [1, 53, 23, 37, 54, 24], [19, 45, 15, 26, 46, 16], [5, 145, 115, 10, 146, 116], [19, 75, 47, 10, 76, 48], [15, 54, 24, 25, 55, 25], [23, 45, 15, 25, 46, 16], [13, 145, 115, 3, 146, 116], [2, 74, 46, 29, 75, 47], [42, 54, 24, 1, 55, 25], [23, 45, 15, 28, 46, 16], [17, 145, 115], [10, 74, 46, 23, 75, 47], [10, 54, 24, 35, 55, 25], [19, 45, 15, 35, 46, 16], [17, 145, 115, 1, 146, 116], [14, 74, 46, 21, 75, 47], [29, 54, 24, 19, 55, 25], [11, 45, 15, 46, 46, 16], [13, 145, 115, 6, 146, 116], [14, 74, 46, 23, 75, 47], [44, 54, 24, 7, 55, 25], [59, 46, 16, 1, 47, 17], [12, 151, 121, 7, 152, 122], [12, 75, 47, 26, 76, 48], [39, 54, 24, 14, 55, 25], [22, 45, 15, 41, 46, 16], [6, 151, 121, 14, 152, 122], [6, 75, 47, 34, 76, 48], [46, 54, 24, 10, 55, 25], [2, 45, 15, 64, 46, 16], [17, 152, 122, 4, 153, 123], [29, 74, 46, 14, 75, 47], [49, 54, 24, 10, 55, 25], [24, 45, 15, 46, 46, 16], [4, 152, 122, 18, 153, 123], [13, 74, 46, 32, 75, 47], [48, 54, 24, 14, 55, 25], [42, 45, 15, 32, 46, 16], [20, 147, 117, 4, 148, 118], [40, 75, 47, 7, 76, 48], [43, 54, 24, 22, 55, 25], [10, 45, 15, 67, 46, 16], [19, 148, 118, 6, 149, 119], [18, 75, 47, 31, 76, 48], [34, 54, 24, 34, 55, 25], [20, 45, 15, 61, 46, 16]], d.getRSBlocks = function (a, b) {
var c = d.getRsBlockTable(a, b);
if (c == i) throw new Error("bad rs block @ typeNumber:" + a + "/errorCorrectLevel:" + b);
for (var e = c.length / 3, f = [], g = 0; g < e; g++) {
for (var h = c[3 * g + 0], j = c[3 * g + 1], k = c[3 * g + 2], l = 0; l < h; l++) {
f.push(new d(j, k));
}
}
return f;
}, d.getRsBlockTable = function (a, b) {
switch (b) {
case r.L:
return d.RS_BLOCK_TABLE[4 * (a - 1) + 0];
case r.M:
return d.RS_BLOCK_TABLE[4 * (a - 1) + 1];
case r.Q:
return d.RS_BLOCK_TABLE[4 * (a - 1) + 2];
case r.H:
return d.RS_BLOCK_TABLE[4 * (a - 1) + 3];
default:
return i;
}
}, e.prototype = {
get: function get(a) {
var b = Math.floor(a / 8);
return 1 == (this.buffer[b] >>> 7 - a % 8 & 1);
},
put: function put(a, b) {
for (var c = 0; c < b; c++) {
this.putBit(1 == (a >>> b - c - 1 & 1));
}
},
getLengthInBits: function getLengthInBits() {
return this.length;
},
putBit: function putBit(a) {
var b = Math.floor(this.length / 8);
this.buffer.length <= b && this.buffer.push(0), a && (this.buffer[b] |= 128 >>> this.length % 8), this.length++;
}
};
var w = [[17, 14, 11, 7], [32, 26, 20, 14], [53, 42, 32, 24], [78, 62, 46, 34], [106, 84, 60, 44], [134, 106, 74, 58], [154, 122, 86, 64], [192, 152, 108, 84], [230, 180, 130, 98], [271, 213, 151, 119], [321, 251, 177, 137], [367, 287, 203, 155], [425, 331, 241, 177], [458, 362, 258, 194], [520, 412, 292, 220], [586, 450, 322, 250], [644, 504, 364, 280], [718, 560, 394, 310], [792, 624, 442, 338], [858, 666, 482, 382], [929, 711, 509, 403], [1003, 779, 565, 439], [1091, 857, 611, 461], [1171, 911, 661, 511], [1273, 997, 715, 535], [1367, 1059, 751, 593], [1465, 1125, 805, 625], [1528, 1190, 868, 658], [1628, 1264, 908, 698], [1732, 1370, 982, 742], [1840, 1452, 1030, 790], [1952, 1538, 1112, 842], [2068, 1628, 1168, 898], [2188, 1722, 1228, 958], [2303, 1809, 1283, 983], [2431, 1911, 1351, 1051], [2563, 1989, 1423, 1093], [2699, 2099, 1499, 1139], [2809, 2213, 1579, 1219], [2953, 2331, 1663, 1273]],
x = function () {
return "undefined" != typeof CanvasRenderingContext2D;
}() ? function () {
function a() {
if ("svg" == this._htOption.drawer) {
var a = this._oContext.getSerializedSvg(!0);
this.dataURL = a, this._el.innerHTML = a;
} else try {
var b = this._elCanvas.toDataURL("image/png");
this.dataURL = b;
} catch (a) {
console.error(a);
}
this._htOption.onRenderingEnd && (this.dataURL || console.error("Can not get base64 data, please check: 1. Published the page and image to the server 2. The image request support CORS 3. Configured `crossOrigin:'anonymous'` option"), this._htOption.onRenderingEnd(this._htOption, this.dataURL));
}
function b(a, b) {
var c = this;
if (c._fFail = b, c._fSuccess = a, null === c._bSupportDataURI) {
var d = document.createElement("img"),
e = function e() {
c._bSupportDataURI = !1, c._fFail && c._fFail.call(c);
},
f = function f() {
c._bSupportDataURI = !0, c._fSuccess && c._fSuccess.call(c);
};
return d.onabort = e, d.onerror = e, d.onload = f, void (d.src = "data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==");
}
!0 === c._bSupportDataURI && c._fSuccess ? c._fSuccess.call(c) : !1 === c._bSupportDataURI && c._fFail && c._fFail.call(c);
}
if (m._android && m._android <= 2.1) {
var c = 1 / window.devicePixelRatio,
d = CanvasRenderingContext2D.prototype.drawImage;
CanvasRenderingContext2D.prototype.drawImage = function (a, b, e, f, g, h, i, j, k) {
if ("nodeName" in a && /img/i.test(a.nodeName)) for (var l = arguments.length - 1; l >= 1; l--) {
arguments[l] = arguments[l] * c;
} else void 0 === j && (arguments[1] *= c, arguments[2] *= c, arguments[3] *= c, arguments[4] *= c);
d.apply(this, arguments);
};
}
var e = function e(a, b) {
this._bIsPainted = !1, this._android = f(), this._el = a, this._htOption = b, "svg" == this._htOption.drawer ? (this._oContext = {}, this._elCanvas = {}) : (this._elCanvas = document.createElement("canvas"), this._el.appendChild(this._elCanvas), this._oContext = this._elCanvas.getContext("2d")), this._bSupportDataURI = null, this.dataURL = null;
};
return e.prototype.draw = function (a) {
function b() {
d.quietZone > 0 && d.quietZoneColor && (h.lineWidth = 0, h.fillStyle = d.quietZoneColor, h.fillRect(0, 0, i._elCanvas.width, d.quietZone), h.fillRect(0, d.quietZone, d.quietZone, i._elCanvas.height - 2 * d.quietZone), h.fillRect(i._elCanvas.width - d.quietZone, d.quietZone, d.quietZone, i._elCanvas.height - 2 * d.quietZone), h.fillRect(0, i._elCanvas.height - d.quietZone, i._elCanvas.width, d.quietZone));
}
function c(a) {
function c(a) {
var c = Math.round(d.width / 3.5),
e = Math.round(d.height / 3.5);
c !== e && (c = e), d.logoMaxWidth ? c = Math.round(d.logoMaxWidth) : d.logoWidth && (c = Math.round(d.logoWidth)), d.logoMaxHeight ? e = Math.round(d.logoMaxHeight) : d.logoHeight && (e = Math.round(d.logoHeight));
var f, g;
void 0 === a.naturalWidth ? (f = a.width, g = a.height) : (f = a.naturalWidth, g = a.naturalHeight), (d.logoMaxWidth || d.logoMaxHeight) && (d.logoMaxWidth && f <= c && (c = f), d.logoMaxHeight && g <= e && (e = g), f <= c && g <= e && (c = f, e = g));
var i = (d.width + 2 * d.quietZone - c) / 2,
j = (d.height + d.titleHeight + 2 * d.quietZone - e) / 2,
k = Math.min(c / f, e / g),
l = f * k,
m = g * k;
(d.logoMaxWidth || d.logoMaxHeight) && (c = l, e = m, i = (d.width + 2 * d.quietZone - c) / 2, j = (d.height + d.titleHeight + 2 * d.quietZone - e) / 2), d.logoBackgroundTransparent || (h.fillStyle = d.logoBackgroundColor, h.fillRect(i, j, c, e)), h.drawImage(a, i + (c - l) / 2, j + (e - m) / 2, l, m), b(), s._bIsPainted = !0, s.makeImage();
}
d.onRenderingStart && d.onRenderingStart(d);
for (var i = 0; i < e; i++) {
for (var j = 0; j < e; j++) {
var k = j * f + d.quietZone,
l = i * g + d.quietZone,
m = a.isDark(i, j),
n = a.getEye(i, j),
o = d.dotScale;
h.lineWidth = 0;
var p, q;
n ? (p = d[n.type] || d[n.type.substring(0, 2)] || d.colorDark, q = d.colorLight) : d.backgroundImage ? (q = "rgba(0,0,0,0)", 6 == i ? d.autoColor ? (p = d.timing_H || d.timing || d.autoColorDark, q = d.timing_H || d.timing || d.autoColorLight) : p = d.timing_H || d.timing || d.colorDark : 6 == j ? d.autoColor ? (p = d.timing_V || d.timing || d.autoColorDark, q = d.timing_V || d.timing || d.autoColorLight) : p = d.timing_V || d.timing || d.colorDark : d.autoColor ? (p = d.autoColorDark, q = d.autoColorLight) : p = d.colorDark) : (p = 6 == i ? d.timing_H || d.timing || d.colorDark : 6 == j ? d.timing_V || d.timing || d.colorDark : d.colorDark, q = d.colorLight), h.strokeStyle = m ? p : q, h.fillStyle = m ? p : q, n ? (o = "AO" == n.type ? d.dotScaleAO : "AI" == n.type ? d.dotScaleAI : 1, d.backgroundImage && d.autoColor ? (p = ("AO" == n.type ? d.AI : d.AO) || d.autoColorDark, q = d.autoColorLight) : p = ("AO" == n.type ? d.AI : d.AO) || p, m = n.isDark, h.fillRect(k + f * (1 - o) / 2, d.titleHeight + l + g * (1 - o) / 2, f * o, g * o)) : 6 == i ? (o = d.dotScaleTiming_H, h.fillRect(k + f * (1 - o) / 2, d.titleHeight + l + g * (1 - o) / 2, f * o, g * o)) : 6 == j ? (o = d.dotScaleTiming_V, h.fillRect(k + f * (1 - o) / 2, d.titleHeight + l + g * (1 - o) / 2, f * o, g * o)) : (d.backgroundImage, h.fillRect(k + f * (1 - o) / 2, d.titleHeight + l + g * (1 - o) / 2, f * o, g * o)), 1 == d.dotScale || n || (h.strokeStyle = d.colorLight);
}
}
if (d.title && (h.fillStyle = d.titleBackgroundColor, h.fillRect(0, 0, this._elCanvas.width, d.titleHeight + d.quietZone), h.font = d.titleFont, h.fillStyle = d.titleColor, h.textAlign = "center", h.fillText(d.title, this._elCanvas.width / 2, +d.quietZone + d.titleTop)), d.subTitle && (h.font = d.subTitleFont, h.fillStyle = d.subTitleColor, h.fillText(d.subTitle, this._elCanvas.width / 2, +d.quietZone + d.subTitleTop)), d.logo) {
var r = new Image(),
s = this;
r.onload = function () {
c(r);
}, r.onerror = function (a) {
console.error(a);
}, null != d.crossOrigin && (r.crossOrigin = d.crossOrigin), r.originalSrc = d.logo, r.src = d.logo;
} else b(), this._bIsPainted = !0, this.makeImage();
}
console.log(this);
var d = this._htOption;
d.title || d.subTitle || (d.height -= d.titleHeight, d.titleHeight = 0);
var e = a.getModuleCount(),
f = Math.round(d.width / e),
g = Math.round((d.height - d.titleHeight) / e);
f <= 1 && (f = 1), g <= 1 && (g = 1), d.width = f * e, d.height = g * e + d.titleHeight, d.quietZone = Math.round(d.quietZone), this._elCanvas.width = d.width + 2 * d.quietZone, this._elCanvas.height = d.height + 2 * d.quietZone, "canvas" != this._htOption.drawer && (this._oContext = new C2S(this._elCanvas.width, this._elCanvas.height)), this.clear();
var h = this._oContext;
h.lineWidth = 0, h.fillStyle = d.colorLight, h.fillRect(0, 0, this._elCanvas.width, this._elCanvas.height);
var i = this;
if (d.backgroundImage) {
var j = new Image();
j.onload = function () {
h.globalAlpha = 1, h.globalAlpha = d.backgroundImageAlpha, h.drawImage(j, 0, d.titleHeight, d.width + 2 * d.quietZone, d.height + 2 * d.quietZone - d.titleHeight), h.globalAlpha = 1, c.call(i, a);
}, null != d.crossOrigin && (j.crossOrigin = d.crossOrigin), j.originalSrc = d.backgroundImage, j.src = d.backgroundImage;
} else c.call(i, a);
}, e.prototype.makeImage = function () {
this._bIsPainted && b.call(this, a);
}, e.prototype.isPainted = function () {
return this._bIsPainted;
}, e.prototype.clear = function () {
this._oContext.clearRect(0, 0, this._elCanvas.width, this._elCanvas.height), this._bIsPainted = !1;
}, e.prototype.remove = function () {
this._oContext.clearRect(0, 0, this._elCanvas.width, this._elCanvas.height), this._bIsPainted = !1, this._el.innerHTML = "";
}, e.prototype.round = function (a) {
return a ? Math.floor(1e3 * a) / 1e3 : a;
}, e;
}() : function () {
var a = function a(_a, b) {
this._el = _a, this._htOption = b;
};
return a.prototype.draw = function (a) {
var b = this._htOption,
c = this._el,
d = a.getModuleCount(),
e = Math.round(b.width / d),
f = Math.round((b.height - b.titleHeight) / d);
e <= 1 && (e = 1), f <= 1 && (f = 1), this._htOption.width = e * d, this._htOption.height = f * d + b.titleHeight, this._htOption.quietZone = Math.round(this._htOption.quietZone);
var g = [],
h = "",
i = Math.round(e * b.dotScale),
j = Math.round(f * b.dotScale);
i < 4 && (i = 4, j = 4);
var k = b.colorDark,
l = b.colorLight;
if (b.backgroundImage) {
b.autoColor ? (b.colorDark = "rgba(0, 0, 0, .6);filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#99000000', EndColorStr='#99000000');", b.colorLight = "rgba(255, 255, 255, .7);filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#B2FFFFFF', EndColorStr='#B2FFFFFF');") : b.colorLight = "rgba(0,0,0,0)";
var m = '<div style="display:inline-block; z-index:-10;position:absolute;"><img src="' + b.backgroundImage + '" widht="' + (b.width + 2 * b.quietZone) + '" height="' + (b.height + 2 * b.quietZone) + '" style="opacity:' + b.backgroundImageAlpha + ";filter:alpha(opacity=" + 100 * b.backgroundImageAlpha + '); "/></div>';
g.push(m);
}
if (b.quietZone && (h = "display:inline-block; width:" + (b.width + 2 * b.quietZone) + "px; height:" + (b.width + 2 * b.quietZone) + "px;background:" + b.quietZoneColor + "; text-align:center;"), g.push('<div style="font-size:0;' + h + '">'), g.push('<table style="font-size:0;border:0;border-collapse:collapse; margin-top:' + b.quietZone + 'px;" border="0" cellspacing="0" cellspadding="0" align="center" valign="middle">'), g.push('<tr height="' + b.titleHeight + '" align="center"><td style="border:0;border-collapse:collapse;margin:0;padding:0" colspan="' + d + '">'), b.title) {
var n = b.titleColor,
o = b.titleFont;
g.push('<div style="width:100%;margin-top:' + b.titleTop + "px;color:" + n + ";font:" + o + ";background:" + b.titleBackgroundColor + '">' + b.title + "</div>");
}
b.subTitle && g.push('<div style="width:100%;margin-top:' + (b.subTitleTop - b.titleTop) + "px;color:" + b.subTitleColor + "; font:" + b.subTitleFont + '">' + b.subTitle + "</div>"), g.push("</td></tr>");
for (var p = 0; p < d; p++) {
g.push('<tr style="border:0; padding:0; margin:0;" height="7">');
for (var q = 0; q < d; q++) {
var r = a.isDark(p, q),
s = a.getEye(p, q);
if (s) {
r = s.isDark;
var t = s.type,
u = b[t] || b[t.substring(0, 2)] || k;
g.push('<td style="border:0;border-collapse:collapse;padding:0;margin:0;width:' + e + "px;height:" + f + 'px;"><span style="width:' + e + "px;height:" + f + "px;background-color:" + (r ? u : l) + ';display:inline-block"></span></td>');
} else {
var v = b.colorDark;
6 == p ? (v = b.timing_H || b.timing || k, g.push('<td style="border:0;border-collapse:collapse;padding:0;margin:0;width:' + e + "px;height:" + f + "px;background-color:" + (r ? v : l) + ';"></td>')) : 6 == q ? (v = b.timing_V || b.timing || k, g.push('<td style="border:0;border-collapse:collapse;padding:0;margin:0;width:' + e + "px;height:" + f + "px;background-color:" + (r ? v : l) + ';"></td>')) : g.push('<td style="border:0;border-collapse:collapse;padding:0;margin:0;width:' + e + "px;height:" + f + 'px;"><div style="display:inline-block;width:' + i + "px;height:" + j + "px;background-color:" + (r ? v : b.colorLight) + ';"></div></td>');
}
}
g.push("</tr>");
}
if (g.push("</table>"), g.push("</div>"), b.logo) {
var w = new Image();
null != b.crossOrigin && (w.crossOrigin = b.crossOrigin), w.src = b.logo;
var x = b.width / 3.5,
y = b.height / 3.5;
x != y && (x = y), b.logoWidth && (x = b.logoWidth), b.logoHeight && (y = b.logoHeight);
var z = "position:relative; z-index:1;display:table-cell;top:-" + ((b.height - b.titleHeight) / 2 + y / 2 + b.quietZone) + "px;text-align:center; width:" + x + "px; height:" + y + "px;line-height:" + x + "px; vertical-align: middle;";
b.logoBackgroundTransparent || (z += "background:" + b.logoBackgroundColor), g.push('<div style="' + z + '"><img src="' + b.logo + '" style="max-width: ' + x + "px; max-height: " + y + 'px;" /> <div style=" display: none; width:1px;margin-left: -1px;"></div></div>');
}
b.onRenderingStart && b.onRenderingStart(b), c.innerHTML = g.join("");
var A = c.childNodes[0],
B = (b.width - A.offsetWidth) / 2,
C = (b.height - A.offsetHeight) / 2;
B > 0 && C > 0 && (A.style.margin = C + "px " + B + "px"), this._htOption.onRenderingEnd && this._htOption.onRenderingEnd(this._htOption, null);
}, a.prototype.clear = function () {
this._el.innerHTML = "";
}, a;
}();
j = function j(a, b) {
if (this._htOption = {
width: 256,
height: 256,
typeNumber: 4,
colorDark: "#000000",
colorLight: "#ffffff",
correctLevel: r.H,
dotScale: 1,
dotScaleTiming: 1,
dotScaleTiming_H: i,
dotScaleTiming_V: i,
dotScaleA: 1,
dotScaleAO: i,
dotScaleAI: i,
quietZone: 0,
quietZoneColor: "rgba(0,0,0,0)",
title: "",
titleFont: "normal normal bold 16px Arial",
titleColor: "#000000",
titleBackgroundColor: "#ffffff",
titleHeight: 0,
titleTop: 30,
subTitle: "",
subTitleFont: "normal normal normal 14px Arial",
subTitleColor: "#4F4F4F",
subTitleTop: 60,
logo: i,
logoWidth: i,
logoHeight: i,
logoMaxWidth: i,
logoMaxHeight: i,
logoBackgroundColor: "#ffffff",
logoBackgroundTransparent: !1,
PO: i,
PI: i,
PO_TL: i,
PI_TL: i,
PO_TR: i,
PI_TR: i,
PO_BL: i,
PI_BL: i,
AO: i,
AI: i,
timing: i,
timing_H: i,
timing_V: i,
backgroundImage: i,
backgroundImageAlpha: 1,
autoColor: !1,
autoColorDark: "rgba(0, 0, 0, .6)",
autoColorLight: "rgba(255, 255, 255, .7)",
onRenderingStart: i,
onRenderingEnd: i,
version: 0,
tooltip: !1,
binary: !1,
drawer: "canvas",
crossOrigin: null
}, "string" == typeof b && (b = {
text: b
}), b) for (var c in b) {
this._htOption[c] = b[c];
}
(this._htOption.version < 0 || this._htOption.version > 40) && (console.warn("QR Code version '" + this._htOption.version + "' is invalidate, reset to 0"), this._htOption.version = 0), (this._htOption.dotScale < 0 || this._htOption.dotScale > 1) && (console.warn(this._htOption.dotScale + " , is invalidate, dotScale must greater than 0, less than or equal to 1, now reset to 1. "), this._htOption.dotScale = 1), (this._htOption.dotScaleTiming < 0 || this._htOption.dotScaleTiming > 1) && (console.warn(this._htOption.dotScaleTiming + " , is invalidate, dotScaleTiming must greater than 0, less than or equal to 1, now reset to 1. "), this._htOption.dotScaleTiming = 1), this._htOption.dotScaleTiming_H ? (this._htOption.dotScaleTiming_H < 0 || this._htOption.dotScaleTiming_H > 1) && (console.warn(this._htOption.dotScaleTiming_H + " , is invalidate, dotScaleTiming_H must greater than 0, less than or equal to 1, now reset to 1. "), this._htOption.dotScaleTiming_H = 1) : this._htOption.dotScaleTiming_H = this._htOption.dotScaleTiming, this._htOption.dotScaleTiming_V ? (this._htOption.dotScaleTiming_V < 0 || this._htOption.dotScaleTiming_V > 1) && (console.warn(this._htOption.dotScaleTiming_V + " , is invalidate, dotScaleTiming_V must greater than 0, less than or equal to 1, now reset to 1. "), this._htOption.dotScaleTiming_V = 1) : this._htOption.dotScaleTiming_V = this._htOption.dotScaleTiming, (this._htOption.dotScaleA < 0 || this._htOption.dotScaleA > 1) && (console.warn(this._htOption.dotScaleA + " , is invalidate, dotScaleA must greater than 0, less than or equal to 1, now reset to 1. "), this._htOption.dotScaleA = 1), this._htOption.dotScaleAO ? (this._htOption.dotScaleAO < 0 || this._htOption.dotScaleAO > 1) && (console.warn(this._htOption.dotScaleAO + " , is invalidate, dotScaleAO must greater than 0, less than or equal to 1, now reset to 1. "), this._htOption.dotScaleAO = 1) : this._htOption.dotScaleAO = this._htOption.dotScaleA, this._htOption.dotScaleAI ? (this._htOption.dotScaleAI < 0 || this._htOption.dotScaleAI > 1) && (console.warn(this._htOption.dotScaleAI + " , is invalidate, dotScaleAI must greater than 0, less than or equal to 1, now reset to 1. "), this._htOption.dotScaleAI = 1) : this._htOption.dotScaleAI = this._htOption.dotScaleA, (this._htOption.backgroundImageAlpha < 0 || this._htOption.backgroundImageAlpha > 1) && (console.warn(this._htOption.backgroundImageAlpha + " , is invalidate, backgroundImageAlpha must between 0 and 1, now reset to 1. "), this._htOption.backgroundImageAlpha = 1), this._htOption.height = this._htOption.height + this._htOption.titleHeight, "string" == typeof a && (a = document.getElementById(a)), (!this._htOption.drawer || "svg" != this._htOption.drawer && "canvas" != this._htOption.drawer) && (this._htOption.drawer = "canvas"), this._android = f(), this._el = a, this._oQRCode = null;
var d = {};
for (var c in this._htOption) {
d[c] = this._htOption[c];
}
this._oDrawing = new x(this._el, d), this._htOption.text && this.makeCode(this._htOption.text);
}, j.prototype.makeCode = function (a) {
this._oQRCode = new b(g(a, this._htOption), this._htOption.correctLevel), this._oQRCode.addData(a, this._htOption.binary), this._oQRCode.make(), this._htOption.tooltip && (this._el.title = a), this._oDrawing.draw(this._oQRCode);
}, j.prototype.makeImage = function () {
"function" == typeof this._oDrawing.makeImage && (!this._android || this._android >= 3) && this._oDrawing.makeImage();
}, j.prototype.clear = function () {
this._oDrawing.remove();
}, j.prototype.resize = function (a, b) {
this._oDrawing._htOption.width = a, this._oDrawing._htOption.height = b, this._oDrawing.draw(this._oQRCode);
}, j.prototype.noConflict = function () {
return m.QRCode === this && (m.QRCode = p), j;
}, j.CorrectLevel = r, o ? ((o.exports = j).QRCode = j, n.QRCode = j) : m.QRCode = j;
}.call(commonjsGlobal);
})(easy_qrcode_min, easy_qrcode_min.exports);
var qrcode = easy_qrcode_min.exports;
var defaultUseQRCodeOptions = {
onRenderingEnd: function () { }
};
var useQRCode = function (text, options) {
var state = vue.ref();
var _a = _assign(_assign({}, defaultUseQRCodeOptions), options), onRenderingEnd = _a.onRenderingEnd, otherOptions = __rest(_a, ["onRenderingEnd"]);
var Qrcode = new qrcode(document.createElement('div'), _assign(_assign({ text: vue.isRef(text) ? text.value : text }, otherOptions), { onRenderingEnd: function (qrCodeOptions, dataURL) {
state.value = dataURL;
onRenderingEnd(qrCodeOptions, dataURL);
} }));
if (vue.isRef(text)) {
vue.watch(text, function () {
Qrcode.makeCode(text.value);
});
}
return state;
};
var ReadyState;
(function (ReadyState) {
ReadyState[ReadyState["Connecting"] = 0] = "Connecting";
ReadyState[ReadyState["Open"] = 1] = "Open";
ReadyState[ReadyState["Closing"] = 2] = "Closing";
ReadyState[ReadyState["Closed"] = 3] = "Closed";
})(ReadyState || (ReadyState = {}));
var defaultOptions = {
manual: false,
reconnectLimit: 3,
reconnectInterval: 3000,
onOpen: function () { },
onClose: function () { },
onMessage: function () { },
onError: function () { },
};
function useWebSocket(socketUrl, options) {
var _a = _assign(_assign({}, defaultOptions), options), manual = _a.manual, reconnectLimit = _a.reconnectLimit, reconnectInterval = _a.reconnectInterval, onOpen = _a.onOpen, onClose = _a.onClose, onMessage = _a.onMessage, onError = _a.onError;
if (!socketUrl || typeof (socketUrl) !== 'string') {
throw new Error('useWebSocket require string socketUrl');
}
var readyState = vue.ref(ReadyState.Connecting);
var reconnectCount = vue.ref(0);
var socket = vue.ref();
var latestMessage = vue.ref();
var run = function () {
socket.value = new WebSocket(socketUrl);
socket.value.addEventListener('open', function (event) {
readyState.value = ReadyState.Open;
onOpen(event);
});
socket.value.addEventListener('message', function (event) {
latestMessage.value = event;
onMessage(event);
});
socket.value.addEventListener('error', function (event) {
console.log('error ', event);
reconnect();
onError(event);
});
socket.value.addEventListener('close', function (event) {
readyState.value = ReadyState.Closed;
onClose(event);
});
};
var connect = function () {
if (readyState.value !== ReadyState.Open) {
reconnectCount.value = 0;
run();
}
};
var reconnect = function () {
if (reconnectCount.value >= reconnectLimit)
return;
useTimeout(function () {
reconnectCount.value++;
run();
}, vue.ref(reconnectInterval));
};
var disconnect = function () {
if ((readyState.value === ReadyState.Connecting
|| readyState.value === ReadyState.Open)
&& socket.value) {
readyState.value = ReadyState.Closing;
socket.value.close();
}
};
var sendMessage = function (data) {
if (data
&& socket.value
&& readyState.value === ReadyState.Open)
socket.value.send(data);
};
if (!manual)
connect();
return {
latestMessage: latestMessage,
readyState: readyState,
connect: connect,
disconnect: disconnect,
sendMessage: sendMessage,
webSocketIns: socket
};
}
var useUnmount = function (fn) {
var unmounted = vue.onScopeDispose !== null && vue.onScopeDispose !== void 0 ? vue.onScopeDispose : vue.onUnmounted;
unmounted(function () {
fn();
});
};
exports.useBoolean = useBoolean;
exports.useCookie = useCookie;
exports.useDate = useDate;
exports.useDebounce = useDebounce;
exports.useDebounceFn = useDebounceFn;
exports.useDocumentVisibility = useDocumentVisibility;
exports.useDynamicList = useDynamicList;
exports.useExternal = useExternal;
exports.useFullscreen = useFullscreen;
exports.useInterval = useInterval;
exports.useLocalStorage = useLocalStorage;
exports.useLockFn = useLockFn;
exports.useMap = useMap;
exports.useMediaQuery = useMediaQuery;
exports.useNetwork = useNetwork;
exports.useQRCode = useQRCode;
exports.useRequest = useRequest;
exports.useSessionStorage = useSessionStorage;
exports.useSet = useSet;
exports.useTextSelection = useTextSelection;
exports.useThrottle = useThrottle;
exports.useThrottleFn = useThrottleFn;
exports.useTimeout = useTimeout;
exports.useToggle = useToggle;
exports.useUnmount = useUnmount;
exports.useVirtualList = useVirtualList;
exports.useWebSocket = useWebSocket;