提交 aae1338f 编写于 作者: fxy060608's avatar fxy060608

refactor(cli): easycom

上级 af280c26
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`easycom render 1`] = `
"import { resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock } from \\"vue\\"
import _component_test from '@/components/uni-test.vue'
import _component_test1 from '@/components/test1/test1.vue'
import _component_test2 from '@/uni_modules/plugin/components/test2/test2.vue'
import { CheckboxGroup as _component_v_uni_checkbox_group } from '@dcloudio/uni-h5/dist/uni-h5.esm.js'
import _style_v_uni_checkbox_group from '@dcloudio/uni-h5/style/checkbox-group.css'
export function render(_ctx, _cache, $props, $setup, $data, $options) {
// const _component_test = _resolveComponent(\\"test\\")
// const _component_test1 = _resolveComponent(\\"test1\\")
// const _component_test2 = _resolveComponent(\\"test2\\")
const _component_some_other_comp = _resolveComponent(\\"some-other-comp\\")
// const _component_v_uni_checkbox_group = _resolveComponent(\\"v-uni-checkbox-group\\")
return (_openBlock(), _createBlock(\\"template\\", null, [
_createVNode(_component_test),
_createVNode(_component_test1),
_createVNode(_component_test1),
_createVNode(_component_test2),
_createVNode(_component_some_other_comp),
_createVNode(_component_v_uni_checkbox_group),
_createVNode(_component_v_uni_checkbox_group)
]))
}"
`;
exports[`easycom render with setup 1`] = `
"import { createVNode as _createVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock } from \\"vue\\"
import _component_test1 from '@/components/test1/test1.vue'
import _component_test2 from '@/uni_modules/plugin/components/test2/test2.vue'
import { CheckboxGroup as _component_v_uni_checkbox_group } from '@dcloudio/uni-h5/dist/uni-h5.esm.js'
import _style_v_uni_checkbox_group from '@dcloudio/uni-h5/style/checkbox-group.css'
export function render(_ctx, _cache, $props, $setup, $data, $options) {
// const _component_test1 = _resolveComponent(\\"test1\\")
// const _component_test2 = _resolveComponent(\\"test2\\")
// const _component_v_uni_checkbox_group = _resolveComponent(\\"v-uni-checkbox-group\\")
return (_openBlock(), _createBlock(\\"template\\", null, [
_createVNode($setup[\\"Test\\"]),
_createVNode(_component_test1),
_createVNode(_component_test1),
_createVNode(_component_test2),
_createVNode($setup[\\"SomeOtherComp\\"]),
_createVNode(_component_v_uni_checkbox_group),
_createVNode(_component_v_uni_checkbox_group)
]))
}"
`;
import path from 'path'
import { initEasycoms, matchEasycom } from '../src/easycom'
import { parse, compileTemplate, compileScript } from '@vue/compiler-sfc'
import { initEasycom, matchEasycom, vueCompilerOptions } from '../src'
const rootDir = path.resolve(__dirname, 'example')
const dirs = [
......@@ -8,31 +10,47 @@ const dirs = [
path.resolve(__dirname, 'example/uni_modules/plugin/components')
]
const template = `<template><test/><test1/><test1/><test2/><some-other-comp/><checkbox-group/><checkbox-group/></template>`
const sfcParseRes = parse(`${template}<script>export default {}</script>`)
const sfcParseResWithSetup = parse(
`${template}<script setup>import SomeOtherComp from './some-other-comp';import Test from './test';</script>`
)
const id = 'test'
const sfcScriptCompileOptions = { id }
const sfcScriptBlock = compileScript(
sfcParseRes.descriptor,
sfcScriptCompileOptions
)
const sfcScriptBlockWithSetup = compileScript(
sfcParseResWithSetup.descriptor,
sfcScriptCompileOptions
)
describe('easycom', () => {
test('initEasycoms with dirs', () => {
expect(initEasycoms({ dirs, rootDir })).toEqual([
test('initEasycom with dirs', () => {
expect(initEasycom({ dirs, rootDir })).toEqual([
{
pattern: new RegExp('^test$'),
replacement: '@/components/test/test'
replacement: '@/components/test/test.vue'
},
{
pattern: new RegExp('^test1$'),
replacement: '@/components/test1/test1'
replacement: '@/components/test1/test1.vue'
},
{
pattern: new RegExp('^test2$'),
replacement: '@/uni_modules/plugin/components/test2/test2'
replacement: '@/uni_modules/plugin/components/test2/test2.vue'
}
])
expect(matchEasycom('test')).toBe('@/components/test/test')
expect(matchEasycom('test1')).toBe('@/components/test1/test1')
expect(matchEasycom('test')).toBe('@/components/test/test.vue')
expect(matchEasycom('test1')).toBe('@/components/test1/test1.vue')
expect(matchEasycom('test2')).toBe(
'@/uni_modules/plugin/components/test2/test2'
'@/uni_modules/plugin/components/test2/test2.vue'
)
})
test('initEasycoms with custom', () => {
test('initEasycom with custom', () => {
expect(
initEasycoms({ custom: { '^uni-(.*)': '@/components/uni-$1.vue' } })
initEasycom({ custom: { '^uni-(.*)': '@/components/uni-$1.vue' } })
).toEqual([
{
pattern: new RegExp('^uni-(.*)'),
......@@ -42,9 +60,9 @@ describe('easycom', () => {
expect(matchEasycom('test')).toBe(false)
expect(matchEasycom('uni-test1')).toBe('@/components/uni-test1.vue')
})
test('initEasycoms with dirs and custom', () => {
test('initEasycom with dirs and custom', () => {
expect(
initEasycoms({
initEasycom({
dirs,
rootDir,
custom: { '^test$': '@/components/uni-test.vue' }
......@@ -56,13 +74,64 @@ describe('easycom', () => {
},
{
pattern: new RegExp('^test1$'),
replacement: '@/components/test1/test1'
replacement: '@/components/test1/test1.vue'
},
{
pattern: new RegExp('^test2$'),
replacement: '@/uni_modules/plugin/components/test2/test2'
replacement: '@/uni_modules/plugin/components/test2/test2.vue'
}
])
expect(matchEasycom('test')).toBe('@/components/uni-test.vue')
})
test('render', () => {
initEasycom({
dirs,
rootDir,
custom: { '^test$': '@/components/uni-test.vue' }
})
const { code } = compileTemplate(
Object.assign(sfcParseRes.descriptor, {
id,
compilerOptions: Object.assign(
{
bindingMetadata: sfcScriptBlock.bindings
},
vueCompilerOptions
)
})
)
expect(code).toMatch(` // const _component_test = _resolveComponent("test")
// const _component_test1 = _resolveComponent("test1")
// const _component_test2 = _resolveComponent("test2")
const _component_some_other_comp = _resolveComponent("some-other-comp")
// const _component_v_uni_checkbox_group = _resolveComponent("v-uni-checkbox-group")`)
expect(code)
.toMatch(`import _component_test from '@/components/uni-test.vue'
import _component_test1 from '@/components/test1/test1.vue'
import _component_test2 from '@/uni_modules/plugin/components/test2/test2.vue'
import { CheckboxGroup as _component_v_uni_checkbox_group } from '@dcloudio/uni-h5/dist/uni-h5.esm.js'
import _style_v_uni_checkbox_group from '@dcloudio/uni-h5/style/checkbox-group.css'`)
expect(code).toMatchSnapshot()
})
test('render with setup', () => {
initEasycom({
dirs,
rootDir,
custom: { '^test$': '@/components/uni-test.vue' }
})
const { code } = compileTemplate(
Object.assign(sfcParseResWithSetup.descriptor, {
id,
compilerOptions: Object.assign(
{ bindingMetadata: sfcScriptBlockWithSetup.bindings },
vueCompilerOptions
)
})
)
expect(code)
.toMatch(` // const _component_test1 = _resolveComponent("test1")
// const _component_test2 = _resolveComponent("test2")
// const _component_v_uni_checkbox_group = _resolveComponent("v-uni-checkbox-group")`)
expect(code).toMatchSnapshot()
})
})
......@@ -22,9 +22,12 @@
"url": "https://github.com/dcloudio/uni-app/issues"
},
"dependencies": {
"@dcloudio/uni-shared": "^3.0.0",
"@vue/compiler-core": "^3.0.4",
"debug": "^4.3.1",
"strip-json-comments": "^3.1.1",
"xregexp": "3.1.0"
},
"peerDependencies": {
"@dcloudio/uni-shared": "^3.0.0"
}
}
import fs from 'fs'
import path from 'path'
import debug from 'debug'
interface EasycomOption {
dirs?: string[]
rootDir?: string
custom?: EasycomCustom
extensions?: string[]
}
interface EasycomMatcher {
pattern: RegExp
......@@ -14,22 +15,32 @@ interface EasycomCustom {
[key: string]: string
}
export const debugEasycom = debug('easycom')
const easycoms: EasycomMatcher[] = []
const easycomsCache = new Map<string, string>()
const easycomsInvalidCache = new Set<string>()
function clearEasycoms() {
let hasEasycom = false
function clearEasycom() {
easycoms.length = 0
easycomsCache.clear()
easycomsInvalidCache.clear()
}
export function initEasycoms({ dirs, rootDir, custom }: EasycomOption) {
clearEasycoms()
export function initEasycom({
dirs,
rootDir,
custom,
extensions = ['.vue']
}: EasycomOption) {
debugEasycom(dirs, rootDir, custom, extensions)
clearEasycom()
const easycomsObj = Object.create(null)
if (dirs && rootDir) {
Object.assign(easycomsObj, initAutoScanEasycoms(dirs, rootDir))
Object.assign(easycomsObj, initAutoScanEasycoms(dirs, rootDir, extensions))
}
if (custom) {
Object.assign(easycomsObj, custom)
......@@ -40,10 +51,15 @@ export function initEasycoms({ dirs, rootDir, custom }: EasycomOption) {
replacement: easycomsObj[name]
})
})
debugEasycom(easycoms)
hasEasycom = !!easycoms.length
return easycoms
}
export function matchEasycom(tag: string) {
if (!hasEasycom) {
return
}
let source = easycomsCache.get(tag)
if (source) {
return source
......@@ -58,6 +74,7 @@ export function matchEasycom(tag: string) {
}
source = tag.replace(matcher.pattern, matcher.replacement)
easycomsCache.set(tag, source)
debugEasycom('matchEasycom', tag, source)
return source
}
......@@ -65,8 +82,12 @@ const isDir = (path: string) => fs.lstatSync(path).isDirectory()
function initAutoScanEasycom(
dir: string,
rootDir: string
rootDir: string,
extensions: string[]
): Record<string, string> {
if (!path.isAbsolute(dir)) {
dir = path.resolve(rootDir, dir)
}
const easycoms = Object.create(null)
if (!fs.existsSync(dir)) {
return easycoms
......@@ -78,17 +99,26 @@ function initAutoScanEasycom(
}
const importDir = path.relative(rootDir, folder)
const files = fs.readdirSync(folder)
if (files.find(file => path.parse(file).name === name)) {
easycoms[`^${name}$`] = `@/${importDir}/${name}`
// 读取文件夹文件列表,比对文件名(fs.existsSync在大小写不敏感的系统会匹配不准确)
for (let i = 0; i < extensions.length; i++) {
const ext = extensions[i]
if (files.includes(name + ext)) {
easycoms[`^${name}$`] = `@/${importDir}/${name}${ext}`
break
}
}
})
return easycoms
}
function initAutoScanEasycoms(dirs: string[], rootDir: string) {
function initAutoScanEasycoms(
dirs: string[],
rootDir: string,
extensions: string[]
) {
return dirs.reduce<Record<string, string>>(
(easycoms: Record<string, string>, dir: string) => {
const curEasycoms = initAutoScanEasycom(dir, rootDir)
const curEasycoms = initAutoScanEasycom(dir, rootDir, extensions)
Object.keys(curEasycoms).forEach(name => {
// Use the first component when name conflict
if (!easycoms[name]) {
......
export * from './json'
export * from './easycom'
export * from './vueCompilerOptions'
export * from './transforms/transformBuiltInComponent'
export * from './transforms/transformBuiltInEasycom'
export * from './transforms/transformEasycom'
export { isAutoImported } from './transforms/autoImport'
import {
ElementNode,
ConstantTypes,
TransformContext,
createSimpleExpression
} from '@vue/compiler-core'
export function addImport(
path: string,
node: ElementNode,
context: TransformContext
) {
// remove resolveComponent
context.components.delete(node.tag)
// add import
const importsArray = Array.from(context.imports)
const existing = importsArray.find(i => i.path === path)
if (existing) {
return
}
context.imports.add({
path,
exp: createSimpleExpression(name, false, node.loc, ConstantTypes.CAN_HOIST)
})
}
import {
ComponentNode,
ElementNode,
ElementTypes,
ExpressionNode,
RootNode,
SimpleExpressionNode,
TemplateChildNode,
TransformContext
} from '@vue/compiler-core'
interface ImportItem {
exp: string | ExpressionNode
path: string
}
const tags = new Set<string>()
export function isAutoImported(tag: string) {
return tags.has(tag)
}
export function addAutoImport(
tag: string,
importItem: ImportItem,
context: TransformContext
) {
tag && tags.add(tag)
const importPath = importItem.path
const importContent = (importItem.exp as SimpleExpressionNode).content
const importsArray = Array.from(context.imports)
const existing = importsArray.find(
i =>
i.path === importPath &&
(i.exp as SimpleExpressionNode).content === importContent
)
if (existing) {
return
}
context.imports.add(importItem)
return true
}
export const isComponentNode = (
node: RootNode | TemplateChildNode
): node is ComponentNode =>
(node as ElementNode).tagType === ElementTypes.COMPONENT
import { NodeTypes, NodeTransform } from '@vue/compiler-core'
import { camelize, capitalize } from '@vue/shared'
import { isBuiltInComponent } from '@dcloudio/uni-shared'
import {
ConstantTypes,
NodeTransform,
ElementNode,
createSimpleExpression,
toValidAssetId
} from '@vue/compiler-core'
import { addImport } from './addImport'
import { COMPONENT_PREFIX, isBuiltInComponent } from '@dcloudio/uni-shared'
const COMPONENTS_PATH = '@dcloudio/uni-h5/lib/'
import { addAutoImport, isComponentNode } from './autoImport'
const COMPONENTS_PATH = '@dcloudio/uni-h5/dist/uni-h5.esm.js'
const COMPONENTS_STYLE_PATH = '@dcloudio/uni-h5/style/'
function createComponentImportItem(oldTag: string, node: ElementNode) {
const tag = node.tag
return {
path: COMPONENTS_PATH,
exp: createSimpleExpression(
`{ ${capitalize(camelize(oldTag))} as ${toValidAssetId(
tag,
'component'
)} }`,
false,
node.loc,
ConstantTypes.CAN_HOIST
)
}
}
function createStyleImportItem(oldTag: string, node: ElementNode) {
return {
path: COMPONENTS_STYLE_PATH + oldTag + '.css',
exp: createSimpleExpression(
toValidAssetId(node.tag, 'style' as any),
false,
node.loc,
ConstantTypes.CAN_HOIST
)
}
}
export const transformBuiltInComponent: NodeTransform = (node, context) => {
if (node.type !== NodeTypes.ELEMENT) {
if (!isComponentNode(node)) {
return
}
const tag = node.tag
if (isBuiltInComponent(tag)) {
addImport(COMPONENTS_PATH + tag + '/index.js', node, context)
if (!isBuiltInComponent(tag)) {
return
}
node.tag = COMPONENT_PREFIX + tag
if (addAutoImport(node.tag, createComponentImportItem(tag, node), context)) {
addAutoImport('', createStyleImportItem(tag, node), context)
}
}
import { NodeTransform } from '@vue/compiler-core'
import { isComponentNode } from './autoImport'
export const transformBuiltInEasycom: NodeTransform = node => {
if (!isComponentNode(node)) {
return
}
if (node.tag === 'match-media' && process.env.UNI_PLATFORM !== 'mp-weixin') {
node.tag = 'uni-match-media'
}
}
import { NodeTypes, NodeTransform } from '@vue/compiler-core'
import { camelize, capitalize } from '@vue/shared'
import {
ConstantTypes,
NodeTransform,
createSimpleExpression,
toValidAssetId,
ComponentNode,
TransformContext
} from '@vue/compiler-core'
import { matchEasycom } from '../easycom'
import { COMPONENT_PREFIX } from '@dcloudio/uni-shared'
import { addImport } from './addImport'
import { debugEasycom, matchEasycom } from '../easycom'
import { addAutoImport, isComponentNode } from './autoImport'
function createImportItem(path: string, node: ComponentNode) {
const tag = node.tag
return {
path,
exp: createSimpleExpression(
toValidAssetId(tag, 'component'),
false,
node.loc,
ConstantTypes.CAN_HOIST
)
}
}
function isBinding(tag: string, context: TransformContext) {
const bindings = context.bindingMetadata
if (!bindings) {
return false
}
if (bindings[tag]) {
return true
}
const camelName = camelize(tag)
if (bindings[camelName]) {
return true
}
const PascalName = capitalize(camelName)
if (bindings[PascalName]) {
return true
}
return false
}
export const transformEasycom: NodeTransform = (node, context) => {
if (node.type !== NodeTypes.ELEMENT) {
if (!isComponentNode(node)) {
return
}
if (node.tag === 'match-media' && process.env.UNI_PLATFORM !== 'mp-weixin') {
node.tag = 'uni-match-media'
const tag = node.tag
// built-in component
if (tag.startsWith(COMPONENT_PREFIX)) {
return
}
const path = matchEasycom(node.tag)
if (path) {
addImport(path, node, context)
// https://github.com/vuejs/rfcs/blob/script-setup-2/active-rfcs/0000-script-setup.md#exposing-components-and-directives
if (isBinding(tag, context)) {
return debugEasycom(tag + ' is binding by setup')
}
const path = matchEasycom(tag)
path && addAutoImport(tag, createImportItem(path, node), context)
}
import { CompilerOptions } from '@vue/compiler-sfc'
import { isNativeTag } from '@dcloudio/uni-shared'
import { isAutoImported } from './transforms/autoImport'
import { transformBuiltInComponent } from './transforms/transformBuiltInComponent'
import { transformBuiltInEasycom } from './transforms/transformBuiltInEasycom'
import { transformEasycom } from './transforms/transformEasycom'
interface CodegenContext {
push: (code: string, node: any) => void
helper: (key: symbol) => string
}
interface VueCompilerOptions extends CompilerOptions {
onContextCreated: (context: CodegenContext) => void
}
const resolveComponentRE = /_resolveComponent\("(.*)"\)/
export const vueCompilerOptions: VueCompilerOptions = {
onContextCreated(context) {
const oldPush = context.push
context.push = (code, node) => {
const matches = code.match(resolveComponentRE)
// ignore auto imported component
if (matches && matches.length === 2 && isAutoImported(matches[1])) {
code = `// ${code}`
}
return oldPush(code, node)
}
},
isNativeTag,
nodeTransforms: [
transformBuiltInComponent,
transformBuiltInEasycom,
transformEasycom
]
}
uni-audio{
display:none;
}
uni-audio[controls]{
display:inline-block;
}
uni-audio[hidden]{
display:none;
}
.uni-audio-default{
max-width:100%;
min-width:302px;
height:65px;
background:#fcfcfc;
border:1px solid #e0e0e0;
border-radius:2.5px;
display:inline-block;
overflow:hidden;
}
.uni-audio-left{
width:65px;
height:65px;
float:left;
background-color:#e6e6e6;
background-size:100% 100%;
background-position:50% 50%;
}
.uni-audio-button{
width:24px;
height:24px;
margin:20.5px;
background-size:cover;
}
.uni-audio-button.play{
background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAB4dJREFUaAXNWg1MlVUYvpcfIRCJ+MnCaOBl8dOcOCEQZ9kmI5cQG5Yb6MifKbMaGVobOtlibTWHDpgpxBUwF07826iFsMkYJhg559JdGiQSkUzSBA0QkZ7n4/u+nXsvwf3jwru99/y/3/N+3znvec97rlbjABofH38GYtaAV4MjwDqwH9gHTBoE3wd3gA3gi+B6rVY7hHR2CKD9wFngs+BHYGuJYziWMqiscwgP8wLvBQ+AHUWURZle1mqhtXQAhLui7xZwPvgFsBENDg7+Drp069at2z09Pf03b978u6mpqZ+dVq1aFRAVFeW/aNGigNDQ0JfDwsISfXx8wowETBT+QpIPLsf0GpuomvrXIgUAPhhizoGXi+II+tq1az/o9fpLFRUVd8S26fJZWVkLN2/enBgTE/PW/PnzF5v0b0P5HSjxp0m9WXFaBQD+NYw6C1bf+vDwcF9DQ4N+/fr19ciPm0m1osLT01N76tSpNaD3PTw8FgpD+TXSoESrUGeWnVIBgM/EiDKwJ0eiPNrS0nJsw4YNNd3d3aOscxSFhIS4V1dXpyckJGRB5jxZ7jDSbVDiW7lslriY1cgVMvjjKErgR0dH/zl06NCuFStWfOdo8HwkZVL2wYMHP3ny5AlNLonPPi5jkSpMfyb9AhjAadMIlsBjrndmZ2fnnThxos9UwEyUMzIynj9y5EgB1gb3ExK/xBuTTSczBQCeC/ZnsDTnCR6f9YMbN25QiNMoOjras7W1tcjb2ztcfijXRKzpwjaaQgBPU0lrI4HntOGbdzZ4AuYzt2/fvm9sbOweyyBiOidjlCr4Y6QAyrTzkqlEx9GSkpJ9zpo2BGNKfHZRUdF+1D+W24iNGFVSpxAAcxekryK9/cuXLx/FoqpWe85iBlPpvbi4uB0yBE4lHabSvyyLX2AXyhJ42nmYytPsMBcI+80ZWKZeGQsxEqtEkgJ4+3Sm9sh1Gm5SM2EqFfnWpsRSV1dXIYzbI2NWv0AqGiXXl+4Bd1ihs0XZu3fvHhgYGNBXVVUlWDTAyk7p6ekNIyMj7fIwYiVmIwWkNvo2trgHAQEBy+CghW7cuPGLvr6+L3fu3PmSJNBBP8R09erVHwVxEwrgU/AwkqQ00DFT8lamqkEICgqKKy4u1sMU7li6dKnVLvL/Pbe0tLRFaEsidi1+UlB5ng3ctBYsWLBV6GRxFnJ4yjIj7CX36uvrS1NTU+uwEM3ara3Al/gaTl+EPC6Vi/hNRUhHR8dPSt5Rqbu7+3Nr1679rL+//3BBQYHyYJvFd3V1iTNkNRV4RZF2G6TkHZ36+vpG5uXlHcah59Pk5GSbj5AY3y1gi6ACisOk4UlKaJyJrBYnsuTa2trjzc3N7/r7+9N1sYo6OzsfCAN0VEB9GzwGCo0zlnV1dfVOTEzMhn3Xl5eXx1rzIBOMflRAsv8UopxhrRFoT18vL68QHCu/am9vz7FUjglGHyow6xQcHBxjKwgqwKCTRIweKHlnpZhGDfC7LP4CJhgH3QCUxzd/AmboA0kP8zNNcDt+w8ZUvHv37l+tedaSJUueFfrfpwJ0oSVLxLiN0DgjWWxsDxobG79JSUn53haXRafT+QrAOjiFDEoFg05K3tEpduoxg8FweuXKlRlJSUm1toAnpvDwcB55FTJQAdUFYMRMaXFkil34l9zc3K2RkZElV65ceWSPbCz414XxF6kAXWfpdMNwHyNmQge7skNDQ3dOnjy5PzAwMLewsLDLLmEYDJMb5ObmFiXLIeZ6FxzNGOK+IFeyk91f4enTpyNtbW3HIiIiNsHCNCmy7U1zcnKWCTIuEDu/AOn8RKLRMFbJcJ9StjRlBIN94Y40ZmZmboqNja3iScrS8dP1IyaEWt4W+kmYaYVILHA/8GGglbHKdevWqV+FHaYjOGofw811hcfZOV1fW9pxzE1wcXGJlscSq6SA+qZhJfai8nN2wNHtDhb0pt7eXoe9Qcq1lRg3hRvNkLtyytuHfAHlKVOI+UIwQxYaRolramrSmZ8LhLefJIAnRmKVSFUAHbiq8yeqNRpGiWE5XlXKs5WWlZUthu3/SHh+voxVqlKnEEuYRvTPee5czjKjxDCr2bMVnYNF9IO7fRRQAokHxIuPeCig3t4YKcAeUCIYiRrcffjwYUd8fPyHzo6PwuJ4XL9+/QAWrjILOHWmDu5SAWjHa500sBSNZoibUWKGvNnuDOKbNwFPLLytITYjUteAWIuOvNbZptQxxF1ZWXnYGWuCc57TRnjzhMFbGmIyI7MpJPbAdMpEuQzsKdc/hi+jT0tLO+NoE0tTSWsjL9h58vP45qe8YppSAQqBEmaXfAy0MlbJcJ+tXqUMUMMdlpsUIuE78JYVO89mznn7LvmUh8gL+xzKknVS6hmrZLiPETNrr1npmNG3oXsg7LCKaFobx1yzKhKhBE3sFnA+mCFuI4IyBuyWzYjb/MHQh+lFN09SPIxgirxIlxhepeIWiHL41vPBFl90i4MtykOROfVXA4tAT9YJisyJP3tMu4gnA29aB2UY4V4DXg1m/FMH9gMrMSd6jwwe8PxtAPMU6JC/2/wHuyI2cMsNBRIAAAAASUVORK5CYII=);
}
.uni-audio-button.pause{
background-image:url(data:image/png;base64,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);
}
.uni-audio-right{
box-sizing:border-box;
height:65px;
margin-left:65px;
padding:11px 16.5px 13.5px 15px;
overflow:hidden;
}
.uni-audio-time{
margin-top:3.5px;
height:16.5px;
font-size:12px;
color:#888888;
float:right;
}
.uni-audio-info{
margin-right:70px;
overflow:hidden;
}
.uni-audio-name{
height:22.5px;
line-height:22.5px;
margin-bottom:3.5px;
font-size:14px;
color:#353535;
overflow:hidden;
white-space:nowrap;
text-overflow:ellipsis;
}
.uni-audio-author{
height:14.5px;
line-height:14.5px;
font-size:12px;
color:#888888;
overflow:hidden;
white-space:nowrap;
text-overflow:ellipsis;
}
uni-canvas{
width:300px;
height:150px;
display:block;
position:relative;
}
uni-canvas > canvas{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
}
uni-checkbox{
-webkit-tap-highlight-color:transparent;
display:inline-block;
cursor:pointer;
}
uni-checkbox[hidden]{
display:none;
}
uni-checkbox[disabled]{
cursor:not-allowed;
}
uni-checkbox .uni-checkbox-wrapper{
display:-webkit-inline-flex;
display:inline-flex;
-webkit-align-items:center;
align-items:center;
vertical-align:middle;
}
uni-checkbox .uni-checkbox-input{
margin-right:5px;
-webkit-appearance:none;
appearance:none;
outline:0;
border:1px solid #D1D1D1;
background-color:#FFFFFF;
border-radius:3px;
width:22px;
height:22px;
position:relative;
}
uni-checkbox:not([disabled]) .uni-checkbox-input:hover{
border-color:#007aff;
}
uni-checkbox .uni-checkbox-input.uni-checkbox-input-checked{
color:#007aff;
}
uni-checkbox .uni-checkbox-input.uni-checkbox-input-checked:before{
font:normal normal normal 14px/1 "uni";
content:"\EA08";
font-size:22px;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%, -48%) scale(0.73);
-webkit-transform:translate(-50%, -48%) scale(0.73);
}
uni-checkbox .uni-checkbox-input.uni-checkbox-input-disabled{
background-color:#E1E1E1;
}
uni-checkbox .uni-checkbox-input.uni-checkbox-input-disabled:before{
color:#ADADAD;
}
uni-checkbox-group{
display:block;
}
uni-checkbox-group[hidden]{
display:none;
}
.ql-container{
display:block;
position:relative;
box-sizing:border-box;
-webkit-user-select:text;
user-select:text;
outline:none;
overflow:hidden;
width:100%;
height:200px;
min-height:200px;
}
.ql-container[hidden]{
display:none;
}
.ql-container .ql-editor{
position:relative;
font-size:inherit;
line-height:inherit;
font-family:inherit;
min-height:inherit;
width:100%;
height:100%;
padding:0;
overflow-x:hidden;
overflow-y:auto;
-webkit-tap-highlight-color:transparent;
-webkit-touch-callout:none;
-webkit-overflow-scrolling:touch;
}
.ql-container .ql-editor::-webkit-scrollbar{
width:0 !important;
}
.ql-container .ql-editor.scroll-disabled{
overflow:hidden;
}
.ql-container .ql-image-overlay{
display:flex;
position:absolute;
box-sizing:border-box;
border:1px dashed #ccc;
justify-content:center;
align-items:center;
-webkit-user-select:none;
user-select:none;
}
.ql-container .ql-image-overlay .ql-image-size{
position:absolute;
padding:4px 8px;
text-align:center;
background-color:#fff;
color:#888;
border:1px solid #ccc;
box-sizing:border-box;
opacity:0.8;
right:4px;
top:4px;
font-size:12px;
display:inline-block;
width:auto;
}
.ql-container .ql-image-overlay .ql-image-toolbar{
position:relative;
text-align:center;
box-sizing:border-box;
background:#000;
border-radius:5px;
color:#fff;
font-size:0;
min-height:24px;
z-index:100;
}
.ql-container .ql-image-overlay .ql-image-toolbar span{
display:inline-block;
cursor:pointer;
padding:5px;
font-size:12px;
border-right:1px solid #fff;
}
.ql-container .ql-image-overlay .ql-image-toolbar span:last-child{
border-right:0;
}
.ql-container .ql-image-overlay .ql-image-toolbar span.triangle-up{
padding:0;
position:absolute;
top:-12px;
left:50%;
transform:translatex(-50%);
width:0;
height:0;
border-width:6px;
border-style:solid;
border-color:transparent transparent black transparent;
}
.ql-container .ql-image-overlay .ql-image-handle{
position:absolute;
height:12px;
width:12px;
border-radius:50%;
border:1px solid #ccc;
box-sizing:border-box;
background:#fff;
}
.ql-container img{
display:inline-block;
max-width:100%;
}
.ql-clipboard p{
margin:0;
padding:0;
}
.ql-editor{
box-sizing:border-box;
height:100%;
outline:none;
overflow-y:auto;
tab-size:4;
-moz-tab-size:4;
text-align:left;
white-space:pre-wrap;
word-wrap:break-word;
}
.ql-editor > *{
cursor:text;
}
.ql-editor p,
.ql-editor ol,
.ql-editor ul,
.ql-editor pre,
.ql-editor blockquote,
.ql-editor h1,
.ql-editor h2,
.ql-editor h3,
.ql-editor h4,
.ql-editor h5,
.ql-editor h6{
margin:0;
padding:0;
counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
}
.ql-editor ol > li,
.ql-editor ul > li{
list-style-type:none;
}
.ql-editor ul > li::before{
content:'\2022';
}
.ql-editor ul[data-checked=true],
.ql-editor ul[data-checked=false]{
pointer-events:none;
}
.ql-editor ul[data-checked=true] > li *,
.ql-editor ul[data-checked=false] > li *{
pointer-events:all;
}
.ql-editor ul[data-checked=true] > li::before,
.ql-editor ul[data-checked=false] > li::before{
color:#777;
cursor:pointer;
pointer-events:all;
}
.ql-editor ul[data-checked=true] > li::before{
content:'\2611';
}
.ql-editor ul[data-checked=false] > li::before{
content:'\2610';
}
.ql-editor li::before{
display:inline-block;
white-space:nowrap;
width:2em;
}
.ql-editor ol li{
counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
counter-increment:list-0;
}
.ql-editor ol li:before{
content:counter(list-0, decimal) '. ';
}
.ql-editor ol li.ql-indent-1{
counter-increment:list-1;
}
.ql-editor ol li.ql-indent-1:before{
content:counter(list-1, lower-alpha) '. ';
}
.ql-editor ol li.ql-indent-1{
counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
}
.ql-editor ol li.ql-indent-2{
counter-increment:list-2;
}
.ql-editor ol li.ql-indent-2:before{
content:counter(list-2, lower-roman) '. ';
}
.ql-editor ol li.ql-indent-2{
counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9;
}
.ql-editor ol li.ql-indent-3{
counter-increment:list-3;
}
.ql-editor ol li.ql-indent-3:before{
content:counter(list-3, decimal) '. ';
}
.ql-editor ol li.ql-indent-3{
counter-reset:list-4 list-5 list-6 list-7 list-8 list-9;
}
.ql-editor ol li.ql-indent-4{
counter-increment:list-4;
}
.ql-editor ol li.ql-indent-4:before{
content:counter(list-4, lower-alpha) '. ';
}
.ql-editor ol li.ql-indent-4{
counter-reset:list-5 list-6 list-7 list-8 list-9;
}
.ql-editor ol li.ql-indent-5{
counter-increment:list-5;
}
.ql-editor ol li.ql-indent-5:before{
content:counter(list-5, lower-roman) '. ';
}
.ql-editor ol li.ql-indent-5{
counter-reset:list-6 list-7 list-8 list-9;
}
.ql-editor ol li.ql-indent-6{
counter-increment:list-6;
}
.ql-editor ol li.ql-indent-6:before{
content:counter(list-6, decimal) '. ';
}
.ql-editor ol li.ql-indent-6{
counter-reset:list-7 list-8 list-9;
}
.ql-editor ol li.ql-indent-7{
counter-increment:list-7;
}
.ql-editor ol li.ql-indent-7:before{
content:counter(list-7, lower-alpha) '. ';
}
.ql-editor ol li.ql-indent-7{
counter-reset:list-8 list-9;
}
.ql-editor ol li.ql-indent-8{
counter-increment:list-8;
}
.ql-editor ol li.ql-indent-8:before{
content:counter(list-8, lower-roman) '. ';
}
.ql-editor ol li.ql-indent-8{
counter-reset:list-9;
}
.ql-editor ol li.ql-indent-9{
counter-increment:list-9;
}
.ql-editor ol li.ql-indent-9:before{
content:counter(list-9, decimal) '. ';
}
.ql-editor .ql-indent-1:not(.ql-direction-rtl){
padding-left:2em;
}
.ql-editor li.ql-indent-1:not(.ql-direction-rtl){
padding-left:2em;
}
.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{
padding-right:2em;
}
.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{
padding-right:2em;
}
.ql-editor .ql-indent-2:not(.ql-direction-rtl){
padding-left:4em;
}
.ql-editor li.ql-indent-2:not(.ql-direction-rtl){
padding-left:4em;
}
.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{
padding-right:4em;
}
.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{
padding-right:4em;
}
.ql-editor .ql-indent-3:not(.ql-direction-rtl){
padding-left:6em;
}
.ql-editor li.ql-indent-3:not(.ql-direction-rtl){
padding-left:6em;
}
.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{
padding-right:6em;
}
.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{
padding-right:6em;
}
.ql-editor .ql-indent-4:not(.ql-direction-rtl){
padding-left:8em;
}
.ql-editor li.ql-indent-4:not(.ql-direction-rtl){
padding-left:8em;
}
.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{
padding-right:8em;
}
.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{
padding-right:8em;
}
.ql-editor .ql-indent-5:not(.ql-direction-rtl){
padding-left:10em;
}
.ql-editor li.ql-indent-5:not(.ql-direction-rtl){
padding-left:10em;
}
.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{
padding-right:10em;
}
.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{
padding-right:10em;
}
.ql-editor .ql-indent-6:not(.ql-direction-rtl){
padding-left:12em;
}
.ql-editor li.ql-indent-6:not(.ql-direction-rtl){
padding-left:12em;
}
.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{
padding-right:12em;
}
.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{
padding-right:12em;
}
.ql-editor .ql-indent-7:not(.ql-direction-rtl){
padding-left:14em;
}
.ql-editor li.ql-indent-7:not(.ql-direction-rtl){
padding-left:14em;
}
.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{
padding-right:14em;
}
.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{
padding-right:14em;
}
.ql-editor .ql-indent-8:not(.ql-direction-rtl){
padding-left:16em;
}
.ql-editor li.ql-indent-8:not(.ql-direction-rtl){
padding-left:16em;
}
.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{
padding-right:16em;
}
.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{
padding-right:16em;
}
.ql-editor .ql-indent-9:not(.ql-direction-rtl){
padding-left:18em;
}
.ql-editor li.ql-indent-9:not(.ql-direction-rtl){
padding-left:18em;
}
.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{
padding-right:18em;
}
.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{
padding-right:18em;
}
.ql-editor .ql-direction-rtl{
direction:rtl;
text-align:inherit;
}
.ql-editor .ql-align-center{
text-align:center;
}
.ql-editor .ql-align-justify{
text-align:justify;
}
.ql-editor .ql-align-right{
text-align:right;
}
.ql-editor.ql-blank::before{
color:rgba(0, 0, 0, 0.6);
content:attr(data-placeholder);
font-style:italic;
pointer-events:none;
position:absolute;
}
.ql-container.ql-disabled .ql-editor ul[data-checked] > li::before{
pointer-events:none;
}
.ql-clipboard{
left:-100000px;
height:1px;
overflow-y:hidden;
position:absolute;
top:50%;
}
uni-icon{
display:inline-block;
font-size:0;
box-sizing:border-box;
}
uni-icon[hidden]{
display:none;
}
uni-icon > i{
font:normal normal normal 14px/1 'weui';
}
uni-icon > i:before{
margin:0;
box-sizing:border-box;
}
@font-face{
font-weight:normal;
font-style:normal;
font-family:'weui';
src:url('data:application/octet-stream;base64,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')
format('truetype');
}
.uni-icon-success:before{
content:'\EA06';
}
.uni-icon-success_circle:before{
content:'\EA07';
}
.uni-icon-success_no_circle:before{
content:'\EA08';
}
.uni-icon-safe_success:before{
content:'\EA04';
}
.uni-icon-safe_warn:before{
content:'\EA05';
}
.uni-icon-info:before{
content:'\EA03';
}
.uni-icon-info_circle:before{
content:'\EA0C';
}
.uni-icon-warn:before{
content:'\EA0B';
}
.uni-icon-waiting:before{
content:'\EA09';
}
.uni-icon-waiting_circle:before{
content:'\EA0A';
}
.uni-icon-circle:before{
content:'\EA01';
}
.uni-icon-cancel:before{
content:'\EA0D';
}
.uni-icon-download:before{
content:'\EA02';
}
.uni-icon-search:before{
content:'\EA0E';
}
.uni-icon-clear:before{
content:'\EA0F';
}
.uni-icon-success{
color:#007aff;
}
.uni-icon-success_circle{
color:#007aff;
}
.uni-icon-success_no_circle{
color:#007aff;
}
.uni-icon-safe_success{
color:#007aff;
}
.uni-icon-safe_warn{
color:#ffbe00;
}
.uni-icon-info{
color:#10aeff;
}
.uni-icon-info_circle{
color:#007aff;
}
.uni-icon-warn{
color:#f76260;
}
.uni-icon-waiting{
color:#10aeff;
}
.uni-icon-waiting_circle{
color:#10aeff;
}
.uni-icon-circle{
color:#c9c9c9;
}
.uni-icon-cancel{
color:#f43530;
}
.uni-icon-download{
color:#007aff;
}
.uni-icon-search{
color:#b2b2b2;
}
.uni-icon-clear{
color:#b2b2b2;
}
uni-image{
width:320px;
height:240px;
display:inline-block;
overflow:hidden;
position:relative;
}
uni-image[hidden]{
display:none;
}
uni-image>div{
width:100%;
height:100%;
}
uni-image>img{
-webkit-touch-callout:none;
-webkit-user-select:none;
-moz-user-select:none;
display:block;
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
opacity:0;
}
uni-image>.uni-image-will-change{
will-change:transform;
}
uni-input{
display:block;
font-size:16px;
line-height:1.4em;
height:1.4em;
min-height:1.4em;
overflow:hidden;
}
uni-input[hidden]{
display:none;
}
.uni-input-wrapper,
.uni-input-placeholder,
.uni-input-form,
.uni-input-input{
outline:none;
border:none;
padding:0;
margin:0;
text-decoration:inherit;
}
.uni-input-wrapper,
.uni-input-form{
display:flex;
position:relative;
width:100%;
height:100%;
flex-direction:column;
justify-content:center;
}
.uni-input-placeholder,
.uni-input-input{
width:100%;
}
.uni-input-placeholder{
position:absolute;
top:auto !important;
left:0;
color:gray;
overflow:hidden;
text-overflow:clip;
white-space:pre;
word-break:keep-all;
pointer-events:none;
line-height:inherit;
}
.uni-input-input{
display:block;
height:100%;
background:none;
color:inherit;
opacity:1;
-webkit-text-fill-color:currentcolor;
font:inherit;
line-height:inherit;
letter-spacing:inherit;
text-align:inherit;
text-indent:inherit;
text-transform:inherit;
text-shadow:inherit;
}
.uni-input-input[type="search"]::-webkit-search-cancel-button{
display:none;
}
.uni-input-input::-webkit-outer-spin-button,
.uni-input-input::-webkit-inner-spin-button{
-webkit-appearance:none;
margin:0;
}
.uni-input-input[type="number"]{
-moz-appearance:textfield;
}
.uni-label-pointer{
cursor:pointer;
}
uni-movable-view{
display:inline-block;
width:10px;
height:10px;
top:0px;
left:0px;
position:absolute;
cursor:grab;
}
uni-movable-view[hidden]{
display:none;
}
uni-navigator{
height:auto;
width:auto;
display:block;
cursor:pointer;
}
uni-navigator[hidden]{
display:none;
}
.navigator-hover{
background-color:rgba(0, 0, 0, 0.1);
opacity:0.7;
}
uni-progress{
display:-webkit-flex;
display:flex;
-webkit-align-items:center;
align-items:center;
}
uni-progress[hidden]{
display:none;
}
.uni-progress-bar{
-webkit-flex:1;
flex:1;
}
.uni-progress-inner-bar{
width:0;
height:100%;
}
.uni-progress-info{
margin-top:0;
margin-bottom:0;
min-width:2em;
margin-left:15px;
font-size:16px;
}
uni-radio{
-webkit-tap-highlight-color:transparent;
display:inline-block;
cursor:pointer;
}
uni-radio[hidden]{
display:none;
}
uni-radio[disabled]{
cursor:not-allowed;
}
uni-radio .uni-radio-wrapper{
display:-webkit-inline-flex;
display:inline-flex;
-webkit-align-items:center;
align-items:center;
vertical-align:middle;
}
uni-radio .uni-radio-input{
-webkit-appearance:none;
appearance:none;
margin-right:5px;
outline:0;
border:1px solid #D1D1D1;
background-color:#ffffff;
border-radius:50%;
width:22px;
height:22px;
position:relative;
}
uni-radio:not([disabled]) .uni-radio-input:hover{
border-color:#007aff;
}
uni-radio .uni-radio-input.uni-radio-input-checked:before{
font:normal normal normal 14px/1 "uni";
content:"\EA08";
color:#ffffff;
font-size:18px;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%, -48%) scale(0.73);
-webkit-transform:translate(-50%, -48%) scale(0.73);
}
uni-radio .uni-radio-input.uni-radio-input-disabled{
background-color:#E1E1E1;
border-color:#D1D1D1;
}
uni-radio .uni-radio-input.uni-radio-input-disabled:before{
color:#ADADAD;
}
uni-radio-group{
display:block;
}
uni-radio-group[hidden]{
display:none;
}
@keyframes once-show{
from{
top:0;
}
}
uni-resize-sensor,
uni-resize-sensor > div{
position:absolute;
left:0;
top:0;
right:0;
bottom:0;
overflow:hidden;
}
uni-resize-sensor{
display:block;
z-index:-1;
visibility:hidden;
animation:once-show 1ms;
}
uni-resize-sensor > div > div{
position:absolute;
left:0;
top:0;
}
uni-resize-sensor > div:first-child > div{
width:100000px;
height:100000px;
}
uni-resize-sensor > div:last-child > div{
width:200%;
height:200%;
}
uni-scroll-view{
display:block;
width:100%;
}
uni-scroll-view[hidden]{
display:none;
}
.uni-scroll-view{
position:relative;
-webkit-overflow-scrolling:touch;
width:100%;
height:100%;
max-height:inherit;
}
.uni-scroll-view-content{
width:100%;
height:100%;
}
.uni-scroll-view-refresher{
position:relative;
overflow:hidden;
}
.uni-scroll-view-refresh{
position:absolute;
top:0;
left:0;
right:0;
bottom:0;
display:flex;
flex-direction:row;
justify-content:center;
align-items:center;
}
.uni-scroll-view-refresh-inner{
display:flex;
align-items:center;
justify-content:center;
line-height:0;
width:40px;
height:40px;
border-radius:50%;
background-color:#fff;
box-shadow:0 1px 6px rgba(0, 0, 0, 0.117647),
0 1px 4px rgba(0, 0, 0, 0.117647);
}
.uni-scroll-view-refresh__spinner{
transform-origin:center center;
animation:uni-scroll-view-refresh-rotate 2s linear infinite;
}
.uni-scroll-view-refresh__spinner > circle{
stroke:currentColor;
stroke-linecap:round;
animation:uni-scroll-view-refresh-dash 2s linear infinite;
}
@keyframes uni-scroll-view-refresh-rotate{
0%{
transform:rotate(0deg);
}
100%{
transform:rotate(360deg);
}
}
@keyframes uni-scroll-view-refresh-dash{
0%{
stroke-dasharray:1, 200;
stroke-dashoffset:0;
}
50%{
stroke-dasharray:89, 200;
stroke-dashoffset:-35px;
}
100%{
stroke-dasharray:89, 200;
stroke-dashoffset:-124px;
}
}
uni-slider{
margin:10px 18px;
padding:0;
display:block;
}
uni-slider[hidden]{
display:none;
}
uni-slider .uni-slider-wrapper{
display:-webkit-flex;
display:flex;
-webkit-align-items:center;
align-items:center;
min-height:16px;
}
uni-slider .uni-slider-tap-area{
-webkit-flex:1;
flex:1;
padding:8px 0;
}
uni-slider .uni-slider-handle-wrapper{
position:relative;
height:2px;
border-radius:5px;
background-color:#e9e9e9;
cursor:pointer;
transition:background-color 0.3s ease;
-webkit-tap-highlight-color:transparent;
}
uni-slider .uni-slider-track{
height:100%;
border-radius:6px;
background-color:#007aff;
transition:background-color 0.3s ease;
}
uni-slider .uni-slider-handle,
uni-slider .uni-slider-thumb{
position:absolute;
left:50%;
top:50%;
cursor:pointer;
border-radius:50%;
transition:border-color 0.3s ease;
}
uni-slider .uni-slider-handle{
width:28px;
height:28px;
margin-top:-14px;
margin-left:-14px;
background-color:transparent;
z-index:3;
cursor:grab;
}
uni-slider .uni-slider-thumb{
z-index:2;
box-shadow:0 0 4px rgba(0, 0, 0, 0.2);
}
uni-slider .uni-slider-step{
position:absolute;
width:100%;
height:2px;
background:transparent;
z-index:1;
}
uni-slider .uni-slider-value{
color:#888;
font-size:14px;
margin-left:1em;
}
uni-slider .uni-slider-disabled .uni-slider-track{
background-color:#ccc;
}
uni-slider .uni-slider-disabled .uni-slider-thumb{
background-color:#FFF;
border-color:#ccc;
}
uni-swiper-item{
display:block;
overflow:hidden;
will-change:transform;
position:absolute;
width:100%;
height:100%;
cursor:grab;
}
uni-swiper-item[hidden]{
display:none;
}
uni-switch{
-webkit-tap-highlight-color:transparent;
display:inline-block;
cursor:pointer;
}
uni-switch[hidden]{
display:none;
}
uni-switch[disabled]{
cursor:not-allowed;
}
uni-switch .uni-switch-wrapper{
display:-webkit-inline-flex;
display:inline-flex;
-webkit-align-items:center;
align-items:center;
vertical-align:middle;
}
uni-switch .uni-switch-input{
-webkit-appearance:none;
appearance:none;
position:relative;
width:52px;
height:32px;
margin-right:5px;
border:1px solid #DFDFDF;
outline:0;
border-radius:16px;
box-sizing:border-box;
background-color:#DFDFDF;
transition:background-color 0.1s, border 0.1s;
}
uni-switch[disabled] .uni-switch-input{
opacity:.7;
}
uni-switch .uni-switch-input:before{
content:" ";
position:absolute;
top:0;
left:0;
width:50px;
height:30px;
border-radius:15px;
background-color:#FDFDFD;
transition:-webkit-transform 0.3s;
transition:transform 0.3s;
transition:transform 0.3s, -webkit-transform 0.3s;
}
uni-switch .uni-switch-input:after{
content:" ";
position:absolute;
top:0;
left:0;
width:30px;
height:30px;
border-radius:15px;
background-color:#FFFFFF;
box-shadow:0 1px 3px rgba(0, 0, 0, 0.4);
transition:-webkit-transform 0.3s;
transition:transform 0.3s;
transition:transform 0.3s, -webkit-transform 0.3s;
}
uni-switch .uni-switch-input.uni-switch-input-checked{
border-color:#007aff;
background-color:#007aff;
}
uni-switch .uni-switch-input.uni-switch-input-checked:before{
-webkit-transform:scale(0);
transform:scale(0);
}
uni-switch .uni-switch-input.uni-switch-input-checked:after{
-webkit-transform:translateX(20px);
transform:translateX(20px);
}
uni-switch .uni-checkbox-input{
margin-right:5px;
-webkit-appearance:none;
appearance:none;
outline:0;
border:1px solid #D1D1D1;
background-color:#FFFFFF;
border-radius:3px;
width:22px;
height:22px;
position:relative;
color:#007aff;
}
uni-switch:not([disabled]) .uni-checkbox-input:hover{
border-color:#007aff;
}
uni-switch .uni-checkbox-input.uni-checkbox-input-checked:before{
font:normal normal normal 14px/1 "uni";
content:"\EA08";
color:inherit;
font-size:22px;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%, -48%) scale(0.73);
-webkit-transform:translate(-50%, -48%) scale(0.73);
}
uni-switch .uni-checkbox-input.uni-checkbox-input-disabled{
background-color:#E1E1E1;
}
uni-switch .uni-checkbox-input.uni-checkbox-input-disabled:before{
color:#ADADAD;
}
uni-textarea{
width:300px;
height:150px;
display:block;
position:relative;
font-size:16px;
line-height:normal;
white-space:pre-wrap;
word-break:break-all;
}
uni-textarea[hidden]{
display:none;
}
.uni-textarea-wrapper,
.uni-textarea-placeholder,
.uni-textarea-line,
.uni-textarea-compute,
.uni-textarea-textarea{
outline:none;
border:none;
padding:0;
margin:0;
text-decoration:inherit;
}
.uni-textarea-wrapper{
display:block;
position:relative;
width:100%;
height:100%;
}
.uni-textarea-placeholder,
.uni-textarea-line,
.uni-textarea-compute,
.uni-textarea-textarea{
position:absolute;
width:100%;
height:100%;
left:0;
top:0;
white-space:inherit;
word-break:inherit;
}
.uni-textarea-placeholder{
color:grey;
overflow:hidden;
}
.uni-textarea-line,
.uni-textarea-compute{
visibility:hidden;
height:auto;
}
.uni-textarea-line{
width:1em;
}
.uni-textarea-textarea{
resize:none;
background:none;
color:inherit;
opacity:1;
-webkit-text-fill-color:currentcolor;
font:inherit;
line-height:inherit;
letter-spacing:inherit;
text-align:inherit;
text-indent:inherit;
text-transform:inherit;
text-shadow:inherit;
}
.uni-textarea-textarea-fix-margin{
width:auto;
right:0;
margin:0 -3px;
}
uni-view{
display:block;
}
uni-view[hidden]{
display:none;
}
uni-audio{
display:none;
}
uni-audio[controls]{
display:inline-block;
}
uni-audio[hidden]{
display:none;
}
.uni-audio-default{
max-width:100%;
min-width:302px;
height:65px;
background:#fcfcfc;
border:1px solid #e0e0e0;
border-radius:2.5px;
display:inline-block;
overflow:hidden;
}
.uni-audio-left{
width:65px;
height:65px;
float:left;
background-color:#e6e6e6;
background-size:100% 100%;
background-position:50% 50%;
}
.uni-audio-button{
width:24px;
height:24px;
margin:20.5px;
background-size:cover;
}
.uni-audio-button.play{
background-image:url(data:image/png;base64,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);
}
.uni-audio-button.pause{
background-image:url(data:image/png;base64,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);
}
.uni-audio-right{
box-sizing:border-box;
height:65px;
margin-left:65px;
padding:11px 16.5px 13.5px 15px;
overflow:hidden;
}
.uni-audio-time{
margin-top:3.5px;
height:16.5px;
font-size:12px;
color:#888888;
float:right;
}
.uni-audio-info{
margin-right:70px;
overflow:hidden;
}
.uni-audio-name{
height:22.5px;
line-height:22.5px;
margin-bottom:3.5px;
font-size:14px;
color:#353535;
overflow:hidden;
white-space:nowrap;
text-overflow:ellipsis;
}
.uni-audio-author{
height:14.5px;
line-height:14.5px;
font-size:12px;
color:#888888;
overflow:hidden;
white-space:nowrap;
text-overflow:ellipsis;
}
import {isFunction} from "@vue/shared";
import {openBlock, createBlock, mergeProps, createVNode, toDisplayString} from "vue";
var subscriber = {
mounted() {
this._toggleListeners("subscribe", this.id);
this.$watch("id", (newId, oldId) => {
this._toggleListeners("unsubscribe", oldId, true);
this._toggleListeners("subscribe", newId, true);
});
},
beforeDestroy() {
this._toggleListeners("unsubscribe", this.id);
if (this._contextId) {
this._toggleListeners("unsubscribe", this._contextId);
}
},
methods: {
_toggleListeners(type, id, watch) {
if (watch && !id) {
return;
}
if (!isFunction(this._handleSubscribe)) {
return;
}
UniViewJSBridge[type](this.$page.id + "-" + this.$options.name.replace(/VUni([A-Z])/, "$1").toLowerCase() + "-" + id, this._handleSubscribe);
},
_getContextInfo() {
const id = `context-${this._uid}`;
if (!this._contextId) {
this._toggleListeners("subscribe", id);
this._contextId = id;
}
return {
name: this.$options.name.replace(/VUni([A-Z])/, "$1").toLowerCase(),
id,
page: this.$page.id
};
}
}
};
var script = {
name: "Audio",
mixins: [subscriber],
props: {
id: {
type: String,
default: ""
},
src: {
type: String,
default: ""
},
loop: {
type: [Boolean, String],
default: false
},
controls: {
type: [Boolean, String],
default: false
},
poster: {
type: String,
default: ""
},
name: {
type: String,
default: ""
},
author: {
type: String,
default: ""
}
},
data() {
return {
playing: false,
currentTime: this.getTime(0)
};
},
watch: {
src(val) {
if (this.$refs.audio) {
this.$refs.audio.src = this.$getRealPath(val);
}
}
},
mounted() {
const audio = this.$refs.audio;
audio.addEventListener("error", ($event) => {
this.playing = false;
this.$trigger("error", $event, {});
});
audio.addEventListener("play", ($event) => {
this.playing = true;
this.$trigger("play", $event, {});
});
audio.addEventListener("pause", ($event) => {
this.playing = false;
this.$trigger("pause", $event, {});
});
audio.addEventListener("ended", ($event) => {
this.playing = false;
this.$trigger("ended", $event, {});
});
audio.addEventListener("timeupdate", ($event) => {
var currentTime = audio.currentTime;
this.currentTime = this.getTime(currentTime);
var duration = audio.duration;
this.$trigger("timeupdate", $event, {
currentTime,
duration
});
});
audio.src = this.$getRealPath(this.src);
},
methods: {
_handleSubscribe({
type,
data = {}
}) {
var audio = this.$refs.audio;
switch (type) {
case "setSrc":
audio.src = this.$getRealPath(data.src);
this.$emit("update:src", data.src);
break;
case "play":
audio.play();
break;
case "pause":
audio.pause();
break;
case "seek":
audio.currentTime = data.position;
break;
}
},
trigger() {
if (this.playing) {
this.$refs.audio.pause();
} else {
this.$refs.audio.play();
}
},
getTime(time) {
var h = Math.floor(time / 3600);
var m = Math.floor(time % 3600 / 60);
var s = Math.floor(time % 3600 % 60);
h = (h < 10 ? "0" : "") + h;
m = (m < 10 ? "0" : "") + m;
s = (s < 10 ? "0" : "") + s;
var str = m + ":" + s;
if (h !== "00") {
str = h + ":" + str;
}
return str;
}
}
};
const _hoisted_1 = {class: "uni-audio-default"};
const _hoisted_2 = {class: "uni-audio-right"};
const _hoisted_3 = {class: "uni-audio-time"};
const _hoisted_4 = {class: "uni-audio-info"};
const _hoisted_5 = {class: "uni-audio-name"};
const _hoisted_6 = {class: "uni-audio-author"};
function render(_ctx, _cache, $props, $setup, $data, $options) {
return openBlock(), createBlock("uni-audio", mergeProps({
id: $props.id,
controls: !!$props.controls
}, _ctx.$attrs), [
createVNode("audio", {
ref: "audio",
loop: $props.loop,
style: {display: "none"}
}, null, 8, ["loop"]),
createVNode("div", _hoisted_1, [
createVNode("div", {
style: "background-image: url(" + _ctx.$getRealPath($props.poster) + ");",
class: "uni-audio-left"
}, [
createVNode("div", {
class: [{play: !$data.playing, pause: $data.playing}, "uni-audio-button"],
onClick: _cache[1] || (_cache[1] = (...args) => $options.trigger && $options.trigger(...args))
}, null, 2)
], 4),
createVNode("div", _hoisted_2, [
createVNode("div", _hoisted_3, toDisplayString($data.currentTime), 1),
createVNode("div", _hoisted_4, [
createVNode("div", _hoisted_5, toDisplayString($props.name), 1),
createVNode("div", _hoisted_6, toDisplayString($props.author), 1)
])
])
])
], 16, ["id", "controls"]);
}
script.render = render;
export default script;
......@@ -2,12 +2,7 @@
"private": true,
"name": "@dcloudio/uni-components",
"version": "3.0.0",
"main": "dist/uni-components.esm.js",
"module": "dist/uni-components.esm.js",
"description": "@dcloudio/uni-components",
"sideEffects": [
"dist/uni-components.css"
],
"buildOptions": {
"bundler": "vite"
},
......
......@@ -162,94 +162,3 @@ export default {
}
}
</script>
<style>
uni-audio {
display: none;
}
uni-audio[controls] {
display: inline-block;
}
uni-audio[hidden] {
display: none;
}
.uni-audio-default {
max-width: 100%;
min-width: 302px;
height: 65px;
background: #fcfcfc;
border: 1px solid #e0e0e0;
border-radius: 2.5px;
display: inline-block;
overflow: hidden;
}
.uni-audio-left {
width: 65px;
height: 65px;
float: left;
background-color: #e6e6e6;
background-size: 100% 100%;
background-position: 50% 50%;
}
.uni-audio-button {
width: 24px;
height: 24px;
margin: 20.5px;
background-size: cover;
}
.uni-audio-button.play {
background-image: url(data:image/png;base64,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);
}
.uni-audio-button.pause {
background-image: url(data:image/png;base64,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);
}
.uni-audio-right {
box-sizing: border-box;
height: 65px;
margin-left: 65px;
padding: 11px 16.5px 13.5px 15px;
overflow: hidden;
}
.uni-audio-time {
margin-top: 3.5px;
height: 16.5px;
font-size: 12px;
color: #888888;
float: right;
}
.uni-audio-info {
margin-right: 70px;
overflow: hidden;
}
.uni-audio-name {
height: 22.5px;
line-height: 22.5px;
margin-bottom: 3.5px;
font-size: 14px;
color: #353535;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.uni-audio-author {
height: 14.5px;
line-height: 14.5px;
font-size: 12px;
color: #888888;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
</style>
......@@ -157,273 +157,4 @@ export default {
'@label-click': '_onClick'
}
}
</script>
<style>
uni-button {
position: relative;
display: block;
margin-left: auto;
margin-right: auto;
padding-left: 14px;
padding-right: 14px;
box-sizing: border-box;
font-size: 18px;
text-align: center;
text-decoration: none;
line-height: 2.55555556;
border-radius: 5px;
-webkit-tap-highlight-color: transparent;
overflow: hidden;
color: #000000;
background-color: #f8f8f8;
cursor: pointer;
}
uni-button[hidden] {
display: none !important;
}
uni-button:after {
content: ' ';
width: 200%;
height: 200%;
position: absolute;
top: 0;
left: 0;
border: 1px solid rgba(0, 0, 0, 0.2);
-webkit-transform: scale(0.5);
transform: scale(0.5);
-webkit-transform-origin: 0 0;
transform-origin: 0 0;
box-sizing: border-box;
border-radius: 10px;
}
uni-button[native] {
padding-left: 0;
padding-right: 0;
}
uni-button[native] .uni-button-cover-view-wrapper {
border: inherit;
border-color: inherit;
border-radius: inherit;
background-color: inherit;
}
uni-button[native] .uni-button-cover-view-inner {
padding-left: 14px;
padding-right: 14px;
}
uni-button uni-cover-view {
line-height: inherit;
white-space: inherit;
}
uni-button[type='default'] {
color: #000000;
background-color: #f8f8f8;
}
uni-button[type='primary'] {
color: #ffffff;
background-color: #007aff;
}
uni-button[type='warn'] {
color: #ffffff;
background-color: #e64340;
}
uni-button[disabled] {
color: rgba(255, 255, 255, 0.6);
cursor: not-allowed;
}
uni-button[disabled][type='default'],
uni-button[disabled]:not([type]) {
color: rgba(0, 0, 0, 0.3);
background-color: #f7f7f7;
}
uni-button[disabled][type='primary'] {
background-color: rgba(0, 122, 255, 0.6);
}
uni-button[disabled][type='warn'] {
background-color: #ec8b89;
}
uni-button[type='primary'][plain] {
color: #007aff;
border: 1px solid #007aff;
background-color: transparent;
}
uni-button[type='primary'][plain][disabled] {
color: rgba(0, 0, 0, 0.2);
border-color: rgba(0, 0, 0, 0.2);
}
uni-button[type='primary'][plain]:after {
border-width: 0;
}
uni-button[type='default'][plain] {
color: #353535;
border: 1px solid #353535;
background-color: transparent;
}
uni-button[type='default'][plain][disabled] {
color: rgba(0, 0, 0, 0.2);
border-color: rgba(0, 0, 0, 0.2);
}
uni-button[type='default'][plain]:after {
border-width: 0;
}
uni-button[plain] {
color: #353535;
border: 1px solid #353535;
background-color: transparent;
}
uni-button[plain][disabled] {
color: rgba(0, 0, 0, 0.2);
border-color: rgba(0, 0, 0, 0.2);
}
uni-button[plain]:after {
border-width: 0;
}
uni-button[plain][native] .uni-button-cover-view-inner {
padding: 0;
}
uni-button[type='warn'][plain] {
color: #e64340;
border: 1px solid #e64340;
background-color: transparent;
}
uni-button[type='warn'][plain][disabled] {
color: rgba(0, 0, 0, 0.2);
border-color: rgba(0, 0, 0, 0.2);
}
uni-button[type='warn'][plain]:after {
border-width: 0;
}
uni-button[size='mini'] {
display: inline-block;
line-height: 2.3;
font-size: 13px;
padding: 0 1.34em;
}
uni-button[size='mini'][native] {
padding: 0;
}
uni-button[size='mini'][native] .uni-button-cover-view-inner {
padding: 0 1.34em;
}
uni-button[loading]:not([disabled]) {
cursor: progress;
}
uni-button[loading]:before {
content: ' ';
display: inline-block;
width: 18px;
height: 18px;
vertical-align: middle;
-webkit-animation: uni-loading 1s steps(12, end) infinite;
animation: uni-loading 1s steps(12, end) infinite;
background-size: 100%;
}
uni-button[loading][type='primary'] {
color: rgba(255, 255, 255, 0.6);
background-color: #0062cc;
}
uni-button[loading][type='primary'][plain] {
color: #007aff;
background-color: transparent;
}
uni-button[loading][type='default'] {
color: rgba(0, 0, 0, 0.6);
background-color: #dedede;
}
uni-button[loading][type='default'][plain] {
color: #353535;
background-color: transparent;
}
uni-button[loading][type='warn'] {
color: rgba(255, 255, 255, 0.6);
background-color: #ce3c39;
}
uni-button[loading][type='warn'][plain] {
color: #e64340;
background-color: transparent;
}
uni-button[loading][native]:before {
content: none;
}
.button-hover {
color: rgba(0, 0, 0, 0.6);
background-color: #dedede;
}
.button-hover[plain] {
color: rgba(53, 53, 53, 0.6);
border-color: rgba(53, 53, 53, 0.6);
background-color: transparent;
}
.button-hover[type='primary'] {
color: rgba(255, 255, 255, 0.6);
background-color: #0062cc;
}
.button-hover[type='primary'][plain] {
color: rgba(26, 173, 25, 0.6);
border-color: rgba(26, 173, 25, 0.6);
background-color: transparent;
}
.button-hover[type='default'] {
color: rgba(0, 0, 0, 0.6);
background-color: #dedede;
}
.button-hover[type='default'][plain] {
color: rgba(53, 53, 53, 0.6);
border-color: rgba(53, 53, 53, 0.6);
background-color: transparent;
}
.button-hover[type='warn'] {
color: rgba(255, 255, 255, 0.6);
background-color: #ce3c39;
}
.button-hover[type='warn'][plain] {
color: rgba(230, 67, 64, 0.6);
border-color: rgba(230, 67, 64, 0.6);
background-color: transparent;
}
</style>
</script>
\ No newline at end of file
......@@ -95,71 +95,4 @@ export default {
}
}
}
</script>
<style>
uni-checkbox {
-webkit-tap-highlight-color: transparent;
display: inline-block;
cursor: pointer;
}
uni-checkbox[hidden] {
display: none;
}
uni-checkbox[disabled] {
cursor: not-allowed;
}
uni-checkbox .uni-checkbox-wrapper {
display: -webkit-inline-flex;
display: inline-flex;
-webkit-align-items: center;
align-items: center;
vertical-align: middle;
}
uni-checkbox .uni-checkbox-input {
margin-right: 5px;
-webkit-appearance: none;
appearance: none;
outline: 0;
border: 1px solid #D1D1D1;
background-color: #FFFFFF;
border-radius: 3px;
width: 22px;
height: 22px;
position: relative;
}
uni-checkbox:not([disabled]) .uni-checkbox-input:hover {
border-color: #007aff;
}
uni-checkbox .uni-checkbox-input.uni-checkbox-input-checked {
color: #007aff;
}
uni-checkbox .uni-checkbox-input.uni-checkbox-input-checked:before {
font: normal normal normal 14px/1 "uni";
content: "\EA08";
font-size: 22px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -48%) scale(0.73);
-webkit-transform: translate(-50%, -48%) scale(0.73);
}
uni-checkbox .uni-checkbox-input.uni-checkbox-input-disabled {
background-color: #E1E1E1;
}
uni-checkbox .uni-checkbox-input.uni-checkbox-input-disabled:before {
color: #ADADAD;
}
uni-checkbox-group {
display: block;
}
</style>
</script>
\ No newline at end of file
......@@ -125,33 +125,3 @@ export default {
}
}
</script>
<style>
uni-progress {
display: -webkit-flex;
display: flex;
-webkit-align-items: center;
align-items: center;
}
uni-progress[hidden] {
display: none;
}
.uni-progress-bar {
-webkit-flex: 1;
flex: 1;
}
.uni-progress-inner-bar {
width: 0;
height: 100%;
}
.uni-progress-info {
margin-top: 0;
margin-bottom: 0;
min-width: 2em;
margin-left: 15px;
font-size: 16px;
}
</style>
......@@ -206,93 +206,3 @@ export default {
}
}
</script>
<style>
uni-slider {
margin: 10px 18px;
padding: 0;
display: block;
}
uni-slider[hidden] {
display: none;
}
uni-slider .uni-slider-wrapper {
display: -webkit-flex;
display: flex;
-webkit-align-items: center;
align-items: center;
min-height: 16px;
}
uni-slider .uni-slider-tap-area {
-webkit-flex: 1;
flex: 1;
padding: 8px 0;
}
uni-slider .uni-slider-handle-wrapper {
position: relative;
height: 2px;
border-radius: 5px;
background-color: #e9e9e9;
cursor: pointer;
transition: background-color 0.3s ease;
-webkit-tap-highlight-color: transparent;
}
uni-slider .uni-slider-track {
height: 100%;
border-radius: 6px;
background-color: #007aff;
transition: background-color 0.3s ease;
}
uni-slider .uni-slider-handle,
uni-slider .uni-slider-thumb {
position: absolute;
left: 50%;
top: 50%;
cursor: pointer;
border-radius: 50%;
transition: border-color 0.3s ease;
}
uni-slider .uni-slider-handle {
width: 28px;
height: 28px;
margin-top: -14px;
margin-left: -14px;
background-color: transparent;
z-index: 3;
cursor: grab;
}
uni-slider .uni-slider-thumb {
z-index: 2;
box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
}
uni-slider .uni-slider-step {
position: absolute;
width: 100%;
height: 2px;
background: transparent;
z-index: 1;
}
uni-slider .uni-slider-value {
color: #888;
font-size: 14px;
margin-left: 1em;
}
uni-slider .uni-slider-disabled .uni-slider-track {
background-color: #ccc;
}
uni-slider .uni-slider-disabled .uni-slider-thumb {
background-color: #FFF;
border-color: #ccc;
}
</style>
uni-audio {
display: none;
}
uni-audio[controls] {
display: inline-block;
}
uni-audio[hidden] {
display: none;
}
.uni-audio-default {
max-width: 100%;
min-width: 302px;
height: 65px;
background: #fcfcfc;
border: 1px solid #e0e0e0;
border-radius: 2.5px;
display: inline-block;
overflow: hidden;
}
.uni-audio-left {
width: 65px;
height: 65px;
float: left;
background-color: #e6e6e6;
background-size: 100% 100%;
background-position: 50% 50%;
}
.uni-audio-button {
width: 24px;
height: 24px;
margin: 20.5px;
background-size: cover;
}
.uni-audio-button.play {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAB4dJREFUaAXNWg1MlVUYvpcfIRCJ+MnCaOBl8dOcOCEQZ9kmI5cQG5Yb6MifKbMaGVobOtlibTWHDpgpxBUwF07826iFsMkYJhg559JdGiQSkUzSBA0QkZ7n4/u+nXsvwf3jwru99/y/3/N+3znvec97rlbjABofH38GYtaAV4MjwDqwH9gHTBoE3wd3gA3gi+B6rVY7hHR2CKD9wFngs+BHYGuJYziWMqiscwgP8wLvBQ+AHUWURZle1mqhtXQAhLui7xZwPvgFsBENDg7+Drp069at2z09Pf03b978u6mpqZ+dVq1aFRAVFeW/aNGigNDQ0JfDwsISfXx8wowETBT+QpIPLsf0GpuomvrXIgUAPhhizoGXi+II+tq1az/o9fpLFRUVd8S26fJZWVkLN2/enBgTE/PW/PnzF5v0b0P5HSjxp0m9WXFaBQD+NYw6C1bf+vDwcF9DQ4N+/fr19ciPm0m1osLT01N76tSpNaD3PTw8FgpD+TXSoESrUGeWnVIBgM/EiDKwJ0eiPNrS0nJsw4YNNd3d3aOscxSFhIS4V1dXpyckJGRB5jxZ7jDSbVDiW7lslriY1cgVMvjjKErgR0dH/zl06NCuFStWfOdo8HwkZVL2wYMHP3ny5AlNLonPPi5jkSpMfyb9AhjAadMIlsBjrndmZ2fnnThxos9UwEyUMzIynj9y5EgB1gb3ExK/xBuTTSczBQCeC/ZnsDTnCR6f9YMbN25QiNMoOjras7W1tcjb2ztcfijXRKzpwjaaQgBPU0lrI4HntOGbdzZ4AuYzt2/fvm9sbOweyyBiOidjlCr4Y6QAyrTzkqlEx9GSkpJ9zpo2BGNKfHZRUdF+1D+W24iNGFVSpxAAcxekryK9/cuXLx/FoqpWe85iBlPpvbi4uB0yBE4lHabSvyyLX2AXyhJ42nmYytPsMBcI+80ZWKZeGQsxEqtEkgJ4+3Sm9sh1Gm5SM2EqFfnWpsRSV1dXIYzbI2NWv0AqGiXXl+4Bd1ihs0XZu3fvHhgYGNBXVVUlWDTAyk7p6ekNIyMj7fIwYiVmIwWkNvo2trgHAQEBy+CghW7cuPGLvr6+L3fu3PmSJNBBP8R09erVHwVxEwrgU/AwkqQ00DFT8lamqkEICgqKKy4u1sMU7li6dKnVLvL/Pbe0tLRFaEsidi1+UlB5ng3ctBYsWLBV6GRxFnJ4yjIj7CX36uvrS1NTU+uwEM3ara3Al/gaTl+EPC6Vi/hNRUhHR8dPSt5Rqbu7+3Nr1679rL+//3BBQYHyYJvFd3V1iTNkNRV4RZF2G6TkHZ36+vpG5uXlHcah59Pk5GSbj5AY3y1gi6ACisOk4UlKaJyJrBYnsuTa2trjzc3N7/r7+9N1sYo6OzsfCAN0VEB9GzwGCo0zlnV1dfVOTEzMhn3Xl5eXx1rzIBOMflRAsv8UopxhrRFoT18vL68QHCu/am9vz7FUjglGHyow6xQcHBxjKwgqwKCTRIweKHlnpZhGDfC7LP4CJhgH3QCUxzd/AmboA0kP8zNNcDt+w8ZUvHv37l+tedaSJUueFfrfpwJ0oSVLxLiN0DgjWWxsDxobG79JSUn53haXRafT+QrAOjiFDEoFg05K3tEpduoxg8FweuXKlRlJSUm1toAnpvDwcB55FTJQAdUFYMRMaXFkil34l9zc3K2RkZElV65ceWSPbCz414XxF6kAXWfpdMNwHyNmQge7skNDQ3dOnjy5PzAwMLewsLDLLmEYDJMb5ObmFiXLIeZ6FxzNGOK+IFeyk91f4enTpyNtbW3HIiIiNsHCNCmy7U1zcnKWCTIuEDu/AOn8RKLRMFbJcJ9StjRlBIN94Y40ZmZmboqNja3iScrS8dP1IyaEWt4W+kmYaYVILHA/8GGglbHKdevWqV+FHaYjOGofw811hcfZOV1fW9pxzE1wcXGJlscSq6SA+qZhJfai8nN2wNHtDhb0pt7eXoe9Qcq1lRg3hRvNkLtyytuHfAHlKVOI+UIwQxYaRolramrSmZ8LhLefJIAnRmKVSFUAHbiq8yeqNRpGiWE5XlXKs5WWlZUthu3/SHh+voxVqlKnEEuYRvTPee5czjKjxDCr2bMVnYNF9IO7fRRQAokHxIuPeCig3t4YKcAeUCIYiRrcffjwYUd8fPyHzo6PwuJ4XL9+/QAWrjILOHWmDu5SAWjHa500sBSNZoibUWKGvNnuDOKbNwFPLLytITYjUteAWIuOvNbZptQxxF1ZWXnYGWuCc57TRnjzhMFbGmIyI7MpJPbAdMpEuQzsKdc/hi+jT0tLO+NoE0tTSWsjL9h58vP45qe8YppSAQqBEmaXfAy0MlbJcJ+tXqUMUMMdlpsUIuE78JYVO89mznn7LvmUh8gL+xzKknVS6hmrZLiPETNrr1npmNG3oXsg7LCKaFobx1yzKhKhBE3sFnA+mCFuI4IyBuyWzYjb/MHQh+lFN09SPIxgirxIlxhepeIWiHL41vPBFl90i4MtykOROfVXA4tAT9YJisyJP3tMu4gnA29aB2UY4V4DXg1m/FMH9gMrMSd6jwwe8PxtAPMU6JC/2/wHuyI2cMsNBRIAAAAASUVORK5CYII=);
}
.uni-audio-button.pause {
background-image: url(data:image/png;base64,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);
}
.uni-audio-right {
box-sizing: border-box;
height: 65px;
margin-left: 65px;
padding: 11px 16.5px 13.5px 15px;
overflow: hidden;
}
.uni-audio-time {
margin-top: 3.5px;
height: 16.5px;
font-size: 12px;
color: #888888;
float: right;
}
.uni-audio-info {
margin-right: 70px;
overflow: hidden;
}
.uni-audio-name {
height: 22.5px;
line-height: 22.5px;
margin-bottom: 3.5px;
font-size: 14px;
color: #353535;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.uni-audio-author {
height: 14.5px;
line-height: 14.5px;
font-size: 12px;
color: #888888;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
......@@ -7,6 +7,7 @@ export default {
root: '.',
minify: false,
assetsDir: '.',
emitAssets: false,
define: {
__PLATFORM__: JSON.stringify('app-plus')
},
......@@ -28,33 +29,4 @@ export default {
return 'assets/[name]-[hash][extname]'
}
}
// configureBuild: buildComponents
}
const components = fs
.readdirSync(path.resolve(__dirname, 'src/components'))
.filter(item => !/(^|\/)\.[^/.]/g.test(item))
function buildComponents(_config, builds) {
return once(() => {
const mainBuild = builds[0]
components.forEach(name => {
builds.push({
// eslint-disabled no-restricted-syntax
...mainBuild,
input: `src/components/${name}/index.vue`,
output: {
dir: `dist/${name}`,
file: `${name}.js`
},
plugins: [...mainBuild.plugins]
})
})
console.log('builds.length', builds.length)
})
}
function once(fn) {
let called = false
return () => (!called && fn(), (called = true))
}
uni-tabbar{
display:block;
box-sizing:border-box;
position:fixed;
left:0;
bottom:0;
width:100%;
z-index:998;
}
uni-tabbar .uni-tabbar{
display:flex;
position:fixed;
left:0;
bottom:0;
width:100%;
z-index:998;
box-sizing:border-box;
padding-bottom:0;
padding-bottom:constant(safe-area-inset-bottom);
padding-bottom:env(safe-area-inset-bottom);
}
uni-tabbar .uni-tabbar ~ .uni-placeholder{
width:100%;
height:50px;
margin-bottom:0;
margin-bottom:constant(safe-area-inset-bottom);
margin-bottom:env(safe-area-inset-bottom);
}
uni-tabbar .uni-tabbar *{
box-sizing:border-box;
}
uni-tabbar .uni-tabbar__item{
display:flex;
justify-content:center;
align-items:center;
flex-direction:column;
flex:1;
font-size:0;
text-align:center;
-webkit-tap-highlight-color:rgba(0, 0, 0, 0);
}
uni-tabbar .uni-tabbar__bd{
position:relative;
height:50px;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
cursor:pointer;
}
uni-tabbar .uni-tabbar__icon{
position:relative;
display:inline-block;
margin-top:5px;
width:24px;
height:24px;
}
uni-tabbar .uni-tabbar__icon.uni-tabbar__icon__diff{
margin-top:0px;
width:34px;
height:34px;
}
uni-tabbar .uni-tabbar__icon img{
width:100%;
height:100%;
}
uni-tabbar .uni-tabbar__label{
position:relative;
text-align:center;
font-size:10px;
line-height:1.8;
}
uni-tabbar .uni-tabbar-border{
position:absolute;
left:0;
top:0;
width:100%;
height:1px;
transform:scaleY(0.5);
}
uni-tabbar .uni-tabbar__reddot{
position:absolute;
top:0;
right:0;
width:12px;
height:12px;
border-radius:50%;
background-color:#f43530;
color:#ffffff;
transform:translate(40%, -20%);
}
uni-tabbar .uni-tabbar__badge{
width:auto;
height:16px;
line-height:16px;
border-radius:16px;
min-width:16px;
padding:0 2px;
font-size:12px;
text-align:center;
white-space:nowrap;
}
uni-toast{
position:fixed;
top:0;
right:0;
bottom:0;
left:0;
z-index:999;
display:block;
box-sizing:border-box;
pointer-events:none;
}
uni-toast .uni-sample-toast{
position:fixed;
z-index:999;
top:50%;
left:50%;
transform:translate(-50%, -50%);
text-align:center;
max-width:80%;
}
uni-toast .uni-simple-toast__text{
display:inline-block;
vertical-align:middle;
color:#ffffff;
background-color:rgba(17, 17, 17, 0.7);
padding:10px 20px;
border-radius:5px;
font-size:13px;
text-align:center;
max-width:100%;
word-break:break-all;
white-space:normal;
}
uni-toast .uni-mask{
pointer-events:auto;
}
uni-toast .uni-toast{
position:fixed;
z-index:999;
width:8em;
top:50%;
left:50%;
transform:translate(-50%, -50%);
background:rgba(17, 17, 17, 0.7);
text-align:center;
border-radius:5px;
color:#ffffff;
}
uni-toast .uni-toast *{
box-sizing:border-box;
}
uni-toast .uni-toast__icon{
margin:20px 0 0;
width:38px;
height:38px;
vertical-align:baseline;
}
uni-toast .uni-icon_toast{
margin:15px 0 0;
}
uni-toast .uni-icon_toast.uni-icon-success-no-circle:before{
color:#ffffff;
font-size:55px;
}
uni-toast .uni-icon_toast.uni-loading{
margin:20px 0 0;
width:38px;
height:38px;
vertical-align:baseline;
}
uni-toast .uni-toast__content{
margin:0 0 15px;
}
uni-modal{
position:fixed;
top:0;
right:0;
bottom:0;
left:0;
z-index:999;
display:block;
box-sizing:border-box;
}
uni-modal .uni-modal{
position:fixed;
z-index:999;
width:80%;
max-width:300px;
top:50%;
left:50%;
transform:translate(-50%, -50%);
background-color:#ffffff;
text-align:center;
border-radius:3px;
overflow:hidden;
}
uni-modal .uni-modal *{
box-sizing:border-box;
}
uni-modal .uni-modal__hd{
padding:1em 1.6em 0.3em;
}
uni-modal .uni-modal__title{
font-weight:400;
font-size:18px;
word-wrap:break-word;
word-break:break-all;
white-space:pre-wrap;
overflow:hidden;
text-overflow:ellipsis;
display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
}
uni-modal .uni-modal__bd{
padding:1.3em 1.6em 1.3em;
min-height:40px;
font-size:15px;
line-height:1.4;
word-wrap:break-word;
word-break:break-all;
white-space:pre-wrap;
color:#999999;
max-height:400px;
overflow-y:auto;
}
uni-modal .uni-modal__ft{
position:relative;
line-height:48px;
font-size:18px;
display:flex;
}
uni-modal .uni-modal__ft:after{
content:" ";
position:absolute;
left:0;
top:0;
right:0;
height:1px;
border-top:1px solid #d5d5d6;
color:#d5d5d6;
transform-origin:0 0;
transform:scaleY(0.5);
}
uni-modal .uni-modal__btn{
display:block;
flex:1;
color:#3cc51f;
text-decoration:none;
-webkit-tap-highlight-color:rgba(0, 0, 0, 0);
position:relative;
}
uni-modal .uni-modal__btn:active{
background-color:#eeeeee;
}
uni-modal .uni-modal__btn:after{
content:" ";
position:absolute;
left:0;
top:0;
width:1px;
bottom:0;
border-left:1px solid #d5d5d6;
color:#d5d5d6;
transform-origin:0 0;
transform:scaleX(0.5);
}
uni-modal .uni-modal__btn:first-child:after{
display:none;
}
uni-modal .uni-modal__btn_default{
color:#353535;
}
uni-modal .uni-modal__btn_primary{
color:#007aff;
}
uni-actionsheet{
display:block;
box-sizing:border-box;
}
uni-actionsheet .uni-actionsheet{
position:fixed;
left:0;
bottom:0;
transform:translate(0, 100%);
backface-visibility:hidden;
z-index:999;
width:100%;
background-color:#efeff4;
visibility:hidden;
transition:transform 0.3s, visibility 0.3s;
}
uni-actionsheet .uni-actionsheet.uni-actionsheet_toggle{
visibility:visible;
transform:translate(0, 0);
}
uni-actionsheet .uni-actionsheet *{
box-sizing:border-box;
}
uni-actionsheet .uni-actionsheet__menu{
background-color:#fcfcfd;
}
uni-actionsheet .uni-actionsheet__action{
margin-top:6px;
background-color:#fcfcfd;
}
uni-actionsheet .uni-actionsheet__cell ,
uni-actionsheet .uni-actionsheet__title{
position:relative;
padding:10px 0;
text-align:center;
font-size:18px;
}
uni-actionsheet .uni-actionsheet__cell:before{
content:" ";
position:absolute;
left:0;
top:0;
right:0;
height:1px;
border-top:1px solid #e5e5e5;
color:#e5e5e5;
transform-origin:0 0;
transform:scaleY(0.5);
}
uni-actionsheet .uni-actionsheet__cell:active{
background-color:#ececec;
}
uni-actionsheet .uni-actionsheet__cell:first-child:before{
display:none;
}
*{
margin:0;
-webkit-tap-highlight-color:transparent;
}
@font-face{
font-weight:normal;
font-style:normal;
font-family:"uni";
src:url('data:application/octet-stream;base64,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') format('truetype');
}
@font-face{
font-weight:normal;
font-style:normal;
font-family:"unibtn";
src:url('data:application/octet-stream;base64,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') format('truetype')
}
html,
body{
-webkit-user-select:none;
user-select:none;
width:100%;
height:100%;
}
body{
overflow-x:hidden;
}
[class^="uni-icon-"],
[class*=" uni-icon-"]{
display:inline-block;
vertical-align:middle;
font:normal normal normal 14px/1 "uni";
font-size:inherit;
text-rendering:auto;
-webkit-font-smoothing:antialiased;
}
[class^="uni-btn-icon"],
[class*=" uni-btn-icon"]{
display:inline-block;
font:normal normal normal 14px/1 "unibtn";
font-size:inherit;
text-rendering:auto;
-webkit-font-smoothing:antialiased;
}
[class^="uni-btn-icon"]:before,
[class*=" uni-btn-icon"]:before{
margin:0;
box-sizing:border-box;
}
.uni-icon-success-no-circle:before{
content:"\EA08";
}
.uni-loading,
uni-button[loading]:before{
background:transparent url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=") no-repeat;
}
.uni-loading{
width:20px;
height:20px;
display:inline-block;
vertical-align:middle;
animation:uni-loading 1s steps(12, end) infinite;
background-size:100%;
}
@keyframes uni-loading{
0%{
transform:rotate3d(0, 0, 1, 0deg);
}
100%{
transform:rotate3d(0, 0, 1, 360deg);
}
}
.uni-mask{
position:fixed;
z-index:999;
top:0;
right:0;
left:0;
bottom:0;
background:rgba(0, 0, 0, 0.6);
}
.uni-fade-enter-active,
.uni-fade-leave-active{
transition-duration:0.25s;
transition-property:opacity;
transition-timing-function:ease;
}
.uni-fade-enter,
.uni-fade-leave-active{
opacity:0
}
[nvue] uni-view,
[nvue] uni-swiper-item,
[nvue] uni-scroll-view{
display:flex;
flex-shrink:0;
flex-grow:0;
flex-basis:auto;
align-items:stretch;
align-content:flex-start;
}
[nvue-dir-row] uni-view,
[nvue-dir-row] uni-swiper-item{
flex-direction:row;
}
[nvue-dir-column] uni-view,
[nvue-dir-column] uni-swiper-item{
flex-direction:column;
}
[nvue-dir-row-reverse] uni-view,
[nvue-dir-row-reverse] uni-swiper-item{
flex-direction:row-reverse;
}
[nvue-dir-column-reverse] uni-view,
[nvue-dir-column-reverse] uni-swiper-item{
flex-direction:column-reverse;
}
[nvue] uni-view,
[nvue] uni-image,
[nvue] uni-input,
[nvue] uni-scroll-view,
[nvue] uni-swiper,
[nvue] uni-swiper-item,
[nvue] uni-text,
[nvue] uni-textarea,
[nvue] uni-video{
position:relative;
border:0px solid #000000;
box-sizing:border-box;
}
[nvue] uni-swiper-item{
position:absolute;
}
uni-app{
display:block;
box-sizing:border-box;
width:100%;
height:100%;
}
uni-page-head{
display:block;
box-sizing:border-box;
}
uni-page-head .uni-page-head{
position:fixed;
left:0;
top:0;
width:100%;
height:44px;
height:calc(44px + constant(safe-area-inset-top));
height:calc(44px + env(safe-area-inset-top));
padding:7px 3px;
padding-top:calc(7px + constant(safe-area-inset-top));
padding-top:calc(7px + env(safe-area-inset-top));
display:flex;
overflow:hidden;
justify-content:space-between;
box-sizing:border-box;
z-index:998;
color:#fff;
background-color:#000;
transition-property:all;
}
uni-page-head .uni-page-head-titlePenetrate,
uni-page-head .uni-page-head-titlePenetrate .uni-page-head-bd,
uni-page-head .uni-page-head-titlePenetrate .uni-page-head-bd *{
pointer-events:none;
}
uni-page-head .uni-page-head-titlePenetrate *{
pointer-events:auto;
}
uni-page-head .uni-page-head.uni-page-head-transparent .uni-page-head-ft > div{
justify-content:center;
}
uni-page-head .uni-page-head ~ .uni-placeholder{
width:100%;
height:44px;
height:calc(44px + constant(safe-area-inset-top));
height:calc(44px + env(safe-area-inset-top));
}
uni-page-head .uni-placeholder-titlePenetrate{
pointer-events:none;
}
uni-page-head .uni-page-head *{
box-sizing:border-box;
}
uni-page-head .uni-page-head-hd{
display:flex;
align-items:center;
font-size:16px;
}
uni-page-head .uni-page-head-bd{
position:absolute;
left:70px;
right:70px;
min-width:0;
user-select:auto;
}
.uni-page-head-btn{
position:relative;
width:auto;
margin:0 2px;
word-break:keep-all;
white-space:pre;
cursor:pointer;
}
.uni-page-head-transparent .uni-page-head-btn{
display:flex;
align-items:center;
width:32px;
height:32px;
border-radius:50%;
background-color:rgba(0, 0, 0, 0.5);
}
uni-page-head .uni-btn-icon{
overflow:hidden;
min-width:1em;
}
.uni-page-head-btn-red-dot::after{
content:attr(badge-text);
position:absolute;
right:0;
top:0;
background-color:red;
color:white;
width:18px;
height:18px;
line-height:18px;
border-radius:18px;
overflow:hidden;
transform:scale(0.5) translate(40%, -40%);
transform-origin:100% 0;
}
.uni-page-head-btn-red-dot[badge-text]::after{
font-size:12px;
width:auto;
min-width:18px;
max-width:42px;
text-align:center;
padding:0 3px;
transform:scale(0.7) translate(40%, -40%);
}
.uni-page-head-btn-select > .uni-btn-icon::after{
display:inline-block;
font-family:'unibtn';
content:'\e601';
margin-left:2px;
transform:rotate(-90deg) scale(0.8);
}
.uni-page-head-search{
position:relative;
display:flex;
flex:1;
margin:0 2px;
line-height:30px;
font-size:15px;
}
.uni-page-head-search-input{
width:100%;
height:100%;
padding-left:34px;
text-align:left;
}
.uni-page-head-search-placeholder{
position:absolute;
max-width:100%;
height:100%;
padding-left:34px;
overflow:hidden;
word-break:keep-all;
white-space:pre;
}
.uni-page-head-search-placeholder-right{
right:0;
}
.uni-page-head-search-placeholder-center{
left:50%;
transform:translateX(-50%);
}
.uni-page-head-search-placeholder::before{
position:absolute;
top:0;
left:2px;
width:30px;
content:'\ea0e';
display:block;
font-size:20px;
font-family:'uni';
text-align:center;
}
uni-page-head .uni-page-head-ft{
display:flex;
align-items:center;
flex-direction:row-reverse;
font-size:13px;
}
uni-page-head .uni-page-head__title{
font-weight:bold;
font-size:16px;
line-height:30px;
text-align:center;
overflow:hidden;
white-space:nowrap;
text-overflow:ellipsis;
}
uni-page-head .uni-page-head__title .uni-loading{
width:16px;
height:16px;
margin-top:-3px;
}
uni-page-head .uni-page-head__title .uni-page-head__title_image{
width:auto;
height:26px;
vertical-align:middle;
}
uni-page-head .uni-page-head-shadow{
overflow:visible;
}
uni-page-head .uni-page-head-shadow::after{
content:'';
position:absolute;
left:0;
right:0;
top:100%;
height:5px;
background-size:100% 100%;
}
uni-page-head .uni-page-head-shadow-grey::after{
background-image:url('https://cdn.dcloud.net.cn/img/shadow-grey.png');
}
uni-page-head .uni-page-head-shadow-blue::after{
background-image:url('https://cdn.dcloud.net.cn/img/shadow-blue.png');
}
uni-page-head .uni-page-head-shadow-green::after{
background-image:url('https://cdn.dcloud.net.cn/img/shadow-green.png');
}
uni-page-head .uni-page-head-shadow-orange::after{
background-image:url('https://cdn.dcloud.net.cn/img/shadow-orange.png');
}
uni-page-head .uni-page-head-shadow-red::after{
background-image:url('https://cdn.dcloud.net.cn/img/shadow-red.png');
}
uni-page-head .uni-page-head-shadow-yellow::after{
background-image:url('https://cdn.dcloud.net.cn/img/shadow-yellow.png');
}
uni-page-wrapper{
display:block;
height:100%;
position:relative;
}
uni-page-head[uni-page-head-type="default"] ~ uni-page-wrapper{
height:calc(100% - 44px);
height:calc(100% - 44px - constant(safe-area-inset-top));
height:calc(100% - 44px - env(safe-area-inset-top));
}
.uni-app--showtabbar uni-page-wrapper{
display:block;
height:calc(100% - 50px);
height:calc(100% - 50px - constant(safe-area-inset-bottom));
height:calc(100% - 50px - env(safe-area-inset-bottom));
}
.uni-app--showtabbar uni-page-wrapper::after{
content:"";
display:block;
width:100%;
height:50px;
height:calc(50px + constant(safe-area-inset-bottom));
height:calc(50px + env(safe-area-inset-bottom));
}
.uni-app--showtabbar uni-page-head[uni-page-head-type="default"] ~ uni-page-wrapper{
height:calc(100% - 44px - 50px);
height:calc(100% - 44px - constant(safe-area-inset-top) - 50px - constant(safe-area-inset-bottom));
height:calc(100% - 44px - env(safe-area-inset-top) - 50px - env(safe-area-inset-bottom));
}
uni-page-body{
display:block;
box-sizing:border-box;
width:100%;
}
uni-page-refresh{
position:absolute;
top:0;
width:100%;
height:40px;
display:block;
box-sizing:border-box;
}
uni-page-refresh .uni-page-refresh{
position:absolute;
top:-45px;
left:50%;
transform:translate3d(-50%, 0, 0);
width:40px;
height:40px;
justify-content:center;
align-items:center;
background:#fff;
border-radius:50%;
box-shadow:0 1px 6px rgba(0, 0, 0, .117647), 0 1px 4px rgba(0, 0, 0, .117647);
display:none;
z-index:997;
}
uni-page-refresh .uni-page-refresh-inner{
display:flex;
align-items:center;
justify-content:center;
line-height:0;
width:40px;
height:40px;
border-radius:50%;
}
uni-page-refresh.uni-page-refresh--pulling .uni-page-refresh,
uni-page-refresh.uni-page-refresh--aborting .uni-page-refresh,
uni-page-refresh.uni-page-refresh--reached .uni-page-refresh,
uni-page-refresh.uni-page-refresh--refreshing .uni-page-refresh,
uni-page-refresh.uni-page-refresh--restoring .uni-page-refresh{
display:flex;
}
uni-page-refresh.uni-page-refresh--pulling .uni-page-refresh__spinner,
uni-page-refresh.uni-page-refresh--aborting .uni-page-refresh__spinner,
uni-page-refresh.uni-page-refresh--reached .uni-page-refresh__spinner,
uni-page-refresh.uni-page-refresh--refreshing .uni-page-refresh__icon,
uni-page-refresh.uni-page-refresh--restoring .uni-page-refresh__icon{
display:none;
}
uni-page-refresh.uni-page-refresh--refreshing .uni-page-refresh__spinner{
transform-origin:center center;
animation:uni-page-refresh-rotate 2s linear infinite;
}
uni-page-refresh.uni-page-refresh--refreshing .uni-page-refresh__path{
stroke-dasharray:1, 200;
stroke-dashoffset:0;
stroke-linecap:round;
animation:uni-page-refresh-dash 1.5s ease-in-out infinite, uni-page-refresh-colorful 6s ease-in-out infinite;
}
@keyframes uni-page-refresh-rotate{
100%{
-webkit-transform:rotate(360deg);
transform:rotate(360deg);
}
}
@keyframes uni-page-refresh-dash{
0%{
stroke-dasharray:1, 200;
stroke-dashoffset:0;
}
50%{
stroke-dasharray:89, 200;
stroke-dashoffset:-35px;
}
100%{
stroke-dasharray:89, 200;
stroke-dashoffset:-124px;
}
}
uni-page{
display:block;
width:100%;
height:100%;
}
.uni-async-error{
position:absolute;
left:0;
right:0;
top:0;
bottom:0;
color:#999;
padding:100px 0;
text-align:center;
}
.uni-async-loading{
box-sizing:border-box;
width:100%;
padding:50px;
text-align:center;
}
.uni-async-loading .uni-loading{
width:30px;
height:30px;
}
因为 它太大了无法显示 source diff 。你可以改为 查看blob
* {
margin: 0;
-webkit-tap-highlight-color: transparent;
}
@font-face {
font-weight: normal;
font-style: normal;
font-family: 'uni';
src: url('data:application/octet-stream;base64,AAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzJAKEx+AAABfAAAAFZjbWFw65cFHQAAAhwAAAJQZ2x5ZvCRR/EAAASUAAAKtGhlYWQLKIN9AAAA4AAAADZoaGVhCCwD+gAAALwAAAAkaG10eEJo//8AAAHUAAAASGxvY2EYqhW6AAAEbAAAACZtYXhwASEAVQAAARgAAAAgbmFtZeNcHtgAAA9IAAAB5nBvc3T6bLhLAAARMAAAAOYAAQAAA+gAAABaA+j/////A+kAAQAAAAAAAAAAAAAAAAAAABIAAQAAAAEAACkCj3dfDzz1AAsD6AAAAADUER9XAAAAANQRH1f//wAAA+kD6gAAAAgAAgAAAAAAAAABAAAAEgBJAAUAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQOwAZAABQAIAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA6gHqEQPoAAAAWgPqAAAAAAABAAAAAAAAAAAAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+j//wPoAAAD6AAAAAAABQAAAAMAAAAsAAAABAAAAXQAAQAAAAAAbgADAAEAAAAsAAMACgAAAXQABABCAAAABAAEAAEAAOoR//8AAOoB//8AAAABAAQAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAANwAAAAAAAAAEQAA6gEAAOoBAAAAAQAA6gIAAOoCAAAAAgAA6gMAAOoDAAAAAwAA6gQAAOoEAAAABAAA6gUAAOoFAAAABQAA6gYAAOoGAAAABgAA6gcAAOoHAAAABwAA6ggAAOoIAAAACAAA6gkAAOoJAAAACQAA6goAAOoKAAAACgAA6gsAAOoLAAAACwAA6gwAAOoMAAAADAAA6g0AAOoNAAAADQAA6g4AAOoOAAAADgAA6g8AAOoPAAAADwAA6hAAAOoQAAAAEAAA6hEAAOoRAAAAEQAAAAAARgCMANIBJgF4AcQCMgJgAqgC/ANIA6YD/gROBKAE9AVaAAAAAgAAAAADrwOtABQAKQAAASIHBgcGFBcWFxYyNzY3NjQnJicmAyInJicmNDc2NzYyFxYXFhQHBgcGAfV4Z2Q7PDw7ZGfwZmQ7PDw7ZGZ4bl5bNjc3Nlte215bNjc3NlteA608O2Rn8GdjOzw8O2Nn8GdkOzz8rzc1W17bXlw1Nzc1XF7bXls1NwAAAAACAAAAAAOzA7MAFwAtAAABIgcGBwYVFBcWFxYzMjc2NzY1NCcmJyYTBwYiLwEmNjsBETQ2OwEyFhURMzIWAe52Z2Q7PT07ZGd2fGpmOz4+O2ZpIXYOKA52Dg0XXQsHJgcLXRcNA7M+O2ZqfHZnZDs9PTtkZ3Z9aWY7Pv3wmhISmhIaARcICwsI/ukaAAMAAAAAA+UD5QAXACMALAAAASIHBgcGFRQXFhcWMzI3Njc2NTQnJicmAxQrASI1AzQ7ATIHJyImNDYyFhQGAe6Ecm9BRERBb3KEiXZxQkREQnF1aQIxAwgCQgMBIxIZGSQZGQPkREJxdomEcm9BRERBb3KEinVxQkT9HQICAWICAjEZIxkZIxkAAAAAAwAAAAADsQPkABsAKgAzAAABBgcGBwYHBjcRFBcWFxYXNjc2NzY1ESQXJicmBzMyFhUDFAYrASInAzQ2EyImNDYyFhQGAfVBQTg7LDt/IEc+bF5sbF1tPUj+2KhQQVVvNAQGDAMCJgUBCwYeDxYWHhUVA+QPEg4SDhIpCv6tj3VkST4dHT5JZHWPAVNeNRkSGPwGBP7GAgMFAToEBv5AFR8VFR8VAAAAAgAAAAADsQPkABkALgAAAQYHBgc2BREUFxYXFhc2NzY3NjURJBcmJyYTAQYvASY/ATYyHwEWNjclNjIfARYB9VVVQk+v/tFHPmxebGxdbT1I/tGvT0JVo/7VBASKAwMSAQUBcQEFAgESAgUBEQQD4xMYEhk3YP6sjnVlSD8cHD9IZXWOAVRgNxkSGP62/tkDA48EBBkCAVYCAQHlAQIQBAAAAAACAAAAAAPkA+QAFwAtAAABIgcGBwYVFBcWFxYzMjc2NzY1NCcmJyYTAQYiLwEmPwE2Mh8BFjI3ATYyHwEWAe6Ecm9BQ0NCbnODiXVxQkREQnF1kf6gAQUBowMDFgEFAYUCBQEBQwIFARUEA+NEQnF1iYNzbkJDQ0FvcoSJdXFCRP6j/qUBAagEBR4CAWYBAQENAgIVBAAAAAQAAAAAA68DrQAUACkAPwBDAAABIgcGBwYUFxYXFjI3Njc2NCcmJyYDIicmJyY0NzY3NjIXFhcWFAcGBwYTBQ4BLwEmBg8BBhYfARYyNwE+ASYiFzAfAQH1eGdkOzw8O2Rn8GZkOzw8O2RmeG5eWzY3NzZbXtteWzY3NzZbXmn+9gYSBmAGDwUDBQEGfQUQBgElBQELEBUBAQOtPDtkZ/BnYzs8PDtjZ/BnZDs8/K83NVte215cNTc3NVxe215bNTcCJt0FAQVJBQIGBAcRBoAGBQEhBQ8LBAEBAAABAAAAAAO7AzoAFwAAEy4BPwE+AR8BFjY3ATYWFycWFAcBBiInPQoGBwUHGgzLDCELAh0LHwsNCgr9uQoeCgGzCyEOCw0HCZMJAQoBvgkCCg0LHQv9sQsKAAAAAAIAAAAAA+UD5gAXACwAAAEiBwYHBhUUFxYXFjMyNzY3NjU0JyYnJhMHBi8BJicmNRM0NjsBMhYVExceAQHvhHJvQUNDQm5zg4l1cUJEREJxdVcQAwT6AwIEEAMCKwIDDsUCAQPlREJxdYmDc25CQ0NBb3KEiXVxQkT9VhwEAncCAgMGAXoCAwMC/q2FAgQAAAQAAAAAA68DrQADABgALQAzAAABMB8BAyIHBgcGFBcWFxYyNzY3NjQnJicmAyInJicmNDc2NzYyFxYXFhQHBgcGAyMVMzUjAuUBAfJ4Z2Q7PDw7ZGfwZmQ7PDw7ZGZ4bl5bNjc3Nlte215bNjc3NltemyT92QKDAQEBLDw7ZGfwZ2M7PDw7Y2fwZ2Q7PPyvNzVbXtteXDU3NzVcXtteWzU3AjH9JAAAAAMAAAAAA+QD5AAXACcAMAAAASIHBgcGFRQXFhcWMzI3Njc2NTQnJicmAzMyFhUDFAYrASImNQM0NhMiJjQ2MhYUBgHuhHJvQUNDQm5zg4l1cUJEREJxdZ42BAYMAwInAwMMBh8PFhYeFhYD40RCcXWJg3NuQkNDQW9yhIl1cUJE/vYGBf7AAgMDAgFABQb+NhYfFhYfFgAABAAAAAADwAPAAAgAEgAoAD0AAAEyNjQmIgYUFhcjFTMRIxUzNSMDIgcGBwYVFBYXFjMyNzY3NjU0Jy4BAyInJicmNDc2NzYyFxYXFhQHBgcGAfQYISEwISFRjzk5yTorhG5rPT99am+DdmhlPD4+PMyFbV5bNTc3NVte2l5bNTc3NVteAqAiLyIiLyI5Hf7EHBwCsT89a26Ed8w8Pj48ZWh2g29qffyjNzVbXtpeWzU3NzVbXtpeWzU3AAADAAAAAAOoA6gACwAgADUAAAEHJwcXBxc3FzcnNwMiBwYHBhQXFhcWMjc2NzY0JyYnJgMiJyYnJjQ3Njc2MhcWFxYUBwYHBgKOmpocmpocmpocmpq2dmZiOjs7OmJm7GZiOjs7OmJmdmtdWTQ2NjRZXdZdWTQ2NjRZXQKqmpocmpocmpocmpoBGTs6YmbsZmI6Ozs6YmbsZmI6O/zCNjRZXdZdWTQ2NjRZXdZdWTQ2AAMAAAAAA+kD6gAaAC8AMAAAAQYHBiMiJyYnJjQ3Njc2MhcWFxYVFAcGBwEHATI3Njc2NCcmJyYiBwYHBhQXFhcWMwKONUBCR21dWjU3NzVaXdpdWzU2GBcrASM5/eBXS0grKysrSEuuSkkqLCwqSUpXASMrFxg2NVtd2l1aNTc3NVpdbUdCQDX+3jkBGSsrSEuuSkkqLCwqSUquS0grKwAC//8AAAPoA+gAFAAwAAABIgcGBwYQFxYXFiA3Njc2ECcmJyYTFg4BIi8BBwYuATQ/AScmPgEWHwE3Nh4BBg8BAfSIdHFDRERDcXQBEHRxQ0REQ3F0SQoBFBsKoqgKGxMKqKIKARQbCqKoChsUAQqoA+hEQ3F0/vB0cUNERENxdAEQdHFDRP1jChsTCqiiCgEUGwqiqAobFAEKqKIKARQbCqIAAAIAAAAAA+QD5AAXADQAAAEiBwYHBhUUFxYXFjMyNzY3NjU0JyYnJhMUBiMFFxYUDwEGLwEuAT8BNh8BFhQPAQUyFh0BAe6Ecm9BQ0NCbnODiXVxQkREQnF1fwQC/pGDAQEVAwTsAgEC7AQEFAIBhAFwAgMD40RCcXWJg3NuQkNDQW9yhIl1cUJE/fYCAwuVAgQCFAQE0AIFAtEEBBQCBQGVCwMDJwAAAAUAAAAAA9QD0wAjACcANwBHAEgAAAERFAYjISImNREjIiY9ATQ2MyE1NDYzITIWHQEhMhYdARQGIyERIREHIgYVERQWOwEyNjURNCYjISIGFREUFjsBMjY1ETQmKwEDeyYb/XYbJkMJDQ0JAQYZEgEvExkBBgkNDQn9CQJc0QkNDQktCQ0NCf7sCQ0NCS0JDQ0JLQMi/TQbJiYbAswMCiwJDS4SGRkSLg0JLAoM/UwCtGsNCf5NCQ0NCQGzCQ0NCf5NCQ0NCQGzCQ0AAAAAEADGAAEAAAAAAAEABAAAAAEAAAAAAAIABwAEAAEAAAAAAAMABAALAAEAAAAAAAQABAAPAAEAAAAAAAUACwATAAEAAAAAAAYABAAeAAEAAAAAAAoAKwAiAAEAAAAAAAsAEwBNAAMAAQQJAAEACABgAAMAAQQJAAIADgBoAAMAAQQJAAMACAB2AAMAAQQJAAQACAB+AAMAAQQJAAUAFgCGAAMAAQQJAAYACACcAAMAAQQJAAoAVgCkAAMAAQQJAAsAJgD6d2V1aVJlZ3VsYXJ3ZXVpd2V1aVZlcnNpb24gMS4wd2V1aUdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAHcAZQB1AGkAUgBlAGcAdQBsAGEAcgB3AGUAdQBpAHcAZQB1AGkAVgBlAHIAcwBpAG8AbgAgADEALgAwAHcAZQB1AGkARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAQIBAwEEAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgETAAZjaXJjbGUIZG93bmxvYWQEaW5mbwxzYWZlX3N1Y2Nlc3MJc2FmZV93YXJuB3N1Y2Nlc3MOc3VjY2Vzcy1jaXJjbGURc3VjY2Vzcy1uby1jaXJjbGUHd2FpdGluZw53YWl0aW5nLWNpcmNsZQR3YXJuC2luZm8tY2lyY2xlBmNhbmNlbAZzZWFyY2gFY2xlYXIEYmFjawZkZWxldGUAAAAA')
format('truetype');
}
@font-face {
font-weight: normal;
font-style: normal;
font-family: 'unibtn';
src: url('data:application/octet-stream;base64,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')
format('truetype');
}
html,
body {
-webkit-user-select: none;
user-select: none;
width: 100%;
height: 100%;
}
/* html {
height: 100%
} */
body {
overflow-x: hidden;
}
[class^='uni-icon-'],
[class*=' uni-icon-'] {
display: inline-block;
vertical-align: middle;
font: normal normal normal 14px/1 'uni';
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
}
[class^='uni-btn-icon'],
[class*=' uni-btn-icon'] {
display: inline-block;
font: normal normal normal 14px/1 'unibtn';
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
}
[class^='uni-btn-icon']:before,
[class*=' uni-btn-icon']:before {
margin: 0;
box-sizing: border-box;
}
.uni-icon-success-no-circle:before {
content: '\EA08';
}
.uni-loading,
uni-button[loading]:before {
background: transparent
url('data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=')
no-repeat;
}
.uni-loading {
width: 20px;
height: 20px;
display: inline-block;
vertical-align: middle;
animation: uni-loading 1s steps(12, end) infinite;
background-size: 100%;
}
@keyframes uni-loading {
0% {
transform: rotate3d(0, 0, 1, 0deg);
}
100% {
transform: rotate3d(0, 0, 1, 360deg);
}
}
/*
html,
body,
uni-app,
uni-page {
height: 100%;
} */
.uni-mask {
position: fixed;
z-index: 999;
top: 0;
right: 0;
left: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5);
}
.uni-fade-enter-active,
.uni-fade-leave-active {
transition-duration: 0.25s;
transition-property: opacity;
transition-timing-function: ease;
}
.uni-fade-enter,
.uni-fade-leave-active {
opacity: 0;
}
[nvue] uni-view,
[nvue] uni-label,
[nvue] uni-swiper-item,
[nvue] uni-scroll-view {
display: flex;
flex-shrink: 0;
flex-grow: 0;
flex-basis: auto;
align-items: stretch;
align-content: flex-start;
}
[nvue] uni-button {
margin: 0;
}
[nvue-dir-row] uni-view,
[nvue-dir-row] uni-label,
[nvue-dir-row] uni-swiper-item {
flex-direction: row;
}
[nvue-dir-column] uni-view,
[nvue-dir-column] uni-label,
[nvue-dir-column] uni-swiper-item {
flex-direction: column;
}
[nvue-dir-row-reverse] uni-view,
[nvue-dir-row-reverse] uni-label,
[nvue-dir-row-reverse] uni-swiper-item {
flex-direction: row-reverse;
}
[nvue-dir-column-reverse] uni-view,
[nvue-dir-column-reverse] uni-label,
[nvue-dir-column-reverse] uni-swiper-item {
flex-direction: column-reverse;
}
[nvue] uni-view,
[nvue] uni-image,
[nvue] uni-input,
[nvue] uni-scroll-view,
[nvue] uni-swiper,
[nvue] uni-swiper-item,
[nvue] uni-text,
[nvue] uni-textarea,
[nvue] uni-video {
position: relative;
border: 0px solid #000000;
box-sizing: border-box;
}
[nvue] uni-swiper-item {
position: absolute;
}
@import './base.css';
uni-button {
position: relative;
display: block;
margin-left: auto;
margin-right: auto;
padding-left: 14px;
padding-right: 14px;
box-sizing: border-box;
font-size: 18px;
text-align: center;
text-decoration: none;
line-height: 2.55555556;
border-radius: 5px;
-webkit-tap-highlight-color: transparent;
overflow: hidden;
color: #000000;
background-color: #f8f8f8;
cursor: pointer;
}
uni-button[hidden] {
display: none !important;
}
uni-button:after {
content: ' ';
width: 200%;
height: 200%;
position: absolute;
top: 0;
left: 0;
border: 1px solid rgba(0, 0, 0, 0.2);
-webkit-transform: scale(0.5);
transform: scale(0.5);
-webkit-transform-origin: 0 0;
transform-origin: 0 0;
box-sizing: border-box;
border-radius: 10px;
}
uni-button[native] {
padding-left: 0;
padding-right: 0;
}
uni-button[native] .uni-button-cover-view-wrapper {
border: inherit;
border-color: inherit;
border-radius: inherit;
background-color: inherit;
}
uni-button[native] .uni-button-cover-view-inner {
padding-left: 14px;
padding-right: 14px;
}
uni-button uni-cover-view {
line-height: inherit;
white-space: inherit;
}
uni-button[type='default'] {
color: #000000;
background-color: #f8f8f8;
}
uni-button[type='primary'] {
color: #ffffff;
background-color: #007aff;
}
uni-button[type='warn'] {
color: #ffffff;
background-color: #e64340;
}
uni-button[disabled] {
color: rgba(255, 255, 255, 0.6);
cursor: not-allowed;
}
uni-button[disabled][type='default'],
uni-button[disabled]:not([type]) {
color: rgba(0, 0, 0, 0.3);
background-color: #f7f7f7;
}
uni-button[disabled][type='primary'] {
background-color: rgba(0, 122, 255, 0.6);
}
uni-button[disabled][type='warn'] {
background-color: #ec8b89;
}
uni-button[type='primary'][plain] {
color: #007aff;
border: 1px solid #007aff;
background-color: transparent;
}
uni-button[type='primary'][plain][disabled] {
color: rgba(0, 0, 0, 0.2);
border-color: rgba(0, 0, 0, 0.2);
}
uni-button[type='primary'][plain]:after {
border-width: 0;
}
uni-button[type='default'][plain] {
color: #353535;
border: 1px solid #353535;
background-color: transparent;
}
uni-button[type='default'][plain][disabled] {
color: rgba(0, 0, 0, 0.2);
border-color: rgba(0, 0, 0, 0.2);
}
uni-button[type='default'][plain]:after {
border-width: 0;
}
uni-button[plain] {
color: #353535;
border: 1px solid #353535;
background-color: transparent;
}
uni-button[plain][disabled] {
color: rgba(0, 0, 0, 0.2);
border-color: rgba(0, 0, 0, 0.2);
}
uni-button[plain]:after {
border-width: 0;
}
uni-button[plain][native] .uni-button-cover-view-inner {
padding: 0;
}
uni-button[type='warn'][plain] {
color: #e64340;
border: 1px solid #e64340;
background-color: transparent;
}
uni-button[type='warn'][plain][disabled] {
color: rgba(0, 0, 0, 0.2);
border-color: rgba(0, 0, 0, 0.2);
}
uni-button[type='warn'][plain]:after {
border-width: 0;
}
uni-button[size='mini'] {
display: inline-block;
line-height: 2.3;
font-size: 13px;
padding: 0 1.34em;
}
uni-button[size='mini'][native] {
padding: 0;
}
uni-button[size='mini'][native] .uni-button-cover-view-inner {
padding: 0 1.34em;
}
uni-button[loading]:not([disabled]) {
cursor: progress;
}
uni-button[loading]:before {
content: ' ';
display: inline-block;
width: 18px;
height: 18px;
vertical-align: middle;
-webkit-animation: uni-loading 1s steps(12, end) infinite;
animation: uni-loading 1s steps(12, end) infinite;
background-size: 100%;
}
uni-button[loading][type='primary'] {
color: rgba(255, 255, 255, 0.6);
background-color: #0062cc;
}
uni-button[loading][type='primary'][plain] {
color: #007aff;
background-color: transparent;
}
uni-button[loading][type='default'] {
color: rgba(0, 0, 0, 0.6);
background-color: #dedede;
}
uni-button[loading][type='default'][plain] {
color: #353535;
background-color: transparent;
}
uni-button[loading][type='warn'] {
color: rgba(255, 255, 255, 0.6);
background-color: #ce3c39;
}
uni-button[loading][type='warn'][plain] {
color: #e64340;
background-color: transparent;
}
uni-button[loading][native]:before {
content: none;
}
.button-hover {
color: rgba(0, 0, 0, 0.6);
background-color: #dedede;
}
.button-hover[plain] {
color: rgba(53, 53, 53, 0.6);
border-color: rgba(53, 53, 53, 0.6);
background-color: transparent;
}
.button-hover[type='primary'] {
color: rgba(255, 255, 255, 0.6);
background-color: #0062cc;
}
.button-hover[type='primary'][plain] {
color: rgba(26, 173, 25, 0.6);
border-color: rgba(26, 173, 25, 0.6);
background-color: transparent;
}
.button-hover[type='default'] {
color: rgba(0, 0, 0, 0.6);
background-color: #dedede;
}
.button-hover[type='default'][plain] {
color: rgba(53, 53, 53, 0.6);
border-color: rgba(53, 53, 53, 0.6);
background-color: transparent;
}
.button-hover[type='warn'] {
color: rgba(255, 255, 255, 0.6);
background-color: #ce3c39;
}
.button-hover[type='warn'][plain] {
color: rgba(230, 67, 64, 0.6);
border-color: rgba(230, 67, 64, 0.6);
background-color: transparent;
}
@import './base.css';
uni-checkbox {
-webkit-tap-highlight-color: transparent;
display: inline-block;
cursor: pointer;
}
uni-checkbox[hidden] {
display: none;
}
uni-checkbox[disabled] {
cursor: not-allowed;
}
uni-checkbox .uni-checkbox-wrapper {
display: -webkit-inline-flex;
display: inline-flex;
-webkit-align-items: center;
align-items: center;
vertical-align: middle;
}
uni-checkbox .uni-checkbox-input {
margin-right: 5px;
-webkit-appearance: none;
appearance: none;
outline: 0;
border: 1px solid #d1d1d1;
background-color: #ffffff;
border-radius: 3px;
width: 22px;
height: 22px;
position: relative;
}
uni-checkbox:not([disabled]) .uni-checkbox-input:hover {
border-color: #007aff;
}
uni-checkbox .uni-checkbox-input.uni-checkbox-input-checked {
color: #007aff;
}
uni-checkbox .uni-checkbox-input.uni-checkbox-input-checked:before {
font: normal normal normal 14px/1 'uni';
content: '\EA08';
font-size: 22px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -48%) scale(0.73);
-webkit-transform: translate(-50%, -48%) scale(0.73);
}
uni-checkbox .uni-checkbox-input.uni-checkbox-input-disabled {
background-color: #e1e1e1;
}
uni-checkbox .uni-checkbox-input.uni-checkbox-input-disabled:before {
color: #adadad;
}
uni-checkbox-group {
display: block;
}
uni-progress {
display: -webkit-flex;
display: flex;
-webkit-align-items: center;
align-items: center;
}
uni-progress[hidden] {
display: none;
}
.uni-progress-bar {
-webkit-flex: 1;
flex: 1;
}
.uni-progress-inner-bar {
width: 0;
height: 100%;
}
.uni-progress-info {
margin-top: 0;
margin-bottom: 0;
min-width: 2em;
margin-left: 15px;
font-size: 16px;
}
uni-slider {
margin: 10px 18px;
padding: 0;
display: block;
}
uni-slider[hidden] {
display: none;
}
uni-slider .uni-slider-wrapper {
display: -webkit-flex;
display: flex;
-webkit-align-items: center;
align-items: center;
min-height: 16px;
}
uni-slider .uni-slider-tap-area {
-webkit-flex: 1;
flex: 1;
padding: 8px 0;
}
uni-slider .uni-slider-handle-wrapper {
position: relative;
height: 2px;
border-radius: 5px;
background-color: #e9e9e9;
cursor: pointer;
transition: background-color 0.3s ease;
-webkit-tap-highlight-color: transparent;
}
uni-slider .uni-slider-track {
height: 100%;
border-radius: 6px;
background-color: #007aff;
transition: background-color 0.3s ease;
}
uni-slider .uni-slider-handle,
uni-slider .uni-slider-thumb {
position: absolute;
left: 50%;
top: 50%;
cursor: pointer;
border-radius: 50%;
transition: border-color 0.3s ease;
}
uni-slider .uni-slider-handle {
width: 28px;
height: 28px;
margin-top: -14px;
margin-left: -14px;
background-color: transparent;
z-index: 3;
cursor: grab;
}
uni-slider .uni-slider-thumb {
z-index: 2;
box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
}
uni-slider .uni-slider-step {
position: absolute;
width: 100%;
height: 2px;
background: transparent;
z-index: 1;
}
uni-slider .uni-slider-value {
color: #888;
font-size: 14px;
margin-left: 1em;
}
uni-slider .uni-slider-disabled .uni-slider-track {
background-color: #ccc;
}
uni-slider .uni-slider-disabled .uni-slider-thumb {
background-color: #fff;
border-color: #ccc;
}
......@@ -12,11 +12,12 @@ export default {
root: '.',
minify: false,
assetsDir: '.',
cssCodeSplit: true,
emitAssets: false,
alias: {
'@dcloudio/uni-api': resolve('../uni-api/src/index.ts'),
'@dcloudio/uni-vue': resolve('../uni-vue/src/index.ts'),
'@dcloudio/uni-core': resolve('../uni-core/src/index.ts')
'@dcloudio/uni-core': resolve('../uni-core/src/index.ts'),
'@dcloudio/uni-components': resolve('../uni-components/src/index.ts')
},
define: {
global: 'window',
......@@ -28,13 +29,7 @@ export default {
},
rollupInputOptions: {
input: 'src/index.ts',
external: [
'vue',
'vue-router',
'@vue/shared',
'@dcloudio/uni-shared',
'@dcloudio/uni-components'
],
external: ['vue', 'vue-router', '@vue/shared', '@dcloudio/uni-shared'],
preserveEntrySignatures: 'strict',
plugins: [
replace({
......
......@@ -33,7 +33,7 @@ describe('hooks', () => {
const mpOptions: any = {}
initHooks(mpOptions, ['onReady'])
initUnknownHooks(mpOptions, vueBasicOptions)
expect(mpOptions.onReady).toBeDefined()
expect(mpOptions.onReady).toBeUndefined()
expect(mpOptions.onLoad).toBeDefined()
})
test('extends', () => {
......@@ -53,7 +53,7 @@ describe('hooks', () => {
const mpOptions: any = {}
initUnknownHooks(mpOptions, vueExtendsANdMixinsOptions)
expect(mpOptions.onLoad).toBeDefined()
expect(mpOptions.onReady).toBeDefined()
expect(mpOptions.onReady).toBeUndefined()
expect(mpOptions.onShow).toBeDefined()
expect(mpOptions.onHide).toBeDefined()
})
......
......@@ -119,15 +119,21 @@ function isBuiltInComponent(tag) {
}
function isCustomElement(tag) {
return TAGS.indexOf(tag) !== -1 || BUILT_IN_TAGS.indexOf(tag) !== -1;
}
}
function isNativeTag(tag) {
return (shared.isHTMLTag(tag) || shared.isSVGTag(tag)) && !isBuiltInComponent(tag);
}
const COMPONENT_PREFIX = 'v-uni-';
exports.BUILT_IN_TAGS = BUILT_IN_TAGS;
exports.COMPONENT_NAME_PREFIX = COMPONENT_NAME_PREFIX;
exports.COMPONENT_PREFIX = COMPONENT_PREFIX;
exports.NAVBAR_HEIGHT = NAVBAR_HEIGHT;
exports.TABBAR_HEIGHT = TABBAR_HEIGHT;
exports.TAGS = TAGS;
exports.debounce = debounce;
exports.isBuiltInComponent = isBuiltInComponent;
exports.isCustomElement = isCustomElement;
exports.isNativeTag = isNativeTag;
exports.plusReady = plusReady;
exports.stringifyQuery = stringifyQuery;
......@@ -3,6 +3,8 @@ export declare const BUILT_IN_TAGS: string[];
export declare const COMPONENT_NAME_PREFIX = "VUni";
export declare const COMPONENT_PREFIX = "v-uni-";
export declare function debounce(fn: Function, delay: number): {
(this: any): void;
cancel(): void;
......@@ -12,6 +14,8 @@ export declare function isBuiltInComponent(tag: string): boolean;
export declare function isCustomElement(tag: string): boolean;
export declare function isNativeTag(tag: string): boolean;
export declare const NAVBAR_HEIGHT = 44;
export declare function plusReady(callback: () => void): void;
......
import { isPlainObject } from '@vue/shared';
import { isPlainObject, isHTMLTag, isSVGTag } from '@vue/shared';
const NAVBAR_HEIGHT = 44;
const TABBAR_HEIGHT = 50;
......@@ -115,6 +115,10 @@ function isBuiltInComponent(tag) {
}
function isCustomElement(tag) {
return TAGS.indexOf(tag) !== -1 || BUILT_IN_TAGS.indexOf(tag) !== -1;
}
}
function isNativeTag(tag) {
return (isHTMLTag(tag) || isSVGTag(tag)) && !isBuiltInComponent(tag);
}
const COMPONENT_PREFIX = 'v-uni-';
export { BUILT_IN_TAGS, COMPONENT_NAME_PREFIX, NAVBAR_HEIGHT, TABBAR_HEIGHT, TAGS, debounce, isBuiltInComponent, isCustomElement, plusReady, stringifyQuery };
export { BUILT_IN_TAGS, COMPONENT_NAME_PREFIX, COMPONENT_PREFIX, NAVBAR_HEIGHT, TABBAR_HEIGHT, TAGS, debounce, isBuiltInComponent, isCustomElement, isNativeTag, plusReady, stringifyQuery };
import { isHTMLTag, isSVGTag } from '@vue/shared'
export const BUILT_IN_TAGS = [
'uni-ad',
'uni-audio',
......@@ -70,3 +72,9 @@ export function isBuiltInComponent(tag: string) {
export function isCustomElement(tag: string) {
return TAGS.indexOf(tag) !== -1 || BUILT_IN_TAGS.indexOf(tag) !== -1
}
export function isNativeTag(tag: string) {
return (isHTMLTag(tag) || isSVGTag(tag)) && !isBuiltInComponent(tag)
}
export const COMPONENT_PREFIX = 'v-uni-'
......@@ -21,13 +21,13 @@
},
"license": "Apache-2.0",
"dependencies": {
"@dcloudio/uni-cli-shared": "^3.0.0",
"@rollup/pluginutils": "^4.1.0",
"estree-walker": "^2.0.1",
"magic-string": "^0.25.7",
"slash": "^3.0.0"
},
"peerDependencies": {
"vite": "^1.0.0-rc.4"
"@dcloudio/uni-cli-shared": "^3.0.0",
"vite": "^1.0.0-rc.12"
}
}
import { serverPluginMainJs, serverPluginPagesJson } from '../server'
export const configureServer = [serverPluginMainJs, serverPluginPagesJson]
export const define = {
__UNI_WX_API__: true,
__UNI_WXS_API__: true,
__UNI_ROUTER_MODE__: JSON.stringify('hash')
}
export * from './define'
export * from './resolvers'
export * from './optimizeDeps'
export * from './configureServer'
export * from './rollupInputOptions'
export * from './vueCompilerOptions'
import { DepOptimizationOptions } from 'vite'
export const optimizeDeps: DepOptimizationOptions = {
exclude: [
'vue-router',
'@dcloudio/uni-components',
'@dcloudio/uni-h5',
'@dcloudio/uni-h5-vue',
'@dcloudio/uni-shared'
]
}
const VUES = ['vue', 'vue.js', './vue.js']
export const resolvers = [
{
alias(id: string) {
if (VUES.includes(id)) {
return '@dcloudio/uni-h5-vue'
}
}
}
]
import {
buildPluginInject,
buildPluginMainJs,
buildPluginPagesJson,
buildPluginDynamicImport
} from '../build'
import { dynamicImportCode } from '../utils/dynamicImportUtils'
const plugins = [buildPluginMainJs, buildPluginPagesJson, buildPluginInject]
if (dynamicImportCode) {
plugins.push(buildPluginDynamicImport)
}
export const rollupInputOptions = {
plugins
}
import { CompilerOptions } from '@vue/compiler-sfc'
import {
transformEasycom,
transformBuiltInComponent
} from '@dcloudio/uni-cli-shared'
export const vueCompilerOptions: CompilerOptions = {
nodeTransforms: [transformEasycom, transformBuiltInComponent]
}
import * as plugin from './config'
import { Plugin } from 'vite'
import { vueCompilerOptions } from '@dcloudio/uni-cli-shared'
import {
serverPluginEnv,
serverPluginMainJs,
serverPluginPagesJson
} from './server'
import {
buildPluginInject,
buildPluginMainJs,
buildPluginPagesJson,
buildPluginDynamicImport
} from './build'
import { dynamicImportCode } from './utils/dynamicImportUtils'
const VUES = ['vue', 'vue.js', './vue.js']
const plugins = [buildPluginMainJs, buildPluginPagesJson, buildPluginInject]
if (dynamicImportCode) {
plugins.push(buildPluginDynamicImport)
}
const plugin: Plugin = {
define: {
__UNI_WX_API__: true,
__UNI_WXS_API__: true,
__UNI_ROUTER_MODE__: JSON.stringify('hash')
},
resolvers: [
{
alias(id: string) {
if (VUES.includes(id)) {
return '@dcloudio/uni-h5-vue'
}
if (id.startsWith('@/')) {
return id.replace('@/', '/src/')
}
}
}
],
configureServer: [serverPluginEnv, serverPluginMainJs, serverPluginPagesJson],
rollupInputOptions: {
plugins
},
vueCompilerOptions
}
Object.assign(plugin, {
optimizeDeps: {
exclude: [
'vue-router',
'@dcloudio/uni-h5',
'@dcloudio/uni-h5-vue',
'@dcloudio/uni-shared'
]
}
})
export default plugin
export * from './serverPluginEnv'
export * from './serverPluginMainJs'
export * from './serverPluginPagesJson'
import path from 'path'
import { ServerPlugin } from 'vite'
import { initEasycom } from '@dcloudio/uni-cli-shared'
export const serverPluginEnv: ServerPlugin = ({ root }) => {
if (process.env.UNI_INPUT_DIR) {
process.env.UNI_INPUT_DIR = path.resolve(root, 'src')
}
initEasycom({ dirs: ['components'], rootDir: path.resolve(root, 'src') })
}
import path from 'path'
import { ServerPlugin } from 'vite'
import { readBody } from 'vite'
import { ServerPlugin, readBody } from 'vite'
import { getRoot, isMainJs, wrapperMainCode } from '../utils'
export const serverPluginMainJs: ServerPlugin = ({ app, root }) => {
......
import { ServerPlugin } from 'vite'
import { readBody } from 'vite'
import { ServerPlugin, readBody } from 'vite'
import { parsePagesJson } from '../utils'
const uniCode = `import {uni,getCurrentPages,getApp,UniServiceJSBridge,UniViewJSBridge} from '@dcloudio/uni-h5'
......
......@@ -15,8 +15,6 @@ export function getRoot(mainJsPath: string) {
export function wrapperMainCode(code: string, root: string) {
return `${dynamicImportCode}
import '@dcloudio/uni-h5/dist/uni-h5.css'
import '@dcloudio/uni-components/dist/uni-components.css'
import '${slash(path.resolve(root, 'pages.json'))}'
${code}
`
......
因为 它太大了无法显示 source diff 。你可以改为 查看blob
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册