This commit is contained in:
2026-04-14 17:38:46 +08:00
commit b71e6d6bae
2848 changed files with 237896 additions and 0 deletions

214
public/pcseo/.nuxt/App.js Normal file
View File

@ -0,0 +1,214 @@
import Vue from 'vue'
import { decode, parsePath, withoutBase, withoutTrailingSlash, normalizeURL } from 'ufo'
import { getMatchedComponentsInstances, getChildrenComponentInstancesUsingFetch, promisify, globalHandleError, urlJoin, sanitizeComponent } from './utils'
import NuxtError from '../layouts/error.vue'
import NuxtLoading from './components/nuxt-loading.vue'
import '../assets/css/element-variables.scss'
import '../assets/css/common.scss'
import '../assets/css/reset.scss'
import '../node_modules/swiper/css/swiper.css'
import '../assets/css/element.scss'
import '../assets/fonts/iconfont.css'
import _6f6c098b from '../layouts/default.vue'
import _2d26a6af from '../layouts/main.vue'
import _ed36e90e from '../layouts/street.vue'
import _2d2a8cc1 from '../layouts/user.vue'
const layouts = { "_default": sanitizeComponent(_6f6c098b),"_main": sanitizeComponent(_2d26a6af),"_street": sanitizeComponent(_ed36e90e),"_user": sanitizeComponent(_2d2a8cc1) }
export default {
render (h, props) {
const loadingEl = h('NuxtLoading', { ref: 'loading' })
const layoutEl = h(this.layout || 'nuxt')
const templateEl = h('div', {
domProps: {
id: '__layout'
},
key: this.layoutName
}, [layoutEl])
const transitionEl = h('transition', {
props: {
name: 'layout',
mode: 'out-in'
},
on: {
beforeEnter (el) {
// Ensure to trigger scroll event after calling scrollBehavior
window.$nuxt.$nextTick(() => {
window.$nuxt.$emit('triggerScroll')
})
}
}
}, [templateEl])
return h('div', {
domProps: {
id: '__nuxt'
}
}, [
loadingEl,
transitionEl
])
},
data: () => ({
isOnline: true,
layout: null,
layoutName: '',
nbFetching: 0
}),
beforeCreate () {
Vue.util.defineReactive(this, 'nuxt', this.$options.nuxt)
},
created () {
// Add this.$nuxt in child instances
this.$root.$options.$nuxt = this
if (process.client) {
// add to window so we can listen when ready
window.$nuxt = this
this.refreshOnlineStatus()
// Setup the listeners
window.addEventListener('online', this.refreshOnlineStatus)
window.addEventListener('offline', this.refreshOnlineStatus)
}
// Add $nuxt.error()
this.error = this.nuxt.error
// Add $nuxt.context
this.context = this.$options.context
},
async mounted () {
this.$loading = this.$refs.loading
},
watch: {
'nuxt.err': 'errorChanged'
},
computed: {
isOffline () {
return !this.isOnline
},
isFetching () {
return this.nbFetching > 0
},
},
methods: {
refreshOnlineStatus () {
if (process.client) {
if (typeof window.navigator.onLine === 'undefined') {
// If the browser doesn't support connection status reports
// assume that we are online because most apps' only react
// when they now that the connection has been interrupted
this.isOnline = true
} else {
this.isOnline = window.navigator.onLine
}
}
},
async refresh () {
const pages = getMatchedComponentsInstances(this.$route)
if (!pages.length) {
return
}
this.$loading.start()
const promises = pages.map((page) => {
const p = []
// Old fetch
if (page.$options.fetch && page.$options.fetch.length) {
p.push(promisify(page.$options.fetch, this.context))
}
if (page.$fetch) {
p.push(page.$fetch())
} else {
// Get all component instance to call $fetch
for (const component of getChildrenComponentInstancesUsingFetch(page.$vnode.componentInstance)) {
p.push(component.$fetch())
}
}
if (page.$options.asyncData) {
p.push(
promisify(page.$options.asyncData, this.context)
.then((newData) => {
for (const key in newData) {
Vue.set(page.$data, key, newData[key])
}
})
)
}
return Promise.all(p)
})
try {
await Promise.all(promises)
} catch (error) {
this.$loading.fail(error)
globalHandleError(error)
this.error(error)
}
this.$loading.finish()
},
errorChanged () {
if (this.nuxt.err) {
if (this.$loading) {
if (this.$loading.fail) {
this.$loading.fail(this.nuxt.err)
}
if (this.$loading.finish) {
this.$loading.finish()
}
}
let errorLayout = (NuxtError.options || NuxtError).layout;
if (typeof errorLayout === 'function') {
errorLayout = errorLayout(this.context)
}
this.setLayout(errorLayout)
}
},
setLayout (layout) {
if (!layout || !layouts['_' + layout]) {
layout = 'default'
}
this.layoutName = layout
this.layout = layouts['_' + layout]
return this.layout
},
loadLayout (layout) {
if (!layout || !layouts['_' + layout]) {
layout = 'default'
}
return Promise.resolve(layouts['_' + layout])
},
},
components: {
NuxtLoading
}
}

193
public/pcseo/.nuxt/axios.js Normal file
View File

@ -0,0 +1,193 @@
import Axios from 'axios'
import defu from 'defu'
// Axios.prototype cannot be modified
const axiosExtra = {
setBaseURL (baseURL) {
this.defaults.baseURL = baseURL
},
setHeader (name, value, scopes = 'common') {
for (const scope of Array.isArray(scopes) ? scopes : [ scopes ]) {
if (!value) {
delete this.defaults.headers[scope][name];
continue
}
this.defaults.headers[scope][name] = value
}
},
setToken (token, type, scopes = 'common') {
const value = !token ? null : (type ? type + ' ' : '') + token
this.setHeader('Authorization', value, scopes)
},
onRequest(fn) {
this.interceptors.request.use(config => fn(config) || config)
},
onResponse(fn) {
this.interceptors.response.use(response => fn(response) || response)
},
onRequestError(fn) {
this.interceptors.request.use(undefined, error => fn(error) || Promise.reject(error))
},
onResponseError(fn) {
this.interceptors.response.use(undefined, error => fn(error) || Promise.reject(error))
},
onError(fn) {
this.onRequestError(fn)
this.onResponseError(fn)
},
create(options) {
return createAxiosInstance(defu(options, this.defaults))
}
}
// Request helpers ($get, $post, ...)
for (const method of ['request', 'delete', 'get', 'head', 'options', 'post', 'put', 'patch']) {
axiosExtra['$' + method] = function () { return this[method].apply(this, arguments).then(res => res && res.data) }
}
const extendAxiosInstance = axios => {
for (const key in axiosExtra) {
axios[key] = axiosExtra[key].bind(axios)
}
}
const createAxiosInstance = axiosOptions => {
// Create new axios instance
const axios = Axios.create(axiosOptions)
axios.CancelToken = Axios.CancelToken
axios.isCancel = Axios.isCancel
// Extend axios proto
extendAxiosInstance(axios)
// Intercept to apply default headers
axios.onRequest((config) => {
config.headers = { ...axios.defaults.headers.common, ...config.headers }
})
// Setup interceptors
setupProgress(axios)
return axios
}
const setupProgress = (axios) => {
if (process.server) {
return
}
// A noop loading inteterface for when $nuxt is not yet ready
const noopLoading = {
finish: () => { },
start: () => { },
fail: () => { },
set: () => { }
}
const $loading = () => {
const $nuxt = typeof window !== 'undefined' && window['$nuxt']
return ($nuxt && $nuxt.$loading && $nuxt.$loading.set) ? $nuxt.$loading : noopLoading
}
let currentRequests = 0
axios.onRequest(config => {
if (config && config.progress === false) {
return
}
currentRequests++
})
axios.onResponse(response => {
if (response && response.config && response.config.progress === false) {
return
}
currentRequests--
if (currentRequests <= 0) {
currentRequests = 0
$loading().finish()
}
})
axios.onError(error => {
if (error && error.config && error.config.progress === false) {
return
}
currentRequests--
if (Axios.isCancel(error)) {
if (currentRequests <= 0) {
currentRequests = 0
$loading().finish()
}
return
}
$loading().fail()
$loading().finish()
})
const onProgress = e => {
if (!currentRequests || !e.total) {
return
}
const progress = ((e.loaded * 100) / (e.total * currentRequests))
$loading().set(Math.min(100, progress))
}
axios.defaults.onUploadProgress = onProgress
axios.defaults.onDownloadProgress = onProgress
}
export default (ctx, inject) => {
// runtimeConfig
const runtimeConfig = ctx.$config && ctx.$config.axios || {}
// baseURL
const baseURL = process.browser
? (runtimeConfig.browserBaseURL || runtimeConfig.browserBaseUrl || runtimeConfig.baseURL || runtimeConfig.baseUrl || 'http://localhost:8083/')
: (runtimeConfig.baseURL || runtimeConfig.baseUrl || process.env._AXIOS_BASE_URL_ || 'http://localhost:8083/')
// Create fresh objects for all default header scopes
// Axios creates only one which is shared across SSR requests!
// https://github.com/mzabriskie/axios/blob/master/lib/defaults.js
const headers = {
"common": {
"Accept": "application/json, text/plain, */*"
},
"delete": {},
"get": {},
"head": {},
"post": {},
"put": {},
"patch": {}
}
const axiosOptions = {
baseURL,
headers
}
// Proxy SSR request headers headers
if (process.server && ctx.req && ctx.req.headers) {
const reqHeaders = { ...ctx.req.headers }
for (const h of ["accept","cf-connecting-ip","cf-ray","content-length","content-md5","content-type","host","x-forwarded-host","x-forwarded-port","x-forwarded-proto"]) {
delete reqHeaders[h]
}
axiosOptions.headers.common = { ...reqHeaders, ...axiosOptions.headers.common }
}
if (process.server) {
// Don't accept brotli encoding because Node can't parse it
axiosOptions.headers.common['accept-encoding'] = 'gzip, deflate'
}
const axios = createAxiosInstance(axiosOptions)
// Inject axios to the context as $axios
ctx.$axios = axios
inject('axios', axios)
}

View File

@ -0,0 +1,646 @@
import Vue from 'vue'
import fetch from 'unfetch'
import middleware from './middleware.js'
import {
applyAsyncData,
promisify,
middlewareSeries,
sanitizeComponent,
resolveRouteComponents,
getMatchedComponents,
getMatchedComponentsInstances,
flatMapComponents,
setContext,
getLocation,
compile,
getQueryDiff,
globalHandleError,
isSamePath,
urlJoin
} from './utils.js'
import { createApp, NuxtError } from './index.js'
import fetchMixin from './mixins/fetch.client'
import NuxtLink from './components/nuxt-link.client.js' // should be included after ./index.js
// Fetch mixin
if (!Vue.__nuxt__fetch__mixin__) {
Vue.mixin(fetchMixin)
Vue.__nuxt__fetch__mixin__ = true
}
// Component: <NuxtLink>
Vue.component(NuxtLink.name, NuxtLink)
Vue.component('NLink', NuxtLink)
if (!global.fetch) { global.fetch = fetch }
// Global shared references
let _lastPaths = []
let app
let router
let store
// Try to rehydrate SSR data from window
const NUXT = window.__NUXT__ || {}
const $config = NUXT.config || {}
if ($config._app) {
__webpack_public_path__ = urlJoin($config._app.cdnURL, $config._app.assetsPath)
}
Object.assign(Vue.config, {"silent":true,"performance":false})
const errorHandler = Vue.config.errorHandler || console.error
// Create and mount App
createApp(null, NUXT.config).then(mountApp).catch(errorHandler)
function componentOption (component, key, ...args) {
if (!component || !component.options || !component.options[key]) {
return {}
}
const option = component.options[key]
if (typeof option === 'function') {
return option(...args)
}
return option
}
function mapTransitions (toComponents, to, from) {
const componentTransitions = (component) => {
const transition = componentOption(component, 'transition', to, from) || {}
return (typeof transition === 'string' ? { name: transition } : transition)
}
const fromComponents = from ? getMatchedComponents(from) : []
const maxDepth = Math.max(toComponents.length, fromComponents.length)
const mergedTransitions = []
for (let i=0; i<maxDepth; i++) {
// Clone original objects to prevent overrides
const toTransitions = Object.assign({}, componentTransitions(toComponents[i]))
const transitions = Object.assign({}, componentTransitions(fromComponents[i]))
// Combine transitions & prefer `leave` properties of "from" route
Object.keys(toTransitions)
.filter(key => typeof toTransitions[key] !== 'undefined' && !key.toLowerCase().includes('leave'))
.forEach((key) => { transitions[key] = toTransitions[key] })
mergedTransitions.push(transitions)
}
return mergedTransitions
}
async function loadAsyncComponents (to, from, next) {
// Check if route changed (this._routeChanged), only if the page is not an error (for validate())
this._routeChanged = Boolean(app.nuxt.err) || from.name !== to.name
this._paramChanged = !this._routeChanged && from.path !== to.path
this._queryChanged = !this._paramChanged && from.fullPath !== to.fullPath
this._diffQuery = (this._queryChanged ? getQueryDiff(to.query, from.query) : [])
if ((this._routeChanged || this._paramChanged) && this.$loading.start && !this.$loading.manual) {
this.$loading.start()
}
try {
if (this._queryChanged) {
const Components = await resolveRouteComponents(
to,
(Component, instance) => ({ Component, instance })
)
// Add a marker on each component that it needs to refresh or not
const startLoader = Components.some(({ Component, instance }) => {
const watchQuery = Component.options.watchQuery
if (watchQuery === true) {
return true
}
if (Array.isArray(watchQuery)) {
return watchQuery.some(key => this._diffQuery[key])
}
if (typeof watchQuery === 'function') {
return watchQuery.apply(instance, [to.query, from.query])
}
return false
})
if (startLoader && this.$loading.start && !this.$loading.manual) {
this.$loading.start()
}
}
// Call next()
next()
} catch (error) {
const err = error || {}
const statusCode = err.statusCode || err.status || (err.response && err.response.status) || 500
const message = err.message || ''
// Handle chunk loading errors
// This may be due to a new deployment or a network problem
if (/^Loading( CSS)? chunk (\d)+ failed\./.test(message)) {
window.location.reload(true /* skip cache */)
return // prevent error page blinking for user
}
this.error({ statusCode, message })
this.$nuxt.$emit('routeChanged', to, from, err)
next()
}
}
function applySSRData (Component, ssrData) {
if (NUXT.serverRendered && ssrData) {
applyAsyncData(Component, ssrData)
}
Component._Ctor = Component
return Component
}
// Get matched components
function resolveComponents (route) {
return flatMapComponents(route, async (Component, _, match, key, index) => {
// If component is not resolved yet, resolve it
if (typeof Component === 'function' && !Component.options) {
Component = await Component()
}
// Sanitize it and save it
const _Component = applySSRData(sanitizeComponent(Component), NUXT.data ? NUXT.data[index] : null)
match.components[key] = _Component
return _Component
})
}
function callMiddleware (Components, context, layout) {
let midd = ["route"]
let unknownMiddleware = false
// If layout is undefined, only call global middleware
if (typeof layout !== 'undefined') {
midd = [] // Exclude global middleware if layout defined (already called before)
layout = sanitizeComponent(layout)
if (layout.options.middleware) {
midd = midd.concat(layout.options.middleware)
}
Components.forEach((Component) => {
if (Component.options.middleware) {
midd = midd.concat(Component.options.middleware)
}
})
}
midd = midd.map((name) => {
if (typeof name === 'function') {
return name
}
if (typeof middleware[name] !== 'function') {
unknownMiddleware = true
this.error({ statusCode: 500, message: 'Unknown middleware ' + name })
}
return middleware[name]
})
if (unknownMiddleware) {
return
}
return middlewareSeries(midd, context)
}
async function render (to, from, next) {
if (this._routeChanged === false && this._paramChanged === false && this._queryChanged === false) {
return next()
}
// Handle first render on SPA mode
let spaFallback = false
if (to === from) {
_lastPaths = []
spaFallback = true
} else {
const fromMatches = []
_lastPaths = getMatchedComponents(from, fromMatches).map((Component, i) => {
return compile(from.matched[fromMatches[i]].path)(from.params)
})
}
// nextCalled is true when redirected
let nextCalled = false
const _next = (path) => {
if (from.path === path.path && this.$loading.finish) {
this.$loading.finish()
}
if (from.path !== path.path && this.$loading.pause) {
this.$loading.pause()
}
if (nextCalled) {
return
}
nextCalled = true
next(path)
}
// Update context
await setContext(app, {
route: to,
from,
next: _next.bind(this)
})
this._dateLastError = app.nuxt.dateErr
this._hadError = Boolean(app.nuxt.err)
// Get route's matched components
const matches = []
const Components = getMatchedComponents(to, matches)
// If no Components matched, generate 404
if (!Components.length) {
// Default layout
await callMiddleware.call(this, Components, app.context)
if (nextCalled) {
return
}
// Load layout for error page
const errorLayout = (NuxtError.options || NuxtError).layout
const layout = await this.loadLayout(
typeof errorLayout === 'function'
? errorLayout.call(NuxtError, app.context)
: errorLayout
)
await callMiddleware.call(this, Components, app.context, layout)
if (nextCalled) {
return
}
// Show error page
app.context.error({ statusCode: 404, message: 'This page could not be found' })
return next()
}
// Update ._data and other properties if hot reloaded
Components.forEach((Component) => {
if (Component._Ctor && Component._Ctor.options) {
Component.options.asyncData = Component._Ctor.options.asyncData
Component.options.fetch = Component._Ctor.options.fetch
}
})
// Apply transitions
this.setTransitions(mapTransitions(Components, to, from))
try {
// Call middleware
await callMiddleware.call(this, Components, app.context)
if (nextCalled) {
return
}
if (app.context._errored) {
return next()
}
// Set layout
let layout = Components[0].options.layout
if (typeof layout === 'function') {
layout = layout(app.context)
}
layout = await this.loadLayout(layout)
// Call middleware for layout
await callMiddleware.call(this, Components, app.context, layout)
if (nextCalled) {
return
}
if (app.context._errored) {
return next()
}
// Call .validate()
let isValid = true
try {
for (const Component of Components) {
if (typeof Component.options.validate !== 'function') {
continue
}
isValid = await Component.options.validate(app.context)
if (!isValid) {
break
}
}
} catch (validationError) {
// ...If .validate() threw an error
this.error({
statusCode: validationError.statusCode || '500',
message: validationError.message
})
return next()
}
// ...If .validate() returned false
if (!isValid) {
this.error({ statusCode: 404, message: 'This page could not be found' })
return next()
}
let instances
// Call asyncData & fetch hooks on components matched by the route.
await Promise.all(Components.map(async (Component, i) => {
// Check if only children route changed
Component._path = compile(to.matched[matches[i]].path)(to.params)
Component._dataRefresh = false
const childPathChanged = Component._path !== _lastPaths[i]
// Refresh component (call asyncData & fetch) when:
// Route path changed part includes current component
// Or route param changed part includes current component and watchParam is not `false`
// Or route query is changed and watchQuery returns `true`
if (this._routeChanged && childPathChanged) {
Component._dataRefresh = true
} else if (this._paramChanged && childPathChanged) {
const watchParam = Component.options.watchParam
Component._dataRefresh = watchParam !== false
} else if (this._queryChanged) {
const watchQuery = Component.options.watchQuery
if (watchQuery === true) {
Component._dataRefresh = true
} else if (Array.isArray(watchQuery)) {
Component._dataRefresh = watchQuery.some(key => this._diffQuery[key])
} else if (typeof watchQuery === 'function') {
if (!instances) {
instances = getMatchedComponentsInstances(to)
}
Component._dataRefresh = watchQuery.apply(instances[i], [to.query, from.query])
}
}
if (!this._hadError && this._isMounted && !Component._dataRefresh) {
return
}
const promises = []
const hasAsyncData = (
Component.options.asyncData &&
typeof Component.options.asyncData === 'function'
)
const hasFetch = Boolean(Component.options.fetch) && Component.options.fetch.length
const loadingIncrease = (hasAsyncData && hasFetch) ? 30 : 45
// Call asyncData(context)
if (hasAsyncData) {
const promise = promisify(Component.options.asyncData, app.context)
promise.then((asyncDataResult) => {
applyAsyncData(Component, asyncDataResult)
if (this.$loading.increase) {
this.$loading.increase(loadingIncrease)
}
})
promises.push(promise)
}
// Check disabled page loading
this.$loading.manual = Component.options.loading === false
// Call fetch(context)
if (hasFetch) {
let p = Component.options.fetch(app.context)
if (!p || (!(p instanceof Promise) && (typeof p.then !== 'function'))) {
p = Promise.resolve(p)
}
p.then((fetchResult) => {
if (this.$loading.increase) {
this.$loading.increase(loadingIncrease)
}
})
promises.push(p)
}
return Promise.all(promises)
}))
// If not redirected
if (!nextCalled) {
if (this.$loading.finish && !this.$loading.manual) {
this.$loading.finish()
}
next()
}
} catch (err) {
const error = err || {}
if (error.message === 'ERR_REDIRECT') {
return this.$nuxt.$emit('routeChanged', to, from, error)
}
_lastPaths = []
globalHandleError(error)
// Load error layout
let layout = (NuxtError.options || NuxtError).layout
if (typeof layout === 'function') {
layout = layout(app.context)
}
await this.loadLayout(layout)
this.error(error)
this.$nuxt.$emit('routeChanged', to, from, error)
next()
}
}
// Fix components format in matched, it's due to code-splitting of vue-router
function normalizeComponents (to, ___) {
flatMapComponents(to, (Component, _, match, key) => {
if (typeof Component === 'object' && !Component.options) {
// Updated via vue-router resolveAsyncComponents()
Component = Vue.extend(Component)
Component._Ctor = Component
match.components[key] = Component
}
return Component
})
}
function setLayoutForNextPage (to) {
// Set layout
let hasError = Boolean(this.$options.nuxt.err)
if (this._hadError && this._dateLastError === this.$options.nuxt.dateErr) {
hasError = false
}
let layout = hasError
? (NuxtError.options || NuxtError).layout
: to.matched[0].components.default.options.layout
if (typeof layout === 'function') {
layout = layout(app.context)
}
this.setLayout(layout)
}
function checkForErrors (app) {
// Hide error component if no error
if (app._hadError && app._dateLastError === app.$options.nuxt.dateErr) {
app.error()
}
}
// When navigating on a different route but the same component is used, Vue.js
// Will not update the instance data, so we have to update $data ourselves
function fixPrepatch (to, ___) {
if (this._routeChanged === false && this._paramChanged === false && this._queryChanged === false) {
return
}
const instances = getMatchedComponentsInstances(to)
const Components = getMatchedComponents(to)
let triggerScroll = false
Vue.nextTick(() => {
instances.forEach((instance, i) => {
if (!instance || instance._isDestroyed) {
return
}
if (
instance.constructor._dataRefresh &&
Components[i] === instance.constructor &&
instance.$vnode.data.keepAlive !== true &&
typeof instance.constructor.options.data === 'function'
) {
const newData = instance.constructor.options.data.call(instance)
for (const key in newData) {
Vue.set(instance.$data, key, newData[key])
}
triggerScroll = true
}
})
if (triggerScroll) {
// Ensure to trigger scroll event after calling scrollBehavior
window.$nuxt.$nextTick(() => {
window.$nuxt.$emit('triggerScroll')
})
}
checkForErrors(this)
})
}
function nuxtReady (_app) {
window.onNuxtReadyCbs.forEach((cb) => {
if (typeof cb === 'function') {
cb(_app)
}
})
// Special JSDOM
if (typeof window._onNuxtLoaded === 'function') {
window._onNuxtLoaded(_app)
}
// Add router hooks
router.afterEach((to, from) => {
// Wait for fixPrepatch + $data updates
Vue.nextTick(() => _app.$nuxt.$emit('routeChanged', to, from))
})
}
async function mountApp (__app) {
// Set global variables
app = __app.app
router = __app.router
store = __app.store
// Create Vue instance
const _app = new Vue(app)
// Load layout
const layout = NUXT.layout || 'default'
await _app.loadLayout(layout)
_app.setLayout(layout)
// Mounts Vue app to DOM element
const mount = () => {
_app.$mount('#__nuxt')
// Add afterEach router hooks
router.afterEach(normalizeComponents)
router.afterEach(setLayoutForNextPage.bind(_app))
router.afterEach(fixPrepatch.bind(_app))
// Listen for first Vue update
Vue.nextTick(() => {
// Call window.{{globals.readyCallback}} callbacks
nuxtReady(_app)
})
}
// Resolve route components
const Components = await Promise.all(resolveComponents(app.context.route))
// Enable transitions
_app.setTransitions = _app.$options.nuxt.setTransitions.bind(_app)
if (Components.length) {
_app.setTransitions(mapTransitions(Components, router.currentRoute))
_lastPaths = router.currentRoute.matched.map(route => compile(route.path)(router.currentRoute.params))
}
// Initialize error handler
_app.$loading = {} // To avoid error while _app.$nuxt does not exist
if (NUXT.error) {
_app.error(NUXT.error)
}
// Add beforeEach router hooks
router.beforeEach(loadAsyncComponents.bind(_app))
router.beforeEach(render.bind(_app))
// Fix in static: remove trailing slash to force hydration
// Full static, if server-rendered: hydrate, to allow custom redirect to generated page
// Fix in static: remove trailing slash to force hydration
if (NUXT.serverRendered && isSamePath(NUXT.routePath, _app.context.route.path)) {
return mount()
}
// First render on client-side
const clientFirstMount = () => {
normalizeComponents(router.currentRoute, router.currentRoute)
setLayoutForNextPage.call(_app, router.currentRoute)
checkForErrors(_app)
// Don't call fixPrepatch.call(_app, router.currentRoute, router.currentRoute) since it's first render
mount()
}
// fix: force next tick to avoid having same timestamp when an error happen on spa fallback
await new Promise(resolve => setTimeout(resolve, 0))
render.call(_app, router.currentRoute, router.currentRoute, (path) => {
// If not redirected
if (!path) {
clientFirstMount()
return
}
// Add a one-time afterEach hook to
// mount the app wait for redirect and route gets resolved
const unregisterHook = router.afterEach((to, from) => {
unregisterHook()
clientFirstMount()
})
// Push the path and let route to be resolved
router.push(path, undefined, (err) => {
if (err) {
errorHandler(err)
}
})
})
}

View File

@ -0,0 +1,56 @@
export const ActivityArea = () => import('../../components/activity-area.vue' /* webpackChunkName: "components/activity-area" */).then(c => wrapFunctional(c.default || c))
export const AdItem = () => import('../../components/ad-item.vue' /* webpackChunkName: "components/ad-item" */).then(c => wrapFunctional(c.default || c))
export const AddressAdd = () => import('../../components/address-add.vue' /* webpackChunkName: "components/address-add" */).then(c => wrapFunctional(c.default || c))
export const AddressList = () => import('../../components/address-list.vue' /* webpackChunkName: "components/address-list" */).then(c => wrapFunctional(c.default || c))
export const AfterSalesList = () => import('../../components/after-sales-list.vue' /* webpackChunkName: "components/after-sales-list" */).then(c => wrapFunctional(c.default || c))
export const CommentList = () => import('../../components/comment-list.vue' /* webpackChunkName: "components/comment-list" */).then(c => wrapFunctional(c.default || c))
export const CountDown = () => import('../../components/count-down.vue' /* webpackChunkName: "components/count-down" */).then(c => wrapFunctional(c.default || c))
export const CouponsList = () => import('../../components/coupons-list.vue' /* webpackChunkName: "components/coupons-list" */).then(c => wrapFunctional(c.default || c))
export const DeliverSearch = () => import('../../components/deliver-search.vue' /* webpackChunkName: "components/deliver-search" */).then(c => wrapFunctional(c.default || c))
export const EvaluationList = () => import('../../components/evaluation-list.vue' /* webpackChunkName: "components/evaluation-list" */).then(c => wrapFunctional(c.default || c))
export const GoodsList = () => import('../../components/goods-list.vue' /* webpackChunkName: "components/goods-list" */).then(c => wrapFunctional(c.default || c))
export const HomeSeckill = () => import('../../components/home-seckill.vue' /* webpackChunkName: "components/home-seckill" */).then(c => wrapFunctional(c.default || c))
export const InputExpress = () => import('../../components/input-Express.vue' /* webpackChunkName: "components/input-express" */).then(c => wrapFunctional(c.default || c))
export const NullData = () => import('../../components/null-data.vue' /* webpackChunkName: "components/null-data" */).then(c => wrapFunctional(c.default || c))
export const NumberBox = () => import('../../components/number-box.vue' /* webpackChunkName: "components/number-box" */).then(c => wrapFunctional(c.default || c))
export const OrderList = () => import('../../components/order-list.vue' /* webpackChunkName: "components/order-list" */).then(c => wrapFunctional(c.default || c))
export const PriceFormate = () => import('../../components/price-formate.vue' /* webpackChunkName: "components/price-formate" */).then(c => wrapFunctional(c.default || c))
export const ShopItem = () => import('../../components/shop-item.vue' /* webpackChunkName: "components/shop-item" */).then(c => wrapFunctional(c.default || c))
export const Upload = () => import('../../components/upload.vue' /* webpackChunkName: "components/upload" */).then(c => wrapFunctional(c.default || c))
export const LayoutAslideNav = () => import('../../components/layout/aslide-nav.vue' /* webpackChunkName: "components/layout-aslide-nav" */).then(c => wrapFunctional(c.default || c))
export const LayoutCategory = () => import('../../components/layout/category.vue' /* webpackChunkName: "components/layout-category" */).then(c => wrapFunctional(c.default || c))
export const LayoutFloatNav = () => import('../../components/layout/float-nav.vue' /* webpackChunkName: "components/layout-float-nav" */).then(c => wrapFunctional(c.default || c))
export const LayoutFooter = () => import('../../components/layout/footer.vue' /* webpackChunkName: "components/layout-footer" */).then(c => wrapFunctional(c.default || c))
export const LayoutHeader = () => import('../../components/layout/header.vue' /* webpackChunkName: "components/layout-header" */).then(c => wrapFunctional(c.default || c))
export const LayoutMainNav = () => import('../../components/layout/main-nav.vue' /* webpackChunkName: "components/layout-main-nav" */).then(c => wrapFunctional(c.default || c))
// nuxt/nuxt.js#8607
function wrapFunctional(options) {
if (!options || !options.functional) {
return options
}
const propKeys = Array.isArray(options.props) ? options.props : Object.keys(options.props || {})
return {
render(h) {
const attrs = {}
const props = {}
for (const key in this.$attrs) {
if (propKeys.includes(key)) {
props[key] = this.$attrs[key]
} else {
attrs[key] = this.$attrs[key]
}
}
return h(options, {
on: this.$listeners,
attrs,
props,
scopedSlots: this.$scopedSlots,
}, this.$slots.default)
}
}
}

View File

@ -0,0 +1,122 @@
export default {
name: 'NuxtChild',
functional: true,
props: {
nuxtChildKey: {
type: String,
default: ''
},
keepAlive: Boolean,
keepAliveProps: {
type: Object,
default: undefined
}
},
render (_, { parent, data, props }) {
const h = parent.$createElement
data.nuxtChild = true
const _parent = parent
const transitions = parent.$nuxt.nuxt.transitions
const defaultTransition = parent.$nuxt.nuxt.defaultTransition
let depth = 0
while (parent) {
if (parent.$vnode && parent.$vnode.data.nuxtChild) {
depth++
}
parent = parent.$parent
}
data.nuxtChildDepth = depth
const transition = transitions[depth] || defaultTransition
const transitionProps = {}
transitionsKeys.forEach((key) => {
if (typeof transition[key] !== 'undefined') {
transitionProps[key] = transition[key]
}
})
const listeners = {}
listenersKeys.forEach((key) => {
if (typeof transition[key] === 'function') {
listeners[key] = transition[key].bind(_parent)
}
})
if (process.client) {
// Add triggerScroll event on beforeEnter (fix #1376)
const beforeEnter = listeners.beforeEnter
listeners.beforeEnter = (el) => {
// Ensure to trigger scroll event after calling scrollBehavior
window.$nuxt.$nextTick(() => {
window.$nuxt.$emit('triggerScroll')
})
if (beforeEnter) {
return beforeEnter.call(_parent, el)
}
}
}
// make sure that leave is called asynchronous (fix #5703)
if (transition.css === false) {
const leave = listeners.leave
// only add leave listener when user didnt provide one
// or when it misses the done argument
if (!leave || leave.length < 2) {
listeners.leave = (el, done) => {
if (leave) {
leave.call(_parent, el)
}
_parent.$nextTick(done)
}
}
}
let routerView = h('routerView', data)
if (props.keepAlive) {
routerView = h('keep-alive', { props: props.keepAliveProps }, [routerView])
}
return h('transition', {
props: transitionProps,
on: listeners
}, [routerView])
}
}
const transitionsKeys = [
'name',
'mode',
'appear',
'css',
'type',
'duration',
'enterClass',
'leaveClass',
'appearClass',
'enterActiveClass',
'enterActiveClass',
'leaveActiveClass',
'appearActiveClass',
'enterToClass',
'leaveToClass',
'appearToClass'
]
const listenersKeys = [
'beforeEnter',
'enter',
'afterEnter',
'enterCancelled',
'beforeLeave',
'leave',
'afterLeave',
'leaveCancelled',
'beforeAppear',
'appear',
'afterAppear',
'appearCancelled'
]

View File

@ -0,0 +1,96 @@
<template>
<div class="__nuxt-error-page">
<div class="error">
<svg xmlns="http://www.w3.org/2000/svg" width="90" height="90" fill="#DBE1EC" viewBox="0 0 48 48">
<path d="M22 30h4v4h-4zm0-16h4v12h-4zm1.99-10C12.94 4 4 12.95 4 24s8.94 20 19.99 20S44 35.05 44 24 35.04 4 23.99 4zM24 40c-8.84 0-16-7.16-16-16S15.16 8 24 8s16 7.16 16 16-7.16 16-16 16z" />
</svg>
<div class="title">{{ message }}</div>
<p v-if="statusCode === 404" class="description">
<a v-if="typeof $route === 'undefined'" class="error-link" href="/"></a>
<NuxtLink v-else class="error-link" to="/">Back to the home page</NuxtLink>
</p>
<div class="logo">
<a href="https://nuxtjs.org" target="_blank" rel="noopener">Nuxt</a>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'NuxtError',
props: {
error: {
type: Object,
default: null
}
},
computed: {
statusCode () {
return (this.error && this.error.statusCode) || 500
},
message () {
return this.error.message || 'Error'
}
},
head () {
return {
title: this.message,
meta: [
{
name: 'viewport',
content: 'width=device-width,initial-scale=1.0,minimum-scale=1.0'
}
]
}
}
}
</script>
<style>
.__nuxt-error-page {
padding: 1rem;
background: #F7F8FB;
color: #47494E;
text-align: center;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
font-family: sans-serif;
font-weight: 100 !important;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
.__nuxt-error-page .error {
max-width: 450px;
}
.__nuxt-error-page .title {
font-size: 1.5rem;
margin-top: 15px;
color: #47494E;
margin-bottom: 8px;
}
.__nuxt-error-page .description {
color: #7F828B;
line-height: 21px;
margin-bottom: 10px;
}
.__nuxt-error-page a {
color: #7F828B !important;
text-decoration: none;
}
.__nuxt-error-page .logo {
position: fixed;
left: 12px;
bottom: 12px;
}
</style>

View File

@ -0,0 +1,98 @@
import Vue from 'vue'
const requestIdleCallback = window.requestIdleCallback ||
function (cb) {
const start = Date.now()
return setTimeout(function () {
cb({
didTimeout: false,
timeRemaining: () => Math.max(0, 50 - (Date.now() - start))
})
}, 1)
}
const cancelIdleCallback = window.cancelIdleCallback || function (id) {
clearTimeout(id)
}
const observer = window.IntersectionObserver && new window.IntersectionObserver((entries) => {
entries.forEach(({ intersectionRatio, target: link }) => {
if (intersectionRatio <= 0 || !link.__prefetch) {
return
}
link.__prefetch()
})
})
export default {
name: 'NuxtLink',
extends: Vue.component('RouterLink'),
props: {
prefetch: {
type: Boolean,
default: true
},
noPrefetch: {
type: Boolean,
default: false
}
},
mounted () {
if (this.prefetch && !this.noPrefetch) {
this.handleId = requestIdleCallback(this.observe, { timeout: 2e3 })
}
},
beforeDestroy () {
cancelIdleCallback(this.handleId)
if (this.__observed) {
observer.unobserve(this.$el)
delete this.$el.__prefetch
}
},
methods: {
observe () {
// If no IntersectionObserver, avoid prefetching
if (!observer) {
return
}
// Add to observer
if (this.shouldPrefetch()) {
this.$el.__prefetch = this.prefetchLink.bind(this)
observer.observe(this.$el)
this.__observed = true
}
},
shouldPrefetch () {
return this.getPrefetchComponents().length > 0
},
canPrefetch () {
const conn = navigator.connection
const hasBadConnection = this.$nuxt.isOffline || (conn && ((conn.effectiveType || '').includes('2g') || conn.saveData))
return !hasBadConnection
},
getPrefetchComponents () {
const ref = this.$router.resolve(this.to, this.$route, this.append)
const Components = ref.resolved.matched.map(r => r.components.default)
return Components.filter(Component => typeof Component === 'function' && !Component.options && !Component.__prefetched)
},
prefetchLink () {
if (!this.canPrefetch()) {
return
}
// Stop observing this link (in case of internet connection changes)
observer.unobserve(this.$el)
const Components = this.getPrefetchComponents()
for (const Component of Components) {
const componentOrPromise = Component()
if (componentOrPromise instanceof Promise) {
componentOrPromise.catch(() => {})
}
Component.__prefetched = true
}
}
}
}

View File

@ -0,0 +1,16 @@
import Vue from 'vue'
export default {
name: 'NuxtLink',
extends: Vue.component('RouterLink'),
props: {
prefetch: {
type: Boolean,
default: true
},
noPrefetch: {
type: Boolean,
default: false
}
}
}

View File

@ -0,0 +1,177 @@
<script>
export default {
name: 'NuxtLoading',
data () {
return {
percent: 0,
show: false,
canSucceed: true,
reversed: false,
skipTimerCount: 0,
rtl: false,
throttle: 200,
duration: 5000,
continuous: false
}
},
computed: {
left () {
if (!this.continuous && !this.rtl) {
return false
}
return this.rtl
? (this.reversed ? '0px' : 'auto')
: (!this.reversed ? '0px' : 'auto')
}
},
beforeDestroy () {
this.clear()
},
methods: {
clear () {
clearInterval(this._timer)
clearTimeout(this._throttle)
this._timer = null
},
start () {
this.clear()
this.percent = 0
this.reversed = false
this.skipTimerCount = 0
this.canSucceed = true
if (this.throttle) {
this._throttle = setTimeout(() => this.startTimer(), this.throttle)
} else {
this.startTimer()
}
return this
},
set (num) {
this.show = true
this.canSucceed = true
this.percent = Math.min(100, Math.max(0, Math.floor(num)))
return this
},
get () {
return this.percent
},
increase (num) {
this.percent = Math.min(100, Math.floor(this.percent + num))
return this
},
decrease (num) {
this.percent = Math.max(0, Math.floor(this.percent - num))
return this
},
pause () {
clearInterval(this._timer)
return this
},
resume () {
this.startTimer()
return this
},
finish () {
this.percent = this.reversed ? 0 : 100
this.hide()
return this
},
hide () {
this.clear()
setTimeout(() => {
this.show = false
this.$nextTick(() => {
this.percent = 0
this.reversed = false
})
}, 500)
return this
},
fail (error) {
this.canSucceed = false
return this
},
startTimer () {
if (!this.show) {
this.show = true
}
if (typeof this._cut === 'undefined') {
this._cut = 10000 / Math.floor(this.duration)
}
this._timer = setInterval(() => {
/**
* When reversing direction skip one timers
* so 0, 100 are displayed for two iterations
* also disable css width transitioning
* which otherwise interferes and shows
* a jojo effect
*/
if (this.skipTimerCount > 0) {
this.skipTimerCount--
return
}
if (this.reversed) {
this.decrease(this._cut)
} else {
this.increase(this._cut)
}
if (this.continuous) {
if (this.percent >= 100) {
this.skipTimerCount = 1
this.reversed = !this.reversed
} else if (this.percent <= 0) {
this.skipTimerCount = 1
this.reversed = !this.reversed
}
}
}, 100)
}
},
render (h) {
let el = h(false)
if (this.show) {
el = h('div', {
staticClass: 'nuxt-progress',
class: {
'nuxt-progress-notransition': this.skipTimerCount > 0,
'nuxt-progress-failed': !this.canSucceed
},
style: {
width: this.percent + '%',
left: this.left
}
})
}
return el
}
}
</script>
<style>
.nuxt-progress {
position: fixed;
top: 0px;
left: 0px;
right: 0px;
height: 2px;
width: 0%;
opacity: 1;
transition: width 0.1s, opacity 0.4s;
background-color: black;
z-index: 999999;
}
.nuxt-progress.nuxt-progress-notransition {
transition: none;
}
.nuxt-progress-failed {
background-color: red;
}
</style>

View File

@ -0,0 +1,101 @@
import Vue from 'vue'
import { compile } from '../utils'
import NuxtError from '../../layouts/error.vue'
import NuxtChild from './nuxt-child'
export default {
name: 'Nuxt',
components: {
NuxtChild,
NuxtError
},
props: {
nuxtChildKey: {
type: String,
default: undefined
},
keepAlive: Boolean,
keepAliveProps: {
type: Object,
default: undefined
},
name: {
type: String,
default: 'default'
}
},
errorCaptured (error) {
// if we receive and error while showing the NuxtError component
// capture the error and force an immediate update so we re-render
// without the NuxtError component
if (this.displayingNuxtError) {
this.errorFromNuxtError = error
this.$forceUpdate()
}
},
computed: {
routerViewKey () {
// If nuxtChildKey prop is given or current route has children
if (typeof this.nuxtChildKey !== 'undefined' || this.$route.matched.length > 1) {
return this.nuxtChildKey || compile(this.$route.matched[0].path)(this.$route.params)
}
const [matchedRoute] = this.$route.matched
if (!matchedRoute) {
return this.$route.path
}
const Component = matchedRoute.components.default
if (Component && Component.options) {
const { options } = Component
if (options.key) {
return (typeof options.key === 'function' ? options.key(this.$route) : options.key)
}
}
const strict = /\/$/.test(matchedRoute.path)
return strict ? this.$route.path : this.$route.path.replace(/\/$/, '')
}
},
beforeCreate () {
Vue.util.defineReactive(this, 'nuxt', this.$root.$options.nuxt)
},
render (h) {
// if there is no error
if (!this.nuxt.err) {
// Directly return nuxt child
return h('NuxtChild', {
key: this.routerViewKey,
props: this.$props
})
}
// if an error occurred within NuxtError show a simple
// error message instead to prevent looping
if (this.errorFromNuxtError) {
this.$nextTick(() => (this.errorFromNuxtError = false))
return h('div', {}, [
h('h2', 'An error occurred while showing the error page'),
h('p', 'Unfortunately an error occurred and while showing the error page another error occurred'),
h('p', `Error details: ${this.errorFromNuxtError.toString()}`),
h('nuxt-link', { props: { to: '/' } }, 'Go back to home')
])
}
// track if we are showing the NuxtError component
this.displayingNuxtError = true
this.$nextTick(() => (this.displayingNuxtError = false))
return h(NuxtError, {
props: {
error: this.nuxt.err
}
})
}
}

View File

@ -0,0 +1,7 @@
import Vue from 'vue'
import * as components from './index'
for (const name in components) {
Vue.component(name, components[name])
Vue.component('Lazy' + name, components[name])
}

View File

@ -0,0 +1,33 @@
# Discovered Components
This is an auto-generated list of components discovered by [nuxt/components](https://github.com/nuxt/components).
You can directly use them in pages and other components without the need to import them.
**Tip:** If a component is conditionally rendered with `v-if` and is big, it is better to use `Lazy` or `lazy-` prefix to lazy load.
- `<ActivityArea>` | `<activity-area>` (components/activity-area.vue)
- `<AdItem>` | `<ad-item>` (components/ad-item.vue)
- `<AddressAdd>` | `<address-add>` (components/address-add.vue)
- `<AddressList>` | `<address-list>` (components/address-list.vue)
- `<AfterSalesList>` | `<after-sales-list>` (components/after-sales-list.vue)
- `<CommentList>` | `<comment-list>` (components/comment-list.vue)
- `<CountDown>` | `<count-down>` (components/count-down.vue)
- `<CouponsList>` | `<coupons-list>` (components/coupons-list.vue)
- `<DeliverSearch>` | `<deliver-search>` (components/deliver-search.vue)
- `<EvaluationList>` | `<evaluation-list>` (components/evaluation-list.vue)
- `<GoodsList>` | `<goods-list>` (components/goods-list.vue)
- `<HomeSeckill>` | `<home-seckill>` (components/home-seckill.vue)
- `<InputExpress>` | `<input-express>` (components/input-Express.vue)
- `<NullData>` | `<null-data>` (components/null-data.vue)
- `<NumberBox>` | `<number-box>` (components/number-box.vue)
- `<OrderList>` | `<order-list>` (components/order-list.vue)
- `<PriceFormate>` | `<price-formate>` (components/price-formate.vue)
- `<ShopItem>` | `<shop-item>` (components/shop-item.vue)
- `<Upload>` | `<upload>` (components/upload.vue)
- `<LayoutAslideNav>` | `<layout-aslide-nav>` (components/layout/aslide-nav.vue)
- `<LayoutCategory>` | `<layout-category>` (components/layout/category.vue)
- `<LayoutFloatNav>` | `<layout-float-nav>` (components/layout/float-nav.vue)
- `<LayoutFooter>` | `<layout-footer>` (components/layout/footer.vue)
- `<LayoutHeader>` | `<layout-header>` (components/layout/header.vue)
- `<LayoutMainNav>` | `<layout-main-nav>` (components/layout/main-nav.vue)

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{437:function(t,e,r){"use strict";var n=r(17),o=r(2),c=r(3),l=r(136),f=r(27),d=r(18),h=r(271),v=r(52),m=r(135),x=r(270),N=r(5),_=r(98).f,I=r(44).f,y=r(26).f,E=r(438),S=r(439).trim,w="Number",k=o.Number,A=k.prototype,C=o.TypeError,T=c("".slice),F=c("".charCodeAt),M=function(t){var e=x(t,"number");return"bigint"==typeof e?e:O(e)},O=function(t){var e,r,n,o,c,l,f,code,d=x(t,"number");if(m(d))throw C("Cannot convert a Symbol value to a number");if("string"==typeof d&&d.length>2)if(d=S(d),43===(e=F(d,0))||45===e){if(88===(r=F(d,2))||120===r)return NaN}else if(48===e){switch(F(d,1)){case 66:case 98:n=2,o=49;break;case 79:case 111:n=8,o=55;break;default:return+d}for(l=(c=T(d,2)).length,f=0;f<l;f++)if((code=F(c,f))<48||code>o)return NaN;return parseInt(c,n)}return+d};if(l(w,!k(" 0o1")||!k("0b1")||k("+0x1"))){for(var R,V=function(t){var e=arguments.length<1?0:k(M(t)),r=this;return v(A,r)&&N((function(){E(r)}))?h(Object(e),r,V):e},G=n?_(k):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),L=0;G.length>L;L++)d(k,R=G[L])&&!d(V,R)&&y(V,R,I(k,R));V.prototype=A,A.constructor=V,f(o,w,V)}},438:function(t,e,r){var n=r(3);t.exports=n(1..valueOf)},439:function(t,e,r){var n=r(3),o=r(33),c=r(16),l=r(440),f=n("".replace),d="["+l+"]",h=RegExp("^"+d+d+"*"),v=RegExp(d+d+"*$"),m=function(t){return function(e){var r=c(o(e));return 1&t&&(r=f(r,h,"")),2&t&&(r=f(r,v,"")),r}};t.exports={start:m(1),end:m(2),trim:m(3)}},440:function(t,e){t.exports="\t\n\v\f\r    \u2028\u2029\ufeff"},473:function(t,e,r){var content=r(487);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,r(14).default)("d6370bb2",content,!0,{sourceMap:!1})},486:function(t,e,r){"use strict";r(473)},487:function(t,e,r){var n=r(13)(!1);n.push([t.i,".shop-item[data-v-871c1244]{width:270px;height:400px;background-size:cover;background-position:50%;padding:10px;border-radius:6px}.shop-item .shop-info[data-v-871c1244]{border-radius:6px;padding:18px 15px}.shop-item .shop-info .logo[data-v-871c1244]{width:70px;height:70px;border-radius:16px;margin-top:-45px}.shop-item .shop-info .sales[data-v-871c1244]{display:inline-block;padding:4px 10px;background-color:#f2f2f2;margin-top:6px;border-radius:4px}",""]),t.exports=n},500:function(t,e,r){"use strict";r.r(e);r(437);var n={components:{},props:{cover:{type:String},shopId:{type:[String,Number]},logo:{type:String},type:{type:[String,Number]},name:{type:String},sales:{type:[String,Number]}},methods:{}},o=(r(486),r(9)),component=Object(o.a)(n,(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("nuxt-link",{staticClass:"shop-item flex-col row-right",style:{"background-image":"url("+t.cover+")"},attrs:{to:"/shop_street_detail?id="+t.shopId}},[r("div",{staticClass:"bg-white shop-info text-center"},[r("el-image",{staticClass:"logo",attrs:{src:t.logo}}),t._v(" "),r("div",{staticClass:"m-t-12 line-1 lg"},[1==t.type?r("el-tag",{attrs:{size:"mini"}},[t._v("自营")]):t._e(),t._v(" "+t._s(t.name)+"\n ")],1),t._v(" "),r("span",{staticClass:"xs muted sales"},[t._v("共"+t._s(t.sales)+"件商品")])],1)])}),[],!1,null,"871c1244",null);e.default=component.exports}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{437:function(t,e,n){"use strict";var r=n(17),o=n(2),f=n(3),c=n(136),m=n(27),h=n(18),l=n(271),d=n(52),v=n(135),N=n(270),T=n(5),I=n(98).f,S=n(44).f,E=n(26).f,_=n(438),y=n(439).trim,x="Number",w=o.Number,M=w.prototype,O=o.TypeError,R=f("".slice),A=f("".charCodeAt),F=function(t){var e=N(t,"number");return"bigint"==typeof e?e:k(e)},k=function(t){var e,n,r,o,f,c,m,code,h=N(t,"number");if(v(h))throw O("Cannot convert a Symbol value to a number");if("string"==typeof h&&h.length>2)if(h=y(h),43===(e=A(h,0))||45===e){if(88===(n=A(h,2))||120===n)return NaN}else if(48===e){switch(A(h,1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+h}for(c=(f=R(h,2)).length,m=0;m<c;m++)if((code=A(f,m))<48||code>o)return NaN;return parseInt(f,r)}return+h};if(c(x,!w(" 0o1")||!w("0b1")||w("+0x1"))){for(var V,$=function(t){var e=arguments.length<1?0:w(F(t)),n=this;return d(M,n)&&T((function(){_(n)}))?l(Object(e),n,$):e},j=r?I(w):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),G=0;j.length>G;G++)h(w,V=j[G])&&!h($,V)&&E($,V,S(w,V));$.prototype=M,M.constructor=$,m(o,x,$)}},438:function(t,e,n){var r=n(3);t.exports=r(1..valueOf)},439:function(t,e,n){var r=n(3),o=n(33),f=n(16),c=n(440),m=r("".replace),h="["+c+"]",l=RegExp("^"+h+h+"*"),d=RegExp(h+h+"*$"),v=function(t){return function(e){var n=f(o(e));return 1&t&&(n=m(n,l,"")),2&t&&(n=m(n,d,"")),n}};t.exports={start:v(1),end:v(2),trim:v(3)}},440:function(t,e){t.exports="\t\n\v\f\r    \u2028\u2029\ufeff"},449:function(t,e,n){"use strict";n.r(e);n(437),n(81),n(61),n(24),n(100),n(80),n(99);var r=6e4,o=36e5,f=24*o;function c(t){return(0+t.toString()).slice(-2)}var m={components:{},props:{isSlot:{type:Boolean,default:!1},time:{type:Number,default:0},format:{type:String,default:"hh:mm:ss"},autoStart:{type:Boolean,default:!0}},watch:{time:{immediate:!0,handler:function(t){t&&this.reset()}}},data:function(){return{timeObj:{},formateTime:0}},created:function(){},computed:{},methods:{createTimer:function(t){return setTimeout(t,100)},isSameSecond:function(t,e){return Math.floor(t)===Math.floor(e)},start:function(){this.counting||(this.counting=!0,this.endTime=Date.now()+1e3*this.remain,this.setTimer())},setTimer:function(){var t=this;this.tid=this.createTimer((function(){var e=t.getRemain();t.isSameSecond(e,t.remain)&&0!==e||t.setRemain(e),0!==t.remain&&t.setTimer()}))},getRemain:function(){return Math.max(this.endTime-Date.now(),0)},pause:function(){this.counting=!1,clearTimeout(this.tid)},reset:function(){this.pause(),this.remain=this.time,this.setRemain(this.remain),this.autoStart&&this.start()},setRemain:function(t){var e=this.format;this.remain=t;var time,n=(time=t,{days:Math.floor(time/f),hours:c(Math.floor(time%f/o)),minutes:c(Math.floor(time%o/r)),seconds:c(Math.floor(time%r/1e3))});this.formateTime=function(t,e){var n=e.days,r=e.hours,o=e.minutes,f=e.seconds;return-1!==t.indexOf("dd")&&(t=t.replace("dd",n)),-1!==t.indexOf("hh")&&(t=t.replace("hh",c(r))),-1!==t.indexOf("mm")&&(t=t.replace("mm",c(o))),-1!==t.indexOf("ss")&&(t=t.replace("ss",c(f))),t}(e,n),this.$emit("change",n),0===t&&(this.pause(),this.$emit("finish"))}}},h=n(9),component=Object(h.a)(m,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.time>=0?n("div",[n("client-only",[t.isSlot?t._t("default"):n("span",[t._v(t._s(t.formateTime))])],2)],1):t._e()}),[],!1,null,null,null);e.default=component.exports}}]);

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{480:function(t,e,d){var content=d(504);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,d(14).default)("ed2618a4",content,!0,{sourceMap:!1})},503:function(t,e,d){"use strict";d(480)},504:function(t,e,d){var o=d(13)(!1);o.push([t.i,".address-list[data-v-425028d8] .el-dialog__body{height:460px;overflow-y:auto}.address-list .list[data-v-425028d8]{margin:0 auto;width:800px}.address-list .list .item[data-v-425028d8]{position:relative;cursor:pointer;height:100px;padding:16px 150px 16px 20px;border:1px solid hsla(0,0%,89.8%,.89804);border-radius:2px}.address-list .list .item.active[data-v-425028d8]{border-color:#ff2c3c}.address-list .list .item .oprate[data-v-425028d8]{position:absolute;right:20px;bottom:9px}.address-list .dialog-footer[data-v-425028d8]{text-align:center}.address-list .dialog-footer .el-button[data-v-425028d8]{width:160px}",""]),t.exports=o},556:function(t,e,d){"use strict";d.r(e);var o=d(6),r=(d(51),{components:{},props:{value:{type:Boolean,default:!1}},data:function(){return{showDialog:!1,showAddressAdd:!1,addressList:[],selectId:0,editId:""}},methods:{getAddress:function(){var t=this;return Object(o.a)(regeneratorRuntime.mark((function e(){var d,code,data;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.$get("user_address/lists");case 2:d=e.sent,code=d.code,data=d.data,1==code&&(t.addressList=data);case 6:case"end":return e.stop()}}),e)})))()},setDefault:function(t){var e=this;return Object(o.a)(regeneratorRuntime.mark((function d(){var o,code,r;return regeneratorRuntime.wrap((function(d){for(;;)switch(d.prev=d.next){case 0:return d.next=2,e.$post("user_address/setDefault",{id:t});case 2:o=d.sent,code=o.code,o.data,r=o.msg,1==code&&(e.$message({message:r,type:"success"}),e.getAddress());case 7:case"end":return d.stop()}}),d)})))()},onConfirm:function(){this.$emit("confirm",this.selectId),this.showDialog=!1}},watch:{value:function(t){this.showDialog=t,1==t&&this.getAddress()},showDialog:function(t){this.$emit("input",t)}}}),n=(d(503),d(9)),component=Object(n.a)(r,(function(){var t=this,e=t.$createElement,d=t._self._c||e;return d("div",{staticClass:"address-list"},[d("el-dialog",{attrs:{title:"更换地址",visible:t.showDialog,width:"900px"},on:{"update:visible":function(e){t.showDialog=e}}},[d("div",{staticClass:"list black"},t._l(t.addressList,(function(e,o){return d("div",{key:o,class:["item m-b-16",{active:e.id==t.selectId}],on:{click:function(d){t.selectId=e.id}}},[d("div",[d("span",{staticClass:"weigth-500"},[t._v(t._s(e.contact))]),t._v("\n "+t._s(e.telephone)+"\n "),e.is_default?d("el-tag",{attrs:{size:"mini",type:"warning",effect:"dark"}},[t._v("默认")]):t._e()],1),t._v(" "),d("div",{staticClass:"lighter m-t-8"},[t._v("\n "+t._s(e.province)+" "+t._s(e.city)+" "+t._s(e.district)+"\n "+t._s(e.address)+"\n ")]),t._v(" "),d("div",{staticClass:"oprate lighter flex"},[d("div",{staticClass:"m-r-16",on:{click:function(d){d.stopPropagation(),t.editId=e.id,t.showAddressAdd=!0}}},[t._v("\n 修改\n ")]),t._v(" "),d("div",{on:{click:function(d){return d.stopPropagation(),t.setDefault(e.id)}}},[t._v("设为默认")])])])})),0),t._v(" "),d("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[d("el-button",{attrs:{type:"primary"},on:{click:t.onConfirm}},[t._v("确认")]),t._v(" "),d("el-button",{on:{click:function(e){t.showDialog=!1}}},[t._v("取消")])],1)]),t._v(" "),d("address-add",{attrs:{aid:t.editId},on:{success:t.getAddress},model:{value:t.showAddressAdd,callback:function(e){t.showAddressAdd=e},expression:"showAddressAdd"}})],1)}),[],!1,null,"425028d8",null);e.default=component.exports;installComponents(component,{AddressAdd:d(497).default})}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{437:function(e,t,r){"use strict";var n=r(17),o=r(2),c=r(3),l=r(136),f=r(27),d=r(18),m=r(271),h=r(52),v=r(135),N=r(270),I=r(5),E=r(98).f,_=r(44).f,x=r(26).f,y=r(438),w=r(439).trim,S="Number",A=o.Number,F=A.prototype,T=o.TypeError,$=c("".slice),k=c("".charCodeAt),C=function(e){var t=N(e,"number");return"bigint"==typeof t?t:M(t)},M=function(e){var t,r,n,o,c,l,f,code,d=N(e,"number");if(v(d))throw T("Cannot convert a Symbol value to a number");if("string"==typeof d&&d.length>2)if(d=w(d),43===(t=k(d,0))||45===t){if(88===(r=k(d,2))||120===r)return NaN}else if(48===t){switch(k(d,1)){case 66:case 98:n=2,o=49;break;case 79:case 111:n=8,o=55;break;default:return+d}for(l=(c=$(d,2)).length,f=0;f<l;f++)if((code=k(c,f))<48||code>o)return NaN;return parseInt(c,n)}return+d};if(l(S,!A(" 0o1")||!A("0b1")||A("+0x1"))){for(var U,O=function(e){var t=arguments.length<1?0:A(C(e)),r=this;return h(F,r)&&I((function(){y(r)}))?m(Object(t),r,O):t},R=n?E(A):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),V=0;R.length>V;V++)d(A,U=R[V])&&!d(O,U)&&x(O,U,_(A,U));O.prototype=F,F.constructor=O,f(o,S,O)}},438:function(e,t,r){var n=r(3);e.exports=n(1..valueOf)},439:function(e,t,r){var n=r(3),o=r(33),c=r(16),l=r(440),f=n("".replace),d="["+l+"]",m=RegExp("^"+d+d+"*"),h=RegExp(d+d+"*$"),v=function(e){return function(t){var r=c(o(t));return 1&e&&(r=f(r,m,"")),2&e&&(r=f(r,h,"")),r}};e.exports={start:v(1),end:v(2),trim:v(3)}},440:function(e,t){e.exports="\t\n\v\f\r    \u2028\u2029\ufeff"},453:function(e,t,r){var content=r(466);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,r(14).default)("05ffbf2f",content,!0,{sourceMap:!1})},465:function(e,t,r){"use strict";r(453)},466:function(e,t,r){var n=r(13)(!1);n.push([e.i,".v-upload .el-upload--picture-card[data-v-05db7967]{width:76px;height:76px;line-height:76px}.v-upload .el-upload-list--picture-card .el-upload-list__item[data-v-05db7967]{width:76px;height:76px}",""]),e.exports=n},467:function(e,t,r){"use strict";r.r(t);r(437);var n=r(187),o={components:{},props:{limit:{type:Number,default:1},isSlot:{type:Boolean,default:!1},autoUpload:{type:Boolean,default:!0},onChange:{type:Function,default:function(){}}},watch:{},data:function(){return{url:n.a.baseUrl}},created:function(){},computed:{},methods:{success:function(e,t,r){this.autoUpload&&(this.$message({message:"上传成功",type:"success"}),this.$emit("success",r))},remove:function(e,t){this.$emit("remove",t)},error:function(e){this.$message({message:"上传失败,请重新上传",type:"error"})}}},c=(r(465),r(9)),component=Object(c.a)(o,(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"v-upload"},[r("el-upload",{attrs:{"list-type":"picture-card",action:e.url+"/api/file/formimage",limit:e.limit,"on-success":e.success,"on-error":e.error,"on-remove":e.remove,"on-change":e.onChange,headers:{token:e.$store.state.token},"auto-upload":e.autoUpload}},[e.isSlot?e._t("default"):r("div",[r("div",{staticClass:"muted xs"},[e._v("上传图片")])])],2)],1)}),[],!1,null,"05db7967",null);t.default=component.exports}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[53,16],{445:function(t,e,n){var content=n(447);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(14).default)("12a18d22",content,!0,{sourceMap:!1})},446:function(t,e,n){"use strict";n(445)},447:function(t,e,n){var r=n(13)(!1);r.push([t.i,".null-data[data-v-93598fb0]{padding:100px}.null-data .img-null[data-v-93598fb0]{width:150px;height:150px}",""]),t.exports=r},448:function(t,e,n){"use strict";n.r(e);var r={components:{},props:{img:{type:String},text:{type:String,default:"暂无数据"},imgStyle:{type:String,default:""}},methods:{}},o=(n(446),n(9)),component=Object(o.a)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"bg-white flex-col col-center null-data"},[n("img",{staticClass:"img-null",style:t.imgStyle,attrs:{src:t.img,alt:""}}),t._v(" "),n("div",{staticClass:"muted mt8"},[t._v(t._s(t.text))])])}),[],!1,null,"93598fb0",null);e.default=component.exports},470:function(t,e,n){"use strict";var r=n(7),o=n(102).find,c=n(186),l="find",d=!0;l in[]&&Array(1).find((function(){d=!1})),r({target:"Array",proto:!0,forced:d},{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),c(l)},507:function(t,e,n){t.exports=n.p+"img/order_null.ce12c76.png"},544:function(t,e,n){var content=n(623);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(14).default)("8a7e8b7a",content,!0,{sourceMap:!1})},622:function(t,e,n){"use strict";n(544)},623:function(t,e,n){var r=n(13)(!1);r.push([t.i,".user-order{padding:20px 0}",""]),t.exports=r},673:function(t,e,n){"use strict";n.r(e);var r=n(6),o=(n(470),n(51),{head:function(){return{title:this.$store.getters.headTitle,link:[{rel:"icon",type:"image/x-icon",href:this.$store.getters.favicon}]}},layout:"user",asyncData:function(t){return Object(r.a)(regeneratorRuntime.mark((function e(){var n,r,o,c,l;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.$get,t.$post,e.next=3,n("order/lists",{params:{page_size:10}});case 3:if(r=e.sent,o=r.data,c=o.list,l=o.count,1!=r.code){e.next=10;break}return e.abrupt("return",{orderList:{list:c,count:l}});case 10:case"end":return e.stop()}}),e)})))()},components:{},data:function(){return{activeName:"all",order:[{type:"all",list:[],name:"全部",count:0,page:1},{type:"pay",list:[],name:"待付款",count:0,page:1},{type:"delivery",list:[],name:"待收货",count:0,page:1},{type:"finish",list:[],name:"已完成",count:0,page:1},{type:"close",list:[],name:"已关闭",count:0,page:1}]}},methods:{handleClick:function(){this.getOrderList()},getOrderList:function(){var t=this;return Object(r.a)(regeneratorRuntime.mark((function e(){var n,r,o,c,l,d,f;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.activeName,r=t.order,o=r.find((function(t){return t.type==n})),e.next=4,t.$get("order/lists",{params:{page_size:10,page_no:o.page,type:n}});case 4:c=e.sent,l=c.data,d=l.list,f=l.count,1==c.code&&(t.orderList={list:d,count:f});case 10:case"end":return e.stop()}}),e)})))()},changePage:function(t){var e=this;this.order.some((function(n){n.type==e.activeName&&(n.page=t)})),this.getOrderList()}},watch:{orderList:{immediate:!0,handler:function(t){var e=this;this.order.some((function(n){if(n.type==e.activeName)return Object.assign(n,t),console.log(n),!0}))}}}}),c=o,l=(n(622),n(9)),component=Object(l.a)(c,(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticClass:"user-order"},[r("el-tabs",{on:{"tab-click":t.handleClick},model:{value:t.activeName,callback:function(e){t.activeName=e},expression:"activeName"}},t._l(t.order,(function(e,o){return r("el-tab-pane",{key:o,attrs:{label:e.name,name:e.type}},[e.list.length?[r("order-list",{attrs:{list:e.list},on:{refresh:t.getOrderList}}),t._v(" "),e.count?r("div",{staticClass:"pagination flex row-center"},[r("el-pagination",{attrs:{"hide-on-single-page":"",background:"",layout:"prev, pager, next",total:e.count,"prev-text":"上一页","next-text":"下一页","page-size":10},on:{"current-change":t.changePage}})],1):t._e()]:r("null-data",{attrs:{img:n(507),text:"暂无订单~"}})],2)})),1)],1)}),[],!1,null,null,null);e.default=component.exports;installComponents(component,{OrderList:n(648).default,NullData:n(448).default})}}]);

File diff suppressed because one or more lines are too long

75
public/pcseo/.nuxt/dist/client/LICENSES vendored Normal file
View File

@ -0,0 +1,75 @@
/*!
* vue-router v3.5.2
* (c) 2021 Evan You
* @license MIT
*/
/*!
* JavaScript Cookie v2.2.1
* https://github.com/js-cookie/js-cookie
*
* Copyright 2006, 2015 Klaus Hartl & Fagner Brack
* Released under the MIT license
*/
/*!
* Vue.js v2.6.14
* (c) 2014-2021 Evan You
* Released under the MIT License.
*/
/*!
* vuex v3.6.2
* (c) 2021 Evan You
* @license MIT
*/
/*!
* vue-awesome-swiper v4.1.1
* Copyright (c) Surmon. All rights reserved.
* Released under the MIT License.
* Surmon <https://github.com/surmon-china>
*/
/*!
* vue-client-only v0.0.0-semantic-release
* (c) 2021-present egoist <0x142857@gmail.com>
* Released under the MIT License.
*/
/*!
* vue-no-ssr v1.1.1
* (c) 2018-present egoist <0x142857@gmail.com>
* Released under the MIT License.
*/
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */
/**
* Checks if an event is supported in the current execution environment.
*
* NOTE: This will not work correctly for non-generic events such as `change`,
* `reset`, `load`, `error`, and `select`.
*
* Borrows from Modernizr.
*
* @param {string} eventNameSuffix Event name, e.g. "click".
* @param {?boolean} capture Check if the capture phase is supported.
* @return {boolean} True if the event is supported.
* @internal
* @license Modernizr 3.0.0pre (Custom Build) | MIT
*/

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{437:function(e,t,r){"use strict";var n=r(17),o=r(2),c=r(3),f=r(136),l=r(27),h=r(18),d=r(271),m=r(52),N=r(135),S=r(270),v=r(5),_=r(98).f,y=r(44).f,I=r(26).f,E=r(438),x=r(439).trim,w="Number",F=o.Number,z=F.prototype,T=o.TypeError,A=c("".slice),M=c("".charCodeAt),O=function(e){var t=S(e,"number");return"bigint"==typeof t?t:k(t)},k=function(e){var t,r,n,o,c,f,l,code,h=S(e,"number");if(N(h))throw T("Cannot convert a Symbol value to a number");if("string"==typeof h&&h.length>2)if(h=x(h),43===(t=M(h,0))||45===t){if(88===(r=M(h,2))||120===r)return NaN}else if(48===t){switch(M(h,1)){case 66:case 98:n=2,o=49;break;case 79:case 111:n=8,o=55;break;default:return+h}for(f=(c=A(h,2)).length,l=0;l<f;l++)if((code=M(c,l))<48||code>o)return NaN;return parseInt(c,n)}return+h};if(f(w,!F(" 0o1")||!F("0b1")||F("+0x1"))){for(var R,V=function(e){var t=arguments.length<1?0:F(O(e)),r=this;return m(z,r)&&v((function(){E(r)}))?d(Object(t),r,V):t},G=n?_(F):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),L=0;G.length>L;L++)h(F,R=G[L])&&!h(V,R)&&I(V,R,y(F,R));V.prototype=z,z.constructor=V,l(o,w,V)}},438:function(e,t,r){var n=r(3);e.exports=n(1..valueOf)},439:function(e,t,r){var n=r(3),o=r(33),c=r(16),f=r(440),l=n("".replace),h="["+f+"]",d=RegExp("^"+h+h+"*"),m=RegExp(h+h+"*$"),N=function(e){return function(t){var r=c(o(t));return 1&e&&(r=l(r,d,"")),2&e&&(r=l(r,m,"")),r}};e.exports={start:N(1),end:N(2),trim:N(3)}},440:function(e,t){e.exports="\t\n\v\f\r    \u2028\u2029\ufeff"},441:function(e,t,r){var content=r(444);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,r(14).default)("3181fc86",content,!0,{sourceMap:!1})},442:function(e,t,r){"use strict";r.r(t);r(437),r(80),r(272);var n={data:function(){return{priceSlice:{}}},components:{},props:{firstSize:{type:Number,default:14},secondSize:{type:Number,default:14},color:{type:String},weight:{type:[String,Number],default:400},price:{type:[String,Number],default:""},showSubscript:{type:Boolean,default:!0},subscriptSize:{type:Number,default:14},lineThrough:{type:Boolean,default:!1}},created:function(){this.priceFormat()},watch:{price:function(e){this.priceFormat()}},methods:{priceFormat:function(){var e=this.price,t={};null!==e&&(e=parseFloat(e),e=String(e).split("."),t.first=e[0],t.second=e[1],this.priceSlice=t)}}},o=(r(443),r(9)),component=Object(o.a)(n,(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",{class:(e.lineThrough?"line-through":"")+"price-format",style:{color:e.color,"font-weight":e.weight}},[e.showSubscript?r("span",{style:{"font-size":e.subscriptSize+"px","margin-right":"1px"}},[e._v("¥")]):e._e(),e._v(" "),r("span",{style:{"font-size":e.firstSize+"px","margin-right":"1px"}},[e._v(e._s(e.priceSlice.first))]),e._v(" "),e.priceSlice.second?r("span",{style:{"font-size":e.secondSize+"px"}},[e._v("."+e._s(e.priceSlice.second))]):e._e()])}),[],!1,null,null,null);t.default=component.exports},443:function(e,t,r){"use strict";r(441)},444:function(e,t,r){var n=r(13)(!1);n.push([e.i,".price-format{display:flex;align-items:baseline}",""]),e.exports=n}}]);

View File

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[42],{538:function(t,e,r){var content=r(608);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,r(14).default)("22020cdc",content,!0,{sourceMap:!1})},607:function(t,e,r){"use strict";r(538)},608:function(t,e,r){var n=r(13)(!1);n.push([t.i,".record{width:100%;height:788px}.record .main{padding:18px;height:100%}",""]),t.exports=n},667:function(t,e,r){"use strict";r.r(e);var n=r(6),o=(r(51),{head:function(){return{title:this.$store.getters.headTitle,link:[{rel:"icon",type:"image/x-icon",href:this.$store.getters.favicon}]}},data:function(){return{record:[]}},mounted:function(){},asyncData:function(t){return Object(n.a)(regeneratorRuntime.mark((function e(){var r,n,data;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.$get,e.next=3,r("ShopApply/record");case 3:return n=e.sent,data=n.data,console.log(data),e.abrupt("return",{record:data.lists});case 7:case"end":return e.stop()}}),e)})))()},methods:{}}),l=(r(607),r(9)),component=Object(l.a)(o,(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticClass:"record"},[r("div",{staticClass:"m-t-20"},[r("el-breadcrumb",{attrs:{separator:"/"}},[r("el-breadcrumb-item",{attrs:{to:{path:"/"}}},[t._v("首页")]),t._v(" "),r("el-breadcrumb-item",{attrs:{to:{path:"/store_settled"}}},[r("a",[t._v("商家入驻")])]),t._v(" "),r("el-breadcrumb-item",[t._v("申请列表")])],1)],1),t._v(" "),r("div",{staticClass:"main bg-white m-t-20"},[r("el-table",{staticStyle:{width:"100%"},attrs:{data:t.record,size:"medium","header-cell-style":{background:"#eee",color:"#606266"}}},[r("el-table-column",{attrs:{prop:"name",label:"商家名称","max-width":"180"}}),t._v(" "),r("el-table-column",{attrs:{prop:"audit_status_desc",label:"审核状态","max-width":"180"},scopedSlots:t._u([{key:"default",fn:function(e){return[3==e.row.audit_status?r("div",{staticClass:"primary"},[t._v(t._s(e.row.audit_status_desc))]):r("div",[t._v(t._s(e.row.audit_status_desc))])]}}])}),t._v(" "),r("el-table-column",{attrs:{prop:"apply_time",label:"提交时间","max-width":"180"}}),t._v(" "),r("el-table-column",{attrs:{label:"操作","max-width":"180"},scopedSlots:t._u([{key:"default",fn:function(e){return[r("div",{staticClass:"pointer",on:{click:function(r){return t.$router.push({path:"/store_settled/detail",query:{id:e.row.id}})}}},[t._v("查看详情")])]}}])})],1)],1)])}),[],!1,null,null,null);e.default=component.exports}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{445:function(t,e,l){var content=l(447);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,l(14).default)("12a18d22",content,!0,{sourceMap:!1})},446:function(t,e,l){"use strict";l(445)},447:function(t,e,l){var n=l(13)(!1);n.push([t.i,".null-data[data-v-93598fb0]{padding:100px}.null-data .img-null[data-v-93598fb0]{width:150px;height:150px}",""]),t.exports=n},448:function(t,e,l){"use strict";l.r(e);var n={components:{},props:{img:{type:String},text:{type:String,default:"暂无数据"},imgStyle:{type:String,default:""}},methods:{}},c=(l(446),l(9)),component=Object(c.a)(n,(function(){var t=this,e=t.$createElement,l=t._self._c||e;return l("div",{staticClass:"bg-white flex-col col-center null-data"},[l("img",{staticClass:"img-null",style:t.imgStyle,attrs:{src:t.img,alt:""}}),t._v(" "),l("div",{staticClass:"muted mt8"},[t._v(t._s(t.text))])])}),[],!1,null,"93598fb0",null);e.default=component.exports}}]);

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{450:function(t,e,n){"use strict";n.d(e,"b",(function(){return o})),n.d(e,"a",(function(){return c}));var r=n(34);n(80),n(272),n(101),n(61),n(24),n(38),n(62),n(45),n(19),n(63),n(64),n(46);var o=function(t){var time=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3,e=arguments.length>2?arguments[2]:void 0,n=new Date(0).getTime();return function(){var r=(new Date).getTime();if(r-n>time){for(var o=arguments.length,c=new Array(o),f=0;f<o;f++)c[f]=arguments[f];t.apply(e,c),n=r}}};function c(t){var p="";if("object"==Object(r.a)(t)){for(var e in p="?",t)p+="".concat(e,"=").concat(t[e],"&");p=p.slice(0,-1)}return p}},452:function(t,e,n){var content=n(461);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(14).default)("532bec65",content,!0,{sourceMap:!1})},457:function(t,e,n){"use strict";var r=n(7),o=n(458);r({target:"String",proto:!0,forced:n(459)("link")},{link:function(t){return o(this,"a","href",t)}})},458:function(t,e,n){var r=n(3),o=n(33),c=n(16),f=/"/g,l=r("".replace);t.exports=function(t,e,n,r){var d=c(o(t)),v="<"+e;return""!==n&&(v+=" "+n+'="'+l(c(r),f,"&quot;")+'"'),v+">"+d+"</"+e+">"}},459:function(t,e,n){var r=n(5);t.exports=function(t){return r((function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}))}},460:function(t,e,n){"use strict";n(452)},461:function(t,e,n){var r=n(13)(!1);r.push([t.i,".ad-item[data-v-368017b1]{width:100%;height:100%;cursor:pointer}",""]),t.exports=r},463:function(t,e,n){"use strict";n.r(e);n(457),n(82);var r=n(450),o={components:{},props:{item:{type:Object,default:function(){return{}}}},methods:{goPage:function(t){var e=t.link_type,link=t.link,n=t.params;if(3===e)window.open(t.link);else["/goods_details"].includes(link)?link+="/".concat(n.id):link+=Object(r.a)(n),this.$router.push({path:link})}}},c=(n(460),n(9)),component=Object(c.a)(o,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"ad-item",on:{click:function(e){return e.stopPropagation(),t.goPage(t.item)}}},[n("el-image",{staticStyle:{width:"100%",height:"100%"},attrs:{src:t.item.image,fit:"cover"}})],1)}),[],!1,null,"368017b1",null);e.default=component.exports}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
!function(e){function r(data){for(var r,n,f=data[0],d=data[1],l=data[2],i=0,h=[];i<f.length;i++)n=f[i],Object.prototype.hasOwnProperty.call(o,n)&&o[n]&&h.push(o[n][0]),o[n]=0;for(r in d)Object.prototype.hasOwnProperty.call(d,r)&&(e[r]=d[r]);for(v&&v(data);h.length;)h.shift()();return c.push.apply(c,l||[]),t()}function t(){for(var e,i=0;i<c.length;i++){for(var r=c[i],t=!0,n=1;n<r.length;n++){var d=r[n];0!==o[d]&&(t=!1)}t&&(c.splice(i--,1),e=f(f.s=r[0]))}return e}var n={},o={56:0},c=[];function f(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,f),t.l=!0,t.exports}f.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise((function(r,n){t=o[e]=[r,n]}));r.push(t[2]=n);var c,script=document.createElement("script");script.charset="utf-8",script.timeout=120,f.nc&&script.setAttribute("nonce",f.nc),script.src=function(e){return f.p+""+{0:"88b4a7a",1:"0f4667a",4:"74233e9",5:"ced8bb3",6:"330cf87",7:"42be12b",8:"3b4c1e6",9:"260f92a",10:"5387030",11:"a209762",12:"56b1498",13:"c37f904",14:"81a922c",15:"f780b4a",16:"cb7283f",17:"a0757f6",18:"a64fb37",19:"1730691",20:"7c7b012",21:"72ea73d",22:"cfd62a0",23:"4edb0af",24:"546e4b9",25:"8e22b6e",26:"0a759cf",27:"d1ed564",28:"b4586fb",29:"3ffc891",30:"025b748",31:"ed3489b",32:"2f681dd",33:"d3483dc",34:"b6fa566",35:"cdf9e21",36:"25b91a7",37:"432c379",38:"7c12c1c",39:"64e6bce",40:"1b66715",41:"e0de984",42:"ab7ba91",43:"08d31cf",44:"3cd333f",45:"b144788",46:"1dd63ad",47:"a0c7fe5",48:"3f2e6c5",49:"73cab60",50:"97291cc",51:"479959d",52:"6ec1c5a",53:"8ef0a8a",54:"18edb94",55:"8e9b7a2"}[e]+".js"}(e);var d=new Error;c=function(r){script.onerror=script.onload=null,clearTimeout(l);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),c=r&&r.target&&r.target.src;d.message="Loading chunk "+e+" failed.\n("+n+": "+c+")",d.name="ChunkLoadError",d.type=n,d.request=c,t[1](d)}o[e]=void 0}};var l=setTimeout((function(){c({type:"timeout",target:script})}),12e4);script.onerror=script.onload=c,document.head.appendChild(script)}return Promise.all(r)},f.m=e,f.c=n,f.d=function(e,r,t){f.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},f.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.t=function(e,r){if(1&r&&(e=f(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)f.d(t,n,function(r){return e[r]}.bind(null,n));return t},f.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(r,"a",r),r},f.o=function(object,e){return Object.prototype.hasOwnProperty.call(object,e)},f.p="/pc/_nuxt/",f.oe=function(e){throw console.error(e),e};var d=window.webpackJsonp=window.webpackJsonp||[],l=d.push.bind(d);d.push=r,d=d.slice();for(var i=0;i<d.length;i++)r(d[i]);var v=l;t()}([]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,389 @@
exports.ids = [1,17];
exports.modules = {
/***/ 136:
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(139);
if(content.__esModule) content = content.default;
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add CSS to SSR context
var add = __webpack_require__(4).default
module.exports.__inject__ = function (context) {
add("3181fc86", content, true, context)
};
/***/ }),
/***/ 137:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./components/price-formate.vue?vue&type=template&id=0c4d5c85&
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{class:(_vm.lineThrough ? 'line-through' : '') + 'price-format',style:({ color: _vm.color, 'font-weight': _vm.weight })},[_vm._ssrNode(((_vm.showSubscript)?("<span"+(_vm._ssrStyle(null,{
'font-size': _vm.subscriptSize + 'px',
'margin-right': '1px',
}, null))+">¥</span>"):"<!---->")+" <span"+(_vm._ssrStyle(null,{ 'font-size': _vm.firstSize + 'px', 'margin-right': '1px' }, null))+">"+_vm._ssrEscape(_vm._s(_vm.priceSlice.first))+"</span> "+((_vm.priceSlice.second)?("<span"+(_vm._ssrStyle(null,{ 'font-size': _vm.secondSize + 'px' }, null))+">"+_vm._ssrEscape("."+_vm._s(_vm.priceSlice.second))+"</span>"):"<!---->"))])}
var staticRenderFns = []
// CONCATENATED MODULE: ./components/price-formate.vue?vue&type=template&id=0c4d5c85&
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./components/price-formate.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var price_formatevue_type_script_lang_js_ = ({
data() {
return {
priceSlice: {}
};
},
components: {},
props: {
firstSize: {
type: Number,
default: 14
},
secondSize: {
type: Number,
default: 14
},
color: {
type: String
},
weight: {
type: [String, Number],
default: 400
},
price: {
type: [String, Number],
default: ''
},
showSubscript: {
type: Boolean,
default: true
},
subscriptSize: {
type: Number,
default: 14
},
lineThrough: {
type: Boolean,
default: false
}
},
created() {
this.priceFormat();
},
watch: {
price(val) {
this.priceFormat();
}
},
methods: {
priceFormat() {
let {
price
} = this;
let priceSlice = {};
if (price !== null) {
price = parseFloat(price);
price = String(price).split('.');
priceSlice.first = price[0];
priceSlice.second = price[1];
this.priceSlice = priceSlice;
}
}
}
});
// CONCATENATED MODULE: ./components/price-formate.vue?vue&type=script&lang=js&
/* harmony default export */ var components_price_formatevue_type_script_lang_js_ = (price_formatevue_type_script_lang_js_);
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(1);
// CONCATENATED MODULE: ./components/price-formate.vue
function injectStyles (context) {
var style0 = __webpack_require__(138)
if (style0.__inject__) style0.__inject__(context)
}
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
components_price_formatevue_type_script_lang_js_,
render,
staticRenderFns,
false,
injectStyles,
null,
"7ae24710"
)
/* harmony default export */ var price_formate = __webpack_exports__["default"] = (component.exports);
/***/ }),
/***/ 138:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_3_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_3_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_price_formate_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(136);
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_3_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_3_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_price_formate_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_3_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_3_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_price_formate_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_3_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_3_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_price_formate_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_3_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_3_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_price_formate_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/***/ }),
/***/ 139:
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3);
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
// Module
___CSS_LOADER_EXPORT___.push([module.i, ".price-format{display:flex;align-items:baseline}", ""]);
// Exports
module.exports = ___CSS_LOADER_EXPORT___;
/***/ }),
/***/ 190:
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(211);
if(content.__esModule) content = content.default;
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add CSS to SSR context
var add = __webpack_require__(4).default
module.exports.__inject__ = function (context) {
add("5072c71b", content, true, context)
};
/***/ }),
/***/ 210:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_activity_area_vue_vue_type_style_index_0_id_008ee916_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(190);
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_activity_area_vue_vue_type_style_index_0_id_008ee916_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_activity_area_vue_vue_type_style_index_0_id_008ee916_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_activity_area_vue_vue_type_style_index_0_id_008ee916_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_activity_area_vue_vue_type_style_index_0_id_008ee916_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/***/ }),
/***/ 211:
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3);
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
// Module
___CSS_LOADER_EXPORT___.push([module.i, ".activity-area[data-v-008ee916]{padding:16px;border-radius:6px;background-color:#fff}.activity-area[data-v-008ee916] .swiper-container{width:100%;height:280px}.activity-area .goods-list .goods-item[data-v-008ee916]{width:31.5%}.activity-area .goods-list .goods-item .goods-img[data-v-008ee916]{width:100%;height:0;padding-top:100%;position:relative}.activity-area .goods-list .goods-item .goods-img .el-image[data-v-008ee916]{position:absolute;width:100%;height:100%;left:0;top:0}.activity-area .goods-list .goods-item .name[data-v-008ee916]{line-height:20px;height:40px}", ""]);
// Exports
module.exports = ___CSS_LOADER_EXPORT___;
/***/ }),
/***/ 253:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./components/activity-area.vue?vue&type=template&id=008ee916&scoped=true&
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.list.length)?_c('div',{staticClass:"activity-area m-t-16"},[_vm._ssrNode("<div class=\"title flex row-between\" data-v-008ee916>","</div>",[_vm._ssrNode("<div class=\"font-size-20\" data-v-008ee916>"+_vm._ssrEscape(_vm._s(_vm.title))+"</div> "),_c('nuxt-link',{staticClass:"more lighter",attrs:{"to":_vm.url}},[_vm._v("更多 "),_c('i',{staticClass:"el-icon-arrow-right"})])],2),_vm._ssrNode(" "),_vm._ssrNode("<div class=\"activity-goods m-t-16\" data-v-008ee916>","</div>",[_c('client-only',[_c('swiper',{ref:"headerSwiper",attrs:{"options":_vm.swiperOptions}},_vm._l((_vm.swiperSize),function(item,index){return _c('swiper-slide',{key:index,staticClass:"swiper-item"},[_c('div',{staticClass:"goods-list flex row-between"},_vm._l((_vm.getSwiperList(index)),function(gitem,gindex){return _c('nuxt-link',{key:gindex,staticClass:"goods-item",attrs:{"to":("/goods_details/" + (gitem.id))}},[_c('div',{staticClass:"goods-img"},[_c('el-image',{attrs:{"lazy":"","src":gitem.image,"fit":"cover","alt":""}})],1),_vm._v(" "),_c('div',{staticClass:"name line-2 m-t-10"},[_vm._v(_vm._s(gitem.name))]),_vm._v(" "),_c('div',{staticClass:"price flex col-baseline m-t-10"},[_c('div',{staticClass:"primary m-r-8"},[_c('price-formate',{attrs:{"price":gitem.min_price,"first-size":16}})],1),_vm._v(" "),_c('div',{staticClass:"muted sm line-through "},[_c('price-formate',{attrs:{"price":gitem.market_price}})],1)]),_vm._v(" "),_c('div',{staticClass:"muted xs m-t-10"},[_vm._v("\n "+_vm._s(gitem.sales_total)+"人购买\n ")])])}),1)])}),1)],1)],1)],2):_vm._e()}
var staticRenderFns = []
// CONCATENATED MODULE: ./components/activity-area.vue?vue&type=template&id=008ee916&scoped=true&
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./components/activity-area.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var activity_areavue_type_script_lang_js_ = ({
components: {},
props: {
url: {
type: String,
default: ''
},
title: {
type: String
},
list: {
type: Array,
default: () => []
}
},
data() {
return {
swiperOptions: {
direction: 'vertical',
initialSlide: 0,
height: 280,
autoplay: true
},
pageSize: 3
};
},
computed: {
swiperSize() {
return Math.ceil(this.list.length / this.pageSize);
},
getSwiperList() {
return index => {
return this.list.slice(index * this.pageSize, (index + 1) * this.pageSize);
};
}
}
});
// CONCATENATED MODULE: ./components/activity-area.vue?vue&type=script&lang=js&
/* harmony default export */ var components_activity_areavue_type_script_lang_js_ = (activity_areavue_type_script_lang_js_);
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(1);
// CONCATENATED MODULE: ./components/activity-area.vue
function injectStyles (context) {
var style0 = __webpack_require__(210)
if (style0.__inject__) style0.__inject__(context)
}
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
components_activity_areavue_type_script_lang_js_,
render,
staticRenderFns,
false,
injectStyles,
"008ee916",
"3e433c8e"
)
/* harmony default export */ var activity_area = __webpack_exports__["default"] = (component.exports);
/* nuxt-component-imports */
installComponents(component, {PriceFormate: __webpack_require__(137).default})
/***/ })
};;
//# sourceMappingURL=activity-area.js.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,212 @@
exports.ids = [2];
exports.modules = {
/***/ 145:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return trottle; });
/* unused harmony export strToParams */
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return paramsToStr; });
/* unused harmony export copyClipboard */
//节流
const trottle = (func, time = 1000, context) => {
let previous = new Date(0).getTime();
return function (...args) {
let now = new Date().getTime();
if (now - previous > time) {
func.apply(context, args);
previous = now;
}
};
}; //获取url后的参数 以对象返回
function strToParams(str) {
var newparams = {};
for (let item of str.split('&')) {
newparams[item.split('=')[0]] = item.split('=')[1];
}
return newparams;
} //对象参数转为以?&拼接的字符
function paramsToStr(params) {
let p = '';
if (typeof params == 'object') {
p = '?';
for (let props in params) {
p += `${props}=${params[props]}&`;
}
p = p.slice(0, -1);
}
return p;
}
/**
* @description 复制到剪切板
* @param value { String } 复制内容
* @return { Promise } resolve | reject
*/
const copyClipboard = value => {
const elInput = document.createElement('input');
elInput.setAttribute('value', value);
document.body.appendChild(elInput);
elInput.select();
try {
if (document.execCommand('copy')) return Promise.resolve();else throw new Error();
} catch (err) {
return Promise.reject(err);
} finally {
document.body.removeChild(elInput);
}
};
/***/ }),
/***/ 147:
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(153);
if(content.__esModule) content = content.default;
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add CSS to SSR context
var add = __webpack_require__(4).default
module.exports.__inject__ = function (context) {
add("532bec65", content, true, context)
};
/***/ }),
/***/ 152:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ad_item_vue_vue_type_style_index_0_id_368017b1_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(147);
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ad_item_vue_vue_type_style_index_0_id_368017b1_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ad_item_vue_vue_type_style_index_0_id_368017b1_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ad_item_vue_vue_type_style_index_0_id_368017b1_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ad_item_vue_vue_type_style_index_0_id_368017b1_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/***/ }),
/***/ 153:
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3);
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
// Module
___CSS_LOADER_EXPORT___.push([module.i, ".ad-item[data-v-368017b1]{width:100%;height:100%;cursor:pointer}", ""]);
// Exports
module.exports = ___CSS_LOADER_EXPORT___;
/***/ }),
/***/ 155:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./components/ad-item.vue?vue&type=template&id=368017b1&scoped=true&
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"ad-item",on:{"click":function($event){$event.stopPropagation();return _vm.goPage(_vm.item)}}},[_c('el-image',{staticStyle:{"width":"100%","height":"100%"},attrs:{"src":_vm.item.image,"fit":"cover"}})],1)}
var staticRenderFns = []
// CONCATENATED MODULE: ./components/ad-item.vue?vue&type=template&id=368017b1&scoped=true&
// EXTERNAL MODULE: ./utils/tools.js
var tools = __webpack_require__(145);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./components/ad-item.vue?vue&type=script&lang=js&
//
//
//
//
//
//
/* harmony default export */ var ad_itemvue_type_script_lang_js_ = ({
components: {},
props: {
item: {
type: Object,
default: () => ({})
}
},
methods: {
goPage(item) {
let {
link_type,
link,
params
} = item;
switch (link_type) {
case 3:
window.open(item.link);
break;
default:
if (["/goods_details"].includes(link)) {
link += `/${params.id}`;
} else {
link += Object(tools["a" /* paramsToStr */])(params);
}
this.$router.push({
path: link
});
}
}
}
});
// CONCATENATED MODULE: ./components/ad-item.vue?vue&type=script&lang=js&
/* harmony default export */ var components_ad_itemvue_type_script_lang_js_ = (ad_itemvue_type_script_lang_js_);
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(1);
// CONCATENATED MODULE: ./components/ad-item.vue
function injectStyles (context) {
var style0 = __webpack_require__(152)
if (style0.__inject__) style0.__inject__(context)
}
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
components_ad_itemvue_type_script_lang_js_,
render,
staticRenderFns,
false,
injectStyles,
"368017b1",
"6dd301aa"
)
/* harmony default export */ var ad_item = __webpack_exports__["default"] = (component.exports);
/***/ })
};;
//# sourceMappingURL=ad-item.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More