if (typeof Promise !== "undefined" && !Promise.prototype.finally) {
Promise.prototype.finally = function(callback) {
const promise = this.constructor;
return this.then(
(value) => promise.resolve(callback()).then(() => value),
(reason) => promise.resolve(callback()).then(() => {
throw reason;
})
);
};
}
;
if (typeof uni !== "undefined" && uni && uni.requireGlobal) {
const global2 = uni.requireGlobal();
ArrayBuffer = global2.ArrayBuffer;
Int8Array = global2.Int8Array;
Uint8Array = global2.Uint8Array;
Uint8ClampedArray = global2.Uint8ClampedArray;
Int16Array = global2.Int16Array;
Uint16Array = global2.Uint16Array;
Int32Array = global2.Int32Array;
Uint32Array = global2.Uint32Array;
Float32Array = global2.Float32Array;
Float64Array = global2.Float64Array;
BigInt64Array = global2.BigInt64Array;
BigUint64Array = global2.BigUint64Array;
}
;
if (uni.restoreGlobal) {
uni.restoreGlobal(Vue, weex, plus, setTimeout, clearTimeout, setInterval, clearInterval);
}
(function(vue) {
"use strict";
function formatAppLog(type, filename, ...args) {
if (uni.__log__) {
uni.__log__(type, filename, ...args);
} else {
console[type].apply(console, [...args, filename]);
}
}
function resolveEasycom(component, easycom) {
return typeof component === "string" ? easycom : component;
}
function getDevtoolsGlobalHook() {
return getTarget().__VUE_DEVTOOLS_GLOBAL_HOOK__;
}
function getTarget() {
return typeof navigator !== "undefined" && typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {};
}
const isProxyAvailable = typeof Proxy === "function";
const HOOK_SETUP = "devtools-plugin:setup";
const HOOK_PLUGIN_SETTINGS_SET = "plugin:settings:set";
class ApiProxy {
constructor(plugin, hook) {
this.target = null;
this.targetQueue = [];
this.onQueue = [];
this.plugin = plugin;
this.hook = hook;
const defaultSettings = {};
if (plugin.settings) {
for (const id in plugin.settings) {
const item = plugin.settings[id];
defaultSettings[id] = item.defaultValue;
}
}
const localSettingsSaveId = `__vue-devtools-plugin-settings__${plugin.id}`;
let currentSettings = { ...defaultSettings };
try {
const raw = localStorage.getItem(localSettingsSaveId);
const data = JSON.parse(raw);
Object.assign(currentSettings, data);
} catch (e) {
}
this.fallbacks = {
getSettings() {
return currentSettings;
},
setSettings(value) {
try {
localStorage.setItem(localSettingsSaveId, JSON.stringify(value));
} catch (e) {
}
currentSettings = value;
}
};
hook.on(HOOK_PLUGIN_SETTINGS_SET, (pluginId, value) => {
if (pluginId === this.plugin.id) {
this.fallbacks.setSettings(value);
}
});
this.proxiedOn = new Proxy({}, {
get: (_target, prop) => {
if (this.target) {
return this.target.on[prop];
} else {
return (...args) => {
this.onQueue.push({
method: prop,
args
});
};
}
}
});
this.proxiedTarget = new Proxy({}, {
get: (_target, prop) => {
if (this.target) {
return this.target[prop];
} else if (prop === "on") {
return this.proxiedOn;
} else if (Object.keys(this.fallbacks).includes(prop)) {
return (...args) => {
this.targetQueue.push({
method: prop,
args,
resolve: () => {
}
});
return this.fallbacks[prop](...args);
};
} else {
return (...args) => {
return new Promise((resolve) => {
this.targetQueue.push({
method: prop,
args,
resolve
});
});
};
}
}
});
}
async setRealTarget(target) {
this.target = target;
for (const item of this.onQueue) {
this.target.on[item.method](...item.args);
}
for (const item of this.targetQueue) {
item.resolve(await this.target[item.method](...item.args));
}
}
}
function setupDevtoolsPlugin(pluginDescriptor, setupFn) {
const target = getTarget();
const hook = getDevtoolsGlobalHook();
const enableProxy = isProxyAvailable && pluginDescriptor.enableEarlyProxy;
if (hook && (target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !enableProxy)) {
hook.emit(HOOK_SETUP, pluginDescriptor, setupFn);
} else {
const proxy = enableProxy ? new ApiProxy(pluginDescriptor, hook) : null;
const list = target.__VUE_DEVTOOLS_PLUGINS__ = target.__VUE_DEVTOOLS_PLUGINS__ || [];
list.push({
pluginDescriptor,
setupFn,
proxy
});
if (proxy)
setupFn(proxy.proxiedTarget);
}
}
/*!
* vuex v4.1.0
* (c) 2022 Evan You
* @license MIT
*/
var storeKey = "store";
function forEachValue(obj, fn) {
Object.keys(obj).forEach(function(key) {
return fn(obj[key], key);
});
}
function isObject(obj) {
return obj !== null && typeof obj === "object";
}
function isPromise(val) {
return val && typeof val.then === "function";
}
function assert(condition, msg) {
if (!condition) {
throw new Error("[vuex] " + msg);
}
}
function partial(fn, arg) {
return function() {
return fn(arg);
};
}
function genericSubscribe(fn, subs, options) {
if (subs.indexOf(fn) < 0) {
options && options.prepend ? subs.unshift(fn) : subs.push(fn);
}
return function() {
var i = subs.indexOf(fn);
if (i > -1) {
subs.splice(i, 1);
}
};
}
function resetStore(store2, hot) {
store2._actions = /* @__PURE__ */ Object.create(null);
store2._mutations = /* @__PURE__ */ Object.create(null);
store2._wrappedGetters = /* @__PURE__ */ Object.create(null);
store2._modulesNamespaceMap = /* @__PURE__ */ Object.create(null);
var state = store2.state;
installModule(store2, state, [], store2._modules.root, true);
resetStoreState(store2, state, hot);
}
function resetStoreState(store2, state, hot) {
var oldState = store2._state;
var oldScope = store2._scope;
store2.getters = {};
store2._makeLocalGettersCache = /* @__PURE__ */ Object.create(null);
var wrappedGetters = store2._wrappedGetters;
var computedObj = {};
var computedCache = {};
var scope = vue.effectScope(true);
scope.run(function() {
forEachValue(wrappedGetters, function(fn, key) {
computedObj[key] = partial(fn, store2);
computedCache[key] = vue.computed(function() {
return computedObj[key]();
});
Object.defineProperty(store2.getters, key, {
get: function() {
return computedCache[key].value;
},
enumerable: true
// for local getters
});
});
});
store2._state = vue.reactive({
data: state
});
store2._scope = scope;
if (store2.strict) {
enableStrictMode(store2);
}
if (oldState) {
if (hot) {
store2._withCommit(function() {
oldState.data = null;
});
}
}
if (oldScope) {
oldScope.stop();
}
}
function installModule(store2, rootState, path, module, hot) {
var isRoot = !path.length;
var namespace = store2._modules.getNamespace(path);
if (module.namespaced) {
if (store2._modulesNamespaceMap[namespace] && true) {
console.error("[vuex] duplicate namespace " + namespace + " for the namespaced module " + path.join("/"));
}
store2._modulesNamespaceMap[namespace] = module;
}
if (!isRoot && !hot) {
var parentState = getNestedState(rootState, path.slice(0, -1));
var moduleName = path[path.length - 1];
store2._withCommit(function() {
{
if (moduleName in parentState) {
console.warn(
'[vuex] state field "' + moduleName + '" was overridden by a module with the same name at "' + path.join(".") + '"'
);
}
}
parentState[moduleName] = module.state;
});
}
var local = module.context = makeLocalContext(store2, namespace, path);
module.forEachMutation(function(mutation, key) {
var namespacedType = namespace + key;
registerMutation(store2, namespacedType, mutation, local);
});
module.forEachAction(function(action, key) {
var type = action.root ? key : namespace + key;
var handler = action.handler || action;
registerAction(store2, type, handler, local);
});
module.forEachGetter(function(getter, key) {
var namespacedType = namespace + key;
registerGetter(store2, namespacedType, getter, local);
});
module.forEachChild(function(child, key) {
installModule(store2, rootState, path.concat(key), child, hot);
});
}
function makeLocalContext(store2, namespace, path) {
var noNamespace = namespace === "";
var local = {
dispatch: noNamespace ? store2.dispatch : function(_type, _payload, _options) {
var args = unifyObjectStyle(_type, _payload, _options);
var payload = args.payload;
var options = args.options;
var type = args.type;
if (!options || !options.root) {
type = namespace + type;
if (!store2._actions[type]) {
console.error("[vuex] unknown local action type: " + args.type + ", global type: " + type);
return;
}
}
return store2.dispatch(type, payload);
},
commit: noNamespace ? store2.commit : function(_type, _payload, _options) {
var args = unifyObjectStyle(_type, _payload, _options);
var payload = args.payload;
var options = args.options;
var type = args.type;
if (!options || !options.root) {
type = namespace + type;
if (!store2._mutations[type]) {
console.error("[vuex] unknown local mutation type: " + args.type + ", global type: " + type);
return;
}
}
store2.commit(type, payload, options);
}
};
Object.defineProperties(local, {
getters: {
get: noNamespace ? function() {
return store2.getters;
} : function() {
return makeLocalGetters(store2, namespace);
}
},
state: {
get: function() {
return getNestedState(store2.state, path);
}
}
});
return local;
}
function makeLocalGetters(store2, namespace) {
if (!store2._makeLocalGettersCache[namespace]) {
var gettersProxy = {};
var splitPos = namespace.length;
Object.keys(store2.getters).forEach(function(type) {
if (type.slice(0, splitPos) !== namespace) {
return;
}
var localType = type.slice(splitPos);
Object.defineProperty(gettersProxy, localType, {
get: function() {
return store2.getters[type];
},
enumerable: true
});
});
store2._makeLocalGettersCache[namespace] = gettersProxy;
}
return store2._makeLocalGettersCache[namespace];
}
function registerMutation(store2, type, handler, local) {
var entry = store2._mutations[type] || (store2._mutations[type] = []);
entry.push(function wrappedMutationHandler(payload) {
handler.call(store2, local.state, payload);
});
}
function registerAction(store2, type, handler, local) {
var entry = store2._actions[type] || (store2._actions[type] = []);
entry.push(function wrappedActionHandler(payload) {
var res = handler.call(store2, {
dispatch: local.dispatch,
commit: local.commit,
getters: local.getters,
state: local.state,
rootGetters: store2.getters,
rootState: store2.state
}, payload);
if (!isPromise(res)) {
res = Promise.resolve(res);
}
if (store2._devtoolHook) {
return res.catch(function(err) {
store2._devtoolHook.emit("vuex:error", err);
throw err;
});
} else {
return res;
}
});
}
function registerGetter(store2, type, rawGetter, local) {
if (store2._wrappedGetters[type]) {
{
console.error("[vuex] duplicate getter key: " + type);
}
return;
}
store2._wrappedGetters[type] = function wrappedGetter(store22) {
return rawGetter(
local.state,
// local state
local.getters,
// local getters
store22.state,
// root state
store22.getters
// root getters
);
};
}
function enableStrictMode(store2) {
vue.watch(function() {
return store2._state.data;
}, function() {
{
assert(store2._committing, "do not mutate vuex store state outside mutation handlers.");
}
}, { deep: true, flush: "sync" });
}
function getNestedState(state, path) {
return path.reduce(function(state2, key) {
return state2[key];
}, state);
}
function unifyObjectStyle(type, payload, options) {
if (isObject(type) && type.type) {
options = payload;
payload = type;
type = type.type;
}
{
assert(typeof type === "string", "expects string as the type, but found " + typeof type + ".");
}
return { type, payload, options };
}
var LABEL_VUEX_BINDINGS = "vuex bindings";
var MUTATIONS_LAYER_ID = "vuex:mutations";
var ACTIONS_LAYER_ID = "vuex:actions";
var INSPECTOR_ID = "vuex";
var actionId = 0;
function addDevtools(app, store2) {
setupDevtoolsPlugin(
{
id: "org.vuejs.vuex",
app,
label: "Vuex",
homepage: "https://next.vuex.vuejs.org/",
logo: "https://vuejs.org/images/icons/favicon-96x96.png",
packageName: "vuex",
componentStateTypes: [LABEL_VUEX_BINDINGS]
},
function(api) {
api.addTimelineLayer({
id: MUTATIONS_LAYER_ID,
label: "Vuex Mutations",
color: COLOR_LIME_500
});
api.addTimelineLayer({
id: ACTIONS_LAYER_ID,
label: "Vuex Actions",
color: COLOR_LIME_500
});
api.addInspector({
id: INSPECTOR_ID,
label: "Vuex",
icon: "storage",
treeFilterPlaceholder: "Filter stores..."
});
api.on.getInspectorTree(function(payload) {
if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {
if (payload.filter) {
var nodes = [];
flattenStoreForInspectorTree(nodes, store2._modules.root, payload.filter, "");
payload.rootNodes = nodes;
} else {
payload.rootNodes = [
formatStoreForInspectorTree(store2._modules.root, "")
];
}
}
});
api.on.getInspectorState(function(payload) {
if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {
var modulePath = payload.nodeId;
makeLocalGetters(store2, modulePath);
payload.state = formatStoreForInspectorState(
getStoreModule(store2._modules, modulePath),
modulePath === "root" ? store2.getters : store2._makeLocalGettersCache,
modulePath
);
}
});
api.on.editInspectorState(function(payload) {
if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {
var modulePath = payload.nodeId;
var path = payload.path;
if (modulePath !== "root") {
path = modulePath.split("/").filter(Boolean).concat(path);
}
store2._withCommit(function() {
payload.set(store2._state.data, path, payload.state.value);
});
}
});
store2.subscribe(function(mutation, state) {
var data = {};
if (mutation.payload) {
data.payload = mutation.payload;
}
data.state = state;
api.notifyComponentUpdate();
api.sendInspectorTree(INSPECTOR_ID);
api.sendInspectorState(INSPECTOR_ID);
api.addTimelineEvent({
layerId: MUTATIONS_LAYER_ID,
event: {
time: Date.now(),
title: mutation.type,
data
}
});
});
store2.subscribeAction({
before: function(action, state) {
var data = {};
if (action.payload) {
data.payload = action.payload;
}
action._id = actionId++;
action._time = Date.now();
data.state = state;
api.addTimelineEvent({
layerId: ACTIONS_LAYER_ID,
event: {
time: action._time,
title: action.type,
groupId: action._id,
subtitle: "start",
data
}
});
},
after: function(action, state) {
var data = {};
var duration = Date.now() - action._time;
data.duration = {
_custom: {
type: "duration",
display: duration + "ms",
tooltip: "Action duration",
value: duration
}
};
if (action.payload) {
data.payload = action.payload;
}
data.state = state;
api.addTimelineEvent({
layerId: ACTIONS_LAYER_ID,
event: {
time: Date.now(),
title: action.type,
groupId: action._id,
subtitle: "end",
data
}
});
}
});
}
);
}
var COLOR_LIME_500 = 8702998;
var COLOR_DARK = 6710886;
var COLOR_WHITE = 16777215;
var TAG_NAMESPACED = {
label: "namespaced",
textColor: COLOR_WHITE,
backgroundColor: COLOR_DARK
};
function extractNameFromPath(path) {
return path && path !== "root" ? path.split("/").slice(-2, -1)[0] : "Root";
}
function formatStoreForInspectorTree(module, path) {
return {
id: path || "root",
// all modules end with a `/`, we want the last segment only
// cart/ -> cart
// nested/cart/ -> cart
label: extractNameFromPath(path),
tags: module.namespaced ? [TAG_NAMESPACED] : [],
children: Object.keys(module._children).map(
function(moduleName) {
return formatStoreForInspectorTree(
module._children[moduleName],
path + moduleName + "/"
);
}
)
};
}
function flattenStoreForInspectorTree(result, module, filter, path) {
if (path.includes(filter)) {
result.push({
id: path || "root",
label: path.endsWith("/") ? path.slice(0, path.length - 1) : path || "Root",
tags: module.namespaced ? [TAG_NAMESPACED] : []
});
}
Object.keys(module._children).forEach(function(moduleName) {
flattenStoreForInspectorTree(result, module._children[moduleName], filter, path + moduleName + "/");
});
}
function formatStoreForInspectorState(module, getters, path) {
getters = path === "root" ? getters : getters[path];
var gettersKeys = Object.keys(getters);
var storeState = {
state: Object.keys(module.state).map(function(key) {
return {
key,
editable: true,
value: module.state[key]
};
})
};
if (gettersKeys.length) {
var tree = transformPathsToObjectTree(getters);
storeState.getters = Object.keys(tree).map(function(key) {
return {
key: key.endsWith("/") ? extractNameFromPath(key) : key,
editable: false,
value: canThrow(function() {
return tree[key];
})
};
});
}
return storeState;
}
function transformPathsToObjectTree(getters) {
var result = {};
Object.keys(getters).forEach(function(key) {
var path = key.split("/");
if (path.length > 1) {
var target = result;
var leafKey = path.pop();
path.forEach(function(p) {
if (!target[p]) {
target[p] = {
_custom: {
value: {},
display: p,
tooltip: "Module",
abstract: true
}
};
}
target = target[p]._custom.value;
});
target[leafKey] = canThrow(function() {
return getters[key];
});
} else {
result[key] = canThrow(function() {
return getters[key];
});
}
});
return result;
}
function getStoreModule(moduleMap, path) {
var names = path.split("/").filter(function(n) {
return n;
});
return names.reduce(
function(module, moduleName, i) {
var child = module[moduleName];
if (!child) {
throw new Error('Missing module "' + moduleName + '" for path "' + path + '".');
}
return i === names.length - 1 ? child : child._children;
},
path === "root" ? moduleMap : moduleMap.root._children
);
}
function canThrow(cb) {
try {
return cb();
} catch (e) {
return e;
}
}
var Module = function Module2(rawModule, runtime) {
this.runtime = runtime;
this._children = /* @__PURE__ */ Object.create(null);
this._rawModule = rawModule;
var rawState = rawModule.state;
this.state = (typeof rawState === "function" ? rawState() : rawState) || {};
};
var prototypeAccessors$1 = { namespaced: { configurable: true } };
prototypeAccessors$1.namespaced.get = function() {
return !!this._rawModule.namespaced;
};
Module.prototype.addChild = function addChild(key, module) {
this._children[key] = module;
};
Module.prototype.removeChild = function removeChild(key) {
delete this._children[key];
};
Module.prototype.getChild = function getChild(key) {
return this._children[key];
};
Module.prototype.hasChild = function hasChild(key) {
return key in this._children;
};
Module.prototype.update = function update(rawModule) {
this._rawModule.namespaced = rawModule.namespaced;
if (rawModule.actions) {
this._rawModule.actions = rawModule.actions;
}
if (rawModule.mutations) {
this._rawModule.mutations = rawModule.mutations;
}
if (rawModule.getters) {
this._rawModule.getters = rawModule.getters;
}
};
Module.prototype.forEachChild = function forEachChild(fn) {
forEachValue(this._children, fn);
};
Module.prototype.forEachGetter = function forEachGetter(fn) {
if (this._rawModule.getters) {
forEachValue(this._rawModule.getters, fn);
}
};
Module.prototype.forEachAction = function forEachAction(fn) {
if (this._rawModule.actions) {
forEachValue(this._rawModule.actions, fn);
}
};
Module.prototype.forEachMutation = function forEachMutation(fn) {
if (this._rawModule.mutations) {
forEachValue(this._rawModule.mutations, fn);
}
};
Object.defineProperties(Module.prototype, prototypeAccessors$1);
var ModuleCollection = function ModuleCollection2(rawRootModule) {
this.register([], rawRootModule, false);
};
ModuleCollection.prototype.get = function get(path) {
return path.reduce(function(module, key) {
return module.getChild(key);
}, this.root);
};
ModuleCollection.prototype.getNamespace = function getNamespace(path) {
var module = this.root;
return path.reduce(function(namespace, key) {
module = module.getChild(key);
return namespace + (module.namespaced ? key + "/" : "");
}, "");
};
ModuleCollection.prototype.update = function update$1(rawRootModule) {
update2([], this.root, rawRootModule);
};
ModuleCollection.prototype.register = function register(path, rawModule, runtime) {
var this$1$1 = this;
if (runtime === void 0)
runtime = true;
{
assertRawModule(path, rawModule);
}
var newModule = new Module(rawModule, runtime);
if (path.length === 0) {
this.root = newModule;
} else {
var parent = this.get(path.slice(0, -1));
parent.addChild(path[path.length - 1], newModule);
}
if (rawModule.modules) {
forEachValue(rawModule.modules, function(rawChildModule, key) {
this$1$1.register(path.concat(key), rawChildModule, runtime);
});
}
};
ModuleCollection.prototype.unregister = function unregister(path) {
var parent = this.get(path.slice(0, -1));
var key = path[path.length - 1];
var child = parent.getChild(key);
if (!child) {
{
console.warn(
"[vuex] trying to unregister module '" + key + "', which is not registered"
);
}
return;
}
if (!child.runtime) {
return;
}
parent.removeChild(key);
};
ModuleCollection.prototype.isRegistered = function isRegistered(path) {
var parent = this.get(path.slice(0, -1));
var key = path[path.length - 1];
if (parent) {
return parent.hasChild(key);
}
return false;
};
function update2(path, targetModule, newModule) {
{
assertRawModule(path, newModule);
}
targetModule.update(newModule);
if (newModule.modules) {
for (var key in newModule.modules) {
if (!targetModule.getChild(key)) {
{
console.warn(
"[vuex] trying to add a new module '" + key + "' on hot reloading, manual reload is needed"
);
}
return;
}
update2(
path.concat(key),
targetModule.getChild(key),
newModule.modules[key]
);
}
}
}
var functionAssert = {
assert: function(value) {
return typeof value === "function";
},
expected: "function"
};
var objectAssert = {
assert: function(value) {
return typeof value === "function" || typeof value === "object" && typeof value.handler === "function";
},
expected: 'function or object with "handler" function'
};
var assertTypes = {
getters: functionAssert,
mutations: functionAssert,
actions: objectAssert
};
function assertRawModule(path, rawModule) {
Object.keys(assertTypes).forEach(function(key) {
if (!rawModule[key]) {
return;
}
var assertOptions = assertTypes[key];
forEachValue(rawModule[key], function(value, type) {
assert(
assertOptions.assert(value),
makeAssertionMessage(path, key, type, value, assertOptions.expected)
);
});
});
}
function makeAssertionMessage(path, key, type, value, expected) {
var buf = key + " should be " + expected + ' but "' + key + "." + type + '"';
if (path.length > 0) {
buf += ' in module "' + path.join(".") + '"';
}
buf += " is " + JSON.stringify(value) + ".";
return buf;
}
function createStore(options) {
return new Store(options);
}
var Store = function Store2(options) {
var this$1$1 = this;
if (options === void 0)
options = {};
{
assert(typeof Promise !== "undefined", "vuex requires a Promise polyfill in this browser.");
assert(this instanceof Store2, "store must be called with the new operator.");
}
var plugins = options.plugins;
if (plugins === void 0)
plugins = [];
var strict = options.strict;
if (strict === void 0)
strict = false;
var devtools = options.devtools;
this._committing = false;
this._actions = /* @__PURE__ */ Object.create(null);
this._actionSubscribers = [];
this._mutations = /* @__PURE__ */ Object.create(null);
this._wrappedGetters = /* @__PURE__ */ Object.create(null);
this._modules = new ModuleCollection(options);
this._modulesNamespaceMap = /* @__PURE__ */ Object.create(null);
this._subscribers = [];
this._makeLocalGettersCache = /* @__PURE__ */ Object.create(null);
this._scope = null;
this._devtools = devtools;
var store2 = this;
var ref = this;
var dispatch2 = ref.dispatch;
var commit2 = ref.commit;
this.dispatch = function boundDispatch(type, payload) {
return dispatch2.call(store2, type, payload);
};
this.commit = function boundCommit(type, payload, options2) {
return commit2.call(store2, type, payload, options2);
};
this.strict = strict;
var state = this._modules.root.state;
installModule(this, state, [], this._modules.root);
resetStoreState(this, state);
plugins.forEach(function(plugin) {
return plugin(this$1$1);
});
};
var prototypeAccessors = { state: { configurable: true } };
Store.prototype.install = function install(app, injectKey) {
app.provide(injectKey || storeKey, this);
app.config.globalProperties.$store = this;
var useDevtools = this._devtools !== void 0 ? this._devtools : true;
if (useDevtools) {
addDevtools(app, this);
}
};
prototypeAccessors.state.get = function() {
return this._state.data;
};
prototypeAccessors.state.set = function(v) {
{
assert(false, "use store.replaceState() to explicit replace store state.");
}
};
Store.prototype.commit = function commit(_type, _payload, _options) {
var this$1$1 = this;
var ref = unifyObjectStyle(_type, _payload, _options);
var type = ref.type;
var payload = ref.payload;
var options = ref.options;
var mutation = { type, payload };
var entry = this._mutations[type];
if (!entry) {
{
console.error("[vuex] unknown mutation type: " + type);
}
return;
}
this._withCommit(function() {
entry.forEach(function commitIterator(handler) {
handler(payload);
});
});
this._subscribers.slice().forEach(function(sub) {
return sub(mutation, this$1$1.state);
});
if (options && options.silent) {
console.warn(
"[vuex] mutation type: " + type + ". Silent option has been removed. Use the filter functionality in the vue-devtools"
);
}
};
Store.prototype.dispatch = function dispatch(_type, _payload) {
var this$1$1 = this;
var ref = unifyObjectStyle(_type, _payload);
var type = ref.type;
var payload = ref.payload;
var action = { type, payload };
var entry = this._actions[type];
if (!entry) {
{
console.error("[vuex] unknown action type: " + type);
}
return;
}
try {
this._actionSubscribers.slice().filter(function(sub) {
return sub.before;
}).forEach(function(sub) {
return sub.before(action, this$1$1.state);
});
} catch (e) {
{
console.warn("[vuex] error in before action subscribers: ");
console.error(e);
}
}
var result = entry.length > 1 ? Promise.all(entry.map(function(handler) {
return handler(payload);
})) : entry[0](payload);
return new Promise(function(resolve, reject) {
result.then(function(res) {
try {
this$1$1._actionSubscribers.filter(function(sub) {
return sub.after;
}).forEach(function(sub) {
return sub.after(action, this$1$1.state);
});
} catch (e) {
{
console.warn("[vuex] error in after action subscribers: ");
console.error(e);
}
}
resolve(res);
}, function(error) {
try {
this$1$1._actionSubscribers.filter(function(sub) {
return sub.error;
}).forEach(function(sub) {
return sub.error(action, this$1$1.state, error);
});
} catch (e) {
{
console.warn("[vuex] error in error action subscribers: ");
console.error(e);
}
}
reject(error);
});
});
};
Store.prototype.subscribe = function subscribe(fn, options) {
return genericSubscribe(fn, this._subscribers, options);
};
Store.prototype.subscribeAction = function subscribeAction(fn, options) {
var subs = typeof fn === "function" ? { before: fn } : fn;
return genericSubscribe(subs, this._actionSubscribers, options);
};
Store.prototype.watch = function watch$1(getter, cb, options) {
var this$1$1 = this;
{
assert(typeof getter === "function", "store.watch only accepts a function.");
}
return vue.watch(function() {
return getter(this$1$1.state, this$1$1.getters);
}, cb, Object.assign({}, options));
};
Store.prototype.replaceState = function replaceState(state) {
var this$1$1 = this;
this._withCommit(function() {
this$1$1._state.data = state;
});
};
Store.prototype.registerModule = function registerModule(path, rawModule, options) {
if (options === void 0)
options = {};
if (typeof path === "string") {
path = [path];
}
{
assert(Array.isArray(path), "module path must be a string or an Array.");
assert(path.length > 0, "cannot register the root module by using registerModule.");
}
this._modules.register(path, rawModule);
installModule(this, this.state, path, this._modules.get(path), options.preserveState);
resetStoreState(this, this.state);
};
Store.prototype.unregisterModule = function unregisterModule(path) {
var this$1$1 = this;
if (typeof path === "string") {
path = [path];
}
{
assert(Array.isArray(path), "module path must be a string or an Array.");
}
this._modules.unregister(path);
this._withCommit(function() {
var parentState = getNestedState(this$1$1.state, path.slice(0, -1));
delete parentState[path[path.length - 1]];
});
resetStore(this);
};
Store.prototype.hasModule = function hasModule(path) {
if (typeof path === "string") {
path = [path];
}
{
assert(Array.isArray(path), "module path must be a string or an Array.");
}
return this._modules.isRegistered(path);
};
Store.prototype.hotUpdate = function hotUpdate(newOptions) {
this._modules.update(newOptions);
resetStore(this, true);
};
Store.prototype._withCommit = function _withCommit(fn) {
var committing = this._committing;
this._committing = true;
fn();
this._committing = committing;
};
Object.defineProperties(Store.prototype, prototypeAccessors);
var mapState = normalizeNamespace(function(namespace, states) {
var res = {};
if (!isValidMap(states)) {
console.error("[vuex] mapState: mapper parameter must be either an Array or an Object");
}
normalizeMap(states).forEach(function(ref) {
var key = ref.key;
var val = ref.val;
res[key] = function mappedState() {
var state = this.$store.state;
var getters = this.$store.getters;
if (namespace) {
var module = getModuleByNamespace(this.$store, "mapState", namespace);
if (!module) {
return;
}
state = module.context.state;
getters = module.context.getters;
}
return typeof val === "function" ? val.call(this, state, getters) : state[val];
};
res[key].vuex = true;
});
return res;
});
var mapMutations = normalizeNamespace(function(namespace, mutations) {
var res = {};
if (!isValidMap(mutations)) {
console.error("[vuex] mapMutations: mapper parameter must be either an Array or an Object");
}
normalizeMap(mutations).forEach(function(ref) {
var key = ref.key;
var val = ref.val;
res[key] = function mappedMutation() {
var args = [], len = arguments.length;
while (len--)
args[len] = arguments[len];
var commit2 = this.$store.commit;
if (namespace) {
var module = getModuleByNamespace(this.$store, "mapMutations", namespace);
if (!module) {
return;
}
commit2 = module.context.commit;
}
return typeof val === "function" ? val.apply(this, [commit2].concat(args)) : commit2.apply(this.$store, [val].concat(args));
};
});
return res;
});
function normalizeMap(map) {
if (!isValidMap(map)) {
return [];
}
return Array.isArray(map) ? map.map(function(key) {
return { key, val: key };
}) : Object.keys(map).map(function(key) {
return { key, val: map[key] };
});
}
function isValidMap(map) {
return Array.isArray(map) || isObject(map);
}
function normalizeNamespace(fn) {
return function(namespace, map) {
if (typeof namespace !== "string") {
map = namespace;
namespace = "";
} else if (namespace.charAt(namespace.length - 1) !== "/") {
namespace += "/";
}
return fn(namespace, map);
};
}
function getModuleByNamespace(store2, helper, namespace) {
var module = store2._modulesNamespaceMap[namespace];
if (!module) {
console.error("[vuex] module namespace not found in " + helper + "(): " + namespace);
}
return module;
}
const _export_sfc = (sfc, props) => {
const target = sfc.__vccOpts || sfc;
for (const [key, val] of props) {
target[key] = val;
}
return target;
};
const _sfc_main$c = {
data() {
return {
images: [
["/static/image/collected.png", "/static/image/collected1.png"],
["/static/image/favicon.png", "/static/image/favicon1.png"],
["/static/image/freeok.png", "/static/image/freeok1.png"],
["/static/image/fullscreen.png", "/static/image/fullscreen1.png"]
],
// 每个卡片当前是否显示第二张图
isFlipped: [false, false, false, false],
transitionClass: "fade"
};
},
methods: {
...mapMutations(["showPage"]),
async pageBack(e) {
uni.showModal({
title: "提示",
content: "是否退出",
success: (res) => {
if (res.confirm) {
formatAppLog("log", "at pages/index/index.vue:39", "用户点击确定");
plus.runtime.quit();
} else if (res.cancel) {
formatAppLog("log", "at pages/index/index.vue:42", "用户点击取消");
}
}
});
return false;
}
},
async mounted() {
const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
while (true) {
for (let i = 0; i < this.images.length; i++) {
this.$set(this.isFlipped, i, true);
await delay(1e3);
}
await delay(2e3);
for (let i = 0; i < this.images.length; i++) {
this.$set(this.isFlipped, i, false);
await delay(1e3);
}
await delay(2e3);
}
}
};
function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock(
"div",
{
class: "container",
onBack: _cache[0] || (_cache[0] = (...args) => $options.pageBack && $options.pageBack(...args))
},
[
vue.createElementVNode("div", { class: "grid-container" }, [
(vue.openBlock(true), vue.createElementBlock(
vue.Fragment,
null,
vue.renderList($data.images, (item, index) => {
return vue.openBlock(), vue.createElementBlock(
"div",
{
key: index,
class: vue.normalizeClass(["grid-item", { flipped: $data.isFlipped[index] }])
},
[
vue.createElementVNode("image", {
class: "img-front",
src: item[0],
alt: ""
}, null, 8, ["src"]),
vue.createElementVNode("image", {
class: "img-back",
src: item[1],
alt: ""
}, null, 8, ["src"])
],
2
/* CLASS */
);
}),
128
/* KEYED_FRAGMENT */
))
])
],
32
/* NEED_HYDRATION */
);
}
const PagesIndexIndex = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["render", _sfc_render$b], ["__file", "/Users/yunzhi/Projects/TV/电视TV影视APP/pages/index/index.vue"]]);
const _sfc_main$b = {
data() {
return {
updateTime: Date.now() / 1e3,
version: "1.0.0",
//当前运行版本(打包时manifest里的版本名称)
percent: 0,
//进度条百分比
updateBtn: false,
//是否显示立即更新
cancleBtn: false,
//是否显示取消按钮
downloadedSize: 0,
//当前已下载大小
packageFileSize: 0,
//安装包大小
data: {
describe: "1. 修复已知问题
2. 优化用户体验",
edition_url: "https://vkceyugu.cdn.bspapp.com/VKCEYUGU-6bef1fe3-e3e3-4909-9f0c-6ed9bd11c93b/aae2360a-6628-4c93-b873-ce1600b9a852.apk",
//安装包下载地址或者通用应用市场地址
edition_force: 1,
//是否强制更新 0代表否 1代表是
package_type: 0,
//0是整包升级 1是wgt升级
edition_name: "1.0.1"
//后端返回的版本名称
}
};
},
onHide() {
this.data.edition_force = 0;
uni.navigateBack({
delta: 1
});
},
onLoad({ obj }) {
this.data = JSON.parse(obj);
if (this.data.edition_force == 0) {
this.cancleBtn = true;
}
plus.runtime.getProperty(plus.runtime.appid, (inf) => {
this.version = inf.version;
});
},
onShow() {
this.confirm();
},
onBackPress() {
if (this.data.edition_force == 1) {
return true;
}
},
methods: {
cancel() {
uni.navigateBack({
delta: 1
});
},
confirm() {
if (this.data.package_type == 0) {
if (this.data.edition_url.includes(".apk")) {
this.updateBtn = false;
this.cancleBtn = false;
this.download();
} else {
this.data.edition_force = 0;
plus.runtime.openURL(this.data.edition_url);
uni.navigateBack({
delta: 1
});
}
} else {
this.updateBtn = false;
this.cancleBtn = false;
this.download();
}
},
download() {
let package_type = this.data.package_type;
let that = this;
const downloadTask = uni.downloadFile({
url: this.data.edition_url,
success: (res) => {
if (res.statusCode === 200) {
this.percent = 100;
uni.showToast({
title: "下载完成",
icon: "none",
duration: 2500
});
plus.runtime.install(
res.tempFilePath,
{
force: true
//true表示强制安装,不进行版本号的校验;false则需要版本号校验,
},
function() {
formatAppLog("log", "at uni_modules/rt-uni-update/components/rt-uni-update/rt-uni-update.vue:112", "success", success);
uni.showToast({
title: "下载完成2",
icon: "none",
duration: 2500
});
if (package_type == 1) {
plus.runtime.restart();
}
},
function(e) {
that.data.edition_force = 0;
uni.showToast({
title: e.message,
icon: "none",
duration: 2500
});
setTimeout(() => {
uni.navigateBack();
}, 2e3);
}
);
}
}
});
downloadTask.onProgressUpdate((res) => {
if (this.percent != res.progress) {
let updateTime2 = Date.now() / 1e3;
if (updateTime2 - this.updateTime > 2) {
this.updateTime = updateTime2;
this.downloadedSize = (res.totalBytesWritten / Math.pow(1024, 2)).toFixed(2);
this.packageFileSize = (res.totalBytesExpectedToWrite / Math.pow(1024, 2)).toFixed(2);
this.percent = res.progress;
}
}
});
}
}
};
function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("view", { class: "update-mask flex-center" }, [
vue.createElementVNode("view", { class: "content botton-radius" }, [
vue.createElementVNode("view", { class: "content-body botton-radius" }, [
vue.createElementVNode("view", {
class: "title",
style: { "padding-top": "20rpx" }
}, [
vue.createElementVNode(
"text",
null,
"更新内容" + vue.toDisplayString($data.downloadedSize) + "-" + vue.toDisplayString($data.packageFileSize),
1
/* TEXT */
)
]),
vue.createElementVNode("view", { class: "body" }, [
vue.createElementVNode("scroll-view", {
class: "box-des-scroll",
"scroll-y": "true"
}, [
vue.createElementVNode("rich-text", {
nodes: $data.data.describe
}, null, 8, ["nodes"])
])
]),
vue.createElementVNode("view", { class: "footer flex-center" }, [
!$data.updateBtn ? (vue.openBlock(), vue.createElementBlock("view", {
key: 0,
class: "progress-box flex-column"
}, [
vue.createElementVNode("progress", {
class: "progress",
"border-radius": "35",
percent: $data.percent,
activeColor: "#3DA7FF",
"show-info": "",
"stroke-width": "10"
}, null, 8, ["percent"])
])) : vue.createCommentVNode("v-if", true)
])
])
])
]);
}
const UniModulesRtUniUpdateComponentsRtUniUpdateRtUniUpdate = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["render", _sfc_render$a], ["__file", "/Users/yunzhi/Projects/TV/电视TV影视APP/uni_modules/rt-uni-update/components/rt-uni-update/rt-uni-update.vue"]]);
const _imports_0$1 = "/static/play.png";
const _sfc_main$a = {
inject: ["pageId", "pageState"],
watch: {},
props: {
clazz: {
type: String
},
src: {
type: String
},
autoplay: {
type: Boolean,
default: true
},
showProgress: {
type: Boolean,
default: false
}
},
data() {
return {
status: 0,
currentTime: 0,
fullScreen: false
};
},
created() {
this.viderContext = uni.createVideoContext("player");
uni.$on("keyDown", (data) => {
this.keyDown(data);
});
},
methods: {
keyDown(Arrow) {
formatAppLog("log", "at components/unitv-video/unitv-video.vue:46", "监测到按键:" + Arrow);
switch (Arrow) {
case "KeyLeft":
{
var time = parseInt(this.currentTime - 15, 10);
this.viderContext.seek(time < 0 ? 0 : time);
}
break;
case "KeyRight":
{
var time = parseInt(this.currentTime + 15, 10);
this.viderContext.seek(time);
}
break;
case "KeyEnter":
{
this.clickVideo();
}
break;
}
},
clickVideo() {
if (this.status) {
this.viderContext.pause();
this.viderContext.showStatusBar();
} else {
this.viderContext.play();
this.viderContext.hideStatusBar();
}
},
timeupdate: function(e) {
this.currentTime = e.detail.currentTime;
},
fullscreenchange: function(e) {
this.fullScreen = e.detail.fullScreen;
this.pageState.handleEvent = e.detail.fullScreen;
if (this.fullScreen) {
this.viderContext.play();
}
}
}
};
function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("video", {
id: "player",
class: vue.normalizeClass($props.clazz),
src: $props.src,
autoplay: $props.autoplay,
"enable-play-gesture": false,
"enable-progress-gesture": false,
"show-center-play-btn": false,
"show-progress": true,
onPlay: _cache[0] || (_cache[0] = ($event) => $data.status = 1),
onPause: _cache[1] || (_cache[1] = ($event) => $data.status = 0),
onTimeupdate: _cache[2] || (_cache[2] = (...args) => $options.timeupdate && $options.timeupdate(...args)),
onFullscreenchange: _cache[3] || (_cache[3] = (...args) => $options.fullscreenchange && $options.fullscreenchange(...args))
}, [
$data.status == 0 ? (vue.openBlock(), vue.createElementBlock("cover-image", {
key: 0,
class: "controls-play img",
src: _imports_0$1
})) : vue.createCommentVNode("v-if", true)
], 42, ["src", "autoplay"]);
}
const __easycom_0$2 = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["render", _sfc_render$9], ["__scopeId", "data-v-59a00a59"], ["__file", "/Users/yunzhi/Projects/TV/电视TV影视APP/components/unitv-video/unitv-video.vue"]]);
const _sfc_main$9 = {
name: "unitvPage",
inject: ["pageId", "zoneId", "zoneState", "zoneItems"],
props: {
item: {
type: Number
},
hoverClass: {
type: String,
default: "item-hover"
},
selectClass: {
type: String,
default: "item-active"
}
},
updated() {
this.zoneItems[this.item] = this;
},
created() {
this.zoneItems[this.item] = this;
},
mounted() {
if (this.zoneState.curZone && this.zoneState.curItem == this.item) {
this.handleHover();
this.refreshScroll();
this.refreshState();
}
},
data() {
return {
selected: false,
hovered: false
};
},
computed: {
...mapState(["currentZone", "currentPage"]),
id: function() {
return this.zoneId + "_" + this.item;
}
},
methods: {
clientRect(callback) {
let view = uni.createSelectorQuery().in(this).select("#" + this.id);
view.boundingClientRect((data) => {
callback(data);
}).exec();
},
refreshScroll() {
this.clientRect((clientRect) => {
this.currentPage.RefreshScrollTop(clientRect);
if (this.zoneState.curScroll != null) {
this.zoneState.curScroll.RefreshScrollLeft(clientRect);
}
});
},
refreshState() {
if (!this.zoneState.curZone && this.zoneState.curItem == this.item) {
this.selected = true;
} else {
this.selected = false;
}
if (this.zoneState.curZone && this.zoneState.curItem == this.item) {
this.hovered = true;
} else {
this.hovered = false;
}
},
handleHover() {
this.$emit("hover", this.item);
},
handleClick() {
this.$emit("click", this.item);
},
handleDel() {
this.$emit("del", this.item);
}
},
watch: {
hovered: function(newValue) {
if (newValue != "") {
this.handleHover();
this.refreshScroll();
}
}
}
};
function _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("view", {
id: $options.id,
class: vue.normalizeClass(`${$data.selected ? $props.selectClass : ""} ${$data.hovered ? $props.hoverClass : ""}`)
}, [
vue.renderSlot(_ctx.$slots, "default")
], 10, ["id"]);
}
const __easycom_0$1 = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["render", _sfc_render$8], ["__file", "/Users/yunzhi/Projects/TV/电视TV影视APP/components/unitv-item/unitv-item.vue"]]);
const _sfc_main$8 = {
name: "unitvPage",
inject: ["pageId", "pageState"],
props: {
id: {
// Zone Id
type: String,
required: true
},
up: {
// Zone切换时上一Zone Id
type: String
},
down: {
// Zone切换时下一Zone Id
type: String
},
left: {
// Zone切换时左一Zone Id
type: String
},
right: {
// Zone切换时右一Zone Id
type: String
},
item: {
// Zone当前焦点item索引
type: Number,
default: 0
},
prevZone: {
// Zone改变后的上一个Zone Id
type: String
},
row: {
// Zone的item总行数
type: Number,
default: 1
},
column: {
// Zone的item总列数
type: Number,
default: 1
},
defaultBehavior: {
type: Boolean,
default: true
},
autoFous: {
type: Boolean,
default: false
},
values: {
type: Array,
default: () => []
},
count: {
type: Number,
default: 0
}
},
provide() {
return {
zoneId: this.id,
zoneState: this.zoneState,
zoneItems: this.items
};
},
created() {
if (this.autoFous) {
this.pageState.curZoneId = this.id;
this.zoneState.curZone = true;
this.focus = true;
this.switchZone(this);
}
this._switchItem(this.item);
this.currentPage.pushZone(this);
},
mounted() {
},
computed: {
...mapState(["currentZone", "currentPage"]),
size: function() {
if (this.count != 0) {
return this.count;
} else if (this.values.length != 0) {
return this.values.length;
} else {
return this.items.length;
}
},
rows: function() {
if (this.row > 1) {
return this.row;
}
return Math.ceil(this.size / this.column);
}
},
data() {
return {
citem: 0,
crow: 0,
// Zone的当前行
prevItem: 0,
// item改变后的上一item索引
focus: false,
items: [],
// Zone的所有item数组集合
zoneState: {
curItem: this.citem,
curZone: this.focus,
curScroll: null
},
StepSeq: 0
};
},
methods: {
...mapMutations(["switchZone"]),
_switchItem: function(item, oldItem) {
this.citem = item;
this.zoneState.curItem = item;
try {
this.refreshItem();
if (oldItem != void 0) {
this.items[oldItem].refreshState();
}
} catch (e) {
}
},
refreshItem: function() {
this.items[this.citem].refreshState();
},
evtArrow: function(Arrow) {
var self = this;
var oldItem = this.citem || 0;
var item = this.citem || 0;
var steps = this.rows * this.column;
var Row = Math.floor(item / this.column);
var Border = this[Arrow];
var cRow = this.crow;
switch (Arrow) {
case "left":
item -= 1;
if (Math.floor(item / this.column) != Row) {
item = item - steps;
}
break;
case "right":
item += 1;
if (Math.floor(item / this.column) != Row) {
item = item + steps;
}
break;
case "up":
item -= this.column;
this.crow = cRow - 1;
break;
case "down":
item += this.column;
this.crow = cRow + 1;
break;
}
if (item >= 0 && item <= steps - 1) {
if (item + this.StepSeq * steps + 1 > this.size) {
item = this.size - this.StepSeq * steps - 1;
}
this.citem = item;
this._switchItem(this.citem, oldItem);
if (this.crow === this.rows - 1) {
this.$emit("scrolltolower");
}
} else {
this.crow = cRow;
OverBorder();
}
function OverBorder() {
if (Border) {
if (Border === self.id) {
ScrollItem();
} else {
ChangeZone();
}
}
function ScrollItem() {
switch (Arrow) {
case "up":
item = self.citem + self.column * (self.rows - 1);
self.crow = self.rows - 1;
break;
case "down":
item = self.citem - self.column * (self.rows - 1);
self.crow = 0;
break;
case "left":
item = (Row + 1) * self.column - 1;
break;
case "right":
item = Row * self.column;
break;
}
if (self.size > steps) {
self.StepSeq = self.StepSeq || 0;
var MaxSeq = Math.ceil(self.size / steps) - 1;
if (Arrow === "left" || Arrow === "up") {
self.StepSeq = self.StepSeq > 0 ? self.StepSeq - 1 : MaxSeq;
} else if (Arrow === "right" || Arrow === "down") {
self.StepSeq = self.StepSeq < MaxSeq ? self.StepSeq + 1 : 0;
}
}
if (item + self.StepSeq * steps + 1 > self.size) {
item = 0;
}
self.citem = item;
self._switchItem(self.citem, oldItem);
}
function ChangeZone() {
self.currentPage.ChangeZone(Border);
self.refreshItem();
}
}
},
evtEnter: function() {
var itemObj = this.items[this.citem];
if (itemObj) {
itemObj.handleClick();
}
},
evtDel: function() {
var itemObj = this.items[this.citem];
if (itemObj) {
itemObj.handleDel();
}
}
},
watch: {
values: function(newVal, oldVal) {
}
}
};
function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("view", { id: $props.id }, [
vue.renderSlot(_ctx.$slots, "default")
], 8, ["id"]);
}
const __easycom_1$1 = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["render", _sfc_render$7], ["__file", "/Users/yunzhi/Projects/TV/电视TV影视APP/components/unitv-zone/unitv-zone.vue"]]);
const _sfc_main$7 = {
inject: ["pageId", "zoneId", "zoneState"],
watch: {},
data() {
return {
scrollLeft: 0,
old: {
scrollLeft: 0
},
windowWidth: null
};
},
created() {
this.zoneState.curScroll = this;
uni.getSystemInfo({
success: (res) => {
this.windowWidth = res.windowWidth;
}
});
},
methods: {
scroll: function(e) {
this.old.scrollLeft = e.detail.scrollLeft;
},
RefreshScrollLeft(clientRect) {
var left = clientRect.left;
if (left > 0) {
left = clientRect.right;
}
if (left > this.windowWidth) {
var left1 = this.old.scrollLeft + (left - this.windowWidth + 10);
this.scrollLeft = left1;
} else if (left < 0) {
this.scrollLeft = this.old.scrollLeft + (left - 20);
}
}
}
};
function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("scroll-view", {
"scroll-x": "true",
"scroll-left": $data.scrollLeft,
onScroll: _cache[0] || (_cache[0] = (...args) => $options.scroll && $options.scroll(...args))
}, [
vue.renderSlot(_ctx.$slots, "default")
], 40, ["scroll-left"]);
}
const __easycom_1 = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["render", _sfc_render$6], ["__file", "/Users/yunzhi/Projects/TV/电视TV影视APP/components/unitv-scroll/unitv-scroll.vue"]]);
const block0 = (Comp) => {
(Comp.$renderjs || (Comp.$renderjs = [])).push("whole");
(Comp.$renderjsModules || (Comp.$renderjsModules = {}))["whole"] = "5c9edcc4";
};
const _sfc_main$6 = {
name: "unitvPage",
props: {
id: {
type: String,
required: true
},
prePageId: {
type: String
},
show: {
type: Boolean,
default: false
},
handleEvent: {
type: Boolean,
default: false
}
},
provide() {
return {
pageId: this.id,
pageState: this.pageState
};
},
created() {
if (this.show) {
this.switchPage(this);
}
uni.getSystemInfo({
success: (res) => {
this.windowHeight = res.windowHeight;
}
});
},
mounted() {
this.pushPage(this);
},
computed: {
...mapState(["currentZone", "currentPage", "allPages"]),
current: function() {
return this.currentPage == this;
}
},
data() {
return {
key: "",
oldKey: "",
windowHeight: null,
scrollTop: 0,
old: {
scrollTop: 0
},
Zone: [],
pageState: {
curZoneId: "",
handleEvent: this.handleEvent
},
transfromClass: {
"position": "fixed",
"bottom": 0,
"top": 0,
"left": 0,
"right": 0,
"display": "flex",
"justify-content": "center",
"align-items": "center"
}
};
},
methods: {
...mapMutations(["switchPage", "switchZone", "pushPage"]),
showPage() {
this.switchPage(this);
this.switchZone(this.Zone[this.pageState.curZoneId]);
this.Zone[this.pageState.curZoneId].refreshItem();
return true;
},
pushZone(zone) {
this.Zone[zone.id] = zone;
},
keyCodeClick2(obj) {
let keyCode = obj.code;
this.key = keyCode;
this.oldKey = obj.oldCode;
},
keyCodeClick(obj) {
let keyCode = obj.code;
this.key = keyCode;
this.oldKey = obj.oldCode;
if (this.pageState.handleEvent) {
uni.$emit("keyDown", keyCode);
} else {
switch (keyCode) {
case "KeyUp":
this.evtArrow("up");
break;
case "KeyDown":
this.evtArrow("down");
break;
case "KeyLeft":
this.evtArrow("left");
break;
case "KeyRight":
this.evtArrow("right");
break;
case "KeyEnter":
this.evtEnter();
break;
case "KeyBack":
this.evtBack();
break;
case "KeyDel":
this.evtDel();
break;
}
}
},
evtArrow: function(Arrow) {
var zone = this.currentZone;
zone.evtArrow(Arrow);
},
evtEnter: function() {
this.currentZone.evtEnter();
},
evtDel: function() {
this.currentZone.evtDel();
},
evtBack: function() {
this.$emit("back");
this.key = "KeyBack";
},
scroll: function(e) {
this.old.scrollTop = e.detail.scrollTop;
},
ChangeZone(zoneId) {
var zone = this.Zone[zoneId];
if (zone) {
this.currentZone.zoneState.curZone = false;
this.pageState.curZoneId = zoneId;
zone.zoneState.curZone = true;
this.switchZone(this.Zone[zoneId]);
this.Zone[zoneId].refreshItem();
}
},
RefreshScrollTop(clientRect) {
var top = clientRect.top;
if (top > 0) {
top = clientRect.bottom;
}
if (top > this.windowHeight) {
var top1 = this.old.scrollTop + (top - this.windowHeight + 10);
this.scrollTop = top1;
} else if (top < 0) {
this.scrollTop = this.old.scrollTop + (top - 20);
}
}
},
watch: {
handleEvent: function(val) {
this.pageState.handleEvent = val;
}
}
};
function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock(
vue.Fragment,
null,
[
vue.withDirectives(vue.createElementVNode("scroll-view", {
"scroll-y": "true",
style: vue.normalizeStyle({ height: $data.windowHeight + "px" }),
ref: "page",
"scroll-top": $data.scrollTop,
onScroll: _cache[2] || (_cache[2] = (...args) => $options.scroll && $options.scroll(...args))
}, [
vue.createElementVNode("view", {
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.whole.onClick && _ctx.whole.onClick(...args)),
id: "onClick"
}),
vue.createElementVNode("view", {
onClick: _cache[1] || (_cache[1] = (...args) => _ctx.whole.onClick2 && _ctx.whole.onClick2(...args)),
id: "onClick2"
}),
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
], 44, ["scroll-top"]), [
[vue.vShow, $options.current]
]),
vue.createCommentVNode(`
`)
],
2112
/* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
);
}
if (typeof block0 === "function")
block0(_sfc_main$6);
const __easycom_2 = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["render", _sfc_render$5], ["__scopeId", "data-v-273aa4af"], ["__file", "/Users/yunzhi/Projects/TV/电视TV影视APP/components/unitv-page/unitv-page.vue"]]);
const _imports_0 = "/static/fullscreen.png";
const _imports_1 = "/static/favicon.png";
const _sfc_main$5 = {
data() {
return {
item: [],
status: 0,
handEvt: false,
currentTime: 0,
moiveData: {},
moiveType: "",
moiveUrl: "",
moiveUrlList: []
};
},
onBackPress(options) {
this.$refs.playPage.evtBack();
return true;
},
onReady() {
this.viderContext = uni.createVideoContext("player");
},
onLoad(e) {
formatAppLog("log", "at pages/player/player.vue:64", e);
this.$api.get("/platCupfox/detail/" + e.id, null).then((res) => {
formatAppLog("log", "at pages/player/player.vue:66", res);
if (res == void 0 || res == null || res == "") {
uni.showToast({
title: "视频资源数据异常,请检查接口数据",
icon: "none",
duration: 5e3
});
return;
}
this.moiveData = res;
this.moiveType = res.type;
this.item = res.resources;
if (res.resources != null && res.resources.length > 0) {
let aa = res.resources[0];
if (aa.movieFlag == "1") {
this.moiveUrl = aa.movieUrl;
if (res.type == "multiple") {
this.moiveUrlList = aa.resourceUrlList;
}
}
}
});
},
methods: {
switchFullScreen() {
this.viderContext.requestFullScreen();
},
websiteClick(data) {
if (data.movieFlag == "1") {
if (this.moiveType == "multiple") {
this.moiveUrlList = data.resourceUrlList;
} else {
this.moiveUrl = data.movieUrl;
}
} else {
uni.showToast({
title: "当前站点视频还未解析,请联系系统管理员处理",
icon: "none",
duration: 2e3
});
}
},
websiteHover(data) {
formatAppLog("log", "at pages/player/player.vue:112", "websiteHover");
},
pageBack(e) {
formatAppLog("log", "at pages/player/player.vue:121", "按了返回");
uni.reLaunch({
url: "../index/index"
});
return false;
}
}
};
function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
const _component_unitv_video = resolveEasycom(vue.resolveDynamicComponent("unitv-video"), __easycom_0$2);
const _component_unitv_item = resolveEasycom(vue.resolveDynamicComponent("unitv-item"), __easycom_0$1);
const _component_unitv_zone = resolveEasycom(vue.resolveDynamicComponent("unitv-zone"), __easycom_1$1);
const _component_unitv_scroll = resolveEasycom(vue.resolveDynamicComponent("unitv-scroll"), __easycom_1);
const _component_unitv_page = resolveEasycom(vue.resolveDynamicComponent("unitv-page"), __easycom_2);
return vue.openBlock(), vue.createElementBlock("view", null, [
vue.createVNode(_component_unitv_page, {
id: "playPage",
show: true,
ref: "playPage",
onBack: $options.pageBack
}, {
default: vue.withCtx(() => [
vue.createElementVNode("view", { class: "movie-contain" }, [
vue.createVNode(_component_unitv_video, {
id: "player",
class: "player",
src: $data.moiveUrl,
autoplay: true
}, null, 8, ["src"]),
vue.createElementVNode("view", { class: "movie-inter" }, [
vue.createElementVNode(
"view",
{ class: "movie-title" },
vue.toDisplayString($data.moiveData.title),
1
/* TEXT */
),
vue.createElementVNode("view", { class: "movie-info" }, [
vue.createElementVNode(
"text",
null,
"影片信息:" + vue.toDisplayString($data.moiveData.info),
1
/* TEXT */
)
]),
vue.createElementVNode(
"view",
{ class: "movie-content" },
"简介:" + vue.toDisplayString($data.moiveData.comment),
1
/* TEXT */
),
vue.createElementVNode("view", null, [
vue.createVNode(_component_unitv_zone, {
id: "btn-zone",
autoFous: true,
column: 2,
down: "list-zone",
item: 0,
values: [0, 1],
class: "btn-zone"
}, {
default: vue.withCtx(() => [
vue.createVNode(_component_unitv_item, {
item: 0,
class: "fullscreen-btn",
onClick: $options.switchFullScreen
}, {
default: vue.withCtx(() => [
vue.createElementVNode("image", {
mode: "aspectFit",
src: _imports_0
}),
vue.createElementVNode("view", null, "全屏播放")
]),
_: 1
/* STABLE */
}, 8, ["onClick"]),
vue.createVNode(_component_unitv_item, {
item: 1,
class: "favicon-btn"
}, {
default: vue.withCtx(() => [
vue.createElementVNode("image", {
mode: "aspectFit",
src: _imports_1
}),
vue.createElementVNode("view", null, "收藏")
]),
_: 1
/* STABLE */
})
]),
_: 1
/* STABLE */
})
])
])
]),
vue.createVNode(_component_unitv_zone, {
id: "list-zone",
class: "list-zone",
up: "btn-zone",
down: $data.moiveType == "multiple" ? "resource-zone" : "",
values: $data.item,
column: 8
}, {
default: vue.withCtx(() => [
(vue.openBlock(true), vue.createElementBlock(
vue.Fragment,
null,
vue.renderList($data.item, (a, index) => {
return vue.openBlock(), vue.createBlock(_component_unitv_item, {
item: index,
key: index,
class: "item",
style: vue.normalizeStyle(a.movieFlag == "1" ? "background-color: #CD7F32;" : ""),
onClick: ($event) => $options.websiteClick(a),
onHover: ($event) => $options.websiteHover(a)
}, {
default: vue.withCtx(() => [
vue.createTextVNode(
vue.toDisplayString(a.website),
1
/* TEXT */
)
]),
_: 2
/* DYNAMIC */
}, 1032, ["item", "style", "onClick", "onHover"]);
}),
128
/* KEYED_FRAGMENT */
))
]),
_: 1
/* STABLE */
}, 8, ["down", "values"]),
$data.moiveType == "multiple" ? (vue.openBlock(), vue.createElementBlock("view", {
key: 0,
class: "title"
}, "影视剧集")) : vue.createCommentVNode("v-if", true),
$data.moiveType == "multiple" ? (vue.openBlock(), vue.createBlock(_component_unitv_zone, {
key: 1,
id: "resource-zone",
class: "resource-zone",
up: "list-zone",
values: $data.moiveUrlList,
column: $data.moiveUrlList.length
}, {
default: vue.withCtx(() => [
vue.createVNode(_component_unitv_scroll, null, {
default: vue.withCtx(() => [
(vue.openBlock(true), vue.createElementBlock(
vue.Fragment,
null,
vue.renderList($data.moiveUrlList, (a, index) => {
return vue.openBlock(), vue.createBlock(_component_unitv_item, {
item: index,
key: index,
class: "item-resource"
}, {
default: vue.withCtx(() => [
vue.createElementVNode(
"view",
{ class: "item-resource-info" },
vue.toDisplayString(a.name),
1
/* TEXT */
)
]),
_: 2
/* DYNAMIC */
}, 1032, ["item"]);
}),
128
/* KEYED_FRAGMENT */
))
]),
_: 1
/* STABLE */
})
]),
_: 1
/* STABLE */
}, 8, ["values", "column"])) : vue.createCommentVNode("v-if", true)
]),
_: 1
/* STABLE */
}, 8, ["onBack"])
]);
}
const PagesPlayerPlayer = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["render", _sfc_render$4], ["__file", "/Users/yunzhi/Projects/TV/电视TV影视APP/pages/player/player.vue"]]);
const _sfc_main$4 = {
data() {
return {
item1: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
item5: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18],
curSwiper: 0,
nextZone: "szone_1"
};
},
computed: {},
onLoad() {
},
onReady() {
},
methods: {
hoverItem(e) {
formatAppLog("log", "at pages/swiper/swiper.vue:41", "获得焦点:" + e);
this.curSwiper = e;
this.nextZone = "szone_" + (e + 1);
},
clickItem(e) {
formatAppLog("log", "at pages/swiper/swiper.vue:46", "点击了:" + e);
uni.showToast({
title: "成功点击了",
icon: "none",
duration: 2e3
});
},
loadMore() {
uni.showToast({
title: "到达底部",
icon: "none",
duration: 2e3
});
}
}
};
function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
const _component_unitv_item = resolveEasycom(vue.resolveDynamicComponent("unitv-item"), __easycom_0$1);
const _component_unitv_scroll = resolveEasycom(vue.resolveDynamicComponent("unitv-scroll"), __easycom_1);
const _component_unitv_zone = resolveEasycom(vue.resolveDynamicComponent("unitv-zone"), __easycom_1$1);
const _component_unitv_page = resolveEasycom(vue.resolveDynamicComponent("unitv-page"), __easycom_2);
return vue.openBlock(), vue.createElementBlock("view", { class: "page content" }, [
vue.createVNode(
_component_unitv_page,
{
id: "swiperPage",
ref: "swiperPage"
},
{
default: vue.withCtx(() => [
vue.createElementVNode("view", null, [
vue.createVNode(_component_unitv_zone, {
id: "zone1",
class: "zone1",
autoFous: true,
down: $data.nextZone,
item: 0,
values: $data.item1,
column: $data.item1.length
}, {
default: vue.withCtx(() => [
vue.createVNode(_component_unitv_scroll, null, {
default: vue.withCtx(() => [
(vue.openBlock(true), vue.createElementBlock(
vue.Fragment,
null,
vue.renderList($data.item1, (a, index) => {
return vue.openBlock(), vue.createBlock(_component_unitv_item, {
item: index,
key: index,
class: "item",
onHover: $options.hoverItem
}, {
default: vue.withCtx(() => [
vue.createTextVNode(
vue.toDisplayString(a),
1
/* TEXT */
)
]),
_: 2
/* DYNAMIC */
}, 1032, ["item", "onHover"]);
}),
128
/* KEYED_FRAGMENT */
))
]),
_: 1
/* STABLE */
})
]),
_: 1
/* STABLE */
}, 8, ["down", "values", "column"])
]),
vue.createElementVNode("swiper", {
class: "swiper",
current: $data.curSwiper
}, [
(vue.openBlock(true), vue.createElementBlock(
vue.Fragment,
null,
vue.renderList($data.item1, (s, index) => {
return vue.openBlock(), vue.createElementBlock("swiper-item", {
"data-zone": "szone_" + s,
key: "s_" + index
}, [
vue.createVNode(_component_unitv_zone, {
id: "szone_" + s,
class: "zone5",
up: "zone1",
values: $data.item5,
column: 6,
onScrolltolower: $options.loadMore
}, {
default: vue.withCtx(() => [
(vue.openBlock(true), vue.createElementBlock(
vue.Fragment,
null,
vue.renderList($data.item5, (a, index2) => {
return vue.openBlock(), vue.createBlock(_component_unitv_item, {
item: index2,
key: index2,
class: "item"
}, {
default: vue.withCtx(() => [
vue.createTextVNode(
vue.toDisplayString(s) + "-" + vue.toDisplayString(a),
1
/* TEXT */
)
]),
_: 2
/* DYNAMIC */
}, 1032, ["item"]);
}),
128
/* KEYED_FRAGMENT */
))
]),
_: 2
/* DYNAMIC */
}, 1032, ["id", "values", "onScrolltolower"])
], 8, ["data-zone"]);
}),
128
/* KEYED_FRAGMENT */
))
], 8, ["current"])
]),
_: 1
/* STABLE */
},
512
/* NEED_PATCH */
)
]);
}
const PagesSwiperSwiper = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$3], ["__file", "/Users/yunzhi/Projects/TV/电视TV影视APP/pages/swiper/swiper.vue"]]);
const _sfc_main$3 = {
name: "uniTransition",
props: {
show: {
type: Boolean,
default: false
},
modeClass: {
type: Array,
default() {
return [];
}
},
duration: {
type: Number,
default: 300
},
styles: {
type: Object,
default() {
return {};
}
}
},
data() {
return {
isShow: false,
transform: "",
ani: {
in: "",
active: ""
}
};
},
watch: {
show: {
handler(newVal) {
if (newVal) {
this.open();
} else {
this.close();
}
},
immediate: true
}
},
computed: {
stylesObject() {
let styles = {
...this.styles,
"transition-duration": this.duration / 1e3 + "s"
};
let transfrom = "";
for (let i in styles) {
let line = this.toLine(i);
transfrom += line + ":" + styles[i] + ";";
}
return transfrom;
}
},
created() {
},
methods: {
change() {
this.$emit("click", {
detail: this.isShow
});
},
open() {
clearTimeout(this.timer);
this.isShow = true;
this.transform = "";
this.ani.in = "";
for (let i in this.getTranfrom(false)) {
if (i === "opacity") {
this.ani.in = "fade-in";
} else {
this.transform += `${this.getTranfrom(false)[i]} `;
}
}
this.$nextTick(() => {
setTimeout(() => {
this._animation(true);
}, 50);
});
},
close(type) {
clearTimeout(this.timer);
this._animation(false);
},
_animation(type) {
let styles = this.getTranfrom(type);
this.transform = "";
for (let i in styles) {
if (i === "opacity") {
this.ani.in = `fade-${type ? "out" : "in"}`;
} else {
this.transform += `${styles[i]} `;
}
}
this.timer = setTimeout(() => {
if (!type) {
this.isShow = false;
}
this.$emit("change", {
detail: this.isShow
});
}, this.duration);
},
getTranfrom(type) {
let styles = {
transform: ""
};
this.modeClass.forEach((mode) => {
switch (mode) {
case "fade":
styles.opacity = type ? 1 : 0;
break;
case "slide-top":
styles.transform += `translateY(${type ? "0" : "-100%"}) `;
break;
case "slide-right":
styles.transform += `translateX(${type ? "0" : "100%"}) `;
break;
case "slide-bottom":
styles.transform += `translateY(${type ? "0" : "100%"}) `;
break;
case "slide-left":
styles.transform += `translateX(${type ? "0" : "-100%"}) `;
break;
case "zoom-in":
styles.transform += `scale(${type ? 1 : 0.8}) `;
break;
case "zoom-out":
styles.transform += `scale(${type ? 1 : 1.2}) `;
break;
}
});
return styles;
},
_modeClassArr(type) {
let mode = this.modeClass;
if (typeof mode !== "string") {
let modestr = "";
mode.forEach((item) => {
modestr += item + "-" + type + ",";
});
return modestr.substr(0, modestr.length - 1);
} else {
return mode + "-" + type;
}
},
// getEl(el) {
// __f__('log','at components/unitv-transition/unitv-transition.vue:208',el || el.ref || null);
// return el || el.ref || null
// },
toLine(name) {
return name.replace(/([A-Z])/g, "-$1").toLowerCase();
}
}
};
function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
return $data.isShow ? (vue.openBlock(), vue.createElementBlock(
"view",
{
key: 0,
ref: "ani",
class: vue.normalizeClass(["uni-transition", [$data.ani.in]]),
style: vue.normalizeStyle("transform:" + $data.transform + ";" + $options.stylesObject),
onClick: _cache[0] || (_cache[0] = (...args) => $options.change && $options.change(...args))
},
[
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
],
6
/* CLASS, STYLE */
)) : vue.createCommentVNode("v-if", true);
}
const __easycom_0 = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["render", _sfc_render$2], ["__scopeId", "data-v-9a8be1b4"], ["__file", "/Users/yunzhi/Projects/TV/电视TV影视APP/components/unitv-transition/unitv-transition.vue"]]);
const _sfc_main$2 = {
components: {},
data() {
return {
show: false,
transShow: false,
modeClass: ["fade"],
maskClass: {
"position": "fixed",
"bottom": 0,
"top": 0,
"left": 0,
"right": 0,
"background-color": "rgba(0, 0, 0, 0.4)"
},
transfromClass: {
"position": "fixed",
"bottom": 0,
"top": 0,
"left": 0,
"right": 0,
"display": "flex",
"justify-content": "center",
"align-items": "center"
}
};
},
onLoad() {
},
methods: {
mask() {
this.show = true;
},
open(mode) {
this.modeClass = mode;
this.transShow = !this.transShow;
},
onTap() {
this.transShow = this.show = false;
},
change(e) {
formatAppLog("log", "at pages/transition/transition.vue:73", e.detail);
}
}
};
function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
const _component_unitv_transition = resolveEasycom(vue.resolveDynamicComponent("unitv-transition"), __easycom_0);
return vue.openBlock(), vue.createElementBlock("view", null, [
vue.createElementVNode("text", { class: "example-info" }, "过渡动画,通常用于元素的过渡效果,例如淡隐淡出效果,遮罩层的效果、放大缩小的效果等"),
vue.createElementVNode("view", { class: "example-body" }, [
vue.createElementVNode("button", {
class: "transition-button",
type: "primary",
onClick: _cache[0] || (_cache[0] = ($event) => $options.open(["fade"]))
}, "fade"),
vue.createElementVNode("button", {
class: "transition-button",
type: "primary",
onClick: _cache[1] || (_cache[1] = ($event) => $options.open(["slide-top"]))
}, "slide-top"),
vue.createElementVNode("button", {
class: "transition-button",
type: "primary",
onClick: _cache[2] || (_cache[2] = ($event) => $options.open(["slide-left"]))
}, "slide-left"),
vue.createElementVNode("button", {
class: "transition-button",
type: "primary",
onClick: _cache[3] || (_cache[3] = ($event) => $options.open(["slide-right"]))
}, "slide-right"),
vue.createElementVNode("button", {
class: "transition-button",
type: "primary",
onClick: _cache[4] || (_cache[4] = ($event) => $options.open(["slide-bottom"]))
}, "slide-bottom"),
vue.createElementVNode("button", {
class: "transition-button",
type: "primary",
onClick: _cache[5] || (_cache[5] = ($event) => $options.open(["zoom-in", "fade"]))
}, "zoom-in"),
vue.createElementVNode("button", {
class: "transition-button",
type: "primary",
onClick: _cache[6] || (_cache[6] = ($event) => $options.open(["zoom-out", "fade"]))
}, "zoom-out")
]),
vue.createElementVNode("view", { class: "example-body" }, [
vue.createElementVNode("button", {
class: "transition-button",
type: "primary",
onClick: _cache[7] || (_cache[7] = (...args) => $options.mask && $options.mask(...args))
}, "透明遮罩层"),
vue.createElementVNode("button", {
class: "transition-button",
type: "primary",
onClick: _cache[8] || (_cache[8] = ($event) => $options.open(["fade", "zoom-out", "slide-top"]))
}, "组合动画示例一"),
vue.createElementVNode("button", {
class: "transition-button",
type: "primary",
onClick: _cache[9] || (_cache[9] = ($event) => $options.open(["zoom-in", "slide-bottom", "fade"]))
}, "组合动画示例二"),
vue.createElementVNode("button", {
class: "transition-button",
type: "primary",
onClick: _cache[10] || (_cache[10] = ($event) => $options.open(["slide-left", "slide-top", "fade"]))
}, "组合动画示例三")
]),
vue.createCommentVNode(" 遮罩 "),
vue.createVNode(_component_unitv_transition, {
"mode-class": ["fade"],
styles: $data.maskClass,
show: $data.show,
onClick: $options.onTap
}, null, 8, ["styles", "show", "onClick"]),
vue.createCommentVNode(" 过渡 "),
vue.createVNode(_component_unitv_transition, {
duration: 500,
"mode-class": $data.modeClass,
styles: $data.transfromClass,
show: $data.transShow,
onClick: $options.onTap,
onChange: $options.change
}, {
default: vue.withCtx(() => [
vue.createElementVNode("text", { class: "box" }, "Test")
]),
_: 1
/* STABLE */
}, 8, ["mode-class", "styles", "show", "onClick", "onChange"])
]);
}
const PagesTransitionTransition = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render$1], ["__file", "/Users/yunzhi/Projects/TV/电视TV影视APP/pages/transition/transition.vue"]]);
const _sfc_main$1 = {
data() {
return {
searchValue: "",
item1: [1],
item3: [],
item3Length: 0
};
},
onBackPress(options) {
this.$refs.searchPage.evtBack();
return true;
},
methods: {
pageBack(e) {
formatAppLog("log", "at pages/search/search.vue:35", "按了返回");
uni.reLaunch({
url: "../index/index"
});
return true;
},
searchMovie(e) {
if (this.searchValue == "请输入影视名称" || this.searchValue == void 0 || this.searchValue == "" || this.searchValue == " " || this.searchValue == " ") {
uni.showToast({
title: "请输入影视名称后,再检索电影",
icon: "none",
duration: 2e3
});
return;
}
this.$api.post("/platCupfox/searchMovie?searchValue=" + this.searchValue, null).then((res) => {
formatAppLog("log", "at pages/search/search.vue:57", res);
this.item3Length = 1;
this.item3 = [res];
});
},
delItem(zoneSource, index) {
if (zoneSource == "zone1" && index == 1) {
if (this.searchValue != null && this.searchValue != void 0 && this.searchValue.length > 0) {
this.searchValue = this.searchValue.substr(0, this.searchValue.length - 1);
}
}
},
clickPlayer(data) {
if (data.movieFlag == "1") {
uni.navigateTo({
url: "../player/player?id=" + data.id
});
} else {
uni.showToast({
title: "当前影视未解析到视频资源,无法播放",
icon: "none",
duration: 2e3
});
}
}
}
};
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
const _component_unitv_item = resolveEasycom(vue.resolveDynamicComponent("unitv-item"), __easycom_0$1);
const _component_unitv_zone = resolveEasycom(vue.resolveDynamicComponent("unitv-zone"), __easycom_1$1);
const _component_unitv_page = resolveEasycom(vue.resolveDynamicComponent("unitv-page"), __easycom_2);
return vue.openBlock(), vue.createElementBlock("view", null, [
vue.createVNode(_component_unitv_page, {
id: "searchPage",
show: true,
ref: "searchPage",
onBack: $options.pageBack
}, {
default: vue.withCtx(() => [
vue.createVNode(_component_unitv_zone, {
id: "zone1",
class: "zone1",
autoFous: true,
down: "zone3",
item: 0,
values: $data.item1,
column: $data.item1.length
}, {
default: vue.withCtx(() => [
(vue.openBlock(true), vue.createElementBlock(
vue.Fragment,
null,
vue.renderList($data.item1, (a, index) => {
return vue.openBlock(), vue.createBlock(_component_unitv_item, {
item: index,
key: index,
class: "item"
}, {
default: vue.withCtx(() => [
vue.withDirectives(vue.createElementVNode(
"input",
{
type: "text",
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $data.searchValue = $event),
"confirm-type": "search",
onConfirm: _cache[1] || (_cache[1] = (...args) => $options.searchMovie && $options.searchMovie(...args)),
placeholder: "请输入影视名称搜索"
},
null,
544
/* NEED_HYDRATION, NEED_PATCH */
), [
[vue.vModelText, $data.searchValue]
])
]),
_: 2
/* DYNAMIC */
}, 1032, ["item"]);
}),
128
/* KEYED_FRAGMENT */
))
]),
_: 1
/* STABLE */
}, 8, ["values", "column"]),
vue.createVNode(_component_unitv_zone, {
id: "zone3",
class: "zone3",
up: "zone1",
values: $data.item3,
column: $data.item3Length
}, {
default: vue.withCtx(() => [
(vue.openBlock(true), vue.createElementBlock(
vue.Fragment,
null,
vue.renderList($data.item3, (a, index) => {
return vue.openBlock(), vue.createBlock(_component_unitv_item, {
item: index,
key: index,
class: "item",
onClick: ($event) => $options.clickPlayer(a)
}, {
default: vue.withCtx(() => [
vue.createElementVNode("image", {
src: a.cover,
"lazy-load": true,
mode: "aspectFit"
}, null, 8, ["src"])
]),
_: 2
/* DYNAMIC */
}, 1032, ["item", "onClick"]);
}),
128
/* KEYED_FRAGMENT */
))
]),
_: 1
/* STABLE */
}, 8, ["values", "column"])
]),
_: 1
/* STABLE */
}, 8, ["onBack"])
]);
}
const PagesSearchSearch = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render], ["__scopeId", "data-v-c10c040c"], ["__file", "/Users/yunzhi/Projects/TV/电视TV影视APP/pages/search/search.vue"]]);
__definePage("pages/index/index", PagesIndexIndex);
__definePage("uni_modules/rt-uni-update/components/rt-uni-update/rt-uni-update", UniModulesRtUniUpdateComponentsRtUniUpdateRtUniUpdate);
__definePage("pages/player/player", PagesPlayerPlayer);
__definePage("pages/swiper/swiper", PagesSwiperSwiper);
__definePage("pages/transition/transition", PagesTransitionTransition);
__definePage("pages/search/search", PagesSearchSearch);
const _sfc_main = {
onLaunch: function() {
},
onShow: function() {
formatAppLog("log", "at App.vue:7", "App Show");
},
onHide: function() {
},
methods: {}
};
const App = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/Users/yunzhi/Projects/TV/电视TV影视APP/App.vue"]]);
const httpRequest = {
post: function(url, data, loading = true) {
return new Promise((succ, error) => {
this.ajax({
url,
method: "post",
data,
loading,
success: function(e) {
succ.call(this, e);
},
fail: function(e) {
error ? error.call(this, e) : "";
}
});
});
},
get: function(url, data, loading = true) {
return new Promise((succ, error) => {
this.ajax({
url,
method: "GET",
data,
loading,
success: function(e) {
succ.call(this, e);
},
fail: function(e) {
error ? error.call(this, e) : "";
}
});
});
},
ajax: function({ url, method, data, loading, success: success2, fail, complete }) {
let baseUrl = "http://rap2api.taobao.org/app/mock/318020/api/platform";
let _this = this;
if (loading) {
uni.showLoading({ mask: true, title: "加载中" });
}
uni.request({
url: baseUrl + url,
data,
method,
header: {
"Accept": "application/json"
},
success: function(e) {
if (e != null && e.statusCode != 200) {
_this.errorStatusCode(e);
} else if (e.data.success) {
formatAppLog("log", "at api/httpRequest.js:48", e.data.data);
success2(e.data.data);
} else if (e.data.msg) {
setTimeout(
function(message) {
formatAppLog("log", "at api/httpRequest.js:54", message);
uni.showToast({ icon: "none", title: message });
},
100,
e.data.msg
);
fail(e);
} else {
success2(e.data);
}
},
fail: function(e) {
fail(e);
},
complete: function(e) {
uni.hideLoading();
}
});
},
errorStatusCode: function(e) {
formatAppLog("log", "at api/httpRequest.js:75", e);
uni.showModal({
content: e.data.msg || e.data.errMsg || "系统未知异常",
showCancel: false
});
}
};
const store = createStore({
state: {
currentPage: null,
currentZone: null,
allPages: []
},
mutations: {
pushPage(state, page) {
state.allPages[page.id] = page;
},
switchZone(state, zone) {
state.currentZone = zone;
},
switchPage(state, page) {
state.currentPage = page;
},
showPage(state, pageId) {
var page = state.allPages[pageId];
page.showPage();
}
},
actions: {}
});
function createApp() {
const app = vue.createVueApp(App);
app.config.globalProperties.$api = httpRequest;
app.use(store);
return {
app
};
}
const { app: __app__, Vuex: __Vuex__, Pinia: __Pinia__ } = createApp();
uni.Vuex = __Vuex__;
uni.Pinia = __Pinia__;
__app__.provide("__globalStyles", __uniConfig.styles);
__app__._component.mpType = "app";
__app__._component.render = () => {
};
__app__.mount("#app");
})(Vue);