diff --git a/App.vue b/App.vue new file mode 100644 index 0000000..99f6e28 --- /dev/null +++ b/App.vue @@ -0,0 +1,17 @@ + + + diff --git a/CreateName-api/.gitignore b/CreateName-api/.gitignore deleted file mode 100644 index a2a3040..0000000 --- a/CreateName-api/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -HELP.md -target/ -!.mvn/wrapper/maven-wrapper.jar -!**/src/main/** -!**/src/test/** - -### STS ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache - -### IntelliJ IDEA ### -.idea -*.iws -*.iml -*.ipr - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ -build/ - -### VS Code ### -.vscode/ diff --git a/CreateName-api/.mvn/wrapper/MavenWrapperDownloader.java b/CreateName-api/.mvn/wrapper/MavenWrapperDownloader.java deleted file mode 100644 index 74f4de4..0000000 --- a/CreateName-api/.mvn/wrapper/MavenWrapperDownloader.java +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright 2012-2019 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import java.net.*; -import java.io.*; -import java.nio.channels.*; -import java.util.Properties; - -public class MavenWrapperDownloader { - - private static final String WRAPPER_VERSION = "0.5.5"; - /** - * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided. - */ - private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/" - + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar"; - - /** - * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to - * use instead of the default one. - */ - private static final String MAVEN_WRAPPER_PROPERTIES_PATH = - ".mvn/wrapper/maven-wrapper.properties"; - - /** - * Path where the maven-wrapper.jar will be saved to. - */ - private static final String MAVEN_WRAPPER_JAR_PATH = - ".mvn/wrapper/maven-wrapper.jar"; - - /** - * Name of the property which should be used to override the default download url for the wrapper. - */ - private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl"; - - public static void main(String args[]) { - System.out.println("- Downloader started"); - File baseDirectory = new File(args[0]); - System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath()); - - // If the maven-wrapper.properties exists, read it and check if it contains a custom - // wrapperUrl parameter. - File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH); - String url = DEFAULT_DOWNLOAD_URL; - if (mavenWrapperPropertyFile.exists()) { - FileInputStream mavenWrapperPropertyFileInputStream = null; - try { - mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile); - Properties mavenWrapperProperties = new Properties(); - mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream); - url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url); - } catch (IOException e) { - System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); - } finally { - try { - if (mavenWrapperPropertyFileInputStream != null) { - mavenWrapperPropertyFileInputStream.close(); - } - } catch (IOException e) { - // Ignore ... - } - } - } - System.out.println("- Downloading from: " + url); - - File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH); - if (!outputFile.getParentFile().exists()) { - if (!outputFile.getParentFile().mkdirs()) { - System.out.println( - "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'"); - } - } - System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); - try { - downloadFileFromURL(url, outputFile); - System.out.println("Done"); - System.exit(0); - } catch (Throwable e) { - System.out.println("- Error downloading"); - e.printStackTrace(); - System.exit(1); - } - } - - private static void downloadFileFromURL(String urlString, File destination) throws Exception { - if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) { - String username = System.getenv("MVNW_USERNAME"); - char[] password = System.getenv("MVNW_PASSWORD").toCharArray(); - Authenticator.setDefault(new Authenticator() { - @Override - protected PasswordAuthentication getPasswordAuthentication() { - return new PasswordAuthentication(username, password); - } - }); - } - URL website = new URL(urlString); - ReadableByteChannel rbc; - rbc = Channels.newChannel(website.openStream()); - FileOutputStream fos = new FileOutputStream(destination); - fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); - fos.close(); - rbc.close(); - } - -} diff --git a/CreateName-api/.mvn/wrapper/maven-wrapper.jar b/CreateName-api/.mvn/wrapper/maven-wrapper.jar deleted file mode 100644 index 0d5e649..0000000 Binary files a/CreateName-api/.mvn/wrapper/maven-wrapper.jar and /dev/null differ diff --git a/CreateName-api/.mvn/wrapper/maven-wrapper.properties b/CreateName-api/.mvn/wrapper/maven-wrapper.properties deleted file mode 100644 index 7d59a01..0000000 --- a/CreateName-api/.mvn/wrapper/maven-wrapper.properties +++ /dev/null @@ -1,2 +0,0 @@ -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.2/apache-maven-3.6.2-bin.zip -wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar diff --git a/CreateName-api/mvnw b/CreateName-api/mvnw deleted file mode 100644 index 21d3ee8..0000000 --- a/CreateName-api/mvnw +++ /dev/null @@ -1,310 +0,0 @@ -#!/bin/sh -# ---------------------------------------------------------------------------- -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# ---------------------------------------------------------------------------- - -# ---------------------------------------------------------------------------- -# Maven2 Start Up Batch script -# -# Required ENV vars: -# ------------------ -# JAVA_HOME - location of a JDK home dir -# -# Optional ENV vars -# ----------------- -# M2_HOME - location of maven2's installed home dir -# MAVEN_OPTS - parameters passed to the Java VM when running Maven -# e.g. to debug Maven itself, use -# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -# MAVEN_SKIP_RC - flag to disable loading of mavenrc files -# ---------------------------------------------------------------------------- - -if [ -z "$MAVEN_SKIP_RC" ] ; then - - if [ -f /etc/mavenrc ] ; then - . /etc/mavenrc - fi - - if [ -f "$HOME/.mavenrc" ] ; then - . "$HOME/.mavenrc" - fi - -fi - -# OS specific support. $var _must_ be set to either true or false. -cygwin=false; -darwin=false; -mingw=false -case "`uname`" in - CYGWIN*) cygwin=true ;; - MINGW*) mingw=true;; - Darwin*) darwin=true - # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home - # See https://developer.apple.com/library/mac/qa/qa1170/_index.html - if [ -z "$JAVA_HOME" ]; then - if [ -x "/usr/libexec/java_home" ]; then - export JAVA_HOME="`/usr/libexec/java_home`" - else - export JAVA_HOME="/Library/Java/Home" - fi - fi - ;; -esac - -if [ -z "$JAVA_HOME" ] ; then - if [ -r /etc/gentoo-release ] ; then - JAVA_HOME=`java-config --jre-home` - fi -fi - -if [ -z "$M2_HOME" ] ; then - ## resolve links - $0 may be a link to maven's home - PRG="$0" - - # need this for relative symlinks - while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG="`dirname "$PRG"`/$link" - fi - done - - saveddir=`pwd` - - M2_HOME=`dirname "$PRG"`/.. - - # make it fully qualified - M2_HOME=`cd "$M2_HOME" && pwd` - - cd "$saveddir" - # echo Using m2 at $M2_HOME -fi - -# For Cygwin, ensure paths are in UNIX format before anything is touched -if $cygwin ; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --unix "$M2_HOME"` - [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --unix "$JAVA_HOME"` - [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --unix "$CLASSPATH"` -fi - -# For Mingw, ensure paths are in UNIX format before anything is touched -if $mingw ; then - [ -n "$M2_HOME" ] && - M2_HOME="`(cd "$M2_HOME"; pwd)`" - [ -n "$JAVA_HOME" ] && - JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" -fi - -if [ -z "$JAVA_HOME" ]; then - javaExecutable="`which javac`" - if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then - # readlink(1) is not available as standard on Solaris 10. - readLink=`which readlink` - if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then - if $darwin ; then - javaHome="`dirname \"$javaExecutable\"`" - javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" - else - javaExecutable="`readlink -f \"$javaExecutable\"`" - fi - javaHome="`dirname \"$javaExecutable\"`" - javaHome=`expr "$javaHome" : '\(.*\)/bin'` - JAVA_HOME="$javaHome" - export JAVA_HOME - fi - fi -fi - -if [ -z "$JAVACMD" ] ; then - if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - else - JAVACMD="`which java`" - fi -fi - -if [ ! -x "$JAVACMD" ] ; then - echo "Error: JAVA_HOME is not defined correctly." >&2 - echo " We cannot execute $JAVACMD" >&2 - exit 1 -fi - -if [ -z "$JAVA_HOME" ] ; then - echo "Warning: JAVA_HOME environment variable is not set." -fi - -CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher - -# traverses directory structure from process work directory to filesystem root -# first directory with .mvn subdirectory is considered project base directory -find_maven_basedir() { - - if [ -z "$1" ] - then - echo "Path not specified to find_maven_basedir" - return 1 - fi - - basedir="$1" - wdir="$1" - while [ "$wdir" != '/' ] ; do - if [ -d "$wdir"/.mvn ] ; then - basedir=$wdir - break - fi - # workaround for JBEAP-8937 (on Solaris 10/Sparc) - if [ -d "${wdir}" ]; then - wdir=`cd "$wdir/.."; pwd` - fi - # end of workaround - done - echo "${basedir}" -} - -# concatenates all lines of a file -concat_lines() { - if [ -f "$1" ]; then - echo "$(tr -s '\n' ' ' < "$1")" - fi -} - -BASE_DIR=`find_maven_basedir "$(pwd)"` -if [ -z "$BASE_DIR" ]; then - exit 1; -fi - -########################################################################################## -# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central -# This allows using the maven wrapper in projects that prohibit checking in binary data. -########################################################################################## -if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found .mvn/wrapper/maven-wrapper.jar" - fi -else - if [ "$MVNW_VERBOSE" = true ]; then - echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." - fi - if [ -n "$MVNW_REPOURL" ]; then - jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar" - else - jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar" - fi - while IFS="=" read key value; do - case "$key" in (wrapperUrl) jarUrl="$value"; break ;; - esac - done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" - if [ "$MVNW_VERBOSE" = true ]; then - echo "Downloading from: $jarUrl" - fi - wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" - if $cygwin; then - wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` - fi - - if command -v wget > /dev/null; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found wget ... using wget" - fi - if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - wget "$jarUrl" -O "$wrapperJarPath" - else - wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" - fi - elif command -v curl > /dev/null; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found curl ... using curl" - fi - if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - curl -o "$wrapperJarPath" "$jarUrl" -f - else - curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f - fi - - else - if [ "$MVNW_VERBOSE" = true ]; then - echo "Falling back to using Java to download" - fi - javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" - # For Cygwin, switch paths to Windows format before running javac - if $cygwin; then - javaClass=`cygpath --path --windows "$javaClass"` - fi - if [ -e "$javaClass" ]; then - if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then - if [ "$MVNW_VERBOSE" = true ]; then - echo " - Compiling MavenWrapperDownloader.java ..." - fi - # Compiling the Java class - ("$JAVA_HOME/bin/javac" "$javaClass") - fi - if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then - # Running the downloader - if [ "$MVNW_VERBOSE" = true ]; then - echo " - Running MavenWrapperDownloader.java ..." - fi - ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") - fi - fi - fi -fi -########################################################################################## -# End of extension -########################################################################################## - -export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} -if [ "$MVNW_VERBOSE" = true ]; then - echo $MAVEN_PROJECTBASEDIR -fi -MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" - -# For Cygwin, switch paths to Windows format before running java -if $cygwin; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --path --windows "$M2_HOME"` - [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` - [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --windows "$CLASSPATH"` - [ -n "$MAVEN_PROJECTBASEDIR" ] && - MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` -fi - -# Provide a "standardized" way to retrieve the CLI args that will -# work with both Windows and non-Windows executions. -MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" -export MAVEN_CMD_LINE_ARGS - -WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -exec "$JAVACMD" \ - $MAVEN_OPTS \ - -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ - "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ - ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/CreateName-api/mvnw.cmd b/CreateName-api/mvnw.cmd deleted file mode 100644 index 84d60ab..0000000 --- a/CreateName-api/mvnw.cmd +++ /dev/null @@ -1,182 +0,0 @@ -@REM ---------------------------------------------------------------------------- -@REM Licensed to the Apache Software Foundation (ASF) under one -@REM or more contributor license agreements. See the NOTICE file -@REM distributed with this work for additional information -@REM regarding copyright ownership. The ASF licenses this file -@REM to you under the Apache License, Version 2.0 (the -@REM "License"); you may not use this file except in compliance -@REM with the License. You may obtain a copy of the License at -@REM -@REM https://www.apache.org/licenses/LICENSE-2.0 -@REM -@REM Unless required by applicable law or agreed to in writing, -@REM software distributed under the License is distributed on an -@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -@REM KIND, either express or implied. See the License for the -@REM specific language governing permissions and limitations -@REM under the License. -@REM ---------------------------------------------------------------------------- - -@REM ---------------------------------------------------------------------------- -@REM Maven2 Start Up Batch script -@REM -@REM Required ENV vars: -@REM JAVA_HOME - location of a JDK home dir -@REM -@REM Optional ENV vars -@REM M2_HOME - location of maven2's installed home dir -@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands -@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending -@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven -@REM e.g. to debug Maven itself, use -@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files -@REM ---------------------------------------------------------------------------- - -@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' -@echo off -@REM set title of command window -title %0 -@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' -@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% - -@REM set %HOME% to equivalent of $HOME -if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") - -@REM Execute a user defined script before this one -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre -@REM check for pre script, once with legacy .bat ending and once with .cmd ending -if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" -if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" -:skipRcPre - -@setlocal - -set ERROR_CODE=0 - -@REM To isolate internal variables from possible post scripts, we use another setlocal -@setlocal - -@REM ==== START VALIDATION ==== -if not "%JAVA_HOME%" == "" goto OkJHome - -echo. -echo Error: JAVA_HOME not found in your environment. >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -:OkJHome -if exist "%JAVA_HOME%\bin\java.exe" goto init - -echo. -echo Error: JAVA_HOME is set to an invalid directory. >&2 -echo JAVA_HOME = "%JAVA_HOME%" >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -@REM ==== END VALIDATION ==== - -:init - -@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". -@REM Fallback to current working directory if not found. - -set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% -IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir - -set EXEC_DIR=%CD% -set WDIR=%EXEC_DIR% -:findBaseDir -IF EXIST "%WDIR%"\.mvn goto baseDirFound -cd .. -IF "%WDIR%"=="%CD%" goto baseDirNotFound -set WDIR=%CD% -goto findBaseDir - -:baseDirFound -set MAVEN_PROJECTBASEDIR=%WDIR% -cd "%EXEC_DIR%" -goto endDetectBaseDir - -:baseDirNotFound -set MAVEN_PROJECTBASEDIR=%EXEC_DIR% -cd "%EXEC_DIR%" - -:endDetectBaseDir - -IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig - -@setlocal EnableExtensions EnableDelayedExpansion -for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a -@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% - -:endReadAdditionalConfig - -SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" -set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" -set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar" - -FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( - IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B -) - -@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central -@REM This allows using the maven wrapper in projects that prohibit checking in binary data. -if exist %WRAPPER_JAR% ( - if "%MVNW_VERBOSE%" == "true" ( - echo Found %WRAPPER_JAR% - ) -) else ( - if not "%MVNW_REPOURL%" == "" ( - SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar" - ) - if "%MVNW_VERBOSE%" == "true" ( - echo Couldn't find %WRAPPER_JAR%, downloading it ... - echo Downloading from: %DOWNLOAD_URL% - ) - - powershell -Command "&{"^ - "$webclient = new-object System.Net.WebClient;"^ - "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ - "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ - "}"^ - "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ - "}" - if "%MVNW_VERBOSE%" == "true" ( - echo Finished downloading %WRAPPER_JAR% - ) -) -@REM End of extension - -@REM Provide a "standardized" way to retrieve the CLI args that will -@REM work with both Windows and non-Windows executions. -set MAVEN_CMD_LINE_ARGS=%* - -%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* -if ERRORLEVEL 1 goto error -goto end - -:error -set ERROR_CODE=1 - -:end -@endlocal & set ERROR_CODE=%ERROR_CODE% - -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost -@REM check for post script, once with legacy .bat ending and once with .cmd ending -if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" -if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" -:skipRcPost - -@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' -if "%MAVEN_BATCH_PAUSE%" == "on" pause - -if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% - -exit /B %ERROR_CODE% diff --git a/CreateName-api/pom.xml b/CreateName-api/pom.xml deleted file mode 100644 index c684d82..0000000 --- a/CreateName-api/pom.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - 4.0.0 - - org.springframework.boot - spring-boot-starter-parent - 2.2.1.RELEASE - - - top.weimumu - login-api - 0.0.1-SNAPSHOT - login-api - Demo project for Spring Boot - - - 1.8 - - - - - org.springframework.boot - spring-boot-starter-web - - - - org.springframework.boot - spring-boot-starter-test - test - - - org.junit.vintage - junit-vintage-engine - - - - - - junit - junit - 4.12 - - - - mysql - mysql-connector-java - 8.0.16 - - - - com.baomidou - mybatis-plus-boot-starter - 3.2.0 - - - - org.projectlombok - lombok - 1.18.8 - - - - com.alibaba - druid - 1.1.19 - - - - org.slf4j - slf4j-log4j12 - 1.7.28 - - - - com.squareup.okhttp3 - okhttp - - - - org.apache.httpcomponents - httpclient - 4.5.2 - - - org.bouncycastle - bcprov-jdk16 - 1.46 - - - - org.apache.shiro - shiro-core - 1.4.0 - - - slf4j-api - org.slf4j - - - - - - - com.google.code.gson - gson - - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - - diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/LoginApiApplication.java b/CreateName-api/src/main/java/top/weimumu/loginapi/LoginApiApplication.java deleted file mode 100644 index 34a1810..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/LoginApiApplication.java +++ /dev/null @@ -1,15 +0,0 @@ -package top.weimumu.loginapi; - -import org.mybatis.spring.annotation.MapperScan; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -@MapperScan("top.weimumu.loginapi.mapper") -public class LoginApiApplication { - - public static void main(String[] args) { - SpringApplication.run(LoginApiApplication.class, args); - } - -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/VO/ResultVO.java b/CreateName-api/src/main/java/top/weimumu/loginapi/VO/ResultVO.java deleted file mode 100644 index 55958c3..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/VO/ResultVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package top.weimumu.loginapi.VO; - -import lombok.Data; - -/** - * @author: create by calvin wong - * @date:2020/3/31 - **/ -@Data -public class ResultVO { - - /** 错误码. */ - private Integer code; - - /** 提示信息. */ - private String msg; - - /** 具体内容. */ - private T data; -} \ No newline at end of file diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/common/GlobalResult.java b/CreateName-api/src/main/java/top/weimumu/loginapi/common/GlobalResult.java deleted file mode 100644 index 8d2d328..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/common/GlobalResult.java +++ /dev/null @@ -1,101 +0,0 @@ -package top.weimumu.loginapi.common; - - -/** - * @author: create by calvin wong - * @date:2019/12/10 - **/ - -public class GlobalResult { - // 响应业务状态 - private Integer status; - - // 响应消息 - private String msg; - - // 响应中的数据 - private Object data; - - private String ok; // 不使用 - - public static GlobalResult build(Integer status, String msg, Object data) { - return new GlobalResult(status, msg, data); - } - - public static GlobalResult ok(Object data) { - return new GlobalResult(data); - } - - public static GlobalResult ok() { - return new GlobalResult(null); - } - - public static GlobalResult errorMsg(String msg) { - return new GlobalResult(500, msg, null); - } - - public static GlobalResult errorMap(Object data) { - return new GlobalResult(501, "error", data); - } - - public static GlobalResult errorTokenMsg(String msg) { - return new GlobalResult(502, msg, null); - } - - public static GlobalResult errorException(String msg) { - return new GlobalResult(555, msg, null); - } - - public GlobalResult() { - - } - - public GlobalResult(Integer status, String msg, Object data) { - this.status = status; - this.msg = msg; - this.data = data; - } - - public GlobalResult(Object data) { - this.status = 200; - this.msg = "OK"; - this.data = data; - } - - public Boolean isOK() { - return this.status == 200; - } - - public Integer getStatus() { - return status; - } - - public void setStatus(Integer status) { - this.status = status; - } - - public String getMsg() { - return msg; - } - - public void setMsg(String msg) { - this.msg = msg; - } - - public Object getData() { - return data; - } - - public void setData(Object data) { - this.data = data; - } - - public String getOk() { - return ok; - } - - public void setOk(String ok) { - this.ok = ok; - } - -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/common/HttpClientUtil.java b/CreateName-api/src/main/java/top/weimumu/loginapi/common/HttpClientUtil.java deleted file mode 100644 index e90b401..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/common/HttpClientUtil.java +++ /dev/null @@ -1,139 +0,0 @@ -package top.weimumu.loginapi.common; - -import org.apache.http.NameValuePair; -import org.apache.http.client.entity.UrlEncodedFormEntity; -import org.apache.http.client.methods.CloseableHttpResponse; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.client.utils.URIBuilder; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.StringEntity; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClients; -import org.apache.http.message.BasicNameValuePair; -import org.apache.http.util.EntityUtils; - - - -import java.io.IOException; -import java.net.URI; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -/** - * @author: create by calvin wong - * @date:2019/12/10 - **/ -public class HttpClientUtil { - public static String doGet(String url, Map param) { - - // 创建Httpclient对象 - CloseableHttpClient httpclient = HttpClients.createDefault(); - - String resultString = ""; - CloseableHttpResponse response = null; - try { - // 创建uri - URIBuilder builder = new URIBuilder(url); - if (param != null) { - for (String key : param.keySet()) { - builder.addParameter(key, param.get(key)); - } - } - URI uri = builder.build(); - - // 创建http GET请求 - HttpGet httpGet = new HttpGet(uri); - - // 执行请求 - response = httpclient.execute(httpGet); - // 判断返回状态是否为200 - if (response.getStatusLine().getStatusCode() == 200) { - resultString = EntityUtils.toString(response.getEntity(), "UTF-8"); - } - } catch (Exception e) { - e.printStackTrace(); - } finally { - try { - if (response != null) { - response.close(); - } - httpclient.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - return resultString; - } - - public static String doGet(String url) { - return doGet(url, null); - } - - public static String doPost(String url, Map param) { - // 创建Httpclient对象 - CloseableHttpClient httpClient = HttpClients.createDefault(); - CloseableHttpResponse response = null; - String resultString = ""; - try { - // 创建Http Post请求 - HttpPost httpPost = new HttpPost(url); - // 创建参数列表 - if (param != null) { - List paramList = new ArrayList<>(); - for (String key : param.keySet()) { - paramList.add(new BasicNameValuePair(key, param.get(key))); - } - // 模拟表单 - UrlEncodedFormEntity entity = new UrlEncodedFormEntity(paramList); - httpPost.setEntity(entity); - } - // 执行http请求 - response = httpClient.execute(httpPost); - resultString = EntityUtils.toString(response.getEntity(), "utf-8"); - } catch (Exception e) { - e.printStackTrace(); - } finally { - try { - response.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - return resultString; - } - - public static String doPost(String url) { - return doPost(url, null); - } - - public static String doPostJson(String url, String json) { - // 创建Httpclient对象 - CloseableHttpClient httpClient = HttpClients.createDefault(); - CloseableHttpResponse response = null; - String resultString = ""; - try { - // 创建Http Post请求 - HttpPost httpPost = new HttpPost(url); - // 创建请求内容 - StringEntity entity = new StringEntity(json, ContentType.APPLICATION_JSON); - httpPost.setEntity(entity); - // 执行http请求 - response = httpClient.execute(httpPost); - resultString = EntityUtils.toString(response.getEntity(), "utf-8"); - } catch (Exception e) { - e.printStackTrace(); - } finally { - try { - response.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - return resultString; - } - -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/common/KeyUtil.java b/CreateName-api/src/main/java/top/weimumu/loginapi/common/KeyUtil.java deleted file mode 100644 index 0903855..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/common/KeyUtil.java +++ /dev/null @@ -1,21 +0,0 @@ -package top.weimumu.loginapi.common; - -import java.util.Random; -/** - * calvin wong - * */ - -public class KeyUtil { - - /** - * 生成唯一的主键 - * 格式: 时间+随机数 - * @return - */ - public static synchronized String genUniqueKey() { - Random random = new Random(); - Integer number = random.nextInt(900000) + 100000; - - return System.currentTimeMillis() + String.valueOf(number); - } -} \ No newline at end of file diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/common/ResultVOUtils.java b/CreateName-api/src/main/java/top/weimumu/loginapi/common/ResultVOUtils.java deleted file mode 100644 index ebfb313..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/common/ResultVOUtils.java +++ /dev/null @@ -1,29 +0,0 @@ -package top.weimumu.loginapi.common; - -import top.weimumu.loginapi.VO.ResultVO; - -/** - * @author: create by calvin wong - * @date:2020/4/1 - **/ -public class ResultVOUtils { - - public static ResultVO success(Object object) { - ResultVO resultVO = new ResultVO(); - resultVO.setData(object); - resultVO.setCode(0); - resultVO.setMsg("成功"); - return resultVO; - } - - public static ResultVO success() { - return success(null); - } - - public static ResultVO error(Integer code, String msg) { - ResultVO resultVO = new ResultVO(); - resultVO.setCode(code); - resultVO.setMsg(msg); - return resultVO; - } -} \ No newline at end of file diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/common/WechatUtil.java b/CreateName-api/src/main/java/top/weimumu/loginapi/common/WechatUtil.java deleted file mode 100644 index f402a13..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/common/WechatUtil.java +++ /dev/null @@ -1,74 +0,0 @@ -package top.weimumu.loginapi.common; - -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; -import org.apache.shiro.codec.Base64; -import org.bouncycastle.jce.provider.BouncyCastleProvider; - - -import javax.crypto.Cipher; -import javax.crypto.spec.IvParameterSpec; -import javax.crypto.spec.SecretKeySpec; -import java.security.AlgorithmParameters; -import java.security.Security; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; - -/** - * @author: create by calvin wong - * @date:2019/12/10 - **/ -public class WechatUtil { - public static JSONObject getSessionKeyOrOpenId(String code) { - String requestUrl = "https://api.weixin.qq.com/sns/jscode2session"; - Map requestUrlParam = new HashMap<>(); - // https://mp.weixin.qq.com/wxopen/devprofile?action=get_profile&token=164113089&lang=zh_CN - //小程序appId - requestUrlParam.put("appid", "wx62e0151eaf62eff7"); - //小程序secret - requestUrlParam.put("secret", "c45170b3aa8dbc5cd45ab12c319298f8"); - //小程序端返回的code - requestUrlParam.put("js_code", code); - //默认参数 - requestUrlParam.put("grant_type", "authorization_code"); - //发送post请求读取调用微信接口获取openid用户唯一标识 - JSONObject jsonObject = JSON.parseObject(HttpClientUtil.doPost(requestUrl, requestUrlParam)); - return jsonObject; - } - - public static JSONObject getUserInfo(String encryptedData, String sessionKey, String iv) { - // 被加密的数据 - byte[] dataByte = Base64.decode(encryptedData); - // 加密秘钥 - byte[] keyByte = Base64.decode(sessionKey); - // 偏移量 - byte[] ivByte = Base64.decode(iv); - try { - // 如果密钥不足16位,那么就补足. 这个if 中的内容很重要 - int base = 16; - if (keyByte.length % base != 0) { - int groups = keyByte.length / base + (keyByte.length % base != 0 ? 1 : 0); - byte[] temp = new byte[groups * base]; - Arrays.fill(temp, (byte) 0); - System.arraycopy(keyByte, 0, temp, 0, keyByte.length); - keyByte = temp; - } - // 初始化 - Security.addProvider(new BouncyCastleProvider()); - Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding", "BC"); - SecretKeySpec spec = new SecretKeySpec(keyByte, "AES"); - AlgorithmParameters parameters = AlgorithmParameters.getInstance("AES"); - parameters.init(new IvParameterSpec(ivByte)); - cipher.init(Cipher.DECRYPT_MODE, spec, parameters);// 初始化 - byte[] resultByte = cipher.doFinal(dataByte); - if (null != resultByte && resultByte.length > 0) { - String result = new String(resultByte, "UTF-8"); - return JSON.parseObject(result); - } - } catch (Exception e) { - } - return null; - } - -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/controller/BaziInfoController.java b/CreateName-api/src/main/java/top/weimumu/loginapi/controller/BaziInfoController.java deleted file mode 100644 index fa5e9b6..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/controller/BaziInfoController.java +++ /dev/null @@ -1,22 +0,0 @@ -package top.weimumu.loginapi.controller; - - -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - - - - -/** - *

- * 八字表 前端控制器 - *

- * - * @author calvin - * @since 2020-03-30 - */ -@RestController -@RequestMapping("/sys/bazi-info") -public class BaziInfoController{ - -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/controller/NameDetailController.java b/CreateName-api/src/main/java/top/weimumu/loginapi/controller/NameDetailController.java deleted file mode 100644 index 09ff280..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/controller/NameDetailController.java +++ /dev/null @@ -1,20 +0,0 @@ -package top.weimumu.loginapi.controller; - - -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - - -/** - *

- * 名字推荐表 前端控制器 - *

- * - * @author calvin - * @since 2020-03-30 - */ -@RestController -@RequestMapping("/sys/name-detail") -public class NameDetailController{ - -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/controller/NameInfoController.java b/CreateName-api/src/main/java/top/weimumu/loginapi/controller/NameInfoController.java deleted file mode 100644 index 205b3e6..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/controller/NameInfoController.java +++ /dev/null @@ -1,19 +0,0 @@ -package top.weimumu.loginapi.controller; - - -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

- * 前端控制器 - *

- * - * @author calvin - * @since 2020-03-30 - */ -@RestController -@RequestMapping("/sys/name-info") -public class NameInfoController{ - -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/controller/OrderMasterController.java b/CreateName-api/src/main/java/top/weimumu/loginapi/controller/OrderMasterController.java deleted file mode 100644 index a044397..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/controller/OrderMasterController.java +++ /dev/null @@ -1,59 +0,0 @@ -package top.weimumu.loginapi.controller; - -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.BindingResult; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import top.weimumu.loginapi.VO.ResultVO; -import top.weimumu.loginapi.common.ResultVOUtils; -import top.weimumu.loginapi.converter.OrderForm2OrderDTOConverter; -import top.weimumu.loginapi.dto.OrderDTO; -import top.weimumu.loginapi.enums.ResultEnum; -import top.weimumu.loginapi.exception.NameException; -import top.weimumu.loginapi.form.OrderForm; -import top.weimumu.loginapi.service.IOrderMasterService; -import top.weimumu.loginapi.service.IUserService; - -import javax.validation.Valid; -import java.util.HashMap; -import java.util.Map; - - -/** - *

- * 订单表 前端控制器 - *

- * - * @author calvin - * @since 2020-03-30 - */ -@RestController -@RequestMapping("/order") -@Slf4j -public class OrderMasterController{ - - @Autowired - private IOrderMasterService iOrderMasterService; - - @Autowired - private IUserService iUserService; - - //创建订单 - @PostMapping("/create") - public ResultVO> create(@Valid OrderForm orderForm, - BindingResult bindingResult){ - //校验参数 - if (bindingResult.hasErrors()) { - log.error("【订单生成】参数不正确,orderForm={}",orderForm); - throw new NameException(ResultEnum.PARAM_ERROR); - } - OrderDTO orderDTO = OrderForm2OrderDTOConverter.convert(orderForm); - OrderDTO createResult = iOrderMasterService.saveInfo(orderDTO); - Map map = new HashMap<>(); - map.put("orderId", createResult.getOrder_id()); - - return ResultVOUtils.success(map); - } -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/controller/UserController.java b/CreateName-api/src/main/java/top/weimumu/loginapi/controller/UserController.java deleted file mode 100644 index 0426ad0..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/controller/UserController.java +++ /dev/null @@ -1,19 +0,0 @@ -package top.weimumu.loginapi.controller; - - -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

- * 用户表 前端控制器 - *

- * - * @author calvin - * @since 2020-03-30 - */ -@RestController -@RequestMapping("/sys/user") -public class UserController{ - -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/converter/OrderForm2OrderDTOConverter.java b/CreateName-api/src/main/java/top/weimumu/loginapi/converter/OrderForm2OrderDTOConverter.java deleted file mode 100644 index 3abbd49..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/converter/OrderForm2OrderDTOConverter.java +++ /dev/null @@ -1,39 +0,0 @@ -package top.weimumu.loginapi.converter; - - -import com.google.gson.Gson; -import com.google.gson.reflect.TypeToken; -import lombok.extern.slf4j.Slf4j; -import top.weimumu.loginapi.dto.OrderDTO; -import top.weimumu.loginapi.entity.NameDetail; -import top.weimumu.loginapi.enums.ResultEnum; -import top.weimumu.loginapi.exception.NameException; -import top.weimumu.loginapi.form.OrderForm; - -import java.util.ArrayList; -import java.util.List; - -/** - * @author calvin - * @since 2020-03-30 - */ -@Slf4j -public class OrderForm2OrderDTOConverter { - - public static OrderDTO convert(OrderForm orderForm) { - Gson gson = new Gson(); - OrderDTO orderDTO = new OrderDTO(); - - orderDTO.setOpen_id(orderForm.getOpen_id()); - orderDTO.setSurname(orderForm.getSurname()); - orderDTO.setGender(orderForm.getGender()); - orderDTO.setBirth_time(orderForm.getBirth_time()); - - List orderDetailList = new ArrayList<>(); - - orderDTO.setOrderDetailList(orderDetailList); - - - return orderDTO; - } -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/dto/OrderDTO.java b/CreateName-api/src/main/java/top/weimumu/loginapi/dto/OrderDTO.java deleted file mode 100644 index 9e02321..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/dto/OrderDTO.java +++ /dev/null @@ -1,44 +0,0 @@ -package top.weimumu.loginapi.dto; - -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import lombok.Data; -import top.weimumu.loginapi.entity.NameDetail; - -import java.util.Date; -import java.util.List; - -/** - * @author: create by calvin wong - * @date:2020/3/24 - **/ -@Data -public class OrderDTO { - /** order_id */ - private String order_id; - - /** 姓氏*/ - private String surname; - - /** 性别 */ - private Integer gender; - - /** 出生日期 */ - private Date birth_time; - - /** detail_id名字id*/ - private String detail_id; - - /** 用户身份识别open_id*/ - private String open_id; - - /** 八字id*/ - private Integer bazi_id; - - /** 创建时间. */ - private Date createTime; - - /** 更新时间. */ - private Date updateTime; - - List orderDetailList; -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/entity/BaziInfo.java b/CreateName-api/src/main/java/top/weimumu/loginapi/entity/BaziInfo.java deleted file mode 100644 index 2017e04..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/entity/BaziInfo.java +++ /dev/null @@ -1,41 +0,0 @@ -package top.weimumu.loginapi.entity; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import lombok.Data; -import lombok.experimental.Accessors; -import java.time.LocalDateTime; - -/** - *

- * 八字表 - *

- * - * @author calvin - * @since 2020-03-30 - */ -@Data -@Accessors(chain = true) -public class BaziInfo { - - private static final long serialVersionUID = 1L; - - @TableId(value = "bazi_id", type = IdType.AUTO) - private Integer baziId; - - /** - * 八字类型 - */ - private String baziType; - - /** - * 喜用神信息 - */ - private String baziContent; - - private LocalDateTime createTime; - - private LocalDateTime updateTime; - - -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/entity/NameDetail.java b/CreateName-api/src/main/java/top/weimumu/loginapi/entity/NameDetail.java deleted file mode 100644 index e0a7ad1..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/entity/NameDetail.java +++ /dev/null @@ -1,59 +0,0 @@ -package top.weimumu.loginapi.entity; - -import lombok.Data; -import lombok.experimental.Accessors; -import java.math.BigDecimal; -import java.time.LocalDateTime; - -/** - *

- * 名字推荐表 - *

- * - * @author calvin - * @since 2020-03-30 - */ -@Data -@Accessors(chain = true) -public class NameDetail{ - - private static final long serialVersionUID = 1L; - - private String detailId; - - /** - * 名字 - */ - private String ming; - - /** - * 名字id - */ - private String nameId; - - /** - * 八字id - */ - private Integer baziId; - - /** - * 姓氏 - */ - private String surname; - - /** - * 得分 - */ - private BigDecimal score; - - /** - * 八字信息 - */ - private String baziContent; - - private LocalDateTime createTime; - - private LocalDateTime updateTime; - - -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/entity/NameInfo.java b/CreateName-api/src/main/java/top/weimumu/loginapi/entity/NameInfo.java deleted file mode 100644 index 5436cd2..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/entity/NameInfo.java +++ /dev/null @@ -1,54 +0,0 @@ -package top.weimumu.loginapi.entity; - -import lombok.Data; -import lombok.experimental.Accessors; -import java.math.BigDecimal; -import java.time.LocalDateTime; - -/** - *

- * - *

- * - * @author calvin - * @since 2020-03-30 - */ -@Data -@Accessors(chain = true) -public class NameInfo { - - private static final long serialVersionUID = 1L; - - private String nameId; - - /** - * 姓氏 - */ - private String surname; - - /** - * 名字 - */ - private String ming; - - /** - * 性别 1男 2女 - */ - private Integer gender; - - /** - * 名字评分 - */ - private BigDecimal score; - - /** - * 八字id - */ - private Integer baiziId; - - private LocalDateTime createTime; - - private LocalDateTime updateTime; - - -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/entity/OrderMaster.java b/CreateName-api/src/main/java/top/weimumu/loginapi/entity/OrderMaster.java deleted file mode 100644 index 7ea34cd..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/entity/OrderMaster.java +++ /dev/null @@ -1,38 +0,0 @@ -package top.weimumu.loginapi.entity; - -import lombok.Data; -import lombok.experimental.Accessors; -import java.time.LocalDateTime; - -/** - *

- * 订单表 - *

- * - * @author calvin - * @since 2020-03-30 - */ -@Data -@Accessors(chain = true) -public class OrderMaster { - - private static final long serialVersionUID = 1L; - - private String orderId; - - private LocalDateTime birthTime; - - private String surname; - - private String detailId; - - private String openId; - - private Integer gender; - - private LocalDateTime createTime; - - private LocalDateTime updateTime; - - -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/entity/User.java b/CreateName-api/src/main/java/top/weimumu/loginapi/entity/User.java deleted file mode 100644 index 2086b19..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/entity/User.java +++ /dev/null @@ -1,38 +0,0 @@ -package top.weimumu.loginapi.entity; - -import lombok.Data; -import lombok.experimental.Accessors; -import java.time.LocalDateTime; - -/** - *

- * 用户表 - *

- * - * @author calvin - * @since 2020-03-30 - */ -@Data -@Accessors(chain = true) -public class User{ - - private static final long serialVersionUID = 1L; - - private String openId; - - private String sessionKey; - - private LocalDateTime lastVisitTime; - - private String avatarUrl; - - private String skey; - - private String nickName; - - private LocalDateTime createTime; - - private LocalDateTime updateTime; - - -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/enums/GenderEnum.java b/CreateName-api/src/main/java/top/weimumu/loginapi/enums/GenderEnum.java deleted file mode 100644 index cc44354..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/enums/GenderEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package top.weimumu.loginapi.enums; - -import lombok.Getter; - -/** - * @author: create by calvin wong - * @date:2020/4/2 - **/ - -@Getter -public enum GenderEnum { - BOY(1,"男孩"), - GIRL(2,"女孩"), - ; - - private Integer code; - - private String message; - - GenderEnum(Integer code, String message){ - this.code = code; - this.message = message; - } -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/enums/ResultEnum.java b/CreateName-api/src/main/java/top/weimumu/loginapi/enums/ResultEnum.java deleted file mode 100644 index 31845fe..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/enums/ResultEnum.java +++ /dev/null @@ -1,51 +0,0 @@ -package top.weimumu.loginapi.enums; - -import lombok.Getter; - -/** - * @author: create by calvin wong - * @date:2019/12/10 - **/ -@Getter -public enum ResultEnum { - - SUCCESS(0, "成功"), - - PARAM_ERROR(1, "参数不正确"), - - ORDER_NOT_EXIST(12, "订单不存在"), - - ORDERDETAIL_NOT_EXIST(13, "订单详情不存在"), - - ORDER_STATUS_ERROR(14, "订单状态不正确"), - - ORDER_UPDATE_FAIL(15, "订单更新失败"), - - ORDER_DETAIL_EMPTY(16, "订单详情为空"), - - ORDER_PAY_STATUS_ERROR(17, "订单支付状态不正确"), - - ORDER_OWNER_ERROR(19, "该订单不属于当前用户"), - - WECHAT_MP_ERROR(20, "微信公众账号方面错误"), - - WXPAY_NOTIFY_MONEY_VERIFY_ERROR(21, "微信支付异步通知金额校验不通过"), - - ORDER_CANCEL_SUCCESS(22, "订单取消成功"), - - ORDER_FINISH_SUCCESS(23, "订单完结成功"), - - LOGIN_FAIL(25, "登录失败, 登录信息不正确"), - - LOGOUT_SUCCESS(26, "登出成功"), - ; - - private Integer code; - - private String message; - - ResultEnum(Integer code, String message) { - this.code = code; - this.message = message; - } -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/exception/NameException.java b/CreateName-api/src/main/java/top/weimumu/loginapi/exception/NameException.java deleted file mode 100644 index fa93593..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/exception/NameException.java +++ /dev/null @@ -1,21 +0,0 @@ -package top.weimumu.loginapi.exception; - -import top.weimumu.loginapi.enums.ResultEnum; - -/** - * @author: create by calvin wong - * @date:2020/3/27 - **/ -public class NameException extends RuntimeException { - private Integer code; - - public NameException(ResultEnum resultEnum){ - super(resultEnum.getMessage()); - this.code = resultEnum.getCode(); - } - - public NameException(Integer code,String message){ - super(message); - this.code = code; - } -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/form/OrderForm.java b/CreateName-api/src/main/java/top/weimumu/loginapi/form/OrderForm.java deleted file mode 100644 index 5c6192e..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/form/OrderForm.java +++ /dev/null @@ -1,27 +0,0 @@ -package top.weimumu.loginapi.form; - -import lombok.Data; - -import javax.validation.constraints.NotEmpty; -import java.util.Date; - -/** - * @author: create by calvin wong - * @date:2020/3/25 - **/ - -@Data -public class OrderForm { - /** 用户微信open_id*/ - @NotEmpty(message = "open_id不能为空") - private String open_id; - /** 姓氏*/ - @NotEmpty(message="姓氏不能为空") - private String surname; - /** 性别*/ - @NotEmpty(message = "性别不能为空") - private Integer gender; - /** 出生日期*/ - @NotEmpty(message = "出生时间不能为空") - private Date birth_time; -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/mapper/BaziInfoMapper.java b/CreateName-api/src/main/java/top/weimumu/loginapi/mapper/BaziInfoMapper.java deleted file mode 100644 index 11956eb..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/mapper/BaziInfoMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package top.weimumu.loginapi.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import top.weimumu.loginapi.entity.BaziInfo; - -/** - *

- * 八字表 Mapper 接口 - *

- * - * @author calvin - * @since 2020-03-30 - */ -public interface BaziInfoMapper extends BaseMapper { - -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/mapper/NameDetailMapper.java b/CreateName-api/src/main/java/top/weimumu/loginapi/mapper/NameDetailMapper.java deleted file mode 100644 index 84fb159..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/mapper/NameDetailMapper.java +++ /dev/null @@ -1,20 +0,0 @@ -package top.weimumu.loginapi.mapper; - -import com.baomidou.mybatisplus.core.conditions.Wrapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import top.weimumu.loginapi.entity.NameDetail; - -import java.util.List; - -/** - *

- * 名字推荐表 Mapper 接口 - *

- * - * @author calvin - * @since 2020-03-30 - */ -public interface NameDetailMapper extends BaseMapper { - @Override - List selectList(Wrapper queryWrapper); -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/mapper/NameInfoMapper.java b/CreateName-api/src/main/java/top/weimumu/loginapi/mapper/NameInfoMapper.java deleted file mode 100644 index 712b8ac..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/mapper/NameInfoMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package top.weimumu.loginapi.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import top.weimumu.loginapi.entity.NameInfo; - -/** - *

- * Mapper 接口 - *

- * - * @author calvin - * @since 2020-03-30 - */ -public interface NameInfoMapper extends BaseMapper { - -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/mapper/OrderMasterMapper.java b/CreateName-api/src/main/java/top/weimumu/loginapi/mapper/OrderMasterMapper.java deleted file mode 100644 index 3755ca6..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/mapper/OrderMasterMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package top.weimumu.loginapi.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import top.weimumu.loginapi.entity.OrderMaster; - -/** - *

- * 订单表 Mapper 接口 - *

- * - * @author calvin - * @since 2020-03-30 - */ -public interface OrderMasterMapper extends BaseMapper { - -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/mapper/UserMapper.java b/CreateName-api/src/main/java/top/weimumu/loginapi/mapper/UserMapper.java deleted file mode 100644 index 2e671ac..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/mapper/UserMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package top.weimumu.loginapi.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import top.weimumu.loginapi.entity.User; - -/** - *

- * 用户表 Mapper 接口 - *

- * - * @author calvin - * @since 2020-03-30 - */ -public interface UserMapper extends BaseMapper { - -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/service/IBaziInfoService.java b/CreateName-api/src/main/java/top/weimumu/loginapi/service/IBaziInfoService.java deleted file mode 100644 index 0615a8b..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/service/IBaziInfoService.java +++ /dev/null @@ -1,16 +0,0 @@ -package top.weimumu.loginapi.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import top.weimumu.loginapi.entity.BaziInfo; - -/** - *

- * 八字表 服务类 - *

- * - * @author calvin - * @since 2020-03-30 - */ -public interface IBaziInfoService extends IService { - -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/service/INameDetailService.java b/CreateName-api/src/main/java/top/weimumu/loginapi/service/INameDetailService.java deleted file mode 100644 index 8d7a4bb..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/service/INameDetailService.java +++ /dev/null @@ -1,16 +0,0 @@ -package top.weimumu.loginapi.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import top.weimumu.loginapi.entity.NameDetail; - -/** - *

- * 名字推荐表 服务类 - *

- * - * @author calvin - * @since 2020-03-30 - */ -public interface INameDetailService extends IService { - -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/service/INameInfoService.java b/CreateName-api/src/main/java/top/weimumu/loginapi/service/INameInfoService.java deleted file mode 100644 index 30c3a29..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/service/INameInfoService.java +++ /dev/null @@ -1,23 +0,0 @@ -package top.weimumu.loginapi.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import top.weimumu.loginapi.dto.OrderDTO; -import top.weimumu.loginapi.entity.NameInfo; - -import java.util.List; - -/** - *

- * 服务类 - *

- * - * @author calvin - * @since 2020-03-30 - */ -public interface INameInfoService extends IService { - - /** 根据姓氏和生辰八字查询名字 */ - List findList(OrderDTO orderDTO); - - -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/service/IOrderMasterService.java b/CreateName-api/src/main/java/top/weimumu/loginapi/service/IOrderMasterService.java deleted file mode 100644 index 8f5ecbd..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/service/IOrderMasterService.java +++ /dev/null @@ -1,26 +0,0 @@ -package top.weimumu.loginapi.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import top.weimumu.loginapi.dto.OrderDTO; -import top.weimumu.loginapi.entity.OrderMaster; - -import java.util.List; - -/** - *

- * 订单表 服务类 - *

- * - * @author calvin - * @since 2020-03-30 - */ -public interface IOrderMasterService extends IService { - /** 创建订单*/ - OrderDTO saveInfo(OrderDTO orderDTO); - /** 删除订单*/ - OrderDTO removeInfo(OrderDTO orderDTO); - /** 查询订单*/ - List getList(String openid); - - -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/service/IUserService.java b/CreateName-api/src/main/java/top/weimumu/loginapi/service/IUserService.java deleted file mode 100644 index 5ec25df..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/service/IUserService.java +++ /dev/null @@ -1,16 +0,0 @@ -package top.weimumu.loginapi.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import top.weimumu.loginapi.entity.User; - -/** - *

- * 用户表 服务类 - *

- * - * @author calvin - * @since 2020-03-30 - */ -public interface IUserService extends IService { - -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/service/impl/BaziInfoServiceImpl.java b/CreateName-api/src/main/java/top/weimumu/loginapi/service/impl/BaziInfoServiceImpl.java deleted file mode 100644 index 2538dc0..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/service/impl/BaziInfoServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package top.weimumu.loginapi.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; -import top.weimumu.loginapi.entity.BaziInfo; -import top.weimumu.loginapi.mapper.BaziInfoMapper; -import top.weimumu.loginapi.service.IBaziInfoService; - -/** - *

- * 八字表 服务实现类 - *

- * - * @author calvin - * @since 2020-03-30 - */ -@Service -public class BaziInfoServiceImpl extends ServiceImpl implements IBaziInfoService { - -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/service/impl/NameDetailServiceImpl.java b/CreateName-api/src/main/java/top/weimumu/loginapi/service/impl/NameDetailServiceImpl.java deleted file mode 100644 index ffbda9e..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/service/impl/NameDetailServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package top.weimumu.loginapi.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; -import top.weimumu.loginapi.entity.NameDetail; -import top.weimumu.loginapi.mapper.NameDetailMapper; -import top.weimumu.loginapi.service.INameDetailService; - -/** - *

- * 名字推荐表 服务实现类 - *

- * - * @author calvin - * @since 2020-03-30 - */ -@Service -public class NameDetailServiceImpl extends ServiceImpl implements INameDetailService { - -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/service/impl/NameInfoServiceImpl.java b/CreateName-api/src/main/java/top/weimumu/loginapi/service/impl/NameInfoServiceImpl.java deleted file mode 100644 index 9b5873c..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/service/impl/NameInfoServiceImpl.java +++ /dev/null @@ -1,39 +0,0 @@ -package top.weimumu.loginapi.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import top.weimumu.loginapi.dto.OrderDTO; -import top.weimumu.loginapi.entity.NameInfo; -import top.weimumu.loginapi.mapper.NameInfoMapper; -import top.weimumu.loginapi.service.INameInfoService; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - *

- * 服务实现类 - *

- * - * @author calvin - * @since 2020-03-30 - */ -@Service -public class NameInfoServiceImpl extends ServiceImpl implements INameInfoService { - - @Autowired - private NameInfoMapper nameInfoMapper; - - @Override - public List findList(OrderDTO orderDTO){ - Map columnMap = new HashMap<>(); - columnMap.put("surname",orderDTO.getSurname()); - columnMap.put("gender", orderDTO.getGender()); - columnMap.put("bazi_id",orderDTO.getBazi_id()); - return nameInfoMapper.selectByMap(columnMap); - } - -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/service/impl/OrderMasterServiceImpl.java b/CreateName-api/src/main/java/top/weimumu/loginapi/service/impl/OrderMasterServiceImpl.java deleted file mode 100644 index 46b4ffd..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/service/impl/OrderMasterServiceImpl.java +++ /dev/null @@ -1,57 +0,0 @@ -package top.weimumu.loginapi.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.sun.org.apache.xml.internal.security.keys.KeyUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import top.weimumu.loginapi.common.KeyUtil; -import top.weimumu.loginapi.dto.OrderDTO; -import top.weimumu.loginapi.entity.NameDetail; -import top.weimumu.loginapi.entity.NameInfo; -import top.weimumu.loginapi.entity.OrderMaster; -import top.weimumu.loginapi.mapper.OrderMasterMapper; -import top.weimumu.loginapi.service.INameInfoService; -import top.weimumu.loginapi.service.IOrderMasterService; - -import java.util.List; - -/** - *

- * 订单表 服务实现类 - *

- * - * @author calvin - * @since 2020-03-30 - */ -@Service -public class OrderMasterServiceImpl extends ServiceImpl implements IOrderMasterService { - - @Autowired - private OrderMasterMapper orderMasterMapper; - - @Autowired - private INameInfoService iNameInfoService; - @Override - public OrderDTO saveInfo(OrderDTO orderDTO) { - String orderId = KeyUtil.genUniqueKey(); - // 查询姓名库中10个名字 - List nameInfoList= iNameInfoService.findList(orderDTO); - // 刷选10个数据 - // 将数据入库namedetail - // 写入订单 - - return null; - } - - @Override - public OrderDTO removeInfo(OrderDTO orderDTO){ - return null; - } - - @Override - public List getList(String openId) { - return null; - } - -} diff --git a/CreateName-api/src/main/java/top/weimumu/loginapi/service/impl/UserServiceImpl.java b/CreateName-api/src/main/java/top/weimumu/loginapi/service/impl/UserServiceImpl.java deleted file mode 100644 index d763678..0000000 --- a/CreateName-api/src/main/java/top/weimumu/loginapi/service/impl/UserServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package top.weimumu.loginapi.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; -import top.weimumu.loginapi.entity.User; -import top.weimumu.loginapi.mapper.UserMapper; -import top.weimumu.loginapi.service.IUserService; - -/** - *

- * 用户表 服务实现类 - *

- * - * @author calvin - * @since 2020-03-30 - */ -@Service -public class UserServiceImpl extends ServiceImpl implements IUserService { - -} diff --git a/CreateName-api/src/main/resources/application.yml b/CreateName-api/src/main/resources/application.yml deleted file mode 100644 index 8bc06b6..0000000 --- a/CreateName-api/src/main/resources/application.yml +++ /dev/null @@ -1,9 +0,0 @@ - -server: - port: 8080 -spring: - datasource: - url: jdbc:mysql://192.168.253.133:3307/create_name?useUnicode=true&useSSL=false&characterEndcoding=utf8&useTimezone=true&serverTimezone=Asia/Shanghai - username: root - password: 123456 - driver-class-name: com.mysql.cj.jdbc.Driver diff --git a/CreateName-api/src/test/java/top/weimumu/loginapi/LoginApiApplicationTests.java b/CreateName-api/src/test/java/top/weimumu/loginapi/LoginApiApplicationTests.java deleted file mode 100644 index fd6c344..0000000 --- a/CreateName-api/src/test/java/top/weimumu/loginapi/LoginApiApplicationTests.java +++ /dev/null @@ -1,13 +0,0 @@ -package top.weimumu.loginapi; - -import org.junit.jupiter.api.Test; -import org.springframework.boot.test.context.SpringBootTest; - -@SpringBootTest -class LoginApiApplicationTests { - - @Test - void contextLoads() { - } - -} diff --git a/CreateName-uni/App.vue b/CreateName-uni/App.vue deleted file mode 100644 index 0d810fa..0000000 --- a/CreateName-uni/App.vue +++ /dev/null @@ -1,33 +0,0 @@ - - - diff --git a/CreateName-uni/colorui/animation.css b/CreateName-uni/colorui/animation.css deleted file mode 100644 index 931bb51..0000000 --- a/CreateName-uni/colorui/animation.css +++ /dev/null @@ -1,184 +0,0 @@ -/* - Animation 微动画 - 基于ColorUI组建库的动画模块 by 文晓港 2019年3月26日19:52:28 - */ - -/* css 滤镜 控制黑白底色gif的 */ -.gif-black{ - mix-blend-mode: screen; -} -.gif-white{ - mix-blend-mode: multiply; -} - - -/* Animation css */ -[class*=animation-] { - animation-duration: .5s; - animation-timing-function: ease-out; - animation-fill-mode: both -} - -.animation-fade { - animation-name: fade; - animation-duration: .8s; - animation-timing-function: linear -} - -.animation-scale-up { - animation-name: scale-up -} - -.animation-scale-down { - animation-name: scale-down -} - -.animation-slide-top { - animation-name: slide-top -} - -.animation-slide-bottom { - animation-name: slide-bottom -} - -.animation-slide-left { - animation-name: slide-left -} - -.animation-slide-right { - animation-name: slide-right -} - -.animation-shake { - animation-name: shake -} - -.animation-reverse { - animation-direction: reverse -} - -@keyframes fade { - 0% { - opacity: 0 - } - - 100% { - opacity: 1 - } -} - -@keyframes scale-up { - 0% { - opacity: 0; - transform: scale(.2) - } - - 100% { - opacity: 1; - transform: scale(1) - } -} - -@keyframes scale-down { - 0% { - opacity: 0; - transform: scale(1.8) - } - - 100% { - opacity: 1; - transform: scale(1) - } -} - -@keyframes slide-top { - 0% { - opacity: 0; - transform: translateY(-100%) - } - - 100% { - opacity: 1; - transform: translateY(0) - } -} - -@keyframes slide-bottom { - 0% { - opacity: 0; - transform: translateY(100%) - } - - 100% { - opacity: 1; - transform: translateY(0) - } -} - -@keyframes shake { - - 0%, - 100% { - transform: translateX(0) - } - - 10% { - transform: translateX(-9px) - } - - 20% { - transform: translateX(8px) - } - - 30% { - transform: translateX(-7px) - } - - 40% { - transform: translateX(6px) - } - - 50% { - transform: translateX(-5px) - } - - 60% { - transform: translateX(4px) - } - - 70% { - transform: translateX(-3px) - } - - 80% { - transform: translateX(2px) - } - - 90% { - transform: translateX(-1px) - } -} - -@keyframes slide-left { - 0% { - opacity: 0; - transform: translateX(-100%) - } - - 100% { - opacity: 1; - transform: translateX(0) - } -} - -@keyframes slide-right { - 0% { - opacity: 0; - transform: translateX(100%) - } - - 100% { - opacity: 1; - transform: translateX(0) - } -} \ No newline at end of file diff --git a/CreateName-uni/colorui/components/cu-custom.vue b/CreateName-uni/colorui/components/cu-custom.vue deleted file mode 100644 index b09f70d..0000000 --- a/CreateName-uni/colorui/components/cu-custom.vue +++ /dev/null @@ -1,65 +0,0 @@ - - - - - diff --git a/CreateName-uni/colorui/icon.css b/CreateName-uni/colorui/icon.css deleted file mode 100644 index 16ed121..0000000 --- a/CreateName-uni/colorui/icon.css +++ /dev/null @@ -1,1226 +0,0 @@ -@keyframes cuIcon-spin { - 0% { - -webkit-transform: rotate(0); - transform: rotate(0); - } - - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} - -.cuIconfont-spin { - -webkit-animation: cuIcon-spin 2s infinite linear; - animation: cuIcon-spin 2s infinite linear; - display: inline-block; -} - -.cuIconfont-pulse { - -webkit-animation: cuIcon-spin 1s infinite steps(8); - animation: cuIcon-spin 1s infinite steps(8); - display: inline-block; -} - -[class*="cuIcon-"] { - font-family: "cuIcon"; - font-size: inherit; - font-style: normal; -} - -@font-face { - font-family: "cuIcon"; - src: url('//at.alicdn.com/t/font_533566_yfq2d9wdij.eot?t=1545239985831'); - /* IE9*/ - src: url('//at.alicdn.com/t/font_533566_yfq2d9wdij.eot?t=1545239985831#iefix') format('embedded-opentype'), - /* IE6-IE8 */ - url('data:application/x-font-woff;charset=utf-8;base64,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') format('woff'), - url('//at.alicdn.com/t/font_533566_yfq2d9wdij.ttf?t=1545239985831') format('truetype'), - /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ - url('//at.alicdn.com/t/font_533566_yfq2d9wdij.svg?t=1545239985831#cuIconfont') format('svg'); - /* iOS 4.1- */ -} - -.cuIcon-appreciate:before { - content: "\e644"; -} - -.cuIcon-check:before { - content: "\e645"; -} - -.cuIcon-close:before { - content: "\e646"; -} - -.cuIcon-edit:before { - content: "\e649"; -} - -.cuIcon-emoji:before { - content: "\e64a"; -} - -.cuIcon-favorfill:before { - content: "\e64b"; -} - -.cuIcon-favor:before { - content: "\e64c"; -} - -.cuIcon-loading:before { - content: "\e64f"; -} - -.cuIcon-locationfill:before { - content: "\e650"; -} - -.cuIcon-location:before { - content: "\e651"; -} - -.cuIcon-phone:before { - content: "\e652"; -} - -.cuIcon-roundcheckfill:before { - content: "\e656"; -} - -.cuIcon-roundcheck:before { - content: "\e657"; -} - -.cuIcon-roundclosefill:before { - content: "\e658"; -} - -.cuIcon-roundclose:before { - content: "\e659"; -} - -.cuIcon-roundrightfill:before { - content: "\e65a"; -} - -.cuIcon-roundright:before { - content: "\e65b"; -} - -.cuIcon-search:before { - content: "\e65c"; -} - -.cuIcon-taxi:before { - content: "\e65d"; -} - -.cuIcon-timefill:before { - content: "\e65e"; -} - -.cuIcon-time:before { - content: "\e65f"; -} - -.cuIcon-unfold:before { - content: "\e661"; -} - -.cuIcon-warnfill:before { - content: "\e662"; -} - -.cuIcon-warn:before { - content: "\e663"; -} - -.cuIcon-camerafill:before { - content: "\e664"; -} - -.cuIcon-camera:before { - content: "\e665"; -} - -.cuIcon-commentfill:before { - content: "\e666"; -} - -.cuIcon-comment:before { - content: "\e667"; -} - -.cuIcon-likefill:before { - content: "\e668"; -} - -.cuIcon-like:before { - content: "\e669"; -} - -.cuIcon-notificationfill:before { - content: "\e66a"; -} - -.cuIcon-notification:before { - content: "\e66b"; -} - -.cuIcon-order:before { - content: "\e66c"; -} - -.cuIcon-samefill:before { - content: "\e66d"; -} - -.cuIcon-same:before { - content: "\e66e"; -} - -.cuIcon-deliver:before { - content: "\e671"; -} - -.cuIcon-evaluate:before { - content: "\e672"; -} - -.cuIcon-pay:before { - content: "\e673"; -} - -.cuIcon-send:before { - content: "\e675"; -} - -.cuIcon-shop:before { - content: "\e676"; -} - -.cuIcon-ticket:before { - content: "\e677"; -} - -.cuIcon-back:before { - content: "\e679"; -} - -.cuIcon-cascades:before { - content: "\e67c"; -} - -.cuIcon-discover:before { - content: "\e67e"; -} - -.cuIcon-list:before { - content: "\e682"; -} - -.cuIcon-more:before { - content: "\e684"; -} - -.cuIcon-scan:before { - content: "\e689"; -} - -.cuIcon-settings:before { - content: "\e68a"; -} - -.cuIcon-questionfill:before { - content: "\e690"; -} - -.cuIcon-question:before { - content: "\e691"; -} - -.cuIcon-shopfill:before { - content: "\e697"; -} - -.cuIcon-form:before { - content: "\e699"; -} - -.cuIcon-pic:before { - content: "\e69b"; -} - -.cuIcon-filter:before { - content: "\e69c"; -} - -.cuIcon-footprint:before { - content: "\e69d"; -} - -.cuIcon-top:before { - content: "\e69e"; -} - -.cuIcon-pulldown:before { - content: "\e69f"; -} - -.cuIcon-pullup:before { - content: "\e6a0"; -} - -.cuIcon-right:before { - content: "\e6a3"; -} - -.cuIcon-refresh:before { - content: "\e6a4"; -} - -.cuIcon-moreandroid:before { - content: "\e6a5"; -} - -.cuIcon-deletefill:before { - content: "\e6a6"; -} - -.cuIcon-refund:before { - content: "\e6ac"; -} - -.cuIcon-cart:before { - content: "\e6af"; -} - -.cuIcon-qrcode:before { - content: "\e6b0"; -} - -.cuIcon-remind:before { - content: "\e6b2"; -} - -.cuIcon-delete:before { - content: "\e6b4"; -} - -.cuIcon-profile:before { - content: "\e6b7"; -} - -.cuIcon-home:before { - content: "\e6b8"; -} - -.cuIcon-cartfill:before { - content: "\e6b9"; -} - -.cuIcon-discoverfill:before { - content: "\e6ba"; -} - -.cuIcon-homefill:before { - content: "\e6bb"; -} - -.cuIcon-message:before { - content: "\e6bc"; -} - -.cuIcon-addressbook:before { - content: "\e6bd"; -} - -.cuIcon-link:before { - content: "\e6bf"; -} - -.cuIcon-lock:before { - content: "\e6c0"; -} - -.cuIcon-unlock:before { - content: "\e6c2"; -} - -.cuIcon-vip:before { - content: "\e6c3"; -} - -.cuIcon-weibo:before { - content: "\e6c4"; -} - -.cuIcon-activity:before { - content: "\e6c5"; -} - -.cuIcon-friendaddfill:before { - content: "\e6c9"; -} - -.cuIcon-friendadd:before { - content: "\e6ca"; -} - -.cuIcon-friendfamous:before { - content: "\e6cb"; -} - -.cuIcon-friend:before { - content: "\e6cc"; -} - -.cuIcon-goods:before { - content: "\e6cd"; -} - -.cuIcon-selection:before { - content: "\e6ce"; -} - -.cuIcon-explore:before { - content: "\e6d2"; -} - -.cuIcon-present:before { - content: "\e6d3"; -} - -.cuIcon-squarecheckfill:before { - content: "\e6d4"; -} - -.cuIcon-square:before { - content: "\e6d5"; -} - -.cuIcon-squarecheck:before { - content: "\e6d6"; -} - -.cuIcon-round:before { - content: "\e6d7"; -} - -.cuIcon-roundaddfill:before { - content: "\e6d8"; -} - -.cuIcon-roundadd:before { - content: "\e6d9"; -} - -.cuIcon-add:before { - content: "\e6da"; -} - -.cuIcon-notificationforbidfill:before { - content: "\e6db"; -} - -.cuIcon-explorefill:before { - content: "\e6dd"; -} - -.cuIcon-fold:before { - content: "\e6de"; -} - -.cuIcon-game:before { - content: "\e6df"; -} - -.cuIcon-redpacket:before { - content: "\e6e0"; -} - -.cuIcon-selectionfill:before { - content: "\e6e1"; -} - -.cuIcon-similar:before { - content: "\e6e2"; -} - -.cuIcon-appreciatefill:before { - content: "\e6e3"; -} - -.cuIcon-infofill:before { - content: "\e6e4"; -} - -.cuIcon-info:before { - content: "\e6e5"; -} - -.cuIcon-forwardfill:before { - content: "\e6ea"; -} - -.cuIcon-forward:before { - content: "\e6eb"; -} - -.cuIcon-rechargefill:before { - content: "\e6ec"; -} - -.cuIcon-recharge:before { - content: "\e6ed"; -} - -.cuIcon-vipcard:before { - content: "\e6ee"; -} - -.cuIcon-voice:before { - content: "\e6ef"; -} - -.cuIcon-voicefill:before { - content: "\e6f0"; -} - -.cuIcon-friendfavor:before { - content: "\e6f1"; -} - -.cuIcon-wifi:before { - content: "\e6f2"; -} - -.cuIcon-share:before { - content: "\e6f3"; -} - -.cuIcon-wefill:before { - content: "\e6f4"; -} - -.cuIcon-we:before { - content: "\e6f5"; -} - -.cuIcon-lightauto:before { - content: "\e6f6"; -} - -.cuIcon-lightforbid:before { - content: "\e6f7"; -} - -.cuIcon-lightfill:before { - content: "\e6f8"; -} - -.cuIcon-camerarotate:before { - content: "\e6f9"; -} - -.cuIcon-light:before { - content: "\e6fa"; -} - -.cuIcon-barcode:before { - content: "\e6fb"; -} - -.cuIcon-flashlightclose:before { - content: "\e6fc"; -} - -.cuIcon-flashlightopen:before { - content: "\e6fd"; -} - -.cuIcon-searchlist:before { - content: "\e6fe"; -} - -.cuIcon-service:before { - content: "\e6ff"; -} - -.cuIcon-sort:before { - content: "\e700"; -} - -.cuIcon-down:before { - content: "\e703"; -} - -.cuIcon-mobile:before { - content: "\e704"; -} - -.cuIcon-mobilefill:before { - content: "\e705"; -} - -.cuIcon-copy:before { - content: "\e706"; -} - -.cuIcon-countdownfill:before { - content: "\e707"; -} - -.cuIcon-countdown:before { - content: "\e708"; -} - -.cuIcon-noticefill:before { - content: "\e709"; -} - -.cuIcon-notice:before { - content: "\e70a"; -} - -.cuIcon-upstagefill:before { - content: "\e70e"; -} - -.cuIcon-upstage:before { - content: "\e70f"; -} - -.cuIcon-babyfill:before { - content: "\e710"; -} - -.cuIcon-baby:before { - content: "\e711"; -} - -.cuIcon-brandfill:before { - content: "\e712"; -} - -.cuIcon-brand:before { - content: "\e713"; -} - -.cuIcon-choicenessfill:before { - content: "\e714"; -} - -.cuIcon-choiceness:before { - content: "\e715"; -} - -.cuIcon-clothesfill:before { - content: "\e716"; -} - -.cuIcon-clothes:before { - content: "\e717"; -} - -.cuIcon-creativefill:before { - content: "\e718"; -} - -.cuIcon-creative:before { - content: "\e719"; -} - -.cuIcon-female:before { - content: "\e71a"; -} - -.cuIcon-keyboard:before { - content: "\e71b"; -} - -.cuIcon-male:before { - content: "\e71c"; -} - -.cuIcon-newfill:before { - content: "\e71d"; -} - -.cuIcon-new:before { - content: "\e71e"; -} - -.cuIcon-pullleft:before { - content: "\e71f"; -} - -.cuIcon-pullright:before { - content: "\e720"; -} - -.cuIcon-rankfill:before { - content: "\e721"; -} - -.cuIcon-rank:before { - content: "\e722"; -} - -.cuIcon-bad:before { - content: "\e723"; -} - -.cuIcon-cameraadd:before { - content: "\e724"; -} - -.cuIcon-focus:before { - content: "\e725"; -} - -.cuIcon-friendfill:before { - content: "\e726"; -} - -.cuIcon-cameraaddfill:before { - content: "\e727"; -} - -.cuIcon-apps:before { - content: "\e729"; -} - -.cuIcon-paintfill:before { - content: "\e72a"; -} - -.cuIcon-paint:before { - content: "\e72b"; -} - -.cuIcon-picfill:before { - content: "\e72c"; -} - -.cuIcon-refresharrow:before { - content: "\e72d"; -} - -.cuIcon-colorlens:before { - content: "\e6e6"; -} - -.cuIcon-markfill:before { - content: "\e730"; -} - -.cuIcon-mark:before { - content: "\e731"; -} - -.cuIcon-presentfill:before { - content: "\e732"; -} - -.cuIcon-repeal:before { - content: "\e733"; -} - -.cuIcon-album:before { - content: "\e734"; -} - -.cuIcon-peoplefill:before { - content: "\e735"; -} - -.cuIcon-people:before { - content: "\e736"; -} - -.cuIcon-servicefill:before { - content: "\e737"; -} - -.cuIcon-repair:before { - content: "\e738"; -} - -.cuIcon-file:before { - content: "\e739"; -} - -.cuIcon-repairfill:before { - content: "\e73a"; -} - -.cuIcon-taoxiaopu:before { - content: "\e73b"; -} - -.cuIcon-weixin:before { - content: "\e612"; -} - -.cuIcon-attentionfill:before { - content: "\e73c"; -} - -.cuIcon-attention:before { - content: "\e73d"; -} - -.cuIcon-commandfill:before { - content: "\e73e"; -} - -.cuIcon-command:before { - content: "\e73f"; -} - -.cuIcon-communityfill:before { - content: "\e740"; -} - -.cuIcon-community:before { - content: "\e741"; -} - -.cuIcon-read:before { - content: "\e742"; -} - -.cuIcon-calendar:before { - content: "\e74a"; -} - -.cuIcon-cut:before { - content: "\e74b"; -} - -.cuIcon-magic:before { - content: "\e74c"; -} - -.cuIcon-backwardfill:before { - content: "\e74d"; -} - -.cuIcon-playfill:before { - content: "\e74f"; -} - -.cuIcon-stop:before { - content: "\e750"; -} - -.cuIcon-tagfill:before { - content: "\e751"; -} - -.cuIcon-tag:before { - content: "\e752"; -} - -.cuIcon-group:before { - content: "\e753"; -} - -.cuIcon-all:before { - content: "\e755"; -} - -.cuIcon-backdelete:before { - content: "\e756"; -} - -.cuIcon-hotfill:before { - content: "\e757"; -} - -.cuIcon-hot:before { - content: "\e758"; -} - -.cuIcon-post:before { - content: "\e759"; -} - -.cuIcon-radiobox:before { - content: "\e75b"; -} - -.cuIcon-rounddown:before { - content: "\e75c"; -} - -.cuIcon-upload:before { - content: "\e75d"; -} - -.cuIcon-writefill:before { - content: "\e760"; -} - -.cuIcon-write:before { - content: "\e761"; -} - -.cuIcon-radioboxfill:before { - content: "\e763"; -} - -.cuIcon-punch:before { - content: "\e764"; -} - -.cuIcon-shake:before { - content: "\e765"; -} - -.cuIcon-move:before { - content: "\e768"; -} - -.cuIcon-safe:before { - content: "\e769"; -} - -.cuIcon-activityfill:before { - content: "\e775"; -} - -.cuIcon-crownfill:before { - content: "\e776"; -} - -.cuIcon-crown:before { - content: "\e777"; -} - -.cuIcon-goodsfill:before { - content: "\e778"; -} - -.cuIcon-messagefill:before { - content: "\e779"; -} - -.cuIcon-profilefill:before { - content: "\e77a"; -} - -.cuIcon-sound:before { - content: "\e77b"; -} - -.cuIcon-sponsorfill:before { - content: "\e77c"; -} - -.cuIcon-sponsor:before { - content: "\e77d"; -} - -.cuIcon-upblock:before { - content: "\e77e"; -} - -.cuIcon-weblock:before { - content: "\e77f"; -} - -.cuIcon-weunblock:before { - content: "\e780"; -} - -.cuIcon-my:before { - content: "\e78b"; -} - -.cuIcon-myfill:before { - content: "\e78c"; -} - -.cuIcon-emojifill:before { - content: "\e78d"; -} - -.cuIcon-emojiflashfill:before { - content: "\e78e"; -} - -.cuIcon-flashbuyfill:before { - content: "\e78f"; -} - -.cuIcon-text:before { - content: "\e791"; -} - -.cuIcon-goodsfavor:before { - content: "\e794"; -} - -.cuIcon-musicfill:before { - content: "\e795"; -} - -.cuIcon-musicforbidfill:before { - content: "\e796"; -} - -.cuIcon-card:before { - content: "\e624"; -} - -.cuIcon-triangledownfill:before { - content: "\e79b"; -} - -.cuIcon-triangleupfill:before { - content: "\e79c"; -} - -.cuIcon-roundleftfill-copy:before { - content: "\e79e"; -} - -.cuIcon-font:before { - content: "\e76a"; -} - -.cuIcon-title:before { - content: "\e82f"; -} - -.cuIcon-recordfill:before { - content: "\e7a4"; -} - -.cuIcon-record:before { - content: "\e7a6"; -} - -.cuIcon-cardboardfill:before { - content: "\e7a9"; -} - -.cuIcon-cardboard:before { - content: "\e7aa"; -} - -.cuIcon-formfill:before { - content: "\e7ab"; -} - -.cuIcon-coin:before { - content: "\e7ac"; -} - -.cuIcon-cardboardforbid:before { - content: "\e7af"; -} - -.cuIcon-circlefill:before { - content: "\e7b0"; -} - -.cuIcon-circle:before { - content: "\e7b1"; -} - -.cuIcon-attentionforbid:before { - content: "\e7b2"; -} - -.cuIcon-attentionforbidfill:before { - content: "\e7b3"; -} - -.cuIcon-attentionfavorfill:before { - content: "\e7b4"; -} - -.cuIcon-attentionfavor:before { - content: "\e7b5"; -} - -.cuIcon-titles:before { - content: "\e701"; -} - -.cuIcon-icloading:before { - content: "\e67a"; -} - -.cuIcon-full:before { - content: "\e7bc"; -} - -.cuIcon-mail:before { - content: "\e7bd"; -} - -.cuIcon-peoplelist:before { - content: "\e7be"; -} - -.cuIcon-goodsnewfill:before { - content: "\e7bf"; -} - -.cuIcon-goodsnew:before { - content: "\e7c0"; -} - -.cuIcon-medalfill:before { - content: "\e7c1"; -} - -.cuIcon-medal:before { - content: "\e7c2"; -} - -.cuIcon-newsfill:before { - content: "\e7c3"; -} - -.cuIcon-newshotfill:before { - content: "\e7c4"; -} - -.cuIcon-newshot:before { - content: "\e7c5"; -} - -.cuIcon-news:before { - content: "\e7c6"; -} - -.cuIcon-videofill:before { - content: "\e7c7"; -} - -.cuIcon-video:before { - content: "\e7c8"; -} - -.cuIcon-exit:before { - content: "\e7cb"; -} - -.cuIcon-skinfill:before { - content: "\e7cc"; -} - -.cuIcon-skin:before { - content: "\e7cd"; -} - -.cuIcon-moneybagfill:before { - content: "\e7ce"; -} - -.cuIcon-usefullfill:before { - content: "\e7cf"; -} - -.cuIcon-usefull:before { - content: "\e7d0"; -} - -.cuIcon-moneybag:before { - content: "\e7d1"; -} - -.cuIcon-redpacket_fill:before { - content: "\e7d3"; -} - -.cuIcon-subscription:before { - content: "\e7d4"; -} - -.cuIcon-loading1:before { - content: "\e633"; -} - -.cuIcon-github:before { - content: "\e692"; -} - -.cuIcon-global:before { - content: "\e7eb"; -} - -.cuIcon-settingsfill:before { - content: "\e6ab"; -} - -.cuIcon-back_android:before { - content: "\e7ed"; -} - -.cuIcon-expressman:before { - content: "\e7ef"; -} - -.cuIcon-evaluate_fill:before { - content: "\e7f0"; -} - -.cuIcon-group_fill:before { - content: "\e7f5"; -} - -.cuIcon-play_forward_fill:before { - content: "\e7f6"; -} - -.cuIcon-deliver_fill:before { - content: "\e7f7"; -} - -.cuIcon-notice_forbid_fill:before { - content: "\e7f8"; -} - -.cuIcon-fork:before { - content: "\e60c"; -} - -.cuIcon-pick:before { - content: "\e7fa"; -} - -.cuIcon-wenzi:before { - content: "\e6a7"; -} - -.cuIcon-ellipse:before { - content: "\e600"; -} - -.cuIcon-qr_code:before { - content: "\e61b"; -} - -.cuIcon-dianhua:before { - content: "\e64d"; -} - -.cuIcon-cuIcon:before { - content: "\e602"; -} - -.cuIcon-loading2:before { - content: "\e7f1"; -} - -.cuIcon-btn:before { - content: "\e601"; -} diff --git a/CreateName-uni/colorui/main.css b/CreateName-uni/colorui/main.css deleted file mode 100644 index 6d844d2..0000000 --- a/CreateName-uni/colorui/main.css +++ /dev/null @@ -1,3912 +0,0 @@ -/* - ColorUi for uniApp v2.1.6 | by 文晓港 2019-05-31 10:44:24 - 仅供学习交流,如作它用所承受的法律责任一概与作者无关 - - *使用ColorUi开发扩展与插件时,请注明基于ColorUi开发 - - (QQ交流群:240787041) -*/ - -/* ================== - 初始化 - ==================== */ -body { - background-color: #f1f1f1; - font-size: 28upx; - color: #333333; - font-family: Helvetica Neue, Helvetica, sans-serif; -} - -view, -scroll-view, -swiper, -button, -input, -textarea, -label, -navigator, -image { - box-sizing: border-box; -} - -.round { - border-radius: 5000upx; -} - -.radius { - border-radius: 6upx; -} - -/* ================== - 图片 - ==================== */ - -image { - max-width: 100%; - display: inline-block; - position: relative; - z-index: 0; -} - -image.loading::before { - content: ""; - background-color: #f5f5f5; - display: block; - position: absolute; - width: 100%; - height: 100%; - z-index: -2; -} - -image.loading::after { - content: "\e7f1"; - font-family: "cuIcon"; - position: absolute; - top: 0; - left: 0; - width: 32upx; - height: 32upx; - line-height: 32upx; - right: 0; - bottom: 0; - z-index: -1; - font-size: 32upx; - margin: auto; - color: #ccc; - -webkit-animation: cuIcon-spin 2s infinite linear; - animation: cuIcon-spin 2s infinite linear; - display: block; -} - -.response { - width: 100%; -} - -/* ================== - 开关 - ==================== */ - -switch, -checkbox, -radio { - position: relative; -} - -switch::after, -switch::before { - font-family: "cuIcon"; - content: "\e645"; - position: absolute; - color: #ffffff !important; - top: 0%; - left: 0upx; - font-size: 26upx; - line-height: 26px; - width: 50%; - text-align: center; - pointer-events: none; - transform: scale(0, 0); - transition: all 0.3s ease-in-out 0s; - z-index: 9; - bottom: 0; - height: 26px; - margin: auto; -} - -switch::before { - content: "\e646"; - right: 0; - transform: scale(1, 1); - left: auto; -} - -switch[checked]::after, -switch.checked::after { - transform: scale(1, 1); -} - -switch[checked]::before, -switch.checked::before { - transform: scale(0, 0); -} - -/* #ifndef MP-ALIPAY */ -radio::before, -checkbox::before { - font-family: "cuIcon"; - content: "\e645"; - position: absolute; - color: #ffffff !important; - top: 50%; - margin-top: -8px; - right: 5px; - font-size: 32upx; - line-height: 16px; - pointer-events: none; - transform: scale(1, 1); - transition: all 0.3s ease-in-out 0s; - z-index: 9; -} - -radio .wx-radio-input, -checkbox .wx-checkbox-input, -radio .uni-radio-input, -checkbox .uni-checkbox-input { - margin: 0; - width: 24px; - height: 24px; -} - -checkbox.round .wx-checkbox-input, -checkbox.round .uni-checkbox-input { - border-radius: 100upx; -} - -/* #endif */ - -switch[checked]::before { - transform: scale(0, 0); -} - -switch .wx-switch-input, -switch .uni-switch-input { - border: none; - padding: 0 24px; - width: 48px; - height: 26px; - margin: 0; - border-radius: 100upx; -} - -switch .wx-switch-input:not([class*="bg-"]), -switch .uni-switch-input:not([class*="bg-"]) { - background: #8799a3 !important; -} - -switch .wx-switch-input::after, -switch .uni-switch-input::after { - margin: auto; - width: 26px; - height: 26px; - border-radius: 100upx; - left: 0upx; - top: 0upx; - bottom: 0upx; - position: absolute; - transform: scale(0.9, 0.9); - transition: all 0.1s ease-in-out 0s; -} - -switch .wx-switch-input.wx-switch-input-checked::after, -switch .uni-switch-input.uni-switch-input-checked::after { - margin: auto; - left: 22px; - box-shadow: none; - transform: scale(0.9, 0.9); -} - -radio-group { - display: inline-block; -} - - - -switch.radius .wx-switch-input::after, -switch.radius .wx-switch-input, -switch.radius .wx-switch-input::before, -switch.radius .uni-switch-input::after, -switch.radius .uni-switch-input, -switch.radius .uni-switch-input::before { - border-radius: 10upx; -} - -switch .wx-switch-input::before, -radio.radio::before, -checkbox .wx-checkbox-input::before, -radio .wx-radio-input::before, -switch .uni-switch-input::before, -radio.radio::before, -checkbox .uni-checkbox-input::before, -radio .uni-radio-input::before { - display: none; -} - -radio.radio[checked]::after, -radio.radio .uni-radio-input-checked::after { - content: ""; - background-color: transparent; - display: block; - position: absolute; - width: 8px; - height: 8px; - z-index: 999; - top: 0upx; - left: 0upx; - right: 0; - bottom: 0; - margin: auto; - border-radius: 200upx; - /* #ifndef MP */ - border: 7px solid #ffffff !important; - /* #endif */ - - /* #ifdef MP */ - border: 8px solid #ffffff !important; - /* #endif */ -} - -.switch-sex::after { - content: "\e71c"; -} - -.switch-sex::before { - content: "\e71a"; -} - -.switch-sex .wx-switch-input, -.switch-sex .uni-switch-input { - background: #e54d42 !important; - border-color: #e54d42 !important; -} - -.switch-sex[checked] .wx-switch-input, -.switch-sex.checked .uni-switch-input { - background: #0081ff !important; - border-color: #0081ff !important; -} - -switch.red[checked] .wx-switch-input.wx-switch-input-checked, -checkbox.red[checked] .wx-checkbox-input, -radio.red[checked] .wx-radio-input, -switch.red.checked .uni-switch-input.uni-switch-input-checked, -checkbox.red.checked .uni-checkbox-input, -radio.red.checked .uni-radio-input { - background-color: #e54d42 !important; - border-color: #e54d42 !important; - color: #ffffff !important; -} - -switch.orange[checked] .wx-switch-input, -checkbox.orange[checked] .wx-checkbox-input, -radio.orange[checked] .wx-radio-input, -switch.orange.checked .uni-switch-input, -checkbox.orange.checked .uni-checkbox-input, -radio.orange.checked .uni-radio-input { - background-color: #f37b1d !important; - border-color: #f37b1d !important; - color: #ffffff !important; -} - -switch.yellow[checked] .wx-switch-input, -checkbox.yellow[checked] .wx-checkbox-input, -radio.yellow[checked] .wx-radio-input, -switch.yellow.checked .uni-switch-input, -checkbox.yellow.checked .uni-checkbox-input, -radio.yellow.checked .uni-radio-input { - background-color: #fbbd08 !important; - border-color: #fbbd08 !important; - color: #333333 !important; -} - -switch.olive[checked] .wx-switch-input, -checkbox.olive[checked] .wx-checkbox-input, -radio.olive[checked] .wx-radio-input, -switch.olive.checked .uni-switch-input, -checkbox.olive.checked .uni-checkbox-input, -radio.olive.checked .uni-radio-input { - background-color: #8dc63f !important; - border-color: #8dc63f !important; - color: #ffffff !important; -} - -switch.green[checked] .wx-switch-input, -switch[checked] .wx-switch-input, -checkbox.green[checked] .wx-checkbox-input, -checkbox[checked] .wx-checkbox-input, -radio.green[checked] .wx-radio-input, -radio[checked] .wx-radio-input, -switch.green.checked .uni-switch-input, -switch.checked .uni-switch-input, -checkbox.green.checked .uni-checkbox-input, -checkbox.checked .uni-checkbox-input, -radio.green.checked .uni-radio-input, -radio.checked .uni-radio-input { - background-color: #39b54a !important; - border-color: #39b54a !important; - color: #ffffff !important; - border-color: #39B54A !important; -} - -switch.cyan[checked] .wx-switch-input, -checkbox.cyan[checked] .wx-checkbox-input, -radio.cyan[checked] .wx-radio-input, -switch.cyan.checked .uni-switch-input, -checkbox.cyan.checked .uni-checkbox-input, -radio.cyan.checked .uni-radio-input { - background-color: #1cbbb4 !important; - border-color: #1cbbb4 !important; - color: #ffffff !important; -} - -switch.blue[checked] .wx-switch-input, -checkbox.blue[checked] .wx-checkbox-input, -radio.blue[checked] .wx-radio-input, -switch.blue.checked .uni-switch-input, -checkbox.blue.checked .uni-checkbox-input, -radio.blue.checked .uni-radio-input { - background-color: #0081ff !important; - border-color: #0081ff !important; - color: #ffffff !important; -} - -switch.purple[checked] .wx-switch-input, -checkbox.purple[checked] .wx-checkbox-input, -radio.purple[checked] .wx-radio-input, -switch.purple.checked .uni-switch-input, -checkbox.purple.checked .uni-checkbox-input, -radio.purple.checked .uni-radio-input { - background-color: #6739b6 !important; - border-color: #6739b6 !important; - color: #ffffff !important; -} - -switch.mauve[checked] .wx-switch-input, -checkbox.mauve[checked] .wx-checkbox-input, -radio.mauve[checked] .wx-radio-input, -switch.mauve.checked .uni-switch-input, -checkbox.mauve.checked .uni-checkbox-input, -radio.mauve.checked .uni-radio-input { - background-color: #9c26b0 !important; - border-color: #9c26b0 !important; - color: #ffffff !important; -} - -switch.pink[checked] .wx-switch-input, -checkbox.pink[checked] .wx-checkbox-input, -radio.pink[checked] .wx-radio-input, -switch.pink.checked .uni-switch-input, -checkbox.pink.checked .uni-checkbox-input, -radio.pink.checked .uni-radio-input { - background-color: #e03997 !important; - border-color: #e03997 !important; - color: #ffffff !important; -} - -switch.brown[checked] .wx-switch-input, -checkbox.brown[checked] .wx-checkbox-input, -radio.brown[checked] .wx-radio-input, -switch.brown.checked .uni-switch-input, -checkbox.brown.checked .uni-checkbox-input, -radio.brown.checked .uni-radio-input { - background-color: #a5673f !important; - border-color: #a5673f !important; - color: #ffffff !important; -} - -switch.grey[checked] .wx-switch-input, -checkbox.grey[checked] .wx-checkbox-input, -radio.grey[checked] .wx-radio-input, -switch.grey.checked .uni-switch-input, -checkbox.grey.checked .uni-checkbox-input, -radio.grey.checked .uni-radio-input { - background-color: #8799a3 !important; - border-color: #8799a3 !important; - color: #ffffff !important; -} - -switch.gray[checked] .wx-switch-input, -checkbox.gray[checked] .wx-checkbox-input, -radio.gray[checked] .wx-radio-input, -switch.gray.checked .uni-switch-input, -checkbox.gray.checked .uni-checkbox-input, -radio.gray.checked .uni-radio-input { - background-color: #f0f0f0 !important; - border-color: #f0f0f0 !important; - color: #333333 !important; -} - -switch.black[checked] .wx-switch-input, -checkbox.black[checked] .wx-checkbox-input, -radio.black[checked] .wx-radio-input, -switch.black.checked .uni-switch-input, -checkbox.black.checked .uni-checkbox-input, -radio.black.checked .uni-radio-input { - background-color: #333333 !important; - border-color: #333333 !important; - color: #ffffff !important; -} - -switch.white[checked] .wx-switch-input, -checkbox.white[checked] .wx-checkbox-input, -radio.white[checked] .wx-radio-input, -switch.white.checked .uni-switch-input, -checkbox.white.checked .uni-checkbox-input, -radio.white.checked .uni-radio-input { - background-color: #ffffff !important; - border-color: #ffffff !important; - color: #333333 !important; -} - -/* ================== - 边框 - ==================== */ - -/* -- 实线 -- */ - -.solid, -.solid-top, -.solid-right, -.solid-bottom, -.solid-left, -.solids, -.solids-top, -.solids-right, -.solids-bottom, -.solids-left, -.dashed, -.dashed-top, -.dashed-right, -.dashed-bottom, -.dashed-left { - position: relative; -} - -.solid::after, -.solid-top::after, -.solid-right::after, -.solid-bottom::after, -.solid-left::after, -.solids::after, -.solids-top::after, -.solids-right::after, -.solids-bottom::after, -.solids-left::after, -.dashed::after, -.dashed-top::after, -.dashed-right::after, -.dashed-bottom::after, -.dashed-left::after { - content: " "; - width: 200%; - height: 200%; - position: absolute; - top: 0; - left: 0; - border-radius: inherit; - transform: scale(0.5); - transform-origin: 0 0; - pointer-events: none; - box-sizing: border-box; -} - -.solid::after { - border: 1upx solid rgba(0, 0, 0, 0.1); -} - -.solid-top::after { - border-top: 1upx solid rgba(0, 0, 0, 0.1); -} - -.solid-right::after { - border-right: 1upx solid rgba(0, 0, 0, 0.1); -} - -.solid-bottom::after { - border-bottom: 1upx solid rgba(0, 0, 0, 0.1); -} - -.solid-left::after { - border-left: 1upx solid rgba(0, 0, 0, 0.1); -} - -.solids::after { - border: 8upx solid #eee; -} - -.solids-top::after { - border-top: 8upx solid #eee; -} - -.solids-right::after { - border-right: 8upx solid #eee; -} - -.solids-bottom::after { - border-bottom: 8upx solid #eee; -} - -.solids-left::after { - border-left: 8upx solid #eee; -} - -/* -- 虚线 -- */ - -.dashed::after { - border: 1upx dashed #ddd; -} - -.dashed-top::after { - border-top: 1upx dashed #ddd; -} - -.dashed-right::after { - border-right: 1upx dashed #ddd; -} - -.dashed-bottom::after { - border-bottom: 1upx dashed #ddd; -} - -.dashed-left::after { - border-left: 1upx dashed #ddd; -} - -/* -- 阴影 -- */ - -.shadow[class*='white'] { - --ShadowSize: 0 1upx 6upx; -} - -.shadow-lg { - --ShadowSize: 0upx 40upx 100upx 0upx; -} - -.shadow-warp { - position: relative; - box-shadow: 0 0 10upx rgba(0, 0, 0, 0.1); -} - -.shadow-warp:before, -.shadow-warp:after { - position: absolute; - content: ""; - top: 20upx; - bottom: 30upx; - left: 20upx; - width: 50%; - box-shadow: 0 30upx 20upx rgba(0, 0, 0, 0.2); - transform: rotate(-3deg); - z-index: -1; -} - -.shadow-warp:after { - right: 20upx; - left: auto; - transform: rotate(3deg); -} - -.shadow-blur { - position: relative; -} - -.shadow-blur::before { - content: ""; - display: block; - background: inherit; - filter: blur(10upx); - position: absolute; - width: 100%; - height: 100%; - top: 10upx; - left: 10upx; - z-index: -1; - opacity: 0.4; - transform-origin: 0 0; - border-radius: inherit; - transform: scale(1, 1); -} - -/* ================== - 按钮 - ==================== */ - -.cu-btn { - position: relative; - border: 0upx; - display: inline-flex; - align-items: center; - justify-content: center; - box-sizing: border-box; - padding: 0 30upx; - font-size: 28upx; - height: 64upx; - line-height: 1; - text-align: center; - text-decoration: none; - overflow: visible; - margin-left: initial; - transform: translate(0upx, 0upx); - margin-right: initial; -} - -.cu-btn::after { - display: none; -} - -.cu-btn:not([class*="bg-"]) { - background-color: #f0f0f0; -} - -.cu-btn[class*="line"] { - background-color: transparent; -} - -.cu-btn[class*="line"]::after { - content: " "; - display: block; - width: 200%; - height: 200%; - position: absolute; - top: 0; - left: 0; - border: 1upx solid currentColor; - transform: scale(0.5); - transform-origin: 0 0; - box-sizing: border-box; - border-radius: 12upx; - z-index: 1; - pointer-events: none; -} - -.cu-btn.round[class*="line"]::after { - border-radius: 1000upx; -} - -.cu-btn[class*="lines"]::after { - border: 6upx solid currentColor; -} - -.cu-btn[class*="bg-"]::after { - display: none; -} - -.cu-btn.sm { - padding: 0 20upx; - font-size: 20upx; - height: 48upx; -} - -.cu-btn.lg { - padding: 0 40upx; - font-size: 32upx; - height: 80upx; -} - -.cu-btn.cuIcon.sm { - width: 48upx; - height: 48upx; -} - -.cu-btn.cuIcon { - width: 64upx; - height: 64upx; - border-radius: 500upx; - padding: 0; -} - -button.cuIcon.lg { - width: 80upx; - height: 80upx; -} - -.cu-btn.shadow-blur::before { - top: 4upx; - left: 4upx; - filter: blur(6upx); - opacity: 0.6; -} - -.cu-btn.button-hover { - transform: translate(1upx, 1upx); -} - -.block { - display: block; -} - -.cu-btn.block { - display: flex; -} - -.cu-btn[disabled] { - opacity: 0.6; - color: #ffffff; -} - -/* ================== - 徽章 - ==================== */ - -.cu-tag { - font-size: 24upx; - vertical-align: middle; - position: relative; - display: inline-flex; - align-items: center; - justify-content: center; - box-sizing: border-box; - padding: 0upx 16upx; - height: 48upx; - font-family: Helvetica Neue, Helvetica, sans-serif; - white-space: nowrap; -} - -.cu-tag:not([class*="bg"]):not([class*="line"]) { - background-color: #f1f1f1; -} - -.cu-tag[class*="line-"]::after { - content: " "; - width: 200%; - height: 200%; - position: absolute; - top: 0; - left: 0; - border: 1upx solid currentColor; - transform: scale(0.5); - transform-origin: 0 0; - box-sizing: border-box; - border-radius: inherit; - z-index: 1; - pointer-events: none; -} - -.cu-tag.radius[class*="line"]::after { - border-radius: 12upx; -} - -.cu-tag.round[class*="line"]::after { - border-radius: 1000upx; -} - -.cu-tag[class*="line-"]::after { - border-radius: 0; -} - -.cu-tag+.cu-tag { - margin-left: 10upx; -} - -.cu-tag.sm { - font-size: 20upx; - padding: 0upx 12upx; - height: 32upx; -} - -.cu-capsule { - display: inline-flex; - vertical-align: middle; -} - -.cu-capsule+.cu-capsule { - margin-left: 10upx; -} - -.cu-capsule .cu-tag { - margin: 0; -} - -.cu-capsule .cu-tag[class*="line-"]:last-child::after { - border-left: 0upx solid transparent; -} - -.cu-capsule .cu-tag[class*="line-"]:first-child::after { - border-right: 0upx solid transparent; -} - -.cu-capsule.radius .cu-tag:first-child { - border-top-left-radius: 6upx; - border-bottom-left-radius: 6upx; -} - -.cu-capsule.radius .cu-tag:last-child::after, -.cu-capsule.radius .cu-tag[class*="line-"] { - border-top-right-radius: 12upx; - border-bottom-right-radius: 12upx; -} - -.cu-capsule.round .cu-tag:first-child { - border-top-left-radius: 200upx; - border-bottom-left-radius: 200upx; - text-indent: 4upx; -} - -.cu-capsule.round .cu-tag:last-child::after, -.cu-capsule.round .cu-tag:last-child { - border-top-right-radius: 200upx; - border-bottom-right-radius: 200upx; - text-indent: -4upx; -} - -.cu-tag.badge { - border-radius: 200upx; - position: absolute; - top: -10upx; - right: -10upx; - font-size: 20upx; - padding: 0upx 10upx; - height: 28upx; - color: #ffffff; -} - -.cu-tag.badge:not([class*="bg-"]) { - background-color: #dd514c; -} - -.cu-tag:empty:not([class*="cuIcon-"]) { - padding: 0upx; - width: 16upx; - height: 16upx; - top: -4upx; - right: -4upx; -} - -.cu-tag[class*="cuIcon-"] { - width: 32upx; - height: 32upx; - top: -4upx; - right: -4upx; -} - -/* ================== - 头像 - ==================== */ - -.cu-avatar { - font-variant: small-caps; - margin: 0; - padding: 0; - display: inline-flex; - text-align: center; - justify-content: center; - align-items: center; - background-color: #ccc; - color: #ffffff; - white-space: nowrap; - position: relative; - width: 64upx; - height: 64upx; - background-size: cover; - background-position: center; - vertical-align: middle; - font-size: 1.5em; -} - -.cu-avatar.sm { - width: 48upx; - height: 48upx; - font-size: 1em; -} - -.cu-avatar.lg { - width: 96upx; - height: 96upx; - font-size: 2em; -} - -.cu-avatar.xl { - width: 128upx; - height: 128upx; - font-size: 2.5em; -} - -.cu-avatar .avatar-text { - font-size: 0.4em; -} - -.cu-avatar-group { - direction: rtl; - unicode-bidi: bidi-override; - padding: 0 10upx 0 40upx; - display: inline-block; -} - -.cu-avatar-group .cu-avatar { - margin-left: -30upx; - border: 4upx solid #f1f1f1; - vertical-align: middle; -} - -.cu-avatar-group .cu-avatar.sm { - margin-left: -20upx; - border: 1upx solid #f1f1f1; -} - -/* ================== - 进度条 - ==================== */ - -.cu-progress { - overflow: hidden; - height: 28upx; - background-color: #ebeef5; - display: inline-flex; - align-items: center; - width: 100%; -} - -.cu-progress+view, -.cu-progress+text { - line-height: 1; -} - -.cu-progress.xs { - height: 10upx; -} - -.cu-progress.sm { - height: 20upx; -} - -.cu-progress view { - width: 0; - height: 100%; - align-items: center; - display: flex; - justify-items: flex-end; - justify-content: space-around; - font-size: 20upx; - color: #ffffff; - transition: width 0.6s ease; -} - -.cu-progress text { - align-items: center; - display: flex; - font-size: 20upx; - color: #333333; - text-indent: 10upx; -} - -.cu-progress.text-progress { - padding-right: 60upx; -} - -.cu-progress.striped view { - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-size: 72upx 72upx; -} - -.cu-progress.active view { - animation: progress-stripes 2s linear infinite; -} - -@keyframes progress-stripes { - from { - background-position: 72upx 0; - } - - to { - background-position: 0 0; - } -} - -/* ================== - 加载 - ==================== */ - -.cu-load { - display: block; - line-height: 3em; - text-align: center; -} - -.cu-load::before { - font-family: "cuIcon"; - display: inline-block; - margin-right: 6upx; -} - -.cu-load.loading::before { - content: "\e67a"; - animation: cuIcon-spin 2s infinite linear; -} - -.cu-load.loading::after { - content: "加载中..."; -} - -.cu-load.over::before { - content: "\e64a"; -} - -.cu-load.over::after { - content: "没有更多了"; -} - -.cu-load.erro::before { - content: "\e658"; -} - -.cu-load.erro::after { - content: "加载失败"; -} - -.cu-load.load-cuIcon::before { - font-size: 32upx; -} - -.cu-load.load-cuIcon::after { - display: none; -} - -.cu-load.load-cuIcon.over { - display: none; -} - -.cu-load.load-modal { - position: fixed; - top: 0; - right: 0; - bottom: 140upx; - left: 0; - margin: auto; - width: 260upx; - height: 260upx; - background-color: #ffffff; - border-radius: 10upx; - box-shadow: 0 0 0upx 2000upx rgba(0, 0, 0, 0.5); - display: flex; - align-items: center; - flex-direction: column; - justify-content: center; - font-size: 28upx; - z-index: 9999; - line-height: 2.4em; -} - -.cu-load.load-modal [class*="cuIcon-"] { - font-size: 60upx; -} - -.cu-load.load-modal image { - width: 70upx; - height: 70upx; -} - -.cu-load.load-modal::after { - content: ""; - position: absolute; - background-color: #ffffff; - border-radius: 50%; - width: 200upx; - height: 200upx; - font-size: 10px; - border-top: 6upx solid rgba(0, 0, 0, 0.05); - border-right: 6upx solid rgba(0, 0, 0, 0.05); - border-bottom: 6upx solid rgba(0, 0, 0, 0.05); - border-left: 6upx solid #f37b1d; - animation: cuIcon-spin 1s infinite linear; - z-index: -1; -} - -.load-progress { - pointer-events: none; - top: 0; - position: fixed; - width: 100%; - left: 0; - z-index: 2000; -} - -.load-progress.hide { - display: none; -} - -.load-progress .load-progress-bar { - position: relative; - width: 100%; - height: 4upx; - overflow: hidden; - transition: all 200ms ease 0s; -} - -.load-progress .load-progress-spinner { - position: absolute; - top: 10upx; - right: 10upx; - z-index: 2000; - display: block; -} - -.load-progress .load-progress-spinner::after { - content: ""; - display: block; - width: 24upx; - height: 24upx; - -webkit-box-sizing: border-box; - box-sizing: border-box; - border: solid 4upx transparent; - border-top-color: inherit; - border-left-color: inherit; - border-radius: 50%; - -webkit-animation: load-progress-spinner 0.4s linear infinite; - animation: load-progress-spinner 0.4s linear infinite; -} - -@-webkit-keyframes load-progress-spinner { - 0% { - -webkit-transform: rotate(0); - transform: rotate(0); - } - - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} - -@keyframes load-progress-spinner { - 0% { - -webkit-transform: rotate(0); - transform: rotate(0); - } - - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} - -/* ================== - 列表 - ==================== */ -.grayscale { - filter: grayscale(1); -} - -.cu-list+.cu-list { - margin-top: 30upx -} - -.cu-list>.cu-item { - transition: all .6s ease-in-out 0s; - transform: translateX(0upx) -} - -.cu-list>.cu-item.move-cur { - transform: translateX(-260upx) -} - -.cu-list>.cu-item .move { - position: absolute; - right: 0; - display: flex; - width: 260upx; - height: 100%; - transform: translateX(100%) -} - -.cu-list>.cu-item .move view { - display: flex; - flex: 1; - justify-content: center; - align-items: center -} - -.cu-list.menu-avatar { - overflow: hidden; -} - -.cu-list.menu-avatar>.cu-item { - position: relative; - display: flex; - padding-right: 10upx; - height: 140upx; - background-color: #ffffff; - justify-content: flex-end; - align-items: center -} - -.cu-list.menu-avatar>.cu-item>.cu-avatar { - position: absolute; - left: 30upx -} - -.cu-list.menu-avatar>.cu-item .flex .text-cut { - max-width: 510upx -} - -.cu-list.menu-avatar>.cu-item .content { - position: absolute; - left: 146upx; - width: calc(100% - 96upx - 60upx - 120upx - 20upx); - line-height: 1.6em; -} - -.cu-list.menu-avatar>.cu-item .content.flex-sub { - width: calc(100% - 96upx - 60upx - 20upx); -} - -.cu-list.menu-avatar>.cu-item .content>view:first-child { - font-size: 30upx; - display: flex; - align-items: center -} - -.cu-list.menu-avatar>.cu-item .content .cu-tag.sm { - display: inline-block; - margin-left: 10upx; - height: 28upx; - font-size: 16upx; - line-height: 32upx -} - -.cu-list.menu-avatar>.cu-item .action { - width: 100upx; - text-align: center -} - -.cu-list.menu-avatar>.cu-item .action view+view { - margin-top: 10upx -} - -.cu-list.menu-avatar.comment>.cu-item .content { - position: relative; - left: 0; - width: auto; - flex: 1; -} - -.cu-list.menu-avatar.comment>.cu-item { - padding: 30upx 30upx 30upx 120upx; - height: auto -} - -.cu-list.menu-avatar.comment .cu-avatar { - align-self: flex-start -} - -.cu-list.menu>.cu-item { - position: relative; - display: flex; - padding: 0 30upx; - min-height: 100upx; - background-color: #ffffff; - justify-content: space-between; - align-items: center -} - -.cu-list.menu>.cu-item:last-child:after { - border: none -} - -.cu-list.menu-avatar>.cu-item:after, -.cu-list.menu>.cu-item:after { - position: absolute; - top: 0; - left: 0; - box-sizing: border-box; - width: 200%; - height: 200%; - border-bottom: 1upx solid #ddd; - border-radius: inherit; - content: " "; - transform: scale(.5); - transform-origin: 0 0; - pointer-events: none -} - -.cu-list.menu>.cu-item.grayscale { - background-color: #f5f5f5 -} - -.cu-list.menu>.cu-item.cur { - background-color: #fcf7e9 -} - -.cu-list.menu>.cu-item.arrow { - padding-right: 90upx -} - -.cu-list.menu>.cu-item.arrow:before { - position: absolute; - top: 0; - right: 30upx; - bottom: 0; - display: block; - margin: auto; - width: 30upx; - height: 30upx; - color: #8799a3; - content: "\e6a3"; - text-align: center; - font-size: 34upx; - font-family: cuIcon; - line-height: 30upx -} - -.cu-list.menu>.cu-item button.content { - padding: 0; - background-color: transparent; - justify-content: flex-start -} - -.cu-list.menu>.cu-item button.content:after { - display: none -} - -.cu-list.menu>.cu-item .cu-avatar-group .cu-avatar { - border-color: #ffffff -} - -.cu-list.menu>.cu-item .content>view:first-child { - display: flex; - align-items: center -} - -.cu-list.menu>.cu-item .content>text[class*=cuIcon] { - display: inline-block; - margin-right: 10upx; - width: 1.6em; - text-align: center -} - -.cu-list.menu>.cu-item .content>image { - display: inline-block; - margin-right: 10upx; - width: 1.6em; - height: 1.6em; - vertical-align: middle -} - -.cu-list.menu>.cu-item .content { - font-size: 30upx; - line-height: 1.6em; - flex: 1 -} - -.cu-list.menu>.cu-item .content .cu-tag.sm { - display: inline-block; - margin-left: 10upx; - height: 28upx; - font-size: 16upx; - line-height: 32upx -} - -.cu-list.menu>.cu-item .action .cu-tag:empty { - right: 10upx -} - -.cu-list.menu { - display: block; - overflow: hidden -} - -.cu-list.menu.sm-border>.cu-item:after { - left: 30upx; - width: calc(200% - 120upx) -} - -.cu-list.grid>.cu-item { - position: relative; - display: flex; - padding: 20upx 0 30upx; - transition-duration: 0s; - flex-direction: column -} - -.cu-list.grid>.cu-item:after { - position: absolute; - top: 0; - left: 0; - box-sizing: border-box; - width: 200%; - height: 200%; - border-right: 1px solid rgba(0, 0, 0, .1); - border-bottom: 1px solid rgba(0, 0, 0, .1); - border-radius: inherit; - content: " "; - transform: scale(.5); - transform-origin: 0 0; - pointer-events: none -} - -.cu-list.grid>.cu-item text { - display: block; - margin-top: 10upx; - color: #888; - font-size: 26upx; - line-height: 40upx -} - -.cu-list.grid>.cu-item [class*=cuIcon] { - position: relative; - display: block; - margin-top: 20upx; - width: 100%; - font-size: 48upx -} - -.cu-list.grid>.cu-item .cu-tag { - right: auto; - left: 50%; - margin-left: 20upx -} - -.cu-list.grid { - background-color: #ffffff; - text-align: center -} - -.cu-list.grid.no-border>.cu-item { - padding-top: 10upx; - padding-bottom: 20upx -} - -.cu-list.grid.no-border>.cu-item:after { - border: none -} - -.cu-list.grid.no-border { - padding: 20upx 10upx -} - -.cu-list.grid.col-3>.cu-item:nth-child(3n):after, -.cu-list.grid.col-4>.cu-item:nth-child(4n):after, -.cu-list.grid.col-5>.cu-item:nth-child(5n):after { - border-right-width: 0 -} - -.cu-list.card-menu { - overflow: hidden; - margin-right: 30upx; - margin-left: 30upx; - border-radius: 20upx -} - - -/* ================== - 操作条 - ==================== */ - -.cu-bar { - display: flex; - position: relative; - align-items: center; - min-height: 100upx; - justify-content: space-between; -} - -.cu-bar .action { - display: flex; - align-items: center; - height: 100%; - justify-content: center; - max-width: 100%; -} - -.cu-bar .action.border-title { - position: relative; - top: -10upx; -} - -.cu-bar .action.border-title text[class*="bg-"]:last-child { - position: absolute; - bottom: -0.5rem; - min-width: 2rem; - height: 6upx; - left: 0; -} - -.cu-bar .action.sub-title { - position: relative; - top: -0.2rem; -} - -.cu-bar .action.sub-title text { - position: relative; - z-index: 1; -} - -.cu-bar .action.sub-title text[class*="bg-"]:last-child { - position: absolute; - display: inline-block; - bottom: -0.2rem; - border-radius: 6upx; - width: 100%; - height: 0.6rem; - left: 0.6rem; - opacity: 0.3; - z-index: 0; -} - -.cu-bar .action.sub-title text[class*="text-"]:last-child { - position: absolute; - display: inline-block; - bottom: -0.7rem; - left: 0.5rem; - opacity: 0.2; - z-index: 0; - text-align: right; - font-weight: 900; - font-size: 36upx; -} - -.cu-bar.justify-center .action.border-title text:last-child, -.cu-bar.justify-center .action.sub-title text:last-child { - left: 0; - right: 0; - margin: auto; - text-align: center; -} - -.cu-bar .action:first-child { - margin-left: 30upx; - font-size: 30upx; -} - -.cu-bar .action text.text-cut { - text-align: left; - width: 100%; -} - -.cu-bar .cu-avatar:first-child { - margin-left: 20upx; -} - -.cu-bar .action:first-child>text[class*="cuIcon-"] { - margin-left: -0.3em; - margin-right: 0.3em; -} - -.cu-bar .action:last-child { - margin-right: 30upx; -} - -.cu-bar .action>text[class*="cuIcon-"], -.cu-bar .action>view[class*="cuIcon-"] { - font-size: 36upx; -} - -.cu-bar .action>text[class*="cuIcon-"]+text[class*="cuIcon-"] { - margin-left: 0.5em; -} - -.cu-bar .content { - position: absolute; - text-align: center; - width: calc(100% - 340upx); - left: 0; - right: 0; - bottom: 0; - top: 0; - margin: auto; - height: 60upx; - font-size: 32upx; - line-height: 60upx; - cursor: none; - pointer-events: none; - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; -} - -.cu-bar.ios .content { - bottom: 7px; - height: 30px; - font-size: 32upx; - line-height: 30px; -} - -.cu-bar.btn-group { - justify-content: space-around; -} - -.cu-bar.btn-group button { - padding: 20upx 32upx; -} - -.cu-bar.btn-group button { - flex: 1; - margin: 0 20upx; - max-width: 50%; -} - -.cu-bar .search-form { - background-color: #f5f5f5; - line-height: 64upx; - height: 64upx; - font-size: 24upx; - color: #333333; - flex: 1; - display: flex; - align-items: center; - margin: 0 30upx; -} - -.cu-bar .search-form+.action { - margin-right: 30upx; -} - -.cu-bar .search-form input { - flex: 1; - padding-right: 30upx; - height: 64upx; - line-height: 64upx; - font-size: 26upx; - background-color: transparent; -} - -.cu-bar .search-form [class*="cuIcon-"] { - margin: 0 0.5em 0 0.8em; -} - -.cu-bar .search-form [class*="cuIcon-"]::before { - top: 0upx; -} - -.cu-bar.fixed, -.nav.fixed { - position: fixed; - width: 100%; - top: 0; - z-index: 1024; - box-shadow: 0 1upx 6upx rgba(0, 0, 0, 0.1); -} - -.cu-bar.foot { - position: fixed; - width: 100%; - bottom: 0; - z-index: 1024; - box-shadow: 0 -1upx 6upx rgba(0, 0, 0, 0.1); -} - -.cu-bar.tabbar { - padding: 0; - height: calc(100upx + env(safe-area-inset-bottom) / 2); - padding-bottom: calc(env(safe-area-inset-bottom) / 2); -} - -.cu-tabbar-height { - min-height: 100upx; - height: calc(100upx + env(safe-area-inset-bottom) / 2); -} - -.cu-bar.tabbar.shadow { - box-shadow: 0 -1upx 6upx rgba(0, 0, 0, 0.1); -} - -.cu-bar.tabbar .action { - font-size: 22upx; - position: relative; - flex: 1; - text-align: center; - padding: 0; - display: block; - height: auto; - line-height: 1; - margin: 0; - background-color: inherit; - overflow: initial; -} - -.cu-bar.tabbar.shop .action { - width: 140upx; - flex: initial; -} - -.cu-bar.tabbar .action.add-action { - position: relative; - z-index: 2; - padding-top: 50upx; -} - -.cu-bar.tabbar .action.add-action [class*="cuIcon-"] { - position: absolute; - width: 70upx; - z-index: 2; - height: 70upx; - border-radius: 50%; - line-height: 70upx; - font-size: 50upx; - top: -35upx; - left: 0; - right: 0; - margin: auto; - padding: 0; -} - -.cu-bar.tabbar .action.add-action::after { - content: ""; - position: absolute; - width: 100upx; - height: 100upx; - top: -50upx; - left: 0; - right: 0; - margin: auto; - box-shadow: 0 -3upx 8upx rgba(0, 0, 0, 0.08); - border-radius: 50upx; - background-color: inherit; - z-index: 0; -} - -.cu-bar.tabbar .action.add-action::before { - content: ""; - position: absolute; - width: 100upx; - height: 30upx; - bottom: 30upx; - left: 0; - right: 0; - margin: auto; - background-color: inherit; - z-index: 1; -} - -.cu-bar.tabbar .btn-group { - flex: 1; - display: flex; - justify-content: space-around; - align-items: center; - padding: 0 10upx; -} - -.cu-bar.tabbar button.action::after { - border: 0; -} - -.cu-bar.tabbar .action [class*="cuIcon-"] { - width: 100upx; - position: relative; - display: block; - height: auto; - margin: 0 auto 10upx; - text-align: center; - font-size: 40upx; -} - -.cu-bar.tabbar .action .cuIcon-cu-image { - margin: 0 auto; -} - -.cu-bar.tabbar .action .cuIcon-cu-image image { - width: 50upx; - height: 50upx; - display: inline-block; -} - -.cu-bar.tabbar .submit { - align-items: center; - display: flex; - justify-content: center; - text-align: center; - position: relative; - flex: 2; - align-self: stretch; -} - -.cu-bar.tabbar .submit:last-child { - flex: 2.6; -} - -.cu-bar.tabbar .submit+.submit { - flex: 2; -} - -.cu-bar.tabbar.border .action::before { - content: " "; - width: 200%; - height: 200%; - position: absolute; - top: 0; - left: 0; - transform: scale(0.5); - transform-origin: 0 0; - border-right: 1upx solid rgba(0, 0, 0, 0.1); - z-index: 3; -} - -.cu-bar.tabbar.border .action:last-child:before { - display: none; -} - -.cu-bar.input { - padding-right: 20upx; - background-color: #ffffff; -} - -.cu-bar.input input { - overflow: initial; - line-height: 64upx; - height: 64upx; - min-height: 64upx; - flex: 1; - font-size: 30upx; - margin: 0 20upx; -} - -.cu-bar.input .action { - margin-left: 20upx; -} - -.cu-bar.input .action [class*="cuIcon-"] { - font-size: 48upx; -} - -.cu-bar.input input+.action { - margin-right: 20upx; - margin-left: 0upx; -} - -.cu-bar.input .action:first-child [class*="cuIcon-"] { - margin-left: 0upx; -} - -.cu-custom { - display: block; - position: relative; -} - -.cu-custom .cu-bar .content { - width: calc(100% - 440upx); -} - -/* #ifdef MP-ALIPAY */ -.cu-custom .cu-bar .action .cuIcon-back { - opacity: 0; -} - -/* #endif */ - -.cu-custom .cu-bar .content image { - height: 60upx; - width: 240upx; -} - -.cu-custom .cu-bar { - min-height: 0px; - /* #ifdef MP-WEIXIN */ - padding-right: 220upx; - /* #endif */ - /* #ifdef MP-ALIPAY */ - padding-right: 150upx; - /* #endif */ - box-shadow: 0upx 0upx 0upx; - z-index: 9999; -} - -.cu-custom .cu-bar .border-custom { - position: relative; - background: rgba(0, 0, 0, 0.15); - border-radius: 1000upx; - height: 30px; -} - -.cu-custom .cu-bar .border-custom::after { - content: " "; - width: 200%; - height: 200%; - position: absolute; - top: 0; - left: 0; - border-radius: inherit; - transform: scale(0.5); - transform-origin: 0 0; - pointer-events: none; - box-sizing: border-box; - border: 1upx solid #ffffff; - opacity: 0.5; -} - -.cu-custom .cu-bar .border-custom::before { - content: " "; - width: 1upx; - height: 110%; - position: absolute; - top: 22.5%; - left: 0; - right: 0; - margin: auto; - transform: scale(0.5); - transform-origin: 0 0; - pointer-events: none; - box-sizing: border-box; - opacity: 0.6; - background-color: #ffffff; -} - -.cu-custom .cu-bar .border-custom text { - display: block; - flex: 1; - margin: auto !important; - text-align: center; - font-size: 34upx; -} - -/* ================== - 导航栏 - ==================== */ - -.nav { - white-space: nowrap; -} - -::-webkit-scrollbar { - display: none; -} - -.nav .cu-item { - height: 90upx; - display: inline-block; - line-height: 90upx; - margin: 0 10upx; - padding: 0 20upx; -} - -.nav .cu-item.cur { - border-bottom: 4upx solid; -} - -/* ================== - 时间轴 - ==================== */ - -.cu-timeline { - display: block; - background-color: #ffffff; -} - -.cu-timeline .cu-time { - width: 120upx; - text-align: center; - padding: 20upx 0; - font-size: 26upx; - color: #888; - display: block; -} - -.cu-timeline>.cu-item { - padding: 30upx 30upx 30upx 120upx; - position: relative; - display: block; - z-index: 0; -} - -.cu-timeline>.cu-item:not([class*="text-"]) { - color: #ccc; -} - -.cu-timeline>.cu-item::after { - content: ""; - display: block; - position: absolute; - width: 1upx; - background-color: #ddd; - left: 60upx; - height: 100%; - top: 0; - z-index: 8; -} - -.cu-timeline>.cu-item::before { - font-family: "cuIcon"; - display: block; - position: absolute; - top: 36upx; - z-index: 9; - background-color: #ffffff; - width: 50upx; - height: 50upx; - text-align: center; - border: none; - line-height: 50upx; - left: 36upx; -} - -.cu-timeline>.cu-item:not([class*="cuIcon-"])::before { - content: "\e763"; -} - -.cu-timeline>.cu-item[class*="cuIcon-"]::before { - background-color: #ffffff; - width: 50upx; - height: 50upx; - text-align: center; - border: none; - line-height: 50upx; - left: 36upx; -} - -.cu-timeline>.cu-item>.content { - padding: 30upx; - border-radius: 6upx; - display: block; - line-height: 1.6; -} - -.cu-timeline>.cu-item>.content:not([class*="bg-"]) { - background-color: #f1f1f1; - color: #333333; -} - -.cu-timeline>.cu-item>.content+.content { - margin-top: 20upx; -} - -/* ================== - 聊天 - ==================== */ - -.cu-chat { - display: flex; - flex-direction: column; -} - -.cu-chat .cu-item { - display: flex; - padding: 30upx 30upx 70upx; - position: relative; -} - -.cu-chat .cu-item>.cu-avatar { - width: 80upx; - height: 80upx; -} - -.cu-chat .cu-item>.main { - max-width: calc(100% - 260upx); - margin: 0 40upx; - display: flex; - align-items: center; -} - -.cu-chat .cu-item>image { - height: 320upx; -} - -.cu-chat .cu-item>.main .content { - padding: 20upx; - border-radius: 6upx; - display: inline-flex; - max-width: 100%; - align-items: center; - font-size: 30upx; - position: relative; - min-height: 80upx; - line-height: 40upx; - text-align: left; -} - -.cu-chat .cu-item>.main .content:not([class*="bg-"]) { - background-color: #ffffff; - color: #333333; -} - -.cu-chat .cu-item .date { - position: absolute; - font-size: 24upx; - color: #8799a3; - width: calc(100% - 320upx); - bottom: 20upx; - left: 160upx; -} - -.cu-chat .cu-item .action { - padding: 0 30upx; - display: flex; - align-items: center; -} - -.cu-chat .cu-item>.main .content::after { - content: ""; - top: 27upx; - transform: rotate(45deg); - position: absolute; - z-index: 100; - display: inline-block; - overflow: hidden; - width: 24upx; - height: 24upx; - left: -12upx; - right: initial; - background-color: inherit; -} - -.cu-chat .cu-item.self>.main .content::after { - left: auto; - right: -12upx; -} - -.cu-chat .cu-item>.main .content::before { - content: ""; - top: 30upx; - transform: rotate(45deg); - position: absolute; - z-index: -1; - display: inline-block; - overflow: hidden; - width: 24upx; - height: 24upx; - left: -12upx; - right: initial; - background-color: inherit; - filter: blur(5upx); - opacity: 0.3; -} - -.cu-chat .cu-item>.main .content:not([class*="bg-"])::before { - background-color: #333333; - opacity: 0.1; -} - -.cu-chat .cu-item.self>.main .content::before { - left: auto; - right: -12upx; -} - -.cu-chat .cu-item.self { - justify-content: flex-end; - text-align: right; -} - -.cu-chat .cu-info { - display: inline-block; - margin: 20upx auto; - font-size: 24upx; - padding: 8upx 12upx; - background-color: rgba(0, 0, 0, 0.2); - border-radius: 6upx; - color: #ffffff; - max-width: 400upx; - line-height: 1.4; -} - -/* ================== - 卡片 - ==================== */ - -.cu-card { - display: block; - overflow: hidden; -} - -.cu-card>.cu-item { - display: block; - background-color: #ffffff; - overflow: hidden; - border-radius: 10upx; - margin: 30upx; -} - -.cu-card>.cu-item.shadow-blur { - overflow: initial; -} - -.cu-card.no-card>.cu-item { - margin: 0upx; - border-radius: 0upx; -} - -.cu-card .grid.grid-square { - margin-bottom: -20upx; -} - -.cu-card.case .image { - position: relative; -} - -.cu-card.case .image image { - width: 100%; -} - -.cu-card.case .image .cu-tag { - position: absolute; - right: 0; - top: 0; -} - -.cu-card.case .image .cu-bar { - position: absolute; - bottom: 0; - width: 100%; - background-color: transparent; - padding: 0upx 30upx; -} - -.cu-card.case.no-card .image { - margin: 30upx 30upx 0; - overflow: hidden; - border-radius: 10upx; -} - -.cu-card.dynamic { - display: block; -} - -.cu-card.dynamic>.cu-item { - display: block; - background-color: #ffffff; - overflow: hidden; -} - -.cu-card.dynamic>.cu-item>.text-content { - padding: 0 30upx 0; - max-height: 6.4em; - overflow: hidden; - font-size: 30upx; - margin-bottom: 20upx; -} - -.cu-card.dynamic>.cu-item .square-img { - width: 100%; - height: 200upx; - border-radius: 6upx; -} - -.cu-card.dynamic>.cu-item .only-img { - width: 100%; - height: 320upx; - border-radius: 6upx; -} - -/* card.dynamic>.cu-item .comment { - padding: 20upx; - background-color: #f1f1f1; - margin: 0 30upx 30upx; - border-radius: 6upx; -} */ - -.cu-card.article { - display: block; -} - -.cu-card.article>.cu-item { - padding-bottom: 30upx; -} - -.cu-card.article>.cu-item .title { - font-size: 30upx; - font-weight: 900; - color: #333333; - line-height: 100upx; - padding: 0 30upx; -} - -.cu-card.article>.cu-item .content { - display: flex; - padding: 0 30upx; -} - -.cu-card.article>.cu-item .content>image { - width: 240upx; - height: 6.4em; - margin-right: 20upx; - border-radius: 6upx; -} - -.cu-card.article>.cu-item .content .desc { - flex: 1; - display: flex; - flex-direction: column; - justify-content: space-between; -} - -.cu-card.article>.cu-item .content .text-content { - font-size: 28upx; - color: #888; - height: 4.8em; - overflow: hidden; -} - -/* ================== - 表单 - ==================== */ - -.cu-form-group { - background-color: #ffffff; - padding: 1upx 30upx; - display: flex; - align-items: center; - min-height: 100upx; - justify-content: start; -} - -.cu-form-group+.cu-form-group { - border-top: 1upx solid #eee; -} - -.cu-form-group .title { - text-align: justify; - padding-right: 30upx; - font-size: 30upx; - position: relative; - height: 60upx; - line-height: 60upx; -} - -.cu-form-group input { - flex: 1; - font-size: 30upx; - color: #555; - padding-right: 20upx; -} - -.cu-form-group>text[class*="cuIcon-"] { - font-size: 36upx; - padding: 0; - box-sizing: border-box; -} - -.cu-form-group textarea { - margin: 32upx 0 30upx; - height: 4.6em; - width: 100%; - line-height: 1.2em; - flex: 1; - font-size: 28upx; - padding: 0; -} - -.cu-form-group.align-start .title { - height: 1em; - margin-top: 32upx; - line-height: 1em; -} - -.cu-form-group picker { - flex: 1; - padding-right: 40upx; - overflow: hidden; - position: relative; -} - -.cu-form-group picker .picker { - line-height: 100upx; - font-size: 28upx; - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; - width: 100%; - text-align: left; -} - -.cu-form-group picker::after { - font-family: cuIcon; - display: block; - content: "\e6a3"; - position: absolute; - font-size: 34upx; - color: #8799a3; - line-height: 100upx; - width: 60upx; - text-align: center; - top: 0; - bottom: 0; - right: -20upx; - margin: auto; -} - -.cu-form-group textarea[disabled], -.cu-form-group textarea[disabled] .placeholder { - color: transparent; -} - -/* ================== - 模态窗口 - ==================== */ - -.cu-modal { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1110; - opacity: 0; - outline: 0; - text-align: center; - -ms-transform: scale(1.185); - transform: scale(1.185); - backface-visibility: hidden; - perspective: 2000upx; - background: rgba(0, 0, 0, 0.6); - transition: all 0.3s ease-in-out 0s; - pointer-events: none; -} - -.cu-modal::before { - content: "\200B"; - display: inline-block; - height: 100%; - vertical-align: middle; -} - -.cu-modal.show { - opacity: 1; - transition-duration: 0.3s; - -ms-transform: scale(1); - transform: scale(1); - overflow-x: hidden; - overflow-y: auto; - pointer-events: auto; -} - -.cu-dialog { - position: relative; - display: inline-block; - vertical-align: middle; - margin-left: auto; - margin-right: auto; - width: 680upx; - max-width: 100%; - background-color: #f8f8f8; - border-radius: 10upx; - overflow: hidden; -} - -.cu-modal.bottom-modal::before { - vertical-align: bottom; -} - -.cu-modal.bottom-modal .cu-dialog { - width: 100%; - border-radius: 0; -} - -.cu-modal.bottom-modal { - margin-bottom: -1000upx; -} - -.cu-modal.bottom-modal.show { - margin-bottom: 0; -} - -.cu-modal.drawer-modal { - transform: scale(1); - display: flex; -} - -.cu-modal.drawer-modal .cu-dialog { - height: 100%; - min-width: 200upx; - border-radius: 0; - margin: initial; - transition-duration: 0.3s; -} - -.cu-modal.drawer-modal.justify-start .cu-dialog { - transform: translateX(-100%); -} - -.cu-modal.drawer-modal.justify-end .cu-dialog { - transform: translateX(100%); -} - -.cu-modal.drawer-modal.show .cu-dialog { - transform: translateX(0%); -} -.cu-modal .cu-dialog>.cu-bar:first-child .action{ - min-width: 100rpx; - margin-right: 0; - min-height: 100rpx; -} -/* ================== - 轮播 - ==================== */ -swiper .a-swiper-dot { - display: inline-block; - width: 16upx; - height: 16upx; - background: rgba(0, 0, 0, .3); - border-radius: 50%; - vertical-align: middle; -} - -swiper[class*="-dot"] .wx-swiper-dots, -swiper[class*="-dot"] .a-swiper-dots, -swiper[class*="-dot"] .uni-swiper-dots { - display: flex; - align-items: center; - width: 100%; - justify-content: center; -} - -swiper.square-dot .wx-swiper-dot, -swiper.square-dot .a-swiper-dot, -swiper.square-dot .uni-swiper-dot { - background-color: #ffffff; - opacity: 0.4; - width: 10upx; - height: 10upx; - border-radius: 20upx; - margin: 0 8upx !important; -} - -swiper.square-dot .wx-swiper-dot.wx-swiper-dot-active, -swiper.square-dot .a-swiper-dot.a-swiper-dot-active, -swiper.square-dot .uni-swiper-dot.uni-swiper-dot-active { - opacity: 1; - width: 30upx; -} - -swiper.round-dot .wx-swiper-dot, -swiper.round-dot .a-swiper-dot, -swiper.round-dot .uni-swiper-dot { - width: 10upx; - height: 10upx; - position: relative; - margin: 4upx 8upx !important; -} - -swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active::after, -swiper.round-dot .a-swiper-dot.a-swiper-dot-active::after, -swiper.round-dot .uni-swiper-dot.uni-swiper-dot-active::after { - content: ""; - position: absolute; - width: 10upx; - height: 10upx; - top: 0upx; - left: 0upx; - right: 0; - bottom: 0; - margin: auto; - background-color: #ffffff; - border-radius: 20upx; -} - -swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active, -swiper.round-dot .a-swiper-dot.a-swiper-dot-active, -swiper.round-dot .uni-swiper-dot.uni-swiper-dot-active { - width: 18upx; - height: 18upx; -} - -.screen-swiper { - min-height: 375upx; -} - -.screen-swiper image, -.screen-swiper video, -.swiper-item image, -.swiper-item video { - width: 100%; - display: block; - height: 100%; - margin: 0; - pointer-events: none; -} - -.card-swiper { - height: 420upx !important; -} - -.card-swiper swiper-item { - width: 610upx !important; - left: 70upx; - box-sizing: border-box; - padding: 40upx 0upx 70upx; - overflow: initial; -} - -.card-swiper swiper-item .swiper-item { - width: 100%; - display: block; - height: 100%; - border-radius: 10upx; - transform: scale(0.9); - transition: all 0.2s ease-in 0s; - overflow: hidden; -} - -.card-swiper swiper-item.cur .swiper-item { - transform: none; - transition: all 0.2s ease-in 0s; -} - - -.tower-swiper { - height: 420upx; - position: relative; - max-width: 750upx; - overflow: hidden; -} - -.tower-swiper .tower-item { - position: absolute; - width: 300upx; - height: 380upx; - top: 0; - bottom: 0; - left: 50%; - margin: auto; - transition: all 0.2s ease-in 0s; - opacity: 1; -} - -.tower-swiper .tower-item.none { - opacity: 0; -} - -.tower-swiper .tower-item .swiper-item { - width: 100%; - height: 100%; - border-radius: 6upx; - overflow: hidden; -} - -/* ================== - 步骤条 - ==================== */ - -.cu-steps { - display: flex; -} - -scroll-view.cu-steps { - display: block; - white-space: nowrap; -} - -scroll-view.cu-steps .cu-item { - display: inline-block; -} - -.cu-steps .cu-item { - flex: 1; - text-align: center; - position: relative; - min-width: 100upx; -} - -.cu-steps .cu-item:not([class*="text-"]) { - color: #8799a3; -} - -.cu-steps .cu-item [class*="cuIcon-"], -.cu-steps .cu-item .num { - display: block; - font-size: 40upx; - line-height: 80upx; -} - -.cu-steps .cu-item::before, -.cu-steps .cu-item::after, -.cu-steps.steps-arrow .cu-item::before, -.cu-steps.steps-arrow .cu-item::after { - content: ""; - display: block; - position: absolute; - height: 0px; - width: calc(100% - 80upx); - border-bottom: 1px solid #ccc; - left: calc(0px - (100% - 80upx) / 2); - top: 40upx; - z-index: 0; -} - -.cu-steps.steps-arrow .cu-item::before, -.cu-steps.steps-arrow .cu-item::after { - content: "\e6a3"; - font-family: 'cuIcon'; - height: 30upx; - border-bottom-width: 0px; - line-height: 30upx; - top: 0; - bottom: 0; - margin: auto; - color: #ccc; -} - -.cu-steps.steps-bottom .cu-item::before, -.cu-steps.steps-bottom .cu-item::after { - bottom: 40upx; - top: initial; -} - -.cu-steps .cu-item::after { - border-bottom: 1px solid currentColor; - width: 0px; - transition: all 0.3s ease-in-out 0s; -} - -.cu-steps .cu-item[class*="text-"]::after { - width: calc(100% - 80upx); - color: currentColor; -} - -.cu-steps .cu-item:first-child::before, -.cu-steps .cu-item:first-child::after { - display: none; -} - -.cu-steps .cu-item .num { - width: 40upx; - height: 40upx; - border-radius: 50%; - line-height: 40upx; - margin: 20upx auto; - font-size: 24upx; - border: 1px solid currentColor; - position: relative; - overflow: hidden; -} - -.cu-steps .cu-item[class*="text-"] .num { - background-color: currentColor; -} - -.cu-steps .cu-item .num::before, -.cu-steps .cu-item .num::after { - content: attr(data-index); - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - margin: auto; - transition: all 0.3s ease-in-out 0s; - transform: translateY(0upx); -} - -.cu-steps .cu-item[class*="text-"] .num::before { - transform: translateY(-40upx); - color: #ffffff; -} - -.cu-steps .cu-item .num::after { - transform: translateY(40upx); - color: #ffffff; - transition: all 0.3s ease-in-out 0s; -} - -.cu-steps .cu-item[class*="text-"] .num::after { - content: "\e645"; - font-family: 'cuIcon'; - color: #ffffff; - transform: translateY(0upx); -} - -.cu-steps .cu-item[class*="text-"] .num.err::after { - content: "\e646"; -} - -/* ================== - 布局 - ==================== */ - -/* -- flex弹性布局 -- */ - -.flex { - display: flex; -} - -.basis-xs { - flex-basis: 20%; -} - -.basis-sm { - flex-basis: 40%; -} - -.basis-df { - flex-basis: 50%; -} - -.basis-lg { - flex-basis: 60%; -} - -.basis-xl { - flex-basis: 80%; -} - -.flex-sub { - flex: 1; -} - -.flex-twice { - flex: 2; -} - -.flex-treble { - flex: 3; -} - -.flex-direction { - flex-direction: column; -} - -.flex-wrap { - flex-wrap: wrap; -} - -.align-start { - align-items: flex-start; -} - -.align-end { - align-items: flex-end; -} - -.align-center { - align-items: center; -} - -.align-stretch { - align-items: stretch; -} - -.self-start { - align-self: flex-start; -} - -.self-center { - align-self: flex-center; -} - -.self-end { - align-self: flex-end; -} - -.self-stretch { - align-self: stretch; -} - -.align-stretch { - align-items: stretch; -} - -.justify-start { - justify-content: flex-start; -} - -.justify-end { - justify-content: flex-end; -} - -.justify-center { - justify-content: center; -} - -.justify-between { - justify-content: space-between; -} - -.justify-around { - justify-content: space-around; -} - -/* grid布局 */ - -.grid { - display: flex; - flex-wrap: wrap; -} - -.grid.grid-square { - overflow: hidden; -} - -.grid.grid-square .cu-tag { - position: absolute; - right: 0; - top: 0; - border-bottom-left-radius: 6upx; - padding: 6upx 12upx; - height: auto; - background-color: rgba(0, 0, 0, 0.5); -} - -.grid.grid-square>view>text[class*="cuIcon-"] { - font-size: 52upx; - position: absolute; - color: #8799a3; - margin: auto; - top: 0; - bottom: 0; - left: 0; - right: 0; - display: flex; - justify-content: center; - align-items: center; - flex-direction: column; -} - -.grid.grid-square>view { - margin-right: 20upx; - margin-bottom: 20upx; - border-radius: 6upx; - position: relative; - overflow: hidden; -} -.grid.grid-square>view.bg-img image { - width: 100%; - height: 100%; - position: absolute; -} -.grid.col-1.grid-square>view { - padding-bottom: 100%; - height: 0; - margin-right: 0; -} - -.grid.col-2.grid-square>view { - padding-bottom: calc((100% - 20upx)/2); - height: 0; - width: calc((100% - 20upx)/2); -} - -.grid.col-3.grid-square>view { - padding-bottom: calc((100% - 40upx)/3); - height: 0; - width: calc((100% - 40upx)/3); -} - -.grid.col-4.grid-square>view { - padding-bottom: calc((100% - 60upx)/4); - height: 0; - width: calc((100% - 60upx)/4); -} - -.grid.col-5.grid-square>view { - padding-bottom: calc((100% - 80upx)/5); - height: 0; - width: calc((100% - 80upx)/5); -} - -.grid.col-2.grid-square>view:nth-child(2n), -.grid.col-3.grid-square>view:nth-child(3n), -.grid.col-4.grid-square>view:nth-child(4n), -.grid.col-5.grid-square>view:nth-child(5n) { - margin-right: 0; -} - -.grid.col-1>view { - width: 100%; -} - -.grid.col-2>view { - width: 50%; -} - -.grid.col-3>view { - width: 33.33%; -} - -.grid.col-4>view { - width: 25%; -} - -.grid.col-5>view { - width: 20%; -} - -/* -- 内外边距 -- */ - -.margin-0 { - margin: 0; -} - -.margin-xs { - margin: 10upx; -} - -.margin-sm { - margin: 20upx; -} - -.margin { - margin: 30upx; -} - -.margin-lg { - margin: 40upx; -} - -.margin-xl { - margin: 50upx; -} - -.margin-top-xs { - margin-top: 10upx; -} - -.margin-top-sm { - margin-top: 20upx; -} - -.margin-top { - margin-top: 30upx; -} - -.margin-top-lg { - margin-top: 40upx; -} - -.margin-top-xl { - margin-top: 50upx; -} - -.margin-right-xs { - margin-right: 10upx; -} - -.margin-right-sm { - margin-right: 20upx; -} - -.margin-right { - margin-right: 30upx; -} - -.margin-right-lg { - margin-right: 40upx; -} - -.margin-right-xl { - margin-right: 50upx; -} - -.margin-bottom-xs { - margin-bottom: 10upx; -} - -.margin-bottom-sm { - margin-bottom: 20upx; -} - -.margin-bottom { - margin-bottom: 30upx; -} - -.margin-bottom-lg { - margin-bottom: 40upx; -} - -.margin-bottom-xl { - margin-bottom: 50upx; -} - -.margin-left-xs { - margin-left: 10upx; -} - -.margin-left-sm { - margin-left: 20upx; -} - -.margin-left { - margin-left: 30upx; -} - -.margin-left-lg { - margin-left: 40upx; -} - -.margin-left-xl { - margin-left: 50upx; -} - -.margin-lr-xs { - margin-left: 10upx; - margin-right: 10upx; -} - -.margin-lr-sm { - margin-left: 20upx; - margin-right: 20upx; -} - -.margin-lr { - margin-left: 30upx; - margin-right: 30upx; -} - -.margin-lr-lg { - margin-left: 40upx; - margin-right: 40upx; -} - -.margin-lr-xl { - margin-left: 50upx; - margin-right: 50upx; -} - -.margin-tb-xs { - margin-top: 10upx; - margin-bottom: 10upx; -} - -.margin-tb-sm { - margin-top: 20upx; - margin-bottom: 20upx; -} - -.margin-tb { - margin-top: 30upx; - margin-bottom: 30upx; -} - -.margin-tb-lg { - margin-top: 40upx; - margin-bottom: 40upx; -} - -.margin-tb-xl { - margin-top: 50upx; - margin-bottom: 50upx; -} - -.padding-0 { - padding: 0; -} - -.padding-xs { - padding: 10upx; -} - -.padding-sm { - padding: 20upx; -} - -.padding { - padding: 30upx; -} - -.padding-lg { - padding: 40upx; -} - -.padding-xl { - padding: 50upx; -} - -.padding-top-xs { - padding-top: 10upx; -} - -.padding-top-sm { - padding-top: 20upx; -} - -.padding-top { - padding-top: 30upx; -} - -.padding-top-lg { - padding-top: 40upx; -} - -.padding-top-xl { - padding-top: 50upx; -} - -.padding-right-xs { - padding-right: 10upx; -} - -.padding-right-sm { - padding-right: 20upx; -} - -.padding-right { - padding-right: 30upx; -} - -.padding-right-lg { - padding-right: 40upx; -} - -.padding-right-xl { - padding-right: 50upx; -} - -.padding-bottom-xs { - padding-bottom: 10upx; -} - -.padding-bottom-sm { - padding-bottom: 20upx; -} - -.padding-bottom { - padding-bottom: 30upx; -} - -.padding-bottom-lg { - padding-bottom: 40upx; -} - -.padding-bottom-xl { - padding-bottom: 50upx; -} - -.padding-left-xs { - padding-left: 10upx; -} - -.padding-left-sm { - padding-left: 20upx; -} - -.padding-left { - padding-left: 30upx; -} - -.padding-left-lg { - padding-left: 40upx; -} - -.padding-left-xl { - padding-left: 50upx; -} - -.padding-lr-xs { - padding-left: 10upx; - padding-right: 10upx; -} - -.padding-lr-sm { - padding-left: 20upx; - padding-right: 20upx; -} - -.padding-lr { - padding-left: 30upx; - padding-right: 30upx; -} - -.padding-lr-lg { - padding-left: 40upx; - padding-right: 40upx; -} - -.padding-lr-xl { - padding-left: 50upx; - padding-right: 50upx; -} - -.padding-tb-xs { - padding-top: 10upx; - padding-bottom: 10upx; -} - -.padding-tb-sm { - padding-top: 20upx; - padding-bottom: 20upx; -} - -.padding-tb { - padding-top: 30upx; - padding-bottom: 30upx; -} - -.padding-tb-lg { - padding-top: 40upx; - padding-bottom: 40upx; -} - -.padding-tb-xl { - padding-top: 50upx; - padding-bottom: 50upx; -} - -/* -- 浮动 -- */ - -.cf::after, -.cf::before { - content: " "; - display: table; -} - -.cf::after { - clear: both; -} - -.fl { - float: left; -} - -.fr { - float: right; -} - -/* ================== - 背景 - ==================== */ - -.line-red::after, -.lines-red::after { - border-color: #e54d42; -} - -.line-orange::after, -.lines-orange::after { - border-color: #f37b1d; -} - -.line-yellow::after, -.lines-yellow::after { - border-color: #fbbd08; -} - -.line-olive::after, -.lines-olive::after { - border-color: #8dc63f; -} - -.line-green::after, -.lines-green::after { - border-color: #39b54a; -} - -.line-cyan::after, -.lines-cyan::after { - border-color: #1cbbb4; -} - -.line-blue::after, -.lines-blue::after { - border-color: #0081ff; -} - -.line-purple::after, -.lines-purple::after { - border-color: #6739b6; -} - -.line-mauve::after, -.lines-mauve::after { - border-color: #9c26b0; -} - -.line-pink::after, -.lines-pink::after { - border-color: #e03997; -} - -.line-brown::after, -.lines-brown::after { - border-color: #a5673f; -} - -.line-grey::after, -.lines-grey::after { - border-color: #8799a3; -} - -.line-gray::after, -.lines-gray::after { - border-color: #aaaaaa; -} - -.line-black::after, -.lines-black::after { - border-color: #333333; -} - -.line-white::after, -.lines-white::after { - border-color: #ffffff; -} - -.bg-red { - background-color: #e54d42; - color: #ffffff; -} - -.bg-orange { - background-color: #f37b1d; - color: #ffffff; -} - -.bg-yellow { - background-color: #fbbd08; - color: #333333; -} - -.bg-olive { - background-color: #8dc63f; - color: #ffffff; -} - -.bg-green { - background-color: #39b54a; - color: #ffffff; -} - -.bg-cyan { - background-color: #1cbbb4; - color: #ffffff; -} - -.bg-blue { - background-color: #0081ff; - color: #ffffff; -} - -.bg-purple { - background-color: #6739b6; - color: #ffffff; -} - -.bg-mauve { - background-color: #9c26b0; - color: #ffffff; -} - -.bg-pink { - background-color: #e03997; - color: #ffffff; -} - -.bg-brown { - background-color: #a5673f; - color: #ffffff; -} - -.bg-grey { - background-color: #8799a3; - color: #ffffff; -} - -.bg-gray { - background-color: #f0f0f0; - color: #333333; -} - -.bg-black { - background-color: #333333; - color: #ffffff; -} - -.bg-white { - background-color: #ffffff; - color: #666666; -} - -.bg-shadeTop { - background-image: linear-gradient(rgba(0, 0, 0, 1), rgba(0, 0, 0, 0.01)); - color: #ffffff; -} - -.bg-shadeBottom { - background-image: linear-gradient(rgba(0, 0, 0, 0.01), rgba(0, 0, 0, 1)); - color: #ffffff; -} - -.bg-red.light { - color: #e54d42; - background-color: #fadbd9; -} - -.bg-orange.light { - color: #f37b1d; - background-color: #fde6d2; -} - -.bg-yellow.light { - color: #fbbd08; - background-color: #fef2ced2; -} - -.bg-olive.light { - color: #8dc63f; - background-color: #e8f4d9; -} - -.bg-green.light { - color: #39b54a; - background-color: #d7f0dbff; -} - -.bg-cyan.light { - color: #1cbbb4; - background-color: #d2f1f0; -} - -.bg-blue.light { - color: #0081ff; - background-color: #cce6ff; -} - -.bg-purple.light { - color: #6739b6; - background-color: #e1d7f0; -} - -.bg-mauve.light { - color: #9c26b0; - background-color: #ebd4ef; -} - -.bg-pink.light { - color: #e03997; - background-color: #f9d7ea; -} - -.bg-brown.light { - color: #a5673f; - background-color: #ede1d9; -} - -.bg-grey.light { - color: #8799a3; - background-color: #e7ebed; -} - -.bg-gradual-red { - background-image: linear-gradient(45deg, #f43f3b, #ec008c); - color: #ffffff; -} - -.bg-gradual-orange { - background-image: linear-gradient(45deg, #ff9700, #ed1c24); - color: #ffffff; -} - -.bg-gradual-green { - background-image: linear-gradient(45deg, #39b54a, #8dc63f); - color: #ffffff; -} - -.bg-gradual-purple { - background-image: linear-gradient(45deg, #9000ff, #5e00ff); - color: #ffffff; -} - -.bg-gradual-pink { - background-image: linear-gradient(45deg, #ec008c, #6739b6); - color: #ffffff; -} - -.bg-gradual-blue { - background-image: linear-gradient(45deg, #0081ff, #1cbbb4); - color: #ffffff; -} - -.shadow[class*="-red"] { - box-shadow: 6upx 6upx 8upx rgba(204, 69, 59, 0.2); -} - -.shadow[class*="-orange"] { - box-shadow: 6upx 6upx 8upx rgba(217, 109, 26, 0.2); -} - -.shadow[class*="-yellow"] { - box-shadow: 6upx 6upx 8upx rgba(224, 170, 7, 0.2); -} - -.shadow[class*="-olive"] { - box-shadow: 6upx 6upx 8upx rgba(124, 173, 55, 0.2); -} - -.shadow[class*="-green"] { - box-shadow: 6upx 6upx 8upx rgba(48, 156, 63, 0.2); -} - -.shadow[class*="-cyan"] { - box-shadow: 6upx 6upx 8upx rgba(28, 187, 180, 0.2); -} - -.shadow[class*="-blue"] { - box-shadow: 6upx 6upx 8upx rgba(0, 102, 204, 0.2); -} - -.shadow[class*="-purple"] { - box-shadow: 6upx 6upx 8upx rgba(88, 48, 156, 0.2); -} - -.shadow[class*="-mauve"] { - box-shadow: 6upx 6upx 8upx rgba(133, 33, 150, 0.2); -} - -.shadow[class*="-pink"] { - box-shadow: 6upx 6upx 8upx rgba(199, 50, 134, 0.2); -} - -.shadow[class*="-brown"] { - box-shadow: 6upx 6upx 8upx rgba(140, 88, 53, 0.2); -} - -.shadow[class*="-grey"] { - box-shadow: 6upx 6upx 8upx rgba(114, 130, 138, 0.2); -} - -.shadow[class*="-gray"] { - box-shadow: 6upx 6upx 8upx rgba(114, 130, 138, 0.2); -} - -.shadow[class*="-black"] { - box-shadow: 6upx 6upx 8upx rgba(26, 26, 26, 0.2); -} - -.shadow[class*="-white"] { - box-shadow: 6upx 6upx 8upx rgba(26, 26, 26, 0.2); -} - -.text-shadow[class*="-red"] { - text-shadow: 6upx 6upx 8upx rgba(204, 69, 59, 0.2); -} - -.text-shadow[class*="-orange"] { - text-shadow: 6upx 6upx 8upx rgba(217, 109, 26, 0.2); -} - -.text-shadow[class*="-yellow"] { - text-shadow: 6upx 6upx 8upx rgba(224, 170, 7, 0.2); -} - -.text-shadow[class*="-olive"] { - text-shadow: 6upx 6upx 8upx rgba(124, 173, 55, 0.2); -} - -.text-shadow[class*="-green"] { - text-shadow: 6upx 6upx 8upx rgba(48, 156, 63, 0.2); -} - -.text-shadow[class*="-cyan"] { - text-shadow: 6upx 6upx 8upx rgba(28, 187, 180, 0.2); -} - -.text-shadow[class*="-blue"] { - text-shadow: 6upx 6upx 8upx rgba(0, 102, 204, 0.2); -} - -.text-shadow[class*="-purple"] { - text-shadow: 6upx 6upx 8upx rgba(88, 48, 156, 0.2); -} - -.text-shadow[class*="-mauve"] { - text-shadow: 6upx 6upx 8upx rgba(133, 33, 150, 0.2); -} - -.text-shadow[class*="-pink"] { - text-shadow: 6upx 6upx 8upx rgba(199, 50, 134, 0.2); -} - -.text-shadow[class*="-brown"] { - text-shadow: 6upx 6upx 8upx rgba(140, 88, 53, 0.2); -} - -.text-shadow[class*="-grey"] { - text-shadow: 6upx 6upx 8upx rgba(114, 130, 138, 0.2); -} - -.text-shadow[class*="-gray"] { - text-shadow: 6upx 6upx 8upx rgba(114, 130, 138, 0.2); -} - -.text-shadow[class*="-black"] { - text-shadow: 6upx 6upx 8upx rgba(26, 26, 26, 0.2); -} - -.bg-img { - background-size: cover; - background-position: center; - background-repeat: no-repeat; -} - -.bg-mask { - background-color: #333333; - position: relative; -} - -.bg-mask::after { - content: ""; - border-radius: inherit; - width: 100%; - height: 100%; - display: block; - background-color: rgba(0, 0, 0, 0.4); - position: absolute; - left: 0; - right: 0; - bottom: 0; - top: 0; -} - -.bg-mask view, -.bg-mask cover-view { - z-index: 5; - position: relative; -} - -.bg-video { - position: relative; -} - -.bg-video video { - display: block; - height: 100%; - width: 100%; - -o-object-fit: cover; - object-fit: cover; - position: absolute; - top: 0; - z-index: 0; - pointer-events: none; -} - -/* ================== - 文本 - ==================== */ - -.text-xs { - font-size: 20upx; -} - -.text-sm { - font-size: 24upx; -} - -.text-df { - font-size: 28upx; -} - -.text-lg { - font-size: 32upx; -} - -.text-xl { - font-size: 36upx; -} - -.text-xxl { - font-size: 44upx; -} - -.text-sl { - font-size: 80upx; -} - -.text-xsl { - font-size: 120upx; -} - -.text-Abc { - text-transform: Capitalize; -} - -.text-ABC { - text-transform: Uppercase; -} - -.text-abc { - text-transform: Lowercase; -} - -.text-price::before { - content: "¥"; - font-size: 80%; - margin-right: 4upx; -} - -.text-cut { - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; -} - -.text-bold { - font-weight: bold; -} - -.text-center { - text-align: center; -} - -.text-content { - line-height: 1.6; -} - -.text-left { - text-align: left; -} - -.text-right { - text-align: right; -} - -.text-red, -.line-red, -.lines-red { - color: #e54d42; -} - -.text-orange, -.line-orange, -.lines-orange { - color: #f37b1d; -} - -.text-yellow, -.line-yellow, -.lines-yellow { - color: #fbbd08; -} - -.text-olive, -.line-olive, -.lines-olive { - color: #8dc63f; -} - -.text-green, -.line-green, -.lines-green { - color: #39b54a; -} - -.text-cyan, -.line-cyan, -.lines-cyan { - color: #1cbbb4; -} - -.text-blue, -.line-blue, -.lines-blue { - color: #0081ff; -} - -.text-purple, -.line-purple, -.lines-purple { - color: #6739b6; -} - -.text-mauve, -.line-mauve, -.lines-mauve { - color: #9c26b0; -} - -.text-pink, -.line-pink, -.lines-pink { - color: #e03997; -} - -.text-brown, -.line-brown, -.lines-brown { - color: #a5673f; -} - -.text-grey, -.line-grey, -.lines-grey { - color: #8799a3; -} - -.text-gray, -.line-gray, -.lines-gray { - color: #aaaaaa; -} - -.text-black, -.line-black, -.lines-black { - color: #333333; -} - -.text-white, -.line-white, -.lines-white { - color: #ffffff; -} diff --git a/CreateName-uni/components/down-refresh.vue b/CreateName-uni/components/down-refresh.vue deleted file mode 100644 index 576c25e..0000000 --- a/CreateName-uni/components/down-refresh.vue +++ /dev/null @@ -1,183 +0,0 @@ - - - - - diff --git a/CreateName-uni/components/list-cell.vue b/CreateName-uni/components/list-cell.vue deleted file mode 100644 index 5d482d7..0000000 --- a/CreateName-uni/components/list-cell.vue +++ /dev/null @@ -1,119 +0,0 @@ - - - - - diff --git a/CreateName-uni/components/up-load.vue b/CreateName-uni/components/up-load.vue deleted file mode 100644 index 2eada91..0000000 --- a/CreateName-uni/components/up-load.vue +++ /dev/null @@ -1,66 +0,0 @@ - - - - - \ No newline at end of file diff --git a/CreateName-uni/components/wongPoster.vue b/CreateName-uni/components/wongPoster.vue deleted file mode 100644 index 43310e6..0000000 --- a/CreateName-uni/components/wongPoster.vue +++ /dev/null @@ -1,315 +0,0 @@ - - - - - diff --git a/CreateName-uni/config/index.js b/CreateName-uni/config/index.js deleted file mode 100644 index 974636a..0000000 --- a/CreateName-uni/config/index.js +++ /dev/null @@ -1,8 +0,0 @@ -const dev = { - baseUrl: 'http://192.168.133.253:8080', - -} - -export function def() { - return dev -} diff --git a/CreateName-uni/json.js b/CreateName-uni/json.js deleted file mode 100644 index 6a07d39..0000000 --- a/CreateName-uni/json.js +++ /dev/null @@ -1,126 +0,0 @@ -const tabList = [{ - name: '男孩名', - id: '1', -}, { - name: '女孩名', - id: '2' -}, { - name: '唐诗名', - id: '3' -}, { - name: '宋词名', - id: '4' -}, { - name: '周易名', - id: '5' -}, { - name: '公司名', - id: '6' -}]; -const newsList = [{ - id: 1, - title: '2020鼠年宝宝起名大全', - author: '泰山起名', - images: [ - 'https://www.yw11.com/uploads/00_yw11/baby/1(144).png', - 'https://www.yw11.com/uploads/00_yw11/baby/1(323).png', - 'https://www.yw11.com/uploads/00_yw11/baby/1(29).png', - ], - time: '2小时前', - type: 3, - }, - - { - id: 2, - title: '取什么名字对宝宝成为学霸帮助大?', - author: '爱考试', - images: [ - 'https://www.yw11.com/uploads/00_yw11/baby/1(125).png' - ], - time: '30分钟前', - type: 1, - }, - { - id: 3, - title: '女宝宝起名注意事项”', - author: '新京报', - images: [ - 'https://www.yw11.com/uploads/00_yw11/girl/5(195).png', - ], - time: '2小时前', - type: 2, - }, - { - id: 4, - title: '2020女宝宝名字案例', - author: '神说要唱歌', - images: [ - 'https://www.yw11.com/uploads/allimg/190215/49-1Z215141SG43.png', - ], - videoSrc: 'https://dcloud-img.oss-cn-hangzhou.aliyuncs.com/guide/uniapp/%E7%AC%AC1%E8%AE%B2%EF%BC%88uni-app%E4%BA%A7%E5%93%81%E4%BB%8B%E7%BB%8D%EF%BC%89-%20DCloud%E5%AE%98%E6%96%B9%E8%A7%86%E9%A2%91%E6%95%99%E7%A8%8B@20181126.mp4', - time: '2019-04-10 11:43', - type: 2, - }, - { - id: 5, - title: '2019改名字最新规定,看过的都说好!”', - author: '全球加盟网', - images: ['https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=2892004605,2174659864&fm=26&gp=0.jpg'], - videoSrc: 'https://dcloud-img.oss-cn-hangzhou.aliyuncs.com/guide/uniapp/%E7%AC%AC1%E8%AE%B2%EF%BC%88uni-app%E4%BA%A7%E5%93%81%E4%BB%8B%E7%BB%8D%EF%BC%89-%20DCloud%E5%AE%98%E6%96%B9%E8%A7%86%E9%A2%91%E6%95%99%E7%A8%8B@20181126.mp4', - time: '5分钟前', - type: 3, - }, - { - id: 6, - title: '诗词典故为宝宝取儒雅名的意义!', - author: '诗词网', - images: ['https://www.yw11.com/uploads/00_yw11/girl/5_134.png'], - time: '5分钟前', - type: 3, - }, - { - id: 7, - title: '好听时髦名字如何定位宝宝', - author: '时尚网', - images: [ - 'https://www.yw11.com/uploads/00_yw11/boy/2_62.png', - 'https://www.yw11.com/uploads/00_yw11/boy/2_158.png', - 'https://www.yw11.com/uploads/00_yw11/boy/2_63.png' - ], - time: '2019-04-14 :10:58', - type: 3, - }, - { - id: 8, - title: '利用软件起名靠谱吗!', - author: '程序员大哥', - images: [ - 'http://p3-tt.bytecdn.cn/list/pgc-image/15394993934784aeea82ef5', - 'http://p1-tt.bytecdn.cn/list/pgc-image/153949939338547b7a69cf6', - 'http://p1-tt.bytecdn.cn/list/509a000211b25f210c77', - ], - time: '2019-04-14 :10:58', - type: 3, - }, -] -const evaList = [{ - src: 'http://gss0.baidu.com/-fo3dSag_xI4khGko9WTAnF6hhy/zhidao/pic/item/77c6a7efce1b9d1663174705fbdeb48f8d546486.jpg', - nickname: 'Ranth Allngal', - time: '09-20 12:54', - zan: '54', - content: '评论不要太苛刻,不管什么产品都会有瑕疵,客服也说了可以退货并且商家承担运费,我觉得至少态度就可以给五星。' - }, - { - src: 'http://img0.imgtn.bdimg.com/it/u=2396068252,4277062836&fm=26&gp=0.jpg', - nickname: 'Ranth Allngal', - time: '09-20 12:54', - zan: '54', - content: '楼上说的好有道理。' - } -] - -export default { - tabList, - newsList, - evaList -} diff --git a/CreateName-uni/main.js b/CreateName-uni/main.js deleted file mode 100644 index e7f6844..0000000 --- a/CreateName-uni/main.js +++ /dev/null @@ -1,115 +0,0 @@ -import Vue from 'vue' -import store from './store' -import App from './App' -import * as config from './config' - -const defConfig = config.def - -const msg = (title, duration = 1500, mask = false, icon = 'none') => { - //统一提示方便全局修改 - if (Boolean(title) === false) { - return; - } - uni.showToast({ - title, - duration, - mask, - icon - }); -} - -const request = (_gp, _mt, data = {}, failCallback) => { - //异步请求数据 - return new Promise(resolve => { - if (!userInfo || !userInfo.accessToken) { - userInfo = uni.getStorageSync('userInfo') - } - let accessToken = userInfo ? userInfo.accessToken : '' - let baseUrl = config.def().baseUrl - uni.request({ - url: baseUrl + '/m.api', - data: { - ...data, - _gp, - _mt - }, - method: 'POST', - header: { - 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', - 'ACCESSTOKEN': accessToken - }, - success: (res) => { - if (res.statusCode === 200) { - if (res.data.errno === 200) { - resolve(res.data); - } else if (res.data.errno === 10001) { - if (failCallback) { - failCallback(res.data) - } - if (!loginLock) { - loginLock = true - uni.showModal({ - title: '登录提示', - content: '您尚未登录,是否立即登录?', - showCancel: true, - confirmText: '登录', - success: (e) => { - if (e.confirm) { - uni.navigateTo({ - url: '/pages/public/login' - }) - } - }, - fail: () => {}, - complete: () => { - loginLock = false - } - }) - } - - } else { - if (failCallback) { - failCallback(res.data) - } else { - uni.showToast({ - title: res.data.errmsg, - icon: 'none' - }) - } - } - } - } - }) - }) -} - -let userInfo = undefined - -const logout = () => { - userInfo = undefined - uni.removeStorage({ - key: 'userInfo' - }) -} - -const setUserInfo = (i) => { - userInfo = i -} - -Vue.config.productionTip = false -Vue.prototype.$store = store; -Vue.prototype.$api = { - request, - setUserInfo, - logout, - msg, - defConfig -}; - - -App.mpType = 'app' - -const app = new Vue({ - ...App -}) -app.$mount() diff --git a/CreateName-uni/pages.json b/CreateName-uni/pages.json deleted file mode 100644 index 1d5f4c3..0000000 --- a/CreateName-uni/pages.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages - { - "path": "pages/index/index", - "style": { - "navigationBarTitleText": "起名" - } - }, - { - "path": "pages/name/name", - "style": { - "navigationBarTitleText": "鉴名" - } - }, - { - "path": "pages/me/me", - "style": { - "navigationBarTitleText": "我的" - } - }, - { - "path":"pages/details/details", - "style":{ - "navigationBarTitleText":"详情" - } - }, - { - "path":"pages/login/login", - "style":{ - "navigationBarTitleText":"登录" - } - } - - ], - "globalStyle": { - "navigationBarTextStyle": "black", - "navigationBarTitleText": "CreateName", - "navigationBarBackgroundColor": "#FFFFFF" - }, - "tabBar": { - "color":"#C0C4CC", - "selectedColor":"#2C2C2C", - "borderStyle":"black", - "backgroundColor":"#ffffff", - "list": [ - { - "pagePath":"pages/index/index", - "iconPath":"static/create.png", - "selectedIconPath":"static/create-current.png", - "text":"起名" - }, - { - "pagePath":"pages/name/name", - "iconPath":"static/name.png", - "selectedIconPath":"static/name-current.png", - "text":"鉴名" - }, - { - "pagePath":"pages/me/me", - "iconPath":"static/wode.png", - "selectedIconPath":"static/wode-current.png", - "text":"我的" - } - ] - } -} diff --git a/CreateName-uni/pages/details/details.vue b/CreateName-uni/pages/details/details.vue deleted file mode 100644 index 6aff16d..0000000 --- a/CreateName-uni/pages/details/details.vue +++ /dev/null @@ -1,172 +0,0 @@ - - - - - diff --git a/CreateName-uni/pages/index/index.vue b/CreateName-uni/pages/index/index.vue deleted file mode 100644 index 153b17f..0000000 --- a/CreateName-uni/pages/index/index.vue +++ /dev/null @@ -1,97 +0,0 @@ - - - - - diff --git a/CreateName-uni/pages/login/login.vue b/CreateName-uni/pages/login/login.vue deleted file mode 100644 index 5a2ba53..0000000 --- a/CreateName-uni/pages/login/login.vue +++ /dev/null @@ -1,102 +0,0 @@ - - - - - diff --git a/CreateName-uni/pages/me/me.vue b/CreateName-uni/pages/me/me.vue deleted file mode 100644 index 7a9189b..0000000 --- a/CreateName-uni/pages/me/me.vue +++ /dev/null @@ -1,76 +0,0 @@ - - - - - diff --git a/CreateName-uni/pages/name/name.vue b/CreateName-uni/pages/name/name.vue deleted file mode 100644 index 552c148..0000000 --- a/CreateName-uni/pages/name/name.vue +++ /dev/null @@ -1,448 +0,0 @@ - - - - - diff --git a/CreateName-uni/static/can_bg.png b/CreateName-uni/static/can_bg.png deleted file mode 100644 index a0ed9c6..0000000 Binary files a/CreateName-uni/static/can_bg.png and /dev/null differ diff --git a/CreateName-uni/static/create-current.png b/CreateName-uni/static/create-current.png deleted file mode 100644 index 1284af3..0000000 Binary files a/CreateName-uni/static/create-current.png and /dev/null differ diff --git a/CreateName-uni/static/create.png b/CreateName-uni/static/create.png deleted file mode 100644 index 18c8bf5..0000000 Binary files a/CreateName-uni/static/create.png and /dev/null differ diff --git a/CreateName-uni/static/missing-face.png b/CreateName-uni/static/missing-face.png deleted file mode 100644 index c9be652..0000000 Binary files a/CreateName-uni/static/missing-face.png and /dev/null differ diff --git a/CreateName-uni/static/name-current.png b/CreateName-uni/static/name-current.png deleted file mode 100644 index 853beb5..0000000 Binary files a/CreateName-uni/static/name-current.png and /dev/null differ diff --git a/CreateName-uni/static/name.png b/CreateName-uni/static/name.png deleted file mode 100644 index 47eedd7..0000000 Binary files a/CreateName-uni/static/name.png and /dev/null differ diff --git a/CreateName-uni/static/scan.jpg b/CreateName-uni/static/scan.jpg deleted file mode 100644 index 14eb102..0000000 Binary files a/CreateName-uni/static/scan.jpg and /dev/null differ diff --git a/CreateName-uni/static/wode-current.png b/CreateName-uni/static/wode-current.png deleted file mode 100644 index 24d1841..0000000 Binary files a/CreateName-uni/static/wode-current.png and /dev/null differ diff --git a/CreateName-uni/static/wode.png b/CreateName-uni/static/wode.png deleted file mode 100644 index 101c589..0000000 Binary files a/CreateName-uni/static/wode.png and /dev/null differ diff --git a/CreateName-uni/store/index.js b/CreateName-uni/store/index.js deleted file mode 100644 index 0670e36..0000000 --- a/CreateName-uni/store/index.js +++ /dev/null @@ -1,35 +0,0 @@ -import Vue from 'vue' -import Vuex from 'vuex' - -Vue.use(Vuex) - -const store = new Vuex.Store({ - state: { - hasLogin: false, - userInfo: {}, - }, - mutations: { - login(state, provider) { - - state.hasLogin = true; - state.userInfo = provider; - uni.setStorage({//缓存用户登陆状态 - key: 'userInfo', - data: provider - }) - console.log(state.userInfo); - }, - logout(state) { - state.hasLogin = false; - state.userInfo = {}; - uni.removeStorage({ - key: 'userInfo' - }) - } - }, - actions: { - - } -}) - -export default store diff --git a/CreateName-uni/uni.scss b/CreateName-uni/uni.scss deleted file mode 100644 index 4f7a628..0000000 --- a/CreateName-uni/uni.scss +++ /dev/null @@ -1,28 +0,0 @@ - -/* 页面左右间距 */ -$page-row-spacing: 30upx; -$page-color-base: #f8f8f8; -$page-color-light: #f8f6fc; -$base-color: #fa436a; - -/* 文字尺寸 */ -$font-sm: 24upx; -$font-base: 28upx; -$font-lg: 32upx; -/*文字颜色*/ -$font-color-dark: #303133; -$font-color-base: #606266; -$font-color-light: #909399; -$font-color-disabled: #C0C4CC; -$font-color-spec: #4399fc; -/* 边框颜色 */ -$border-color-dark: #DCDFE6; -$border-color-base: #E4E7ED; -$border-color-light: #EBEEF5; -/* 图片加载中颜色 */ -$image-bg-color: #eee; -/* 行为相关颜色 */ -$uni-color-primary:#fa436a; -$uni-color-success: #4cd964; -$uni-color-warning: #f0ad4e; -$uni-color-error: #dd524d; \ No newline at end of file diff --git a/CreateName-uni/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map b/CreateName-uni/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map deleted file mode 100644 index d97ca39..0000000 --- a/CreateName-uni/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///F:/demo/app/wx--uni/CreateName-uni/main.js","webpack:///F:/demo/app/wx--uni/CreateName-uni/App.vue?5190","webpack:///F:/demo/app/wx--uni/CreateName-uni/App.vue?d7cd","webpack:///F:/demo/app/wx--uni/CreateName-uni/App.vue","webpack:///F:/demo/app/wx--uni/CreateName-uni/App.vue?413c","webpack:///F:/demo/app/wx--uni/CreateName-uni/App.vue?83c0"],"names":["defConfig","config","def","msg","title","duration","mask","icon","Boolean","uni","showToast","request","_gp","_mt","data","failCallback","Promise","resolve","userInfo","accessToken","getStorageSync","baseUrl","url","method","header","success","res","statusCode","errno","loginLock","showModal","content","showCancel","confirmText","e","confirm","navigateTo","fail","complete","errmsg","undefined","logout","removeStorage","key","setUserInfo","i","Vue","productionTip","prototype","$store","store","$api","App","mpType","app","$mount","methods","onLaunch","id","getStorage","login","onShow","console","log","onHide"],"mappings":"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","file":"common/main.js","sourcesContent":["import 'uni-pages';import '@dcloudio/uni-stat';\r\nimport Vue from 'vue'\r\nimport store from './store'\r\nimport App from './App'\r\nimport * as config from './config'\r\n\r\nconst defConfig = config.def\r\n\r\nconst msg = (title, duration = 1500, mask = false, icon = 'none') => {\r\n\t//统一提示方便全局修改\r\n\tif (Boolean(title) === false) {\r\n\t\treturn;\r\n\t}\r\n\tuni.showToast({\r\n\t\ttitle,\r\n\t\tduration,\r\n\t\tmask,\r\n\t\ticon\r\n\t});\r\n}\r\n\r\nconst request = (_gp, _mt, data = {}, failCallback) => {\r\n\t//异步请求数据\r\n\treturn new Promise(resolve => {\r\n\t\tif (!userInfo || !userInfo.accessToken) {\r\n\t\t\tuserInfo = uni.getStorageSync('userInfo')\r\n\t\t}\r\n\t\tlet accessToken = userInfo ? userInfo.accessToken : ''\r\n\t\tlet baseUrl = config.def().baseUrl\r\n\t\tuni.request({\r\n\t\t\turl: baseUrl + '/m.api',\r\n\t\t\tdata: {\r\n\t\t\t\t...data,\r\n\t\t\t\t_gp,\r\n\t\t\t\t_mt\r\n\t\t\t},\r\n\t\t\tmethod: 'POST',\r\n\t\t\theader: {\r\n\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',\r\n\t\t\t\t'ACCESSTOKEN': accessToken\r\n\t\t\t},\r\n\t\t\tsuccess: (res) => {\r\n\t\t\t\tif (res.statusCode === 200) {\r\n\t\t\t\t\tif (res.data.errno === 200) {\r\n\t\t\t\t\t\tresolve(res.data);\r\n\t\t\t\t\t} else if (res.data.errno === 10001) {\r\n\t\t\t\t\t\tif (failCallback) {\r\n\t\t\t\t\t\t\tfailCallback(res.data)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!loginLock) {\r\n\t\t\t\t\t\t\tloginLock = true\r\n\t\t\t\t\t\t\tuni.showModal({\r\n\t\t\t\t\t\t\t\ttitle: '登录提示',\r\n\t\t\t\t\t\t\t\tcontent: '您尚未登录,是否立即登录?',\r\n\t\t\t\t\t\t\t\tshowCancel: true,\r\n\t\t\t\t\t\t\t\tconfirmText: '登录',\r\n\t\t\t\t\t\t\t\tsuccess: (e) => {\r\n\t\t\t\t\t\t\t\t\tif (e.confirm) {\r\n\t\t\t\t\t\t\t\t\t\tuni.navigateTo({\r\n\t\t\t\t\t\t\t\t\t\t\turl: '/pages/public/login'\r\n\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\tfail: () => {},\r\n\t\t\t\t\t\t\t\tcomplete: () => {\r\n\t\t\t\t\t\t\t\t\tloginLock = false\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tif (failCallback) {\r\n\t\t\t\t\t\t\tfailCallback(res.data)\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tuni.showToast({\r\n\t\t\t\t\t\t\t\ttitle: res.data.errmsg,\r\n\t\t\t\t\t\t\t\ticon: 'none'\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t})\r\n}\r\n\r\nlet userInfo = undefined\r\n\r\nconst logout = () => {\r\n\tuserInfo = undefined\r\n\tuni.removeStorage({\r\n\t\tkey: 'userInfo'\r\n\t})\r\n}\r\n\r\nconst setUserInfo = (i) => {\r\n\tuserInfo = i\r\n}\r\n\r\nVue.config.productionTip = false\r\nVue.prototype.$store = store;\r\nVue.prototype.$api = {\r\n\trequest,\r\n\tsetUserInfo,\r\n\tlogout,\r\n\tmsg,\r\n\tdefConfig\r\n};\r\n\r\n\r\nApp.mpType = 'app'\r\n\r\nconst app = new Vue({\r\n ...App\r\n})\r\napp.$mount()","var render, staticRenderFns, recyclableRender, components\nvar renderjs\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!E:\\\\HBuilderX.2.2.2.20190816.full\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"E:\\\\HBuilderX.2.2.2.20190816.full\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\vue-hot-reload-api\\\\dist\\\\index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('1a19e92e')) {\n api.createRecord('1a19e92e', component.options)\n } else {\n api.reload('1a19e92e', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"F:/demo/app/wx--uni/CreateName-uni/App.vue\"\nexport default component.exports","import mod from \"-!E:\\\\HBuilderX.2.2.2.20190816.full\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!E:\\\\HBuilderX.2.2.2.20190816.full\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!E:\\\\HBuilderX.2.2.2.20190816.full\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!E:\\\\HBuilderX.2.2.2.20190816.full\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!E:\\\\HBuilderX.2.2.2.20190816.full\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!E:\\\\HBuilderX.2.2.2.20190816.full\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!E:\\\\HBuilderX.2.2.2.20190816.full\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!E:\\\\HBuilderX.2.2.2.20190816.full\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!E:\\\\HBuilderX.2.2.2.20190816.full\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!E:\\\\HBuilderX.2.2.2.20190816.full\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=script&lang=js&\"","\r\nimport { mapMutations } from 'vuex';\r\nexport default {\r\n\tmethods: {\r\n\t\t...mapMutations(['login'])\r\n\t},\r\n\tonLaunch: function() {\r\n\t\tlet userInfo = uni.getStorageSync('userInfo') || '';\r\n\t\tif (userInfo.id) {\r\n\t\t\t//更新登陆状态\r\n\t\t\tuni.getStorage({\r\n\t\t\t\tkey: 'userInfo',\r\n\t\t\t\tsuccess: res => {\r\n\t\t\t\t\tthis.login(res.data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\tonShow: function() {\r\n\t\tconsole.log('App Show');\r\n\t},\r\n\tonHide: function() {\r\n\t\tconsole.log('App Hide');\r\n\t}\r\n};\r\n","import mod from \"-!E:\\\\HBuilderX.2.2.2.20190816.full\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--6-oneOf-1-0!E:\\\\HBuilderX.2.2.2.20190816.full\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--6-oneOf-1-1!E:\\\\HBuilderX.2.2.2.20190816.full\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\index.js??ref--6-oneOf-1-2!E:\\\\HBuilderX.2.2.2.20190816.full\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!E:\\\\HBuilderX.2.2.2.20190816.full\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--6-oneOf-1-3!E:\\\\HBuilderX.2.2.2.20190816.full\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!E:\\\\HBuilderX.2.2.2.20190816.full\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!E:\\\\HBuilderX.2.2.2.20190816.full\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--6-oneOf-1-0!E:\\\\HBuilderX.2.2.2.20190816.full\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--6-oneOf-1-1!E:\\\\HBuilderX.2.2.2.20190816.full\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\index.js??ref--6-oneOf-1-2!E:\\\\HBuilderX.2.2.2.20190816.full\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!E:\\\\HBuilderX.2.2.2.20190816.full\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--6-oneOf-1-3!E:\\\\HBuilderX.2.2.2.20190816.full\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!E:\\\\HBuilderX.2.2.2.20190816.full\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=style&index=0&lang=css&\"","// extracted by mini-css-extract-plugin"],"sourceRoot":""} \ No newline at end of file diff --git a/CreateName-uni/unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map b/CreateName-uni/unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map deleted file mode 100644 index 94dd521..0000000 --- a/CreateName-uni/unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap"],"names":[],"mappings":";AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAQ,oBAAoB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAiB,4BAA4B;AAC7C;AACA;AACA,0BAAkB,2BAA2B;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA,4BAAoB;AACpB;AACA;AACA;AACA,+BAAuB,4IAA4I;AACnK;AACA;AACA,2BAAmB,6BAA6B;AAChD;AACA;AACA;AACA;AACA;AACA,2BAAmB,8BAA8B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAK;AACL;AACA,aAAK;AACL;;AAEA;;AAEA;AACA,yCAAiC;;AAEjC;AACA;AACA;AACA,aAAK;AACL;AACA;AACA;AACA,cAAM;AACN;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAwB,kCAAkC;AAC1D,cAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA,kDAA0C,oBAAoB,WAAW;;AAEzE;AACA;AACA;AACA;AACA,wBAAgB,uBAAuB;AACvC;;;AAGA;AACA","file":"common/runtime.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"common/runtime\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"common/runtime\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"\" + chunkId + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"components/down-refresh\":1,\"components/up-load\":1,\"components/list-cell\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"\" + ({\"components/down-refresh\":\"components/down-refresh\",\"components/up-load\":\"components/up-load\",\"components/list-cell\":\"components/list-cell\"}[chunkId]||chunkId) + \".wxss\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\tvar error = new Error('Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')');\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = global[\"webpackJsonp\"] = global[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":""} \ No newline at end of file diff --git a/CreateName-uni/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map b/CreateName-uni/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map deleted file mode 100644 index 7e41382..0000000 --- a/CreateName-uni/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./node_modules/@dcloudio/uni-mp-weixin/dist/index.js","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/mp-vue/dist/mp.runtime.esm.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/@dcloudio/uni-stat/dist/index.js","webpack:///F:/demo/app/wx--uni/CreateName-uni/pages.json","webpack:///F:/demo/app/wx--uni/CreateName-uni/store/index.js","webpack:///./node_modules/vuex/dist/vuex.esm.js","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js","webpack:///F:/demo/app/wx--uni/CreateName-uni/config/index.js","webpack:///./node_modules/@babel/runtime/regenerator/index.js","webpack:///./node_modules/regenerator-runtime/runtime-module.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///F:/demo/app/wx--uni/CreateName-uni/json.js"],"names":["_toString","Object","prototype","toString","hasOwnProperty","isFn","fn","isStr","str","isPlainObject","obj","call","hasOwn","key","noop","cached","cache","create","cachedFn","hit","camelizeRE","camelize","replace","_","c","toUpperCase","HOOKS","globalInterceptors","scopedInterceptors","mergeHook","parentVal","childVal","res","concat","Array","isArray","dedupeHooks","hooks","i","length","indexOf","push","removeHook","hook","index","splice","mergeInterceptorHook","interceptor","option","keys","forEach","removeInterceptorHook","addInterceptor","method","removeInterceptor","wrapperHook","data","isPromise","then","queue","promise","Promise","resolve","callback","wrapperOptions","options","name","oldCallback","callbackInterceptor","wrapperReturnValue","returnValue","returnValueHooks","getApiInterceptorHooks","slice","scopedInterceptor","invokeApi","api","params","invoke","promiseInterceptor","catch","SYNC_API_RE","CONTEXT_API_RE","CALLBACK_API_RE","isContextApi","test","isSyncApi","isCallbackApi","handlePromise","err","shouldPromise","promisify","promiseApi","success","fail","complete","reject","assign","finally","constructor","value","reason","EPS","BASE_DEVICE_WIDTH","isIOS","deviceWidth","deviceDPR","checkDeviceWidth","wx","getSystemInfoSync","platform","pixelRatio","windowWidth","upx2px","number","newDeviceWidth","Number","result","Math","floor","interceptors","baseApi","freeze","__proto__","previewImage","args","fromArgs","currentIndex","parseInt","current","isNaN","urls","len","filter","item","indicator","loop","addSafeAreaInsets","safeArea","safeAreaInsets","top","left","right","bottom","windowHeight","protocols","getSystemInfo","todos","canIUses","CALLBACKS","processCallback","methodName","processReturnValue","processArgs","argsOption","keepFromArgs","toArgs","keyOption","console","warn","keepReturnValue","wrapper","protocol","error","arg1","arg2","apply","todoApis","TODOS","createTodoApi","todoApi","errMsg","providers","oauth","share","payment","getProvider","service","provider","extraApi","getEmitter","getUniEmitter","Emitter","Vue","ctx","$on","arguments","$off","$once","$emit","eventApi","MPPage","Page","MPComponent","Component","customizeRE","customize","initTriggerEvent","mpInstance","canIUse","oldTriggerEvent","triggerEvent","event","initHook","oldHook","PAGE_EVENT_HOOKS","initMocks","vm","mocks","$mp","mpType","mock","hasHook","vueOptions","default","extendOptions","super","mixins","find","mixin","initHooks","mpOptions","$vm","__call_hook","initVueComponent","VueComponent","extend","initSlots","vueSlots","$slots","slotName","$scopedSlots","initVueIds","vueIds","split","_$vueId","_$vuePid","initData","context","methods","e","process","VUE_APP_DEBUG","JSON","parse","stringify","__lifecycle_hooks__","PROP_TYPES","String","Boolean","createObserver","observer","newVal","oldVal","initBehaviors","initBehavior","vueBehaviors","vueExtends","vueMixins","vueProps","behaviors","behavior","type","Date","props","properties","initProperties","vueMixin","parsePropType","defaultValue","file","isBehavior","vueId","setData","opts","wrapper$1","mp","stopPropagation","preventDefault","target","detail","getExtraValue","dataPathsArray","dataPathArray","dataPath","propPath","valuePath","vFor","__get_value","isInteger","vForItem","vForKey","processEventExtra","extra","extraObj","getObjByArray","arr","element","processEventArgs","isCustom","isCustomMPEvent","currentTarget","dataset","comType","__args__","ret","arg","ONCE","CUSTOM","isMatchEventType","eventType","optType","handleEvent","eventOpts","eventOpt","eventsArray","charAt","isOnce","eventArray","handlerCtx","$options","generic","$parent","handler","Error","once","parseBaseApp","initRefs","store","$store","mpHost","beforeCreate","$scope","appOptions","onLaunch","app","globalData","_isMounted","findVmByVueId","vuePid","$children","childVm","parentVm","Behavior","isPage","route","initRelation","defineProperty","get","$refs","components","selectAllComponents","component","ref","forComponents","handleLink","parent","parseApp","createApp","App","parseBaseComponent","vueComponentOptions","multipleSlots","addGlobalClass","componentOptions","__file","lifetimes","attached","propsData","$mount","ready","detached","$destroy","pageLifetimes","show","hide","resize","size","__l","__e","wxsCallMethods","callMethod","parseComponent","hooks$1","parseBasePage","vuePageOptions","pageOptions","onLoad","query","parsePage","createPage","createComponent","canIUseApi","apiName","uni","Proxy","set","uni$1","STAT_VERSION","version","STAT_URL","STAT_H5_URL","PAGE_PVER_TIME","APP_PVER_TIME","OPERATING_TIME","UUID_KEY","UUID_VALUE","getUuid","uuid","getPlatformName","plus","runtime","getDCloudId","getStorageSync","now","random","setStorageSync","getSgin","statData","sortArr","sort","sgin","sginStr","sign","substr","getSplicing","getTime","platformList","getPackName","packName","getAccountInfoSync","miniProgram","appId","getVersion","getChannel","platformName","channel","getScene","scene","getLaunchOptionsSync","First__Visit__Time__KEY","Last__Visit__Time__KEY","getFirstVisitTime","timeStorge","time","removeStorageSync","getLastVisitTime","PAGE_RESIDENCE_TIME","First_Page_residence_time","Last_Page_residence_time","setPageResidenceTime","getPageResidenceTime","TOTAL__VISIT__COUNT","getTotalVisitCount","count","GetEncodeURIComponentOptions","prop","encodeURIComponent","Set__First__Time","Set__Last__Time","getFirstTime","getLastTime","getResidenceTime","residenceTime","overtime","getRoute","pages","getCurrentPages","page","_self","is","getPageRoute","self","_query","getPageTypes","calibration","eventName","PagesJson","require","statConfig","resultOptions","Util","_retry","_platform","_navigationBarTitle","config","report","lt","_operatingTime","_reportingRequestData","__prevent_triggering","__licationHide","__licationShow","_lastPageRoute","ut","mpn","ak","appid","usv","v","ch","cn","pn","ct","t","tt","p","brand","md","model","sv","system","mpsdk","SDKVersion","mpv","lang","language","pr","ww","wh","sw","screenWidth","sh","screenHeight","path","sc","_sendReportRequest","_sendHideRequest","urlref","urlref_ts","routepath","titleNView","titleText","navigationBarTitleText","_sendPageRequest","url","_sendEventRequest","fvts","lvts","tvc","getProperty","getNetworkInfo","opt","request","e_n","e_v","getNetworkType","net","networkType","getLocation","wgtinfo","geocode","address","country","province","city","lat","latitude","lng","longitude","title","ttn","ttpj","ttc","requestData","uniStatData","firstArr","contentArr","lastArr","rd","elm","newData","optionsData","requests","imageRequest","setTimeout","_sendRequest","image","Image","src","Stat","instance","addInterceptorInit","interceptLogin","interceptShare","interceptRequestPayment","_login","_share","_payment","_pageShow","_applicationShow","_pageHide","_applicationHide","em","info","emVal","message","stack","stat","getInstance","isHide","lifecycle","onReady","load","onShareAppMessage","oldShareAppMessage","onShow","onHide","onUnload","onError","main","use","Vuex","Store","state","hasLogin","userInfo","mutations","login","setStorage","log","logout","removeStorage","actions","dev","baseUrl","def","tabList","id","newsList","author","images","videoSrc","evaList","nickname","zan","content"],"mappings":"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;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,kDAAkD,iCAAiC,EAAE;AACrF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,cAAc;;AAE3C;;AAEA;AACA;AACA;AACA,6BAA6B,UAAU;;AAEvC;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,aAAoB;;AAErC;AACA;AACA;AACA,YAAY,aAAoB;;AAEhC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA,oCAAoC;AACpC;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA,iCAAiC;AACjC,uCAAuC,wBAAwB,EAAE;AACjE,0BAA0B;;AAE1B;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,YAAY;AACpC,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,wCAAwC,EAAE;AAC1C;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,+BAA+B,oBAAoB,EAAE;AACrD;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0BAA0B,SAAS,qBAAqB;;AAExD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iDAAiD,OAAO;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,uBAAuB;AACzD,iCAAiC,sBAAsB;AACvD;AACA,kBAAkB;AAClB,MAAM,IAAqC;AAC3C;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,aAAoB;AACtC;AACA;AACA,mBAAmB;AACnB;AACA;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,OAAO,UAAU,IAAqC;AACtD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,GAAG,UAAU,IAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,mBAAmB,mBAAmB;AACtC,+BAA+B;AAC/B;AACA,GAAG;AACH;AACA;AACA;AACA,kBAAkB,YAAY;AAC9B,WAAW;AACX;AACA,GAAG,UAAU,IAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,OAAO;AACrD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,oCAAoC;AACpC;AACA,qCAAqC;AACrC;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAEQ;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6CAA6C,SAAS;AACtD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,qCAAqC,EAAE;AACpF;;AAEA;AACA;AACA;;AAEA,oCAAoC,yCAAyC,EAAE;AAC/E;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,kBAAkB;AAC3C;AACA;AACA,4BAA4B;AAC5B,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,sDAAsD,EAAE;AACtF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,kBAAkB;AAClC;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;;AAEA;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,iCAAiC;AACnE,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kCAAkC,iCAAiC;AACnE,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,yBAAyB;AAC1C,GAAG;AACH;AACA;AACA,iBAAiB,+BAA+B;AAChD;AACA;;AAEA;AACA;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,uBAAuB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,mBAAmB;AACxC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,qBAAqB;AAClC;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO,MAAM,EAEN;AACP,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,IAAqC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,OAAO;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,sBAAsB,mBAAmB;AACzC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC,uCAAuC;AACvC;AACA,GAAG;AACH;AACA,eAAe,SAAS;AACxB,sCAAsC;AACtC;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA,KAAK;AACL;AACA;AACA,kCAAkC,OAAO;AACzC;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,4CAA4C,eAAe;AAC3D,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,kDAAkD;AAClD,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,KAAK;AACL,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA,KAAK,UAAU,KAAqC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,qCAAqC,gEAAgE;AACrG;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,4BAA4B,+BAA+B;AAC3D,4BAA4B,+BAA+B;AAC3D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C,kDAAkD;AAClD;AACA;AACA,mCAAmC;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sEAAsE;;AAEtE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,uFAAuF;AAC5F;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C;AAC1C,iBAAiB,yBAAyB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG,+BAA+B;AAClC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,oBAAoB,oBAAoB;AACxC,sBAAsB,4BAA4B;AAClD;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,OAAO;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,mBAAmB;AACnB,yBAAyB;AACzB;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,6CAA6C;AAC9E;AACA;AACA,6CAA6C,4CAA4C;;AAEzF;AACA;AACA;;AAEA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,GAAG,MAAM,EAGN;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,KAAK,2CAA2C,8BAA8B,EAAE;;AAEhF;AACA,wCAAwC,OAAO;AAC/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,KAAqC;AACrD;AACA,oBAAoB,SAAI;AACxB;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,SAAS;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,OAAO;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;;AAE1B,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,MAAM,IAAqC;AAC3C;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0BAA0B;AACpD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,oBAAoB,EAAE;;AAEpD;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,oBAAoB;AACpB;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,oBAAoB,KAAqC;AACzD;AACA,MAAM,SAAE;AACR;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C,qBAAqB,+BAA+B;AACpD;AACA;AACA,GAAG;AACH,yBAAyB;AACzB;AACA,sBAAsB,iCAAiC;AACvD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK,MAAM,EAEN;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,UAAU,IAAqC;AACpD;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,oBAAoB;AACzC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,8BAA8B;AAC9B,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA,KAAK,MAAM,EAEN;AACL;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA,kDAAkD;AAClD,0D;;AAEA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,eAAe;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE;AACtE;AACA;AACA;;AAEA;AACA,QAAQ,KAAqC;AAC7C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,YAAY,KAAqC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA,0CAA0C,2BAA2B,EAAE;AACvE,KAAK;AACL;AACA,0CAA0C,4BAA4B,EAAE;AACxE,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,+BAA+B,eAAe;AAC9C,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,YAAY,gFAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;;AAEA;AACA,0CAA0C,gCAAgC,EAAE;AAC5E;;AAEA;AACA;AACA;AACA;AACA,WAAW,gFAAW;AACtB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,WAAW,gFAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,0CAA0C;;AAE1C;AACA;AACA;AACA,GAAG;AACH;AACA,sCAAsC;AACtC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA,KAAK;AACL;AACA;AACA,UAAU,gFAAW;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA,gBAAgB,YAAY;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB,YAAY;AAC5B;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,qDAAqD,EAAE,SAAS;AACtH;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAiC,OAAO;AACxC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AAC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;AACA;AACA;;AAEA;AACA,mBAAmB;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,cAAc,qBAAqB;;AAE/D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,MAAM,IAAqC;AAC3C;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,sCAAsC;;AAEtC;AACA;;AAEA;AACA,MAAM,IAAqC;AAC3C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,IAAqC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,oCAAoC,EAAE;AAClE;AACA;;AAEA;AACA,4BAA4B;AAC5B,uEAAuE,EAAE;AACzE;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B;;AAE1B;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ;;AAER;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;;AAEA,gCAAgC;AAChC,8BAA8B;;AAE9B,4BAA4B;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qCAAqC,uBAAuB,EAAE;;AAE9D;AACA;AACA;AACA;;AAEA,0BAA0B,SAAS,qBAAqB;;AAExD;AACA;AACA;;AAEA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;AAClB;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,4CAA4C,oCAAoC,EAAE;;AAElF;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB;AAChB;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;;AAEA,kDAAkD,kCAAkC,EAAE;;AAEtF;AACA,gDAAgD,yBAAyB,EAAE;AAC3E;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,MAAM,IAAqC;AAC3C;AACA;AACA,6CAA6C,6CAA6C,EAAE;AAC5F;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA,iCAAiC,eAAe;;AAEhD,MAAM,IAAqC;AAC3C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iCAAiC,eAAe;;AAEhD,MAAM,IAAqC;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,kBAAkB;AACnD;AACA,wBAAwB,uBAAuB,EAAE;AACjD;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,8BAA8B,yBAAyB,EAAE;AACzD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,KAAqC;AACjD;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,KAAqC;AACjD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C,uBAAuB,2CAA2C;AAClE,KAAK;AACL;AACA,wBAAwB,0CAA0C;AAClE;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,gDAAgD;;AAEhD;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,4BAA4B,EAAE;AACtD;AACA,KAAK;AACL,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC,4BAA4B;AAC5D,QAAQ,IAAqC;AAC7C;AACA;AACA,GAAG,GAAG,yBAAyB;AAC/B;;AAEA;AACA;AACA,yCAAyC,mBAAmB,EAAE;AAC9D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAM,IAAqC;AAC3C;AACA;;AAEA,UAAU;AACV;;AAEA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED,oDAAoD;AACpD;AACA;AACA;AACA;AACA,CAAC,EAAE;;AAEH;AACA;AACA,8BAA8B,UAAU,qBAAqB,EAAE,EAAE;AACjE,2CAA2C,UAAU,0BAA0B,EAAE,EAAE;AACnF;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEmG;AACpF,wEAAS,EAAC;;;;;;;;;;;;;;;;;ACl6BzB;AAAA;AAAA;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2EAA2E;AAC3E;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;gFC1GA,IAAMwS,GAAG,GAAG;AACXC,SAAO,EAAE,6BADE,EAAZ;;;;AAKO,SAASC,GAAT,GAAe;AACrB,SAAOF,GAAP;AACA,C;;;;;;;;;;;;;;;;;;;;;;ACPD,iBAAiB,mBAAO,CAAC,6BAAqB;;;;;;;;;;;ACA9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,iBAAiB,mBAAO,CAAC,mBAAW;;AAEpC;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;uFChtBA,IAAMG,OAAO,GAAG,CAAC;AAChBjjB,MAAI,EAAE,KADU;AAEhBkjB,IAAE,EAAE,GAFY,EAAD;AAGb;AACFljB,MAAI,EAAE,KADJ;AAEFkjB,IAAE,EAAE,GAFF,EAHa;AAMb;AACFljB,MAAI,EAAE,KADJ;AAEFkjB,IAAE,EAAE,GAFF,EANa;AASb;AACFljB,MAAI,EAAE,KADJ;AAEFkjB,IAAE,EAAE,GAFF,EATa;AAYb;AACFljB,MAAI,EAAE,KADJ;AAEFkjB,IAAE,EAAE,GAFF,EAZa;AAeb;AACFljB,MAAI,EAAE,KADJ;AAEFkjB,IAAE,EAAE,GAFF,EAfa,CAAhB;;AAmBA,IAAMC,QAAQ,GAAG,CAAC;AAChBD,IAAE,EAAE,CADY;AAEhBpE,OAAK,EAAE,cAFS;AAGhBsE,QAAM,EAAE,MAHQ;AAIhBC,QAAM,EAAE;AACP,wDADO;AAEP,wDAFO;AAGP,uDAHO,CAJQ;;AAShB3L,MAAI,EAAE,MATU;AAUhBtL,MAAI,EAAE,CAVU,EAAD;;;AAahB;AACC8W,IAAE,EAAE,CADL;AAECpE,OAAK,EAAE,kBAFR;AAGCsE,QAAM,EAAE,KAHT;AAICC,QAAM,EAAE;AACP,wDADO,CAJT;;AAOC3L,MAAI,EAAE,OAPP;AAQCtL,MAAI,EAAE,CARP,EAbgB;;AAuBhB;AACC8W,IAAE,EAAE,CADL;AAECpE,OAAK,EAAE,YAFR;AAGCsE,QAAM,EAAE,KAHT;AAICC,QAAM,EAAE;AACP,wDADO,CAJT;;AAOC3L,MAAI,EAAE,MAPP;AAQCtL,MAAI,EAAE,CARP,EAvBgB;;AAiChB;AACC8W,IAAE,EAAE,CADL;AAECpE,OAAK,EAAE,aAFR;AAGCsE,QAAM,EAAE,OAHT;AAICC,QAAM,EAAE;AACP,kEADO,CAJT;;AAOCC,UAAQ,EAAE,4NAPX;AAQC5L,MAAI,EAAE,kBARP;AASCtL,MAAI,EAAE,CATP,EAjCgB;;AA4ChB;AACC8W,IAAE,EAAE,CADL;AAECpE,OAAK,EAAE,sBAFR;AAGCsE,QAAM,EAAE,OAHT;AAICC,QAAM,EAAE,CAAC,gGAAD,CAJT;AAKCC,UAAQ,EAAE,4NALX;AAMC5L,MAAI,EAAE,MANP;AAOCtL,MAAI,EAAE,CAPP,EA5CgB;;AAqDhB;AACC8W,IAAE,EAAE,CADL;AAECpE,OAAK,EAAE,iBAFR;AAGCsE,QAAM,EAAE,KAHT;AAICC,QAAM,EAAE,CAAC,qDAAD,CAJT;AAKC3L,MAAI,EAAE,MALP;AAMCtL,MAAI,EAAE,CANP,EArDgB;;AA6DhB;AACC8W,IAAE,EAAE,CADL;AAECpE,OAAK,EAAE,cAFR;AAGCsE,QAAM,EAAE,KAHT;AAICC,QAAM,EAAE;AACP,qDADO;AAEP,sDAFO;AAGP,qDAHO,CAJT;;AASC3L,MAAI,EAAE,mBATP;AAUCtL,MAAI,EAAE,CAVP,EA7DgB;;AAyEhB;AACC8W,IAAE,EAAE,CADL;AAECpE,OAAK,EAAE,YAFR;AAGCsE,QAAM,EAAE,OAHT;AAICC,QAAM,EAAE;AACP,kEADO;AAEP,kEAFO;AAGP,qDAHO,CAJT;;AASC3L,MAAI,EAAE,mBATP;AAUCtL,MAAI,EAAE,CAVP,EAzEgB,CAAjB;;;AAsFA,IAAMmX,OAAO,GAAG,CAAC;AACftD,KAAG,EAAE,gHADU;AAEfuD,UAAQ,EAAE,eAFK;AAGf9L,MAAI,EAAE,aAHS;AAIf+L,KAAG,EAAE,IAJU;AAKfC,SAAO,EAAE,sDALM,EAAD;;AAOf;AACCzD,KAAG,EAAE,uEADN;AAECuD,UAAQ,EAAE,eAFX;AAGC9L,MAAI,EAAE,aAHP;AAIC+L,KAAG,EAAE,IAJN;AAKCC,SAAO,EAAE,WALV,EAPe,CAAhB,C;;;;AAgBe;AACdT,SAAO,EAAPA,OADc;AAEdE,UAAQ,EAARA,QAFc;AAGdI,SAAO,EAAPA,OAHc,E","file":"common/vendor.js","sourcesContent":["import Vue from 'vue';\r\n\r\nconst _toString = Object.prototype.toString;\r\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\r\n\r\nfunction isFn (fn) {\r\n return typeof fn === 'function'\r\n}\r\n\r\nfunction isStr (str) {\r\n return typeof str === 'string'\r\n}\r\n\r\nfunction isPlainObject (obj) {\r\n return _toString.call(obj) === '[object Object]'\r\n}\r\n\r\nfunction hasOwn (obj, key) {\r\n return hasOwnProperty.call(obj, key)\r\n}\r\n\r\nfunction noop () {}\r\n\r\n/**\r\n * Create a cached version of a pure function.\r\n */\r\nfunction cached (fn) {\r\n const cache = Object.create(null);\r\n return function cachedFn (str) {\r\n const hit = cache[str];\r\n return hit || (cache[str] = fn(str))\r\n }\r\n}\r\n\r\n/**\r\n * Camelize a hyphen-delimited string.\r\n */\r\nconst camelizeRE = /-(\\w)/g;\r\nconst camelize = cached((str) => {\r\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '')\r\n});\r\n\r\nconst HOOKS = [\r\n 'invoke',\r\n 'success',\r\n 'fail',\r\n 'complete',\r\n 'returnValue'\r\n];\r\n\r\nconst globalInterceptors = {};\r\nconst scopedInterceptors = {};\r\n\r\nfunction mergeHook (parentVal, childVal) {\r\n const res = childVal\r\n ? parentVal\r\n ? parentVal.concat(childVal)\r\n : Array.isArray(childVal)\r\n ? childVal : [childVal]\r\n : parentVal;\r\n return res\r\n ? dedupeHooks(res)\r\n : res\r\n}\r\n\r\nfunction dedupeHooks (hooks) {\r\n const res = [];\r\n for (let i = 0; i < hooks.length; i++) {\r\n if (res.indexOf(hooks[i]) === -1) {\r\n res.push(hooks[i]);\r\n }\r\n }\r\n return res\r\n}\r\n\r\nfunction removeHook (hooks, hook) {\r\n const index = hooks.indexOf(hook);\r\n if (index !== -1) {\r\n hooks.splice(index, 1);\r\n }\r\n}\r\n\r\nfunction mergeInterceptorHook (interceptor, option) {\r\n Object.keys(option).forEach(hook => {\r\n if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {\r\n interceptor[hook] = mergeHook(interceptor[hook], option[hook]);\r\n }\r\n });\r\n}\r\n\r\nfunction removeInterceptorHook (interceptor, option) {\r\n if (!interceptor || !option) {\r\n return\r\n }\r\n Object.keys(option).forEach(hook => {\r\n if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {\r\n removeHook(interceptor[hook], option[hook]);\r\n }\r\n });\r\n}\r\n\r\nfunction addInterceptor (method, option) {\r\n if (typeof method === 'string' && isPlainObject(option)) {\r\n mergeInterceptorHook(scopedInterceptors[method] || (scopedInterceptors[method] = {}), option);\r\n } else if (isPlainObject(method)) {\r\n mergeInterceptorHook(globalInterceptors, method);\r\n }\r\n}\r\n\r\nfunction removeInterceptor (method, option) {\r\n if (typeof method === 'string') {\r\n if (isPlainObject(option)) {\r\n removeInterceptorHook(scopedInterceptors[method], option);\r\n } else {\r\n delete scopedInterceptors[method];\r\n }\r\n } else if (isPlainObject(method)) {\r\n removeInterceptorHook(globalInterceptors, method);\r\n }\r\n}\r\n\r\nfunction wrapperHook (hook) {\r\n return function (data) {\r\n return hook(data) || data\r\n }\r\n}\r\n\r\nfunction isPromise (obj) {\r\n return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function'\r\n}\r\n\r\nfunction queue (hooks, data) {\r\n let promise = false;\r\n for (let i = 0; i < hooks.length; i++) {\r\n const hook = hooks[i];\r\n if (promise) {\r\n promise = Promise.then(wrapperHook(hook));\r\n } else {\r\n const res = hook(data);\r\n if (isPromise(res)) {\r\n promise = Promise.resolve(res);\r\n }\r\n if (res === false) {\r\n return {\r\n then () {}\r\n }\r\n }\r\n }\r\n }\r\n return promise || {\r\n then (callback) {\r\n return callback(data)\r\n }\r\n }\r\n}\r\n\r\nfunction wrapperOptions (interceptor, options = {}) {\r\n ['success', 'fail', 'complete'].forEach(name => {\r\n if (Array.isArray(interceptor[name])) {\r\n const oldCallback = options[name];\r\n options[name] = function callbackInterceptor (res) {\r\n queue(interceptor[name], res).then((res) => {\r\n /* eslint-disable no-mixed-operators */\r\n return isFn(oldCallback) && oldCallback(res) || res\r\n });\r\n };\r\n }\r\n });\r\n return options\r\n}\r\n\r\nfunction wrapperReturnValue (method, returnValue) {\r\n const returnValueHooks = [];\r\n if (Array.isArray(globalInterceptors.returnValue)) {\r\n returnValueHooks.push(...globalInterceptors.returnValue);\r\n }\r\n const interceptor = scopedInterceptors[method];\r\n if (interceptor && Array.isArray(interceptor.returnValue)) {\r\n returnValueHooks.push(...interceptor.returnValue);\r\n }\r\n returnValueHooks.forEach(hook => {\r\n returnValue = hook(returnValue) || returnValue;\r\n });\r\n return returnValue\r\n}\r\n\r\nfunction getApiInterceptorHooks (method) {\r\n const interceptor = Object.create(null);\r\n Object.keys(globalInterceptors).forEach(hook => {\r\n if (hook !== 'returnValue') {\r\n interceptor[hook] = globalInterceptors[hook].slice();\r\n }\r\n });\r\n const scopedInterceptor = scopedInterceptors[method];\r\n if (scopedInterceptor) {\r\n Object.keys(scopedInterceptor).forEach(hook => {\r\n if (hook !== 'returnValue') {\r\n interceptor[hook] = (interceptor[hook] || []).concat(scopedInterceptor[hook]);\r\n }\r\n });\r\n }\r\n return interceptor\r\n}\r\n\r\nfunction invokeApi (method, api, options, ...params) {\r\n const interceptor = getApiInterceptorHooks(method);\r\n if (interceptor && Object.keys(interceptor).length) {\r\n if (Array.isArray(interceptor.invoke)) {\r\n const res = queue(interceptor.invoke, options);\r\n return res.then((options) => {\r\n return api(wrapperOptions(interceptor, options), ...params)\r\n })\r\n } else {\r\n return api(wrapperOptions(interceptor, options), ...params)\r\n }\r\n }\r\n return api(options, ...params)\r\n}\r\n\r\nconst promiseInterceptor = {\r\n returnValue (res) {\r\n if (!isPromise(res)) {\r\n return res\r\n }\r\n return res.then(res => {\r\n return res[1]\r\n }).catch(res => {\r\n return res[0]\r\n })\r\n }\r\n};\r\n\r\nconst SYNC_API_RE =\r\n /^\\$|restoreGlobal|getCurrentSubNVue|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$|base64ToArrayBuffer|arrayBufferToBase64/;\r\n\r\nconst CONTEXT_API_RE = /^create|Manager$/;\r\n\r\nconst CALLBACK_API_RE = /^on/;\r\n\r\nfunction isContextApi (name) {\r\n return CONTEXT_API_RE.test(name)\r\n}\r\nfunction isSyncApi (name) {\r\n return SYNC_API_RE.test(name)\r\n}\r\n\r\nfunction isCallbackApi (name) {\r\n return CALLBACK_API_RE.test(name) && name !== 'onPush'\r\n}\r\n\r\nfunction handlePromise (promise) {\r\n return promise.then(data => {\r\n return [null, data]\r\n })\r\n .catch(err => [err])\r\n}\r\n\r\nfunction shouldPromise (name) {\r\n if (\r\n isContextApi(name) ||\r\n isSyncApi(name) ||\r\n isCallbackApi(name)\r\n ) {\r\n return false\r\n }\r\n return true\r\n}\r\n\r\nfunction promisify (name, api) {\r\n if (!shouldPromise(name)) {\r\n return api\r\n }\r\n return function promiseApi (options = {}, ...params) {\r\n if (isFn(options.success) || isFn(options.fail) || isFn(options.complete)) {\r\n return wrapperReturnValue(name, invokeApi(name, api, options, ...params))\r\n }\r\n return wrapperReturnValue(name, handlePromise(new Promise((resolve, reject) => {\r\n invokeApi(name, api, Object.assign({}, options, {\r\n success: resolve,\r\n fail: reject\r\n }), ...params);\r\n /* eslint-disable no-extend-native */\r\n if (!Promise.prototype.finally) {\r\n Promise.prototype.finally = function (callback) {\r\n const promise = this.constructor;\r\n return this.then(\r\n value => promise.resolve(callback()).then(() => value),\r\n reason => promise.resolve(callback()).then(() => {\r\n throw reason\r\n })\r\n )\r\n };\r\n }\r\n })))\r\n }\r\n}\r\n\r\nconst EPS = 1e-4;\r\nconst BASE_DEVICE_WIDTH = 750;\r\nlet isIOS = false;\r\nlet deviceWidth = 0;\r\nlet deviceDPR = 0;\r\n\r\nfunction checkDeviceWidth () {\r\n const {\r\n platform,\r\n pixelRatio,\r\n windowWidth\r\n } = wx.getSystemInfoSync(); // uni=>wx runtime 编译目标是 uni 对象,内部不允许直接使用 uni\r\n\r\n deviceWidth = windowWidth;\r\n deviceDPR = pixelRatio;\r\n isIOS = platform === 'ios';\r\n}\r\n\r\nfunction upx2px (number, newDeviceWidth) {\r\n if (deviceWidth === 0) {\r\n checkDeviceWidth();\r\n }\r\n\r\n number = Number(number);\r\n if (number === 0) {\r\n return 0\r\n }\r\n let result = (number / BASE_DEVICE_WIDTH) * (newDeviceWidth || deviceWidth);\r\n if (result < 0) {\r\n result = -result;\r\n }\r\n result = Math.floor(result + EPS);\r\n if (result === 0) {\r\n if (deviceDPR === 1 || !isIOS) {\r\n return 1\r\n } else {\r\n return 0.5\r\n }\r\n }\r\n return number < 0 ? -result : result\r\n}\r\n\r\nconst interceptors = {\r\n promiseInterceptor\r\n};\r\n\r\n\r\n\r\nvar baseApi = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n upx2px: upx2px,\r\n interceptors: interceptors,\r\n addInterceptor: addInterceptor,\r\n removeInterceptor: removeInterceptor\r\n});\r\n\r\nvar previewImage = {\r\n args (fromArgs) {\r\n let currentIndex = parseInt(fromArgs.current);\r\n if (isNaN(currentIndex)) {\r\n return\r\n }\r\n const urls = fromArgs.urls;\r\n if (!Array.isArray(urls)) {\r\n return\r\n }\r\n const len = urls.length;\r\n if (!len) {\r\n return\r\n }\r\n if (currentIndex < 0) {\r\n currentIndex = 0;\r\n } else if (currentIndex >= len) {\r\n currentIndex = len - 1;\r\n }\r\n if (currentIndex > 0) {\r\n fromArgs.current = urls[currentIndex];\r\n fromArgs.urls = urls.filter(\r\n (item, index) => index < currentIndex ? item !== urls[currentIndex] : true\r\n );\r\n } else {\r\n fromArgs.current = urls[0];\r\n }\r\n return {\r\n indicator: false,\r\n loop: false\r\n }\r\n }\r\n};\r\n\r\nfunction addSafeAreaInsets (result) {\r\n if (result.safeArea) {\r\n const safeArea = result.safeArea;\r\n result.safeAreaInsets = {\r\n top: safeArea.top,\r\n left: safeArea.left,\r\n right: result.windowWidth - safeArea.right,\r\n bottom: result.windowHeight - safeArea.bottom\r\n };\r\n }\r\n}\r\nconst protocols = {\r\n previewImage,\r\n getSystemInfo: {\r\n returnValue: addSafeAreaInsets\r\n },\r\n getSystemInfoSync: {\r\n returnValue: addSafeAreaInsets\r\n }\r\n};\r\nconst todos = [\r\n 'vibrate'\r\n];\r\nconst canIUses = [];\r\n\r\nconst CALLBACKS = ['success', 'fail', 'cancel', 'complete'];\r\n\r\nfunction processCallback (methodName, method, returnValue) {\r\n return function (res) {\r\n return method(processReturnValue(methodName, res, returnValue))\r\n }\r\n}\r\n\r\nfunction processArgs (methodName, fromArgs, argsOption = {}, returnValue = {}, keepFromArgs = false) {\r\n if (isPlainObject(fromArgs)) { // 一般 api 的参数解析\r\n const toArgs = keepFromArgs === true ? fromArgs : {}; // returnValue 为 false 时,说明是格式化返回值,直接在返回值对象上修改赋值\r\n if (isFn(argsOption)) {\r\n argsOption = argsOption(fromArgs, toArgs) || {};\r\n }\r\n for (let key in fromArgs) {\r\n if (hasOwn(argsOption, key)) {\r\n let keyOption = argsOption[key];\r\n if (isFn(keyOption)) {\r\n keyOption = keyOption(fromArgs[key], fromArgs, toArgs);\r\n }\r\n if (!keyOption) { // 不支持的参数\r\n console.warn(`微信小程序 ${methodName}暂不支持${key}`);\r\n } else if (isStr(keyOption)) { // 重写参数 key\r\n toArgs[keyOption] = fromArgs[key];\r\n } else if (isPlainObject(keyOption)) { // {name:newName,value:value}可重新指定参数 key:value\r\n toArgs[keyOption.name ? keyOption.name : key] = keyOption.value;\r\n }\r\n } else if (CALLBACKS.indexOf(key) !== -1) {\r\n toArgs[key] = processCallback(methodName, fromArgs[key], returnValue);\r\n } else {\r\n if (!keepFromArgs) {\r\n toArgs[key] = fromArgs[key];\r\n }\r\n }\r\n }\r\n return toArgs\r\n } else if (isFn(fromArgs)) {\r\n fromArgs = processCallback(methodName, fromArgs, returnValue);\r\n }\r\n return fromArgs\r\n}\r\n\r\nfunction processReturnValue (methodName, res, returnValue, keepReturnValue = false) {\r\n if (isFn(protocols.returnValue)) { // 处理通用 returnValue\r\n res = protocols.returnValue(methodName, res);\r\n }\r\n return processArgs(methodName, res, returnValue, {}, keepReturnValue)\r\n}\r\n\r\nfunction wrapper (methodName, method) {\r\n if (hasOwn(protocols, methodName)) {\r\n const protocol = protocols[methodName];\r\n if (!protocol) { // 暂不支持的 api\r\n return function () {\r\n console.error(`微信小程序 暂不支持${methodName}`);\r\n }\r\n }\r\n return function (arg1, arg2) { // 目前 api 最多两个参数\r\n let options = protocol;\r\n if (isFn(protocol)) {\r\n options = protocol(arg1);\r\n }\r\n\r\n arg1 = processArgs(methodName, arg1, options.args, options.returnValue);\r\n\r\n const args = [arg1];\r\n if (typeof arg2 !== 'undefined') {\r\n args.push(arg2);\r\n }\r\n const returnValue = wx[options.name || methodName].apply(wx, args);\r\n if (isSyncApi(methodName)) { // 同步 api\r\n return processReturnValue(methodName, returnValue, options.returnValue, isContextApi(methodName))\r\n }\r\n return returnValue\r\n }\r\n }\r\n return method\r\n}\r\n\r\nconst todoApis = Object.create(null);\r\n\r\nconst TODOS = [\r\n 'onTabBarMidButtonTap',\r\n 'subscribePush',\r\n 'unsubscribePush',\r\n 'onPush',\r\n 'offPush',\r\n 'share'\r\n];\r\n\r\nfunction createTodoApi (name) {\r\n return function todoApi ({\r\n fail,\r\n complete\r\n }) {\r\n const res = {\r\n errMsg: `${name}:fail:暂不支持 ${name} 方法`\r\n };\r\n isFn(fail) && fail(res);\r\n isFn(complete) && complete(res);\r\n }\r\n}\r\n\r\nTODOS.forEach(function (name) {\r\n todoApis[name] = createTodoApi(name);\r\n});\r\n\r\nvar providers = {\r\n oauth: ['weixin'],\r\n share: ['weixin'],\r\n payment: ['wxpay'],\r\n push: ['weixin']\r\n};\r\n\r\nfunction getProvider ({\r\n service,\r\n success,\r\n fail,\r\n complete\r\n}) {\r\n let res = false;\r\n if (providers[service]) {\r\n res = {\r\n errMsg: 'getProvider:ok',\r\n service,\r\n provider: providers[service]\r\n };\r\n isFn(success) && success(res);\r\n } else {\r\n res = {\r\n errMsg: 'getProvider:fail:服务[' + service + ']不存在'\r\n };\r\n isFn(fail) && fail(res);\r\n }\r\n isFn(complete) && complete(res);\r\n}\r\n\r\nvar extraApi = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n getProvider: getProvider\r\n});\r\n\r\nconst getEmitter = (function () {\r\n if (typeof getUniEmitter === 'function') {\r\n /* eslint-disable no-undef */\r\n return getUniEmitter\r\n }\r\n let Emitter;\r\n return function getUniEmitter () {\r\n if (!Emitter) {\r\n Emitter = new Vue();\r\n }\r\n return Emitter\r\n }\r\n})();\r\n\r\nfunction apply (ctx, method, args) {\r\n return ctx[method].apply(ctx, args)\r\n}\r\n\r\nfunction $on () {\r\n return apply(getEmitter(), '$on', [...arguments])\r\n}\r\nfunction $off () {\r\n return apply(getEmitter(), '$off', [...arguments])\r\n}\r\nfunction $once () {\r\n return apply(getEmitter(), '$once', [...arguments])\r\n}\r\nfunction $emit () {\r\n return apply(getEmitter(), '$emit', [...arguments])\r\n}\r\n\r\nvar eventApi = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n $on: $on,\r\n $off: $off,\r\n $once: $once,\r\n $emit: $emit\r\n});\r\n\r\n\r\n\r\nvar api = /*#__PURE__*/Object.freeze({\r\n __proto__: null\r\n});\r\n\r\nconst MPPage = Page;\r\nconst MPComponent = Component;\r\n\r\nconst customizeRE = /:/g;\r\n\r\nconst customize = cached((str) => {\r\n return camelize(str.replace(customizeRE, '-'))\r\n});\r\n\r\nfunction initTriggerEvent (mpInstance) {\r\n {\r\n if (!wx.canIUse('nextTick')) {\r\n return\r\n }\r\n }\r\n const oldTriggerEvent = mpInstance.triggerEvent;\r\n mpInstance.triggerEvent = function (event, ...args) {\r\n return oldTriggerEvent.apply(mpInstance, [customize(event), ...args])\r\n };\r\n}\r\n\r\nfunction initHook (name, options) {\r\n const oldHook = options[name];\r\n if (!oldHook) {\r\n options[name] = function () {\r\n initTriggerEvent(this);\r\n };\r\n } else {\r\n options[name] = function (...args) {\r\n initTriggerEvent(this);\r\n return oldHook.apply(this, args)\r\n };\r\n }\r\n}\r\n\r\nPage = function (options = {}) {\r\n initHook('onLoad', options);\r\n return MPPage(options)\r\n};\r\n\r\nComponent = function (options = {}) {\r\n initHook('created', options);\r\n return MPComponent(options)\r\n};\r\n\r\nconst PAGE_EVENT_HOOKS = [\r\n 'onPullDownRefresh',\r\n 'onReachBottom',\r\n 'onShareAppMessage',\r\n 'onPageScroll',\r\n 'onResize',\r\n 'onTabItemTap'\r\n];\r\n\r\nfunction initMocks (vm, mocks) {\r\n const mpInstance = vm.$mp[vm.mpType];\r\n mocks.forEach(mock => {\r\n if (hasOwn(mpInstance, mock)) {\r\n vm[mock] = mpInstance[mock];\r\n }\r\n });\r\n}\r\n\r\nfunction hasHook (hook, vueOptions) {\r\n if (!vueOptions) {\r\n return true\r\n }\r\n\r\n if (Vue.options && Array.isArray(Vue.options[hook])) {\r\n return true\r\n }\r\n\r\n vueOptions = vueOptions.default || vueOptions;\r\n\r\n if (isFn(vueOptions)) {\r\n if (isFn(vueOptions.extendOptions[hook])) {\r\n return true\r\n }\r\n if (vueOptions.super &&\r\n vueOptions.super.options &&\r\n Array.isArray(vueOptions.super.options[hook])) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n if (isFn(vueOptions[hook])) {\r\n return true\r\n }\r\n const mixins = vueOptions.mixins;\r\n if (Array.isArray(mixins)) {\r\n return !!mixins.find(mixin => hasHook(hook, mixin))\r\n }\r\n}\r\n\r\nfunction initHooks (mpOptions, hooks, vueOptions) {\r\n hooks.forEach(hook => {\r\n if (hasHook(hook, vueOptions)) {\r\n mpOptions[hook] = function (args) {\r\n return this.$vm && this.$vm.__call_hook(hook, args)\r\n };\r\n }\r\n });\r\n}\r\n\r\nfunction initVueComponent (Vue, vueOptions) {\r\n vueOptions = vueOptions.default || vueOptions;\r\n let VueComponent;\r\n if (isFn(vueOptions)) {\r\n VueComponent = vueOptions;\r\n vueOptions = VueComponent.extendOptions;\r\n } else {\r\n VueComponent = Vue.extend(vueOptions);\r\n }\r\n return [VueComponent, vueOptions]\r\n}\r\n\r\nfunction initSlots (vm, vueSlots) {\r\n if (Array.isArray(vueSlots) && vueSlots.length) {\r\n const $slots = Object.create(null);\r\n vueSlots.forEach(slotName => {\r\n $slots[slotName] = true;\r\n });\r\n vm.$scopedSlots = vm.$slots = $slots;\r\n }\r\n}\r\n\r\nfunction initVueIds (vueIds, mpInstance) {\r\n vueIds = (vueIds || '').split(',');\r\n const len = vueIds.length;\r\n\r\n if (len === 1) {\r\n mpInstance._$vueId = vueIds[0];\r\n } else if (len === 2) {\r\n mpInstance._$vueId = vueIds[0];\r\n mpInstance._$vuePid = vueIds[1];\r\n }\r\n}\r\n\r\nfunction initData (vueOptions, context) {\r\n let data = vueOptions.data || {};\r\n const methods = vueOptions.methods || {};\r\n\r\n if (typeof data === 'function') {\r\n try {\r\n data = data.call(context); // 支持 Vue.prototype 上挂的数据\r\n } catch (e) {\r\n if (process.env.VUE_APP_DEBUG) {\r\n console.warn('根据 Vue 的 data 函数初始化小程序 data 失败,请尽量确保 data 函数中不访问 vm 对象,否则可能影响首次数据渲染速度。', data);\r\n }\r\n }\r\n } else {\r\n try {\r\n // 对 data 格式化\r\n data = JSON.parse(JSON.stringify(data));\r\n } catch (e) {}\r\n }\r\n\r\n if (!isPlainObject(data)) {\r\n data = {};\r\n }\r\n\r\n Object.keys(methods).forEach(methodName => {\r\n if (context.__lifecycle_hooks__.indexOf(methodName) === -1 && !hasOwn(data, methodName)) {\r\n data[methodName] = methods[methodName];\r\n }\r\n });\r\n\r\n return data\r\n}\r\n\r\nconst PROP_TYPES = [String, Number, Boolean, Object, Array, null];\r\n\r\nfunction createObserver (name) {\r\n return function observer (newVal, oldVal) {\r\n if (this.$vm) {\r\n this.$vm[name] = newVal; // 为了触发其他非 render watcher\r\n }\r\n }\r\n}\r\n\r\nfunction initBehaviors (vueOptions, initBehavior) {\r\n const vueBehaviors = vueOptions['behaviors'];\r\n const vueExtends = vueOptions['extends'];\r\n const vueMixins = vueOptions['mixins'];\r\n\r\n let vueProps = vueOptions['props'];\r\n\r\n if (!vueProps) {\r\n vueOptions['props'] = vueProps = [];\r\n }\r\n\r\n const behaviors = [];\r\n if (Array.isArray(vueBehaviors)) {\r\n vueBehaviors.forEach(behavior => {\r\n behaviors.push(behavior.replace('uni://', `${\"wx\"}://`));\r\n if (behavior === 'uni://form-field') {\r\n if (Array.isArray(vueProps)) {\r\n vueProps.push('name');\r\n vueProps.push('value');\r\n } else {\r\n vueProps['name'] = {\r\n type: String,\r\n default: ''\r\n };\r\n vueProps['value'] = {\r\n type: [String, Number, Boolean, Array, Object, Date],\r\n default: ''\r\n };\r\n }\r\n }\r\n });\r\n }\r\n if (isPlainObject(vueExtends) && vueExtends.props) {\r\n behaviors.push(\r\n initBehavior({\r\n properties: initProperties(vueExtends.props, true)\r\n })\r\n );\r\n }\r\n if (Array.isArray(vueMixins)) {\r\n vueMixins.forEach(vueMixin => {\r\n if (isPlainObject(vueMixin) && vueMixin.props) {\r\n behaviors.push(\r\n initBehavior({\r\n properties: initProperties(vueMixin.props, true)\r\n })\r\n );\r\n }\r\n });\r\n }\r\n return behaviors\r\n}\r\n\r\nfunction parsePropType (key, type, defaultValue, file) {\r\n // [String]=>String\r\n if (Array.isArray(type) && type.length === 1) {\r\n return type[0]\r\n }\r\n return type\r\n}\r\n\r\nfunction initProperties (props, isBehavior = false, file = '') {\r\n const properties = {};\r\n if (!isBehavior) {\r\n properties.vueId = {\r\n type: String,\r\n value: ''\r\n };\r\n properties.vueSlots = { // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots\r\n type: null,\r\n value: [],\r\n observer: function (newVal, oldVal) {\r\n const $slots = Object.create(null);\r\n newVal.forEach(slotName => {\r\n $slots[slotName] = true;\r\n });\r\n this.setData({\r\n $slots\r\n });\r\n }\r\n };\r\n }\r\n if (Array.isArray(props)) { // ['title']\r\n props.forEach(key => {\r\n properties[key] = {\r\n type: null,\r\n observer: createObserver(key)\r\n };\r\n });\r\n } else if (isPlainObject(props)) { // {title:{type:String,default:''},content:String}\r\n Object.keys(props).forEach(key => {\r\n const opts = props[key];\r\n if (isPlainObject(opts)) { // title:{type:String,default:''}\r\n let value = opts['default'];\r\n if (isFn(value)) {\r\n value = value();\r\n }\r\n\r\n opts.type = parsePropType(key, opts.type);\r\n\r\n properties[key] = {\r\n type: PROP_TYPES.indexOf(opts.type) !== -1 ? opts.type : null,\r\n value,\r\n observer: createObserver(key)\r\n };\r\n } else { // content:String\r\n const type = parsePropType(key, opts);\r\n properties[key] = {\r\n type: PROP_TYPES.indexOf(type) !== -1 ? type : null,\r\n observer: createObserver(key)\r\n };\r\n }\r\n });\r\n }\r\n return properties\r\n}\r\n\r\nfunction wrapper$1 (event) {\r\n // TODO 又得兼容 mpvue 的 mp 对象\r\n try {\r\n event.mp = JSON.parse(JSON.stringify(event));\r\n } catch (e) {}\r\n\r\n event.stopPropagation = noop;\r\n event.preventDefault = noop;\r\n\r\n event.target = event.target || {};\r\n\r\n if (!hasOwn(event, 'detail')) {\r\n event.detail = {};\r\n }\r\n\r\n if (isPlainObject(event.detail)) {\r\n event.target = Object.assign({}, event.target, event.detail);\r\n }\r\n\r\n return event\r\n}\r\n\r\nfunction getExtraValue (vm, dataPathsArray) {\r\n let context = vm;\r\n dataPathsArray.forEach(dataPathArray => {\r\n const dataPath = dataPathArray[0];\r\n const value = dataPathArray[2];\r\n if (dataPath || typeof value !== 'undefined') { // ['','',index,'disable']\r\n const propPath = dataPathArray[1];\r\n const valuePath = dataPathArray[3];\r\n\r\n const vFor = dataPath ? vm.__get_value(dataPath, context) : context;\r\n\r\n if (Number.isInteger(vFor)) {\r\n context = value;\r\n } else if (!propPath) {\r\n context = vFor[value];\r\n } else {\r\n if (Array.isArray(vFor)) {\r\n context = vFor.find(vForItem => {\r\n return vm.__get_value(propPath, vForItem) === value\r\n });\r\n } else if (isPlainObject(vFor)) {\r\n context = Object.keys(vFor).find(vForKey => {\r\n return vm.__get_value(propPath, vFor[vForKey]) === value\r\n });\r\n } else {\r\n console.error('v-for 暂不支持循环数据:', vFor);\r\n }\r\n }\r\n\r\n if (valuePath) {\r\n context = vm.__get_value(valuePath, context);\r\n }\r\n }\r\n });\r\n return context\r\n}\r\n\r\nfunction processEventExtra (vm, extra, event) {\r\n const extraObj = {};\r\n\r\n if (Array.isArray(extra) && extra.length) {\r\n /**\r\n *[\r\n * ['data.items', 'data.id', item.data.id],\r\n * ['metas', 'id', meta.id]\r\n *],\r\n *[\r\n * ['data.items', 'data.id', item.data.id],\r\n * ['metas', 'id', meta.id]\r\n *],\r\n *'test'\r\n */\r\n extra.forEach((dataPath, index) => {\r\n if (typeof dataPath === 'string') {\r\n if (!dataPath) { // model,prop.sync\r\n extraObj['$' + index] = vm;\r\n } else {\r\n if (dataPath === '$event') { // $event\r\n extraObj['$' + index] = event;\r\n } else if (dataPath.indexOf('$event.') === 0) { // $event.target.value\r\n extraObj['$' + index] = vm.__get_value(dataPath.replace('$event.', ''), event);\r\n } else {\r\n extraObj['$' + index] = vm.__get_value(dataPath);\r\n }\r\n }\r\n } else {\r\n extraObj['$' + index] = getExtraValue(vm, dataPath);\r\n }\r\n });\r\n }\r\n\r\n return extraObj\r\n}\r\n\r\nfunction getObjByArray (arr) {\r\n const obj = {};\r\n for (let i = 1; i < arr.length; i++) {\r\n const element = arr[i];\r\n obj[element[0]] = element[1];\r\n }\r\n return obj\r\n}\r\n\r\nfunction processEventArgs (vm, event, args = [], extra = [], isCustom, methodName) {\r\n let isCustomMPEvent = false; // wxcomponent 组件,传递原始 event 对象\r\n if (isCustom) { // 自定义事件\r\n isCustomMPEvent = event.currentTarget &&\r\n event.currentTarget.dataset &&\r\n event.currentTarget.dataset.comType === 'wx';\r\n if (!args.length) { // 无参数,直接传入 event 或 detail 数组\r\n if (isCustomMPEvent) {\r\n return [event]\r\n }\r\n return event.detail.__args__ || event.detail\r\n }\r\n }\r\n\r\n const extraObj = processEventExtra(vm, extra, event);\r\n\r\n const ret = [];\r\n args.forEach(arg => {\r\n if (arg === '$event') {\r\n if (methodName === '__set_model' && !isCustom) { // input v-model value\r\n ret.push(event.target.value);\r\n } else {\r\n if (isCustom && !isCustomMPEvent) {\r\n ret.push(event.detail.__args__[0]);\r\n } else { // wxcomponent 组件或内置组件\r\n ret.push(event);\r\n }\r\n }\r\n } else {\r\n if (Array.isArray(arg) && arg[0] === 'o') {\r\n ret.push(getObjByArray(arg));\r\n } else if (typeof arg === 'string' && hasOwn(extraObj, arg)) {\r\n ret.push(extraObj[arg]);\r\n } else {\r\n ret.push(arg);\r\n }\r\n }\r\n });\r\n\r\n return ret\r\n}\r\n\r\nconst ONCE = '~';\r\nconst CUSTOM = '^';\r\n\r\nfunction isMatchEventType (eventType, optType) {\r\n return (eventType === optType) ||\r\n (\r\n optType === 'regionchange' &&\r\n (\r\n eventType === 'begin' ||\r\n eventType === 'end'\r\n )\r\n )\r\n}\r\n\r\nfunction handleEvent (event) {\r\n event = wrapper$1(event);\r\n\r\n // [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]\r\n const dataset = (event.currentTarget || event.target).dataset;\r\n if (!dataset) {\r\n return console.warn(`事件信息不存在`)\r\n }\r\n const eventOpts = dataset.eventOpts || dataset['event-opts']; // 支付宝 web-view 组件 dataset 非驼峰\r\n if (!eventOpts) {\r\n return console.warn(`事件信息不存在`)\r\n }\r\n\r\n // [['handle',[1,2,a]],['handle1',[1,2,a]]]\r\n const eventType = event.type;\r\n\r\n const ret = [];\r\n\r\n eventOpts.forEach(eventOpt => {\r\n let type = eventOpt[0];\r\n const eventsArray = eventOpt[1];\r\n\r\n const isCustom = type.charAt(0) === CUSTOM;\r\n type = isCustom ? type.slice(1) : type;\r\n const isOnce = type.charAt(0) === ONCE;\r\n type = isOnce ? type.slice(1) : type;\r\n\r\n if (eventsArray && isMatchEventType(eventType, type)) {\r\n eventsArray.forEach(eventArray => {\r\n const methodName = eventArray[0];\r\n if (methodName) {\r\n let handlerCtx = this.$vm;\r\n if (\r\n handlerCtx.$options.generic &&\r\n handlerCtx.$parent &&\r\n handlerCtx.$parent.$parent\r\n ) { // mp-weixin,mp-toutiao 抽象节点模拟 scoped slots\r\n handlerCtx = handlerCtx.$parent.$parent;\r\n }\r\n if (methodName === '$emit') {\r\n handlerCtx.$emit.apply(handlerCtx,\r\n processEventArgs(\r\n this.$vm,\r\n event,\r\n eventArray[1],\r\n eventArray[2],\r\n isCustom,\r\n methodName\r\n ));\r\n return\r\n }\r\n const handler = handlerCtx[methodName];\r\n if (!isFn(handler)) {\r\n throw new Error(` _vm.${methodName} is not a function`)\r\n }\r\n if (isOnce) {\r\n if (handler.once) {\r\n return\r\n }\r\n handler.once = true;\r\n }\r\n ret.push(handler.apply(handlerCtx, processEventArgs(\r\n this.$vm,\r\n event,\r\n eventArray[1],\r\n eventArray[2],\r\n isCustom,\r\n methodName\r\n )));\r\n }\r\n });\r\n }\r\n });\r\n\r\n if (\r\n eventType === 'input' &&\r\n ret.length === 1 &&\r\n typeof ret[0] !== 'undefined'\r\n ) {\r\n return ret[0]\r\n }\r\n}\r\n\r\nconst hooks = [\r\n 'onShow',\r\n 'onHide',\r\n 'onError',\r\n 'onPageNotFound'\r\n];\r\n\r\nfunction parseBaseApp (vm, {\r\n mocks,\r\n initRefs\r\n}) {\r\n if (vm.$options.store) {\r\n Vue.prototype.$store = vm.$options.store;\r\n }\r\n\r\n Vue.prototype.mpHost = \"mp-weixin\";\r\n\r\n Vue.mixin({\r\n beforeCreate () {\r\n if (!this.$options.mpType) {\r\n return\r\n }\r\n\r\n this.mpType = this.$options.mpType;\r\n\r\n this.$mp = {\r\n data: {},\r\n [this.mpType]: this.$options.mpInstance\r\n };\r\n\r\n this.$scope = this.$options.mpInstance;\r\n\r\n delete this.$options.mpType;\r\n delete this.$options.mpInstance;\r\n\r\n if (this.mpType !== 'app') {\r\n initRefs(this);\r\n initMocks(this, mocks);\r\n }\r\n }\r\n });\r\n\r\n const appOptions = {\r\n onLaunch (args) {\r\n if (this.$vm) { // 已经初始化过了,主要是为了百度,百度 onShow 在 onLaunch 之前\r\n return\r\n }\r\n {\r\n if (!wx.canIUse('nextTick')) { // 事实 上2.2.3 即可,简单使用 2.3.0 的 nextTick 判断\r\n console.error('当前微信基础库版本过低,请将 微信开发者工具-详情-项目设置-调试基础库版本 更换为`2.3.0`以上');\r\n }\r\n }\r\n\r\n this.$vm = vm;\r\n\r\n this.$vm.$mp = {\r\n app: this\r\n };\r\n\r\n this.$vm.$scope = this;\r\n // vm 上也挂载 globalData\r\n this.$vm.globalData = this.globalData;\r\n\r\n this.$vm._isMounted = true;\r\n this.$vm.__call_hook('mounted', args);\r\n\r\n this.$vm.__call_hook('onLaunch', args);\r\n }\r\n };\r\n\r\n // 兼容旧版本 globalData\r\n appOptions.globalData = vm.$options.globalData || {};\r\n // 将 methods 中的方法挂在 getApp() 中\r\n const methods = vm.$options.methods;\r\n if (methods) {\r\n Object.keys(methods).forEach(name => {\r\n appOptions[name] = methods[name];\r\n });\r\n }\r\n\r\n initHooks(appOptions, hooks);\r\n\r\n return appOptions\r\n}\r\n\r\nconst mocks = ['__route__', '__wxExparserNodeId__', '__wxWebviewId__'];\r\n\r\nfunction findVmByVueId (vm, vuePid) {\r\n const $children = vm.$children;\r\n // 优先查找直属(反向查找:https://github.com/dcloudio/uni-app/issues/1200)\r\n for (let i = $children.length - 1; i >= 0; i--) {\r\n const childVm = $children[i];\r\n if (childVm.$scope._$vueId === vuePid) {\r\n return childVm\r\n }\r\n }\r\n // 反向递归查找\r\n let parentVm;\r\n for (let i = $children.length - 1; i >= 0; i--) {\r\n parentVm = findVmByVueId($children[i], vuePid);\r\n if (parentVm) {\r\n return parentVm\r\n }\r\n }\r\n}\r\n\r\nfunction initBehavior (options) {\r\n return Behavior(options)\r\n}\r\n\r\nfunction isPage () {\r\n return !!this.route\r\n}\r\n\r\nfunction initRelation (detail) {\r\n this.triggerEvent('__l', detail);\r\n}\r\n\r\nfunction initRefs (vm) {\r\n const mpInstance = vm.$scope;\r\n Object.defineProperty(vm, '$refs', {\r\n get () {\r\n const $refs = {};\r\n const components = mpInstance.selectAllComponents('.vue-ref');\r\n components.forEach(component => {\r\n const ref = component.dataset.ref;\r\n $refs[ref] = component.$vm || component;\r\n });\r\n const forComponents = mpInstance.selectAllComponents('.vue-ref-in-for');\r\n forComponents.forEach(component => {\r\n const ref = component.dataset.ref;\r\n if (!$refs[ref]) {\r\n $refs[ref] = [];\r\n }\r\n $refs[ref].push(component.$vm || component);\r\n });\r\n return $refs\r\n }\r\n });\r\n}\r\n\r\nfunction handleLink (event) {\r\n const {\r\n vuePid,\r\n vueOptions\r\n } = event.detail || event.value; // detail 是微信,value 是百度(dipatch)\r\n\r\n let parentVm;\r\n\r\n if (vuePid) {\r\n parentVm = findVmByVueId(this.$vm, vuePid);\r\n }\r\n\r\n if (!parentVm) {\r\n parentVm = this.$vm;\r\n }\r\n\r\n vueOptions.parent = parentVm;\r\n}\r\n\r\nfunction parseApp (vm) {\r\n return parseBaseApp(vm, {\r\n mocks,\r\n initRefs\r\n })\r\n}\r\n\r\nfunction createApp (vm) {\r\n App(parseApp(vm));\r\n return vm\r\n}\r\n\r\nfunction parseBaseComponent (vueComponentOptions, {\r\n isPage,\r\n initRelation\r\n} = {}) {\r\n let [VueComponent, vueOptions] = initVueComponent(Vue, vueComponentOptions);\r\n\r\n const options = {\r\n multipleSlots: true,\r\n addGlobalClass: true\r\n };\r\n\r\n {\r\n // 微信 multipleSlots 部分情况有 bug,导致内容顺序错乱 如 u-list,提供覆盖选项\r\n if (vueOptions['mp-weixin'] && vueOptions['mp-weixin']['options']) {\r\n Object.assign(options, vueOptions['mp-weixin']['options']);\r\n }\r\n }\r\n\r\n const componentOptions = {\r\n options,\r\n data: initData(vueOptions, Vue.prototype),\r\n behaviors: initBehaviors(vueOptions, initBehavior),\r\n properties: initProperties(vueOptions.props, false, vueOptions.__file),\r\n lifetimes: {\r\n attached () {\r\n const properties = this.properties;\r\n\r\n const options = {\r\n mpType: isPage.call(this) ? 'page' : 'component',\r\n mpInstance: this,\r\n propsData: properties\r\n };\r\n\r\n initVueIds(properties.vueId, this);\r\n\r\n // 处理父子关系\r\n initRelation.call(this, {\r\n vuePid: this._$vuePid,\r\n vueOptions: options\r\n });\r\n\r\n // 初始化 vue 实例\r\n this.$vm = new VueComponent(options);\r\n\r\n // 处理$slots,$scopedSlots(暂不支持动态变化$slots)\r\n initSlots(this.$vm, properties.vueSlots);\r\n\r\n // 触发首次 setData\r\n this.$vm.$mount();\r\n },\r\n ready () {\r\n // 当组件 props 默认值为 true,初始化时传入 false 会导致 created,ready 触发, 但 attached 不触发\r\n // https://developers.weixin.qq.com/community/develop/doc/00066ae2844cc0f8eb883e2a557800\r\n if (this.$vm) {\r\n this.$vm._isMounted = true;\r\n this.$vm.__call_hook('mounted');\r\n this.$vm.__call_hook('onReady');\r\n }\r\n },\r\n detached () {\r\n this.$vm && this.$vm.$destroy();\r\n }\r\n },\r\n pageLifetimes: {\r\n show (args) {\r\n this.$vm && this.$vm.__call_hook('onPageShow', args);\r\n },\r\n hide () {\r\n this.$vm && this.$vm.__call_hook('onPageHide');\r\n },\r\n resize (size) {\r\n this.$vm && this.$vm.__call_hook('onPageResize', size);\r\n }\r\n },\r\n methods: {\r\n __l: handleLink,\r\n __e: handleEvent\r\n }\r\n };\r\n\r\n if (Array.isArray(vueOptions.wxsCallMethods)) {\r\n vueOptions.wxsCallMethods.forEach(callMethod => {\r\n componentOptions.methods[callMethod] = function (args) {\r\n return this.$vm[callMethod](args)\r\n };\r\n });\r\n }\r\n\r\n if (isPage) {\r\n return componentOptions\r\n }\r\n return [componentOptions, VueComponent]\r\n}\r\n\r\nfunction parseComponent (vueComponentOptions) {\r\n return parseBaseComponent(vueComponentOptions, {\r\n isPage,\r\n initRelation\r\n })\r\n}\r\n\r\nconst hooks$1 = [\r\n 'onShow',\r\n 'onHide',\r\n 'onUnload'\r\n];\r\n\r\nhooks$1.push(...PAGE_EVENT_HOOKS);\r\n\r\nfunction parseBasePage (vuePageOptions, {\r\n isPage,\r\n initRelation\r\n}) {\r\n const pageOptions = parseComponent(vuePageOptions);\r\n\r\n initHooks(pageOptions.methods, hooks$1, vuePageOptions);\r\n\r\n pageOptions.methods.onLoad = function (args) {\r\n this.$vm.$mp.query = args; // 兼容 mpvue\r\n this.$vm.__call_hook('onLoad', args);\r\n };\r\n\r\n return pageOptions\r\n}\r\n\r\nfunction parsePage (vuePageOptions) {\r\n return parseBasePage(vuePageOptions, {\r\n isPage,\r\n initRelation\r\n })\r\n}\r\n\r\nfunction createPage (vuePageOptions) {\r\n {\r\n return Component(parsePage(vuePageOptions))\r\n }\r\n}\r\n\r\nfunction createComponent (vueOptions) {\r\n {\r\n return Component(parseComponent(vueOptions))\r\n }\r\n}\r\n\r\ntodos.forEach(todoApi => {\r\n protocols[todoApi] = false;\r\n});\r\n\r\ncanIUses.forEach(canIUseApi => {\r\n const apiName = protocols[canIUseApi] && protocols[canIUseApi].name ? protocols[canIUseApi].name\r\n : canIUseApi;\r\n if (!wx.canIUse(apiName)) {\r\n protocols[canIUseApi] = false;\r\n }\r\n});\r\n\r\nlet uni = {};\r\n\r\nif (typeof Proxy !== 'undefined' && \"mp-weixin\" !== 'app-plus') {\r\n uni = new Proxy({}, {\r\n get (target, name) {\r\n if (target[name]) {\r\n return target[name]\r\n }\r\n if (baseApi[name]) {\r\n return baseApi[name]\r\n }\r\n if (api[name]) {\r\n return promisify(name, api[name])\r\n }\r\n {\r\n if (extraApi[name]) {\r\n return promisify(name, extraApi[name])\r\n }\r\n if (todoApis[name]) {\r\n return promisify(name, todoApis[name])\r\n }\r\n }\r\n if (eventApi[name]) {\r\n return eventApi[name]\r\n }\r\n if (!hasOwn(wx, name) && !hasOwn(protocols, name)) {\r\n return\r\n }\r\n return promisify(name, wrapper(name, wx[name]))\r\n },\r\n set (target, name, value) {\r\n target[name] = value;\r\n return true\r\n }\r\n });\r\n} else {\r\n Object.keys(baseApi).forEach(name => {\r\n uni[name] = baseApi[name];\r\n });\r\n\r\n {\r\n Object.keys(todoApis).forEach(name => {\r\n uni[name] = promisify(name, todoApis[name]);\r\n });\r\n Object.keys(extraApi).forEach(name => {\r\n uni[name] = promisify(name, todoApis[name]);\r\n });\r\n }\r\n\r\n Object.keys(eventApi).forEach(name => {\r\n uni[name] = eventApi[name];\r\n });\r\n\r\n Object.keys(api).forEach(name => {\r\n uni[name] = promisify(name, api[name]);\r\n });\r\n\r\n Object.keys(wx).forEach(name => {\r\n if (hasOwn(wx, name) || hasOwn(protocols, name)) {\r\n uni[name] = promisify(name, wrapper(name, wx[name]));\r\n }\r\n });\r\n}\r\n\r\nwx.createApp = createApp;\r\nwx.createPage = createPage;\r\nwx.createComponent = createComponent;\r\n\r\nvar uni$1 = uni;\r\n\r\nexport default uni$1;\r\nexport { createApp, createComponent, createPage };\r\n","/*!\n * Vue.js v2.6.11\n * (c) 2014-2019 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n {\n if(vm.$scope && vm.$scope.is){\n return vm.$scope.is\n }\n }\n if (vm.$root === vm) {\n return ''\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n // fixed by xxxxxx (nvue vuex)\n /* eslint-disable no-undef */\n if(typeof SharedObject !== 'undefined'){\n this.id = SharedObject.uid++;\n } else {\n this.id = uid++;\n }\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.SharedObject.target) {\n Dep.SharedObject.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\n// fixed by xxxxxx (nvue shared vuex)\n/* eslint-disable no-undef */\nDep.SharedObject = typeof SharedObject !== 'undefined' ? SharedObject : {};\nDep.SharedObject.target = null;\nDep.SharedObject.targetStack = [];\n\nfunction pushTarget (target) {\n Dep.SharedObject.targetStack.push(target);\n Dep.SharedObject.target = target;\n}\n\nfunction popTarget () {\n Dep.SharedObject.targetStack.pop();\n Dep.SharedObject.target = Dep.SharedObject.targetStack[Dep.SharedObject.targetStack.length - 1];\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n {// fixed by xxxxxx 微信小程序使用 plugins 之后,数组方法被直接挂载到了数组对象上,需要执行 copyAugment 逻辑\n if(value.push !== value.__proto__.push){\n copyAugment(value, arrayMethods, arrayKeys);\n } else {\n protoAugment(value, arrayMethods);\n }\n }\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.SharedObject.target) { // fixed by xxxxxx\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n if (!valid) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n var expectedValue = styleValue(value, expectedType);\n var receivedValue = styleValue(value, receivedType);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n !isBoolean(expectedType, receivedType)) {\n message += \" with value \" + expectedValue;\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + receivedValue + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nfunction isExplicable (value) {\n var explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\n/* */\n\n// fixed by xxxxxx (mp properties)\r\nfunction extractPropertiesFromVNodeData(data, Ctor, res, context) {\r\n var propOptions = Ctor.options.mpOptions && Ctor.options.mpOptions.properties;\r\n if (isUndef(propOptions)) {\r\n return res\r\n }\n var externalClasses = Ctor.options.mpOptions.externalClasses || [];\r\n var attrs = data.attrs;\n var props = data.props;\r\n if (isDef(attrs) || isDef(props)) {\r\n for (var key in propOptions) {\r\n var altKey = hyphenate(key);\n var result = checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n // externalClass\n if (\n result &&\n res[key] &&\n externalClasses.indexOf(altKey) !== -1 &&\n context[camelize(res[key])]\n ) {\n // 赋值 externalClass 真正的值(模板里 externalClass 的值可能是字符串)\n res[key] = context[camelize(res[key])];\n }\r\n }\r\n }\r\n return res\r\n}\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag,\n context// fixed by xxxxxx\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n // fixed by xxxxxx\n return extractPropertiesFromVNodeData(data, Ctor, {}, context)\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n // fixed by xxxxxx\n return extractPropertiesFromVNodeData(data, Ctor, res, context)\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g.