@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CompilerConfiguration">
|
||||
<annotationProcessing>
|
||||
<profile name="Maven default annotation processors profile" enabled="true">
|
||||
<sourceOutputDir name="target/generated-sources/annotations" />
|
||||
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
|
||||
<outputRelativeToContentRoot value="true" />
|
||||
<module name="hellossm" />
|
||||
</profile>
|
||||
</annotationProcessing>
|
||||
<bytecodeTargetLevel target="12" />
|
||||
</component>
|
||||
</project>
|
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectDictionaryState">
|
||||
<dictionary name="user" />
|
||||
</component>
|
||||
</project>
|
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Encoding" native2AsciiForPropertiesFiles="true" defaultCharsetForPropertiesFiles="UTF-8">
|
||||
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
|
||||
<file url="PROJECT" charset="UTF-8" />
|
||||
</component>
|
||||
</project>
|
@ -0,0 +1,36 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
<inspection_tool class="JavaDoc" enabled="true" level="WARNING" enabled_by_default="true">
|
||||
<option name="TOP_LEVEL_CLASS_OPTIONS">
|
||||
<value>
|
||||
<option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
|
||||
<option name="REQUIRED_TAGS" value="" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="INNER_CLASS_OPTIONS">
|
||||
<value>
|
||||
<option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
|
||||
<option name="REQUIRED_TAGS" value="" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="METHOD_OPTIONS">
|
||||
<value>
|
||||
<option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
|
||||
<option name="REQUIRED_TAGS" value="@return@param@throws or @exception" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="FIELD_OPTIONS">
|
||||
<value>
|
||||
<option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
|
||||
<option name="REQUIRED_TAGS" value="" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="IGNORE_DEPRECATED" value="false" />
|
||||
<option name="IGNORE_JAVADOC_PERIOD" value="true" />
|
||||
<option name="IGNORE_DUPLICATED_THROWS" value="false" />
|
||||
<option name="IGNORE_POINT_TO_ITSELF" value="false" />
|
||||
<option name="myAdditionalJavadocTags" value="Author:,Date:" />
|
||||
</inspection_tool>
|
||||
</profile>
|
||||
</component>
|
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="JavaScriptLibraryMappings">
|
||||
<file url="file://$PROJECT_DIR$" libraries="{html5, respond}" />
|
||||
</component>
|
||||
</project>
|
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||
<component name="FrameworkDetectionExcludesConfiguration">
|
||||
<file type="web" url="file://$PROJECT_DIR$" />
|
||||
</component>
|
||||
<component name="MavenProjectsManager">
|
||||
<option name="originalFiles">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/pom.xml" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_12" project-jdk-name="12" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
</project>
|
@ -0,0 +1,124 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Palette2">
|
||||
<group name="Swing">
|
||||
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
|
||||
</item>
|
||||
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
|
||||
</item>
|
||||
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
|
||||
</item>
|
||||
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
|
||||
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
|
||||
</item>
|
||||
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
|
||||
<initial-values>
|
||||
<property name="text" value="Button" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||
<initial-values>
|
||||
<property name="text" value="RadioButton" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||
<initial-values>
|
||||
<property name="text" value="CheckBox" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
|
||||
<initial-values>
|
||||
<property name="text" value="Label" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||
<preferred-size width="150" height="-1" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||
<preferred-size width="150" height="-1" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||
<preferred-size width="150" height="-1" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||
<preferred-size width="200" height="200" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||
<preferred-size width="200" height="200" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
|
||||
</item>
|
||||
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
|
||||
<preferred-size width="-1" height="20" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
|
||||
</item>
|
||||
</group>
|
||||
</component>
|
||||
</project>
|
@ -0,0 +1,334 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ArtifactsWorkspaceSettings">
|
||||
<artifacts-to-build>
|
||||
<artifact name="hellossm:war exploded" />
|
||||
</artifacts-to-build>
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="8033210d-c341-4f39-a328-95fe94016f00" name="Default Changelist" comment="" />
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||
</component>
|
||||
<component name="FileTemplateManagerImpl">
|
||||
<option name="RECENT_TEMPLATES">
|
||||
<list>
|
||||
<option value="Class" />
|
||||
<option value="Interface" />
|
||||
<option value="HTML File" />
|
||||
<option value="Jsp File" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="LogFilters">
|
||||
<option name="FILTER_ERRORS" value="false" />
|
||||
<option name="FILTER_WARNINGS" value="false" />
|
||||
<option name="FILTER_INFO" value="true" />
|
||||
<option name="FILTER_DEBUG" value="true" />
|
||||
<option name="CUSTOM_FILTER" />
|
||||
</component>
|
||||
<component name="MavenImportPreferences">
|
||||
<option name="generalSettings">
|
||||
<MavenGeneralSettings>
|
||||
<option name="localRepository" value="D:\maven\apache-maven-3.6.3\repository" />
|
||||
<option name="mavenHome" value="D:/maven/apache-maven-3.6.3" />
|
||||
<option name="userSettingsFile" value="D:\maven\apache-maven-3.6.3\conf\settings.xml" />
|
||||
</MavenGeneralSettings>
|
||||
</option>
|
||||
<option name="importingSettings">
|
||||
<MavenImportingSettings>
|
||||
<option name="importAutomatically" value="true" />
|
||||
</MavenImportingSettings>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectId" id="1XayOqtVZsv2AagE870mVEbglRy" />
|
||||
<component name="ProjectViewState">
|
||||
<option name="hideEmptyMiddlePackages" value="true" />
|
||||
<option name="showExcludedFiles" value="true" />
|
||||
<option name="showLibraryContents" value="true" />
|
||||
</component>
|
||||
<component name="PropertiesComponent">
|
||||
<property name="DefaultHtmlFileTemplate" value="HTML File" />
|
||||
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
|
||||
<property name="WebServerToolWindowFactoryState" value="false" />
|
||||
<property name="aspect.path.notification.shown" value="true" />
|
||||
<property name="js.last.introduce.type" value="VAR" />
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$/src/main/webapp/js" />
|
||||
<property name="settings.editor.selected.configurable" value="fileTemplates" />
|
||||
</component>
|
||||
<component name="RecentsManager">
|
||||
<key name="CopyFile.RECENT_KEYS">
|
||||
<recent name="D:\Development tools\IDEA\IntelliJ IDEA 2019.2.4\hellossm\src\main\webapp\js" />
|
||||
<recent name="D:\Development tools\IDEA\IntelliJ IDEA 2019.2.4\hellossm\src\main\webapp\css" />
|
||||
<recent name="D:\Development tools\IDEA\IntelliJ IDEA 2019.2.4\hellossm\src\main\webapp" />
|
||||
<recent name="D:\Development tools\IDEA\IntelliJ IDEA 2019.2.4\hellossm\src\main\webapp\WEB-INF\jsp" />
|
||||
<recent name="D:\Development tools\IDEA\IntelliJ IDEA 2019.2.4\hellossm\src\main\java\cn\ppdxzz\utils" />
|
||||
</key>
|
||||
</component>
|
||||
<component name="RunManager" selected="Tomcat Server.Tomcat 9.0.24">
|
||||
<configuration name="MD5Util" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
|
||||
<option name="MAIN_CLASS_NAME" value="cn.ppdxzz.utils.MD5Util" />
|
||||
<module name="hellossm" />
|
||||
<extension name="coverage">
|
||||
<pattern>
|
||||
<option name="PATTERN" value="cn.ppdxzz.utils.*" />
|
||||
<option name="ENABLED" value="true" />
|
||||
</pattern>
|
||||
</extension>
|
||||
<method v="2">
|
||||
<option name="Make" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
<configuration name="Tomcat 9.0.24" type="#com.intellij.j2ee.web.tomcat.TomcatRunConfigurationFactory" factoryName="Local" APPLICATION_SERVER_NAME="Tomcat 9.0.24" ALTERNATIVE_JRE_ENABLED="false" nameIsGenerated="true">
|
||||
<option name="BROWSER_ID" value="98ca6316-2f89-46d9-a9e5-fa9e2b0625b3" />
|
||||
<option name="UPDATE_ON_FRAME_DEACTIVATION" value="true" />
|
||||
<option name="UPDATE_CLASSES_ON_FRAME_DEACTIVATION" value="true" />
|
||||
<deployment>
|
||||
<artifact name="hellossm:war exploded">
|
||||
<settings>
|
||||
<option name="CONTEXT_PATH" value="/hellossm" />
|
||||
</settings>
|
||||
</artifact>
|
||||
</deployment>
|
||||
<server-settings>
|
||||
<option name="BASE_DIRECTORY_NAME" value="Unnamed_hellossm_2" />
|
||||
</server-settings>
|
||||
<predefined_log_file enabled="true" id="Tomcat" />
|
||||
<predefined_log_file enabled="true" id="Tomcat Catalina" />
|
||||
<predefined_log_file id="Tomcat Manager" />
|
||||
<predefined_log_file id="Tomcat Host Manager" />
|
||||
<predefined_log_file id="Tomcat Localhost Access" />
|
||||
<RunnerSettings RunnerId="Debug">
|
||||
<option name="DEBUG_PORT" value="52166" />
|
||||
</RunnerSettings>
|
||||
<ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Cover">
|
||||
<option name="USE_ENV_VARIABLES" value="true" />
|
||||
<STARTUP>
|
||||
<option name="USE_DEFAULT" value="true" />
|
||||
<option name="SCRIPT" value="" />
|
||||
<option name="VM_PARAMETERS" value="" />
|
||||
<option name="PROGRAM_PARAMETERS" value="" />
|
||||
</STARTUP>
|
||||
<SHUTDOWN>
|
||||
<option name="USE_DEFAULT" value="true" />
|
||||
<option name="SCRIPT" value="" />
|
||||
<option name="VM_PARAMETERS" value="" />
|
||||
<option name="PROGRAM_PARAMETERS" value="" />
|
||||
</SHUTDOWN>
|
||||
</ConfigurationWrapper>
|
||||
<ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Debug">
|
||||
<option name="USE_ENV_VARIABLES" value="true" />
|
||||
<STARTUP>
|
||||
<option name="USE_DEFAULT" value="true" />
|
||||
<option name="SCRIPT" value="" />
|
||||
<option name="VM_PARAMETERS" value="" />
|
||||
<option name="PROGRAM_PARAMETERS" value="" />
|
||||
</STARTUP>
|
||||
<SHUTDOWN>
|
||||
<option name="USE_DEFAULT" value="true" />
|
||||
<option name="SCRIPT" value="" />
|
||||
<option name="VM_PARAMETERS" value="" />
|
||||
<option name="PROGRAM_PARAMETERS" value="" />
|
||||
</SHUTDOWN>
|
||||
</ConfigurationWrapper>
|
||||
<ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Run">
|
||||
<option name="USE_ENV_VARIABLES" value="true" />
|
||||
<STARTUP>
|
||||
<option name="USE_DEFAULT" value="true" />
|
||||
<option name="SCRIPT" value="" />
|
||||
<option name="VM_PARAMETERS" value="" />
|
||||
<option name="PROGRAM_PARAMETERS" value="" />
|
||||
</STARTUP>
|
||||
<SHUTDOWN>
|
||||
<option name="USE_DEFAULT" value="true" />
|
||||
<option name="SCRIPT" value="" />
|
||||
<option name="VM_PARAMETERS" value="" />
|
||||
<option name="PROGRAM_PARAMETERS" value="" />
|
||||
</SHUTDOWN>
|
||||
</ConfigurationWrapper>
|
||||
<method v="2">
|
||||
<option name="Make" enabled="true" />
|
||||
<option name="BuildArtifacts" enabled="true">
|
||||
<artifact name="hellossm:war exploded" />
|
||||
</option>
|
||||
</method>
|
||||
</configuration>
|
||||
<list>
|
||||
<item itemvalue="Application.MD5Util" />
|
||||
<item itemvalue="Tomcat Server.Tomcat 9.0.24" />
|
||||
</list>
|
||||
<recent_temporary>
|
||||
<list>
|
||||
<item itemvalue="Application.MD5Util" />
|
||||
</list>
|
||||
</recent_temporary>
|
||||
</component>
|
||||
<component name="ServiceViewManager">
|
||||
<option name="viewStates">
|
||||
<list>
|
||||
<serviceView>
|
||||
<option name="contentProportion" value="0.18209876" />
|
||||
<treeState>
|
||||
<expand>
|
||||
<path>
|
||||
<item name="services root" type="e789fda9:ObjectUtils$Sentinel" />
|
||||
<item name="Tomcat Server" type="7427dc5b:ServiceModel$ServiceGroupNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="services root" type="e789fda9:ObjectUtils$Sentinel" />
|
||||
<item name="Tomcat Server" type="7427dc5b:ServiceModel$ServiceGroupNode" />
|
||||
<item name="Running" type="7427dc5b:ServiceModel$ServiceGroupNode" />
|
||||
</path>
|
||||
</expand>
|
||||
<select />
|
||||
</treeState>
|
||||
</serviceView>
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="SvnConfiguration">
|
||||
<configuration />
|
||||
</component>
|
||||
<component name="TaskManager">
|
||||
<task active="true" id="Default" summary="Default task">
|
||||
<changelist id="8033210d-c341-4f39-a328-95fe94016f00" name="Default Changelist" comment="" />
|
||||
<created>1581298470446</created>
|
||||
<option name="number" value="Default" />
|
||||
<option name="presentableId" value="Default" />
|
||||
<updated>1581298470446</updated>
|
||||
<workItem from="1581298472665" duration="5140000" />
|
||||
<workItem from="1581303639901" duration="10827000" />
|
||||
<workItem from="1581317062875" duration="9815000" />
|
||||
<workItem from="1581327183464" duration="8314000" />
|
||||
<workItem from="1581336970995" duration="6221000" />
|
||||
<workItem from="1581385372747" duration="13586000" />
|
||||
<workItem from="1581399313516" duration="24835000" />
|
||||
<workItem from="1581425257186" duration="1352000" />
|
||||
<workItem from="1581427756376" duration="6987000" />
|
||||
<workItem from="1581473460926" duration="20626000" />
|
||||
<workItem from="1581508659638" duration="9245000" />
|
||||
<workItem from="1581573066874" duration="317000" />
|
||||
<workItem from="1581573464530" duration="23813000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TypeScriptGeneratedFilesManager">
|
||||
<option name="version" value="1" />
|
||||
</component>
|
||||
<component name="WindowStateProjectService">
|
||||
<state x="275" y="34" key="#HTTP_Proxy" timestamp="1581304199078">
|
||||
<screen x="0" y="0" width="1366" height="728" />
|
||||
</state>
|
||||
<state x="275" y="34" key="#HTTP_Proxy/0.0.1366.728@0.0.1366.728" timestamp="1581304199078" />
|
||||
<state x="137" y="23" key="#com.intellij.execution.impl.EditConfigurationsDialog" timestamp="1581485477637">
|
||||
<screen x="0" y="0" width="1366" height="728" />
|
||||
</state>
|
||||
<state x="137" y="23" key="#com.intellij.execution.impl.EditConfigurationsDialog/0.0.1366.728@0.0.1366.728" timestamp="1581485477637" />
|
||||
<state x="488" y="84" key="#com.intellij.ide.util.MemberChooser" timestamp="1581414623788">
|
||||
<screen x="0" y="0" width="1366" height="728" />
|
||||
</state>
|
||||
<state x="488" y="84" key="#com.intellij.ide.util.MemberChooser/0.0.1366.728@0.0.1366.728" timestamp="1581414623788" />
|
||||
<state width="1059" height="422" key="GridCell.Tab.0.bottom" timestamp="1581594412682">
|
||||
<screen x="0" y="0" width="1366" height="728" />
|
||||
</state>
|
||||
<state width="1059" height="422" key="GridCell.Tab.0.bottom/0.0.1366.728@0.0.1366.728" timestamp="1581594412682" />
|
||||
<state width="1059" height="422" key="GridCell.Tab.0.center" timestamp="1581594412682">
|
||||
<screen x="0" y="0" width="1366" height="728" />
|
||||
</state>
|
||||
<state width="1059" height="422" key="GridCell.Tab.0.center/0.0.1366.728@0.0.1366.728" timestamp="1581594412682" />
|
||||
<state width="1059" height="422" key="GridCell.Tab.0.left" timestamp="1581594412682">
|
||||
<screen x="0" y="0" width="1366" height="728" />
|
||||
</state>
|
||||
<state width="1059" height="422" key="GridCell.Tab.0.left/0.0.1366.728@0.0.1366.728" timestamp="1581594412682" />
|
||||
<state width="1059" height="422" key="GridCell.Tab.0.right" timestamp="1581594412682">
|
||||
<screen x="0" y="0" width="1366" height="728" />
|
||||
</state>
|
||||
<state width="1059" height="422" key="GridCell.Tab.0.right/0.0.1366.728@0.0.1366.728" timestamp="1581594412682" />
|
||||
<state width="1059" height="422" key="GridCell.Tab.1.bottom" timestamp="1581594414599">
|
||||
<screen x="0" y="0" width="1366" height="728" />
|
||||
</state>
|
||||
<state width="1059" height="422" key="GridCell.Tab.1.bottom/0.0.1366.728@0.0.1366.728" timestamp="1581594414599" />
|
||||
<state width="1059" height="422" key="GridCell.Tab.1.center" timestamp="1581594414599">
|
||||
<screen x="0" y="0" width="1366" height="728" />
|
||||
</state>
|
||||
<state width="1059" height="422" key="GridCell.Tab.1.center/0.0.1366.728@0.0.1366.728" timestamp="1581594414599" />
|
||||
<state width="1059" height="422" key="GridCell.Tab.1.left" timestamp="1581594414598">
|
||||
<screen x="0" y="0" width="1366" height="728" />
|
||||
</state>
|
||||
<state width="1059" height="422" key="GridCell.Tab.1.left/0.0.1366.728@0.0.1366.728" timestamp="1581594414598" />
|
||||
<state width="1059" height="422" key="GridCell.Tab.1.right" timestamp="1581594414599">
|
||||
<screen x="0" y="0" width="1366" height="728" />
|
||||
</state>
|
||||
<state width="1059" height="422" key="GridCell.Tab.1.right/0.0.1366.728@0.0.1366.728" timestamp="1581594414599" />
|
||||
<state width="1059" height="67" key="GridCell.Tab.2.bottom" timestamp="1581594189691">
|
||||
<screen x="0" y="0" width="1366" height="728" />
|
||||
</state>
|
||||
<state width="1059" height="67" key="GridCell.Tab.2.bottom/0.0.1366.728@0.0.1366.728" timestamp="1581594189691" />
|
||||
<state width="1059" height="67" key="GridCell.Tab.2.center" timestamp="1581594189691">
|
||||
<screen x="0" y="0" width="1366" height="728" />
|
||||
</state>
|
||||
<state width="1059" height="67" key="GridCell.Tab.2.center/0.0.1366.728@0.0.1366.728" timestamp="1581594189691" />
|
||||
<state width="1059" height="67" key="GridCell.Tab.2.left" timestamp="1581594189691">
|
||||
<screen x="0" y="0" width="1366" height="728" />
|
||||
</state>
|
||||
<state width="1059" height="67" key="GridCell.Tab.2.left/0.0.1366.728@0.0.1366.728" timestamp="1581594189691" />
|
||||
<state width="1059" height="67" key="GridCell.Tab.2.right" timestamp="1581594189691">
|
||||
<screen x="0" y="0" width="1366" height="728" />
|
||||
</state>
|
||||
<state width="1059" height="67" key="GridCell.Tab.2.right/0.0.1366.728@0.0.1366.728" timestamp="1581594189691" />
|
||||
<state width="1059" height="67" key="GridCell.Tab.3.bottom" timestamp="1581594189692">
|
||||
<screen x="0" y="0" width="1366" height="728" />
|
||||
</state>
|
||||
<state width="1059" height="67" key="GridCell.Tab.3.bottom/0.0.1366.728@0.0.1366.728" timestamp="1581594189692" />
|
||||
<state width="1059" height="67" key="GridCell.Tab.3.center" timestamp="1581594189692">
|
||||
<screen x="0" y="0" width="1366" height="728" />
|
||||
</state>
|
||||
<state width="1059" height="67" key="GridCell.Tab.3.center/0.0.1366.728@0.0.1366.728" timestamp="1581594189692" />
|
||||
<state width="1059" height="67" key="GridCell.Tab.3.left" timestamp="1581594189692">
|
||||
<screen x="0" y="0" width="1366" height="728" />
|
||||
</state>
|
||||
<state width="1059" height="67" key="GridCell.Tab.3.left/0.0.1366.728@0.0.1366.728" timestamp="1581594189692" />
|
||||
<state width="1059" height="67" key="GridCell.Tab.3.right" timestamp="1581594189692">
|
||||
<screen x="0" y="0" width="1366" height="728" />
|
||||
</state>
|
||||
<state width="1059" height="67" key="GridCell.Tab.3.right/0.0.1366.728@0.0.1366.728" timestamp="1581594189692" />
|
||||
<state width="1059" height="67" key="GridCell.Tab.4.bottom" timestamp="1581594189692">
|
||||
<screen x="0" y="0" width="1366" height="728" />
|
||||
</state>
|
||||
<state width="1059" height="67" key="GridCell.Tab.4.bottom/0.0.1366.728@0.0.1366.728" timestamp="1581594189692" />
|
||||
<state width="1059" height="67" key="GridCell.Tab.4.center" timestamp="1581594189691">
|
||||
<screen x="0" y="0" width="1366" height="728" />
|
||||
</state>
|
||||
<state width="1059" height="67" key="GridCell.Tab.4.center/0.0.1366.728@0.0.1366.728" timestamp="1581594189691" />
|
||||
<state width="1059" height="67" key="GridCell.Tab.4.left" timestamp="1581594189691">
|
||||
<screen x="0" y="0" width="1366" height="728" />
|
||||
</state>
|
||||
<state width="1059" height="67" key="GridCell.Tab.4.left/0.0.1366.728@0.0.1366.728" timestamp="1581594189691" />
|
||||
<state width="1059" height="67" key="GridCell.Tab.4.right" timestamp="1581594189692">
|
||||
<screen x="0" y="0" width="1366" height="728" />
|
||||
</state>
|
||||
<state width="1059" height="67" key="GridCell.Tab.4.right/0.0.1366.728@0.0.1366.728" timestamp="1581594189692" />
|
||||
<state x="213" y="23" key="Maven.ArtifactSearchDialog" timestamp="1581325031095">
|
||||
<screen x="0" y="0" width="1366" height="728" />
|
||||
</state>
|
||||
<state x="213" y="23" key="Maven.ArtifactSearchDialog/0.0.1366.728@0.0.1366.728" timestamp="1581325031095" />
|
||||
<state x="230" y="6" key="SettingsEditor" timestamp="1581316291083">
|
||||
<screen x="0" y="0" width="1366" height="728" />
|
||||
</state>
|
||||
<state x="230" y="6" key="SettingsEditor/0.0.1366.728@0.0.1366.728" timestamp="1581316291083" />
|
||||
<state x="221" y="104" key="com.intellij.xdebugger.impl.breakpoints.ui.BreakpointsDialogFactory$2" timestamp="1581590755435">
|
||||
<screen x="0" y="0" width="1366" height="728" />
|
||||
</state>
|
||||
<state x="221" y="104" key="com.intellij.xdebugger.impl.breakpoints.ui.BreakpointsDialogFactory$2/0.0.1366.728@0.0.1366.728" timestamp="1581590755435" />
|
||||
<state x="413" y="140" key="extract.method.dialog" timestamp="1581586644479">
|
||||
<screen x="0" y="0" width="1366" height="728" />
|
||||
</state>
|
||||
<state x="413" y="140" key="extract.method.dialog/0.0.1366.728@0.0.1366.728" timestamp="1581586644479" />
|
||||
<state x="346" y="49" width="672" height="678" key="search.everywhere.popup" timestamp="1581514963912">
|
||||
<screen x="0" y="0" width="1366" height="728" />
|
||||
</state>
|
||||
<state x="346" y="49" width="672" height="678" key="search.everywhere.popup/0.0.1366.728@0.0.1366.728" timestamp="1581514963912" />
|
||||
</component>
|
||||
</project>
|
@ -0,0 +1,195 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>cn.ppdxzz</groupId>
|
||||
<artifactId>hellossm</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<packaging>war</packaging>
|
||||
|
||||
<name>hellossm Maven Webapp</name>
|
||||
<!-- FIXME change it to the project's website -->
|
||||
<url>http://www.example.com</url>
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<maven.compiler.source>12</maven.compiler.source>
|
||||
<maven.compiler.target>12</maven.compiler.target>
|
||||
<spring.version>5.0.2.RELEASE</spring.version>
|
||||
<slf4j.version>1.6.6</slf4j.version>
|
||||
<log4j.version>1.2.12</log4j.version>
|
||||
<mysql.version>8.0.17</mysql.version>
|
||||
<mybatis.version>3.4.5</mybatis.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<!-- spring -->
|
||||
<dependency>
|
||||
<groupId>org.aspectj</groupId>
|
||||
<artifactId>aspectjweaver</artifactId>
|
||||
<version>1.6.8</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-aop</artifactId>
|
||||
<version>${spring.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-context</artifactId>
|
||||
<version>${spring.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-web</artifactId>
|
||||
<version>${spring.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-webmvc</artifactId>
|
||||
<version>${spring.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-test</artifactId>
|
||||
<version>${spring.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-tx</artifactId>
|
||||
<version>${spring.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
<version>${mysql.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-jdbc</artifactId>
|
||||
<version>${spring.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<version>4.12</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>javax.servlet</groupId>
|
||||
<artifactId>servlet-api</artifactId>
|
||||
<version>2.5</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>javax.servlet.jsp</groupId>
|
||||
<artifactId>jsp-api</artifactId>
|
||||
<version>2.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>jstl</groupId>
|
||||
<artifactId>jstl</artifactId>
|
||||
<version>1.2</version>
|
||||
</dependency>
|
||||
|
||||
<!-- log start -->
|
||||
<dependency>
|
||||
<groupId>log4j</groupId>
|
||||
<artifactId>log4j</artifactId>
|
||||
<version>${log4j.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
<version>${slf4j.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-log4j12</artifactId>
|
||||
<version>${slf4j.version}</version>
|
||||
</dependency>
|
||||
<!-- log end -->
|
||||
|
||||
<dependency>
|
||||
<groupId>org.mybatis</groupId>
|
||||
<artifactId>mybatis</artifactId>
|
||||
<version>${mybatis.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.mybatis</groupId>
|
||||
<artifactId>mybatis-spring</artifactId>
|
||||
<version>1.3.0</version>
|
||||
</dependency>
|
||||
|
||||
<!--c3p0数据库连接池-->
|
||||
<dependency>
|
||||
<groupId>c3p0</groupId>
|
||||
<artifactId>c3p0</artifactId>
|
||||
<version>0.9.1.2</version>
|
||||
<type>jar</type>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
<!--PageHelper分页插件-->
|
||||
<dependency>
|
||||
<groupId>com.github.pagehelper</groupId>
|
||||
<artifactId>pagehelper</artifactId>
|
||||
<version>5.1.10</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<finalName>hellossm</finalName>
|
||||
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-clean-plugin</artifactId>
|
||||
<version>3.1.0</version>
|
||||
</plugin>
|
||||
<!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
|
||||
<plugin>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<version>3.0.2</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.8.0</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<version>2.22.1</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-war-plugin</artifactId>
|
||||
<version>3.2.2</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-install-plugin</artifactId>
|
||||
<version>2.5.2</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<version>2.8.2</version>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement>
|
||||
</build>
|
||||
</project>
|
@ -0,0 +1,81 @@
|
||||
package cn.ppdxzz.dao;
|
||||
|
||||
import cn.ppdxzz.domain.Admin;
|
||||
import org.apache.ibatis.annotations.Delete;
|
||||
import org.apache.ibatis.annotations.Insert;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
import org.apache.ibatis.annotations.Update;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Description:持久层
|
||||
*
|
||||
* @Date: 2020/2/10 15:33
|
||||
* @Author: PeiChen
|
||||
*/
|
||||
@Repository
|
||||
public interface AdminDao {
|
||||
|
||||
/**
|
||||
* 通过用户名密码查询用户信息
|
||||
* @param admin
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@Select("select * from admins where username = #{username} and password = #{password}")
|
||||
Admin findAdmin(Admin admin) throws Exception;
|
||||
|
||||
/**
|
||||
* 通过id查询用户信息
|
||||
*/
|
||||
@Select("select * from admins where id = #{id}")
|
||||
Admin findAdminById(Integer id) throws Exception;
|
||||
|
||||
/**
|
||||
* 查询所有管理员信息
|
||||
*/
|
||||
@Select("select * from admins")
|
||||
List<Admin> findAll() throws Exception;
|
||||
|
||||
/**
|
||||
* 根据id删除管理员信息
|
||||
* @param id
|
||||
* @throws Exception
|
||||
*/
|
||||
@Delete("delete from admins where id = #{id}")
|
||||
void deleteAdminById(Integer id) throws Exception;
|
||||
|
||||
/**
|
||||
* 修改管理员信息
|
||||
* @param admin
|
||||
* @throws Exception
|
||||
*/
|
||||
@Update("update admins set username= #{username},password = #{password},name = #{name}, phone = #{phone}, power = #{power}, description = #{description} where id = #{id}")
|
||||
void updateAdmin(Admin admin) throws Exception;
|
||||
|
||||
/**
|
||||
* 添加管理员信息
|
||||
* @param admin
|
||||
* @throws Exception
|
||||
*/
|
||||
@Insert("insert into admins(username,password,name,phone,power,description) values (#{username},#{password},#{name},#{phone},#{power},#{description})")
|
||||
void addAdmin(Admin admin) throws Exception;
|
||||
|
||||
/**
|
||||
* 校验用户名是否存在
|
||||
*/
|
||||
@Select("select * from admins where username = #{u_name}")
|
||||
Boolean checkUserName(String u_name) throws Exception;
|
||||
|
||||
/**
|
||||
* 重置密码
|
||||
* @param password
|
||||
* @param id
|
||||
* @throws Exception
|
||||
*/
|
||||
@Update("update admins set password = #{password} where id = #{id}")
|
||||
void updatePassword(String password,Integer id) throws Exception;
|
||||
|
||||
}
|
@ -0,0 +1,101 @@
|
||||
package cn.ppdxzz.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* Description:管理员实体类
|
||||
*
|
||||
* @Date: 2020/2/10 15:13
|
||||
* @Author: PeiChen
|
||||
*/
|
||||
public class Admin implements Serializable {
|
||||
private Integer id; //id 主键自增
|
||||
private String username; //用户名
|
||||
private String password; //密码
|
||||
private String name; //姓名
|
||||
private String phone; //手机号
|
||||
private int power; //是否开启权限
|
||||
private String description; //描述
|
||||
|
||||
public Admin() {
|
||||
}
|
||||
|
||||
public Admin(Integer id, String username, String password, String name, String phone, int power, String description) {
|
||||
this.id = id;
|
||||
this.username = username;
|
||||
this.password = password;
|
||||
this.name = name;
|
||||
this.phone = phone;
|
||||
this.power = power;
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getUsername() {
|
||||
return username;
|
||||
}
|
||||
|
||||
public void setUsername(String username) {
|
||||
this.username = username;
|
||||
}
|
||||
|
||||
public String getPassword() {
|
||||
return password;
|
||||
}
|
||||
|
||||
public void setPassword(String password) {
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getPhone() {
|
||||
return phone;
|
||||
}
|
||||
|
||||
public void setPhone(String phone) {
|
||||
this.phone = phone;
|
||||
}
|
||||
|
||||
public int getPower() {
|
||||
return power;
|
||||
}
|
||||
|
||||
public void setPower(int power) {
|
||||
this.power = power;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Admin{" +
|
||||
"id=" + id +
|
||||
", username='" + username + '\'' +
|
||||
", password='" + password + '\'' +
|
||||
", name='" + name + '\'' +
|
||||
", phone='" + phone + '\'' +
|
||||
", power=" + power +
|
||||
", description='" + description + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package cn.ppdxzz.service;
|
||||
|
||||
import cn.ppdxzz.domain.Admin;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
*
|
||||
* @Date: 2020/2/10 15:27
|
||||
* @Author: PeiChen
|
||||
*/
|
||||
public interface AdminService {
|
||||
/**
|
||||
* 校验用户名密码是否正确
|
||||
*/
|
||||
Admin findAdmin(Admin admin) throws Exception;
|
||||
//通过id查询管理员信息
|
||||
Admin findAdminById(Integer id) throws Exception;
|
||||
|
||||
List<Admin> findAll(int page,int size) throws Exception;
|
||||
|
||||
void deleteAdminById(Integer id) throws Exception;
|
||||
|
||||
void updateAdmin(Admin admin) throws Exception;
|
||||
|
||||
void addAdmin(Admin admin) throws Exception;
|
||||
|
||||
Boolean checkUserName(String u_name) throws Exception;
|
||||
}
|
@ -0,0 +1,62 @@
|
||||
package cn.ppdxzz.utils;
|
||||
|
||||
import java.security.MessageDigest;
|
||||
|
||||
/**
|
||||
* MD5加密算法
|
||||
*/
|
||||
|
||||
public class MD5Util {
|
||||
|
||||
private static String byteArrayToHexString(byte b[]) {
|
||||
StringBuffer resultSb = new StringBuffer();
|
||||
for (int i = 0; i < b.length; i++)
|
||||
resultSb.append(byteToHexString(b[i]));
|
||||
|
||||
return resultSb.toString();
|
||||
}
|
||||
|
||||
private static String byteToHexString(byte b) {
|
||||
int n = b;
|
||||
if (n < 0)
|
||||
n += 256;
|
||||
int d1 = n / 16;
|
||||
int d2 = n % 16;
|
||||
return hexDigits[d1] + hexDigits[d2];
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回大写MD5
|
||||
*/
|
||||
private static String MD5Encode(String origin, String charsetname) {
|
||||
String resultString = null;
|
||||
try {
|
||||
resultString = new String(origin);
|
||||
MessageDigest md = MessageDigest.getInstance("MD5");
|
||||
if (charsetname == null || "".equals(charsetname))
|
||||
resultString = byteArrayToHexString(md.digest(resultString.getBytes()));
|
||||
else
|
||||
resultString = byteArrayToHexString(md.digest(resultString.getBytes(charsetname)));
|
||||
} catch (Exception exception) {
|
||||
}
|
||||
return resultString.toUpperCase();
|
||||
}
|
||||
|
||||
public static String MD5EncodeUtf8(String origin) {
|
||||
|
||||
//盐值Salt加密
|
||||
//origin = origin + PropertiesUtil.getProperty("password.salt", "");
|
||||
return MD5Encode(origin, "utf-8");
|
||||
}
|
||||
|
||||
|
||||
private static final String hexDigits[] = {"0", "1", "2", "3", "4", "5",
|
||||
"6", "7", "8", "9", "a", "b", "c", "d", "e", "f"};
|
||||
|
||||
public static void main(String[] args) {
|
||||
MD5Util md = new MD5Util();
|
||||
String psd = md.MD5EncodeUtf8("123456");
|
||||
System.out.println(psd);
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,4 @@
|
||||
jdbc.driver=com.mysql.cj.jdbc.Driver
|
||||
jdbc.url=jdbc:mysql://localhost:3306/hello_ssm?serverTimezone=UTC&characterEncoding=utf-8
|
||||
jdbc.username=root
|
||||
jdbc.password=root
|
@ -0,0 +1,19 @@
|
||||
# Set root category priority to INFO and its only appender to CONSOLE.
|
||||
#log4j.rootCategory=INFO, CONSOLE debug info warn error fatal
|
||||
log4j.rootCategory=info, CONSOLE, LOGFILE
|
||||
|
||||
# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
|
||||
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE
|
||||
|
||||
# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
|
||||
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
|
||||
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n
|
||||
|
||||
# LOGFILE is set to be a File appender using a PatternLayout.
|
||||
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
|
||||
log4j.appender.LOGFILE.File=d:\\log4j.log
|
||||
log4j.appender.LOGFILE.Append=true
|
||||
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.LOGFILE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n
|
||||
|
@ -0,0 +1,39 @@
|
||||
<%--
|
||||
Created by IntelliJ IDEA.
|
||||
User: PeiChen
|
||||
Date: 2020/2/10
|
||||
Time: 14:16
|
||||
To change this template use File | Settings | File Templates.
|
||||
--%>
|
||||
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
|
||||
<html class="x-admin-sm">
|
||||
<head>
|
||||
<title>错误页面--404</title>
|
||||
<meta name="renderer" content="webkit|ie-comp|ie-stand">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
|
||||
<meta http-equiv="Cache-Control" content="no-siteapp" />
|
||||
|
||||
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/font.css">
|
||||
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/xadmin.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="layui-container">
|
||||
<div class="fly-panel">
|
||||
<div class="fly-none">
|
||||
<h2><i class="layui-icon layui-icon-404"></i></h2>
|
||||
<p>页面或者数据被<a href=""> 纸飞机 </a>运到火星了,啥都看不到了…</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
var _hmt = _hmt || [];
|
||||
(function() {
|
||||
var hm = document.createElement("script");
|
||||
hm.src = "https://hm.baidu.com/hm.js?b393d153aeb26b46e9431fabaf0f6190";
|
||||
var s = document.getElementsByTagName("script")[0];
|
||||
s.parentNode.insertBefore(hm, s);
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,264 @@
|
||||
<%--
|
||||
Created by IntelliJ IDEA.
|
||||
User: user
|
||||
Date: 2020/2/10
|
||||
Time: 15:58
|
||||
To change this template use File | Settings | File Templates.
|
||||
--%>
|
||||
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<title>管理员端平台</title>
|
||||
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/font.css">
|
||||
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/xadmin.css">
|
||||
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/theme2571.min.css"><%--灰色管理员主题 --%>
|
||||
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-3.1.1.js"></script>
|
||||
<script src="${pageContext.request.contextPath}/lib/layui/layui.js" charset="utf-8"></script>
|
||||
<script type="text/javascript" src="${pageContext.request.contextPath}/js/xadmin.js"></script>
|
||||
<script>
|
||||
// 是否开启刷新记忆tab功能
|
||||
// var is_remember = false;
|
||||
</script>
|
||||
</head>
|
||||
<body class="index">
|
||||
<!-- 顶部开始 -->
|
||||
<div class="container">
|
||||
<div class="logo">
|
||||
<a href="http://www.ppdxzz.cn">皮皮的小猪仔</a></div>
|
||||
<div class="left_open">
|
||||
<a><i title="展开左侧栏" class="iconfont"></i></a>
|
||||
</div>
|
||||
<%--<ul class="layui-nav left fast-add" lay-filter="">
|
||||
<li class="layui-nav-item">
|
||||
<a href="javascript:;">+新增</a>
|
||||
<dl class="layui-nav-child">
|
||||
<!-- 二级菜单 -->
|
||||
<dd>
|
||||
<a onclick="xadmin.open('最大化','http://www.baidu.com','','',true)">
|
||||
<i class="iconfont"></i>弹出最大化</a></dd>
|
||||
<dd>
|
||||
<a onclick="xadmin.open('弹出自动宽高','http://www.baidu.com')">
|
||||
<i class="iconfont"></i>弹出自动宽高</a></dd>
|
||||
<dd>
|
||||
<a onclick="xadmin.open('弹出指定宽高','http://www.baidu.com',500,300)">
|
||||
<i class="iconfont"></i>弹出指定宽高</a></dd>
|
||||
<dd>
|
||||
<a onclick="xadmin.add_tab('在tab打开','member-list.html')">
|
||||
<i class="iconfont"></i>在tab打开</a></dd>
|
||||
<dd>
|
||||
<a onclick="xadmin.add_tab('在tab打开刷新','member-del.html',true)">
|
||||
<i class="iconfont"></i>在tab打开刷新</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>--%>
|
||||
<ul class="layui-nav right" lay-filter="">
|
||||
<li class="layui-nav-item">
|
||||
<a href="javascript:;">${sessionScope.adminInfo.name}</a>
|
||||
<dl class="layui-nav-child">
|
||||
<!-- 二级菜单 -->
|
||||
<dd>
|
||||
<a onclick="xadmin.open('个人信息','http://www.baidu.com')">个人信息</a></dd>
|
||||
<dd>
|
||||
<a href="${pageContext.request.contextPath}/loginOut">切换帐号</a></dd>
|
||||
<dd>
|
||||
<a href="${pageContext.request.contextPath}/loginOut">退出</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li class="layui-nav-item to-index">
|
||||
<a href="/">前台首页</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- 顶部结束 -->
|
||||
<!-- 中部开始 -->
|
||||
<!-- 左侧菜单开始 -->
|
||||
<div class="left-nav">
|
||||
<div id="side-nav">
|
||||
<ul id="nav">
|
||||
<li>
|
||||
<a href="javascript:;">
|
||||
<i class="iconfont left-nav-li" lay-tips="学生管理"></i>
|
||||
<cite>学生管理</cite>
|
||||
<i class="iconfont nav_right"></i></a>
|
||||
<ul class="sub-menu">
|
||||
<li>
|
||||
<a onclick="xadmin.add_tab('统计页面','welcome1.html')">
|
||||
<i class="iconfont"></i>
|
||||
<cite>统计页面</cite></a>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="sub-menu">
|
||||
<li>
|
||||
<a onclick="xadmin.add_tab('学生信息','welcome1.html')">
|
||||
<i class="iconfont"></i>
|
||||
<cite>学生信息</cite></a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<a href="javascript:;">
|
||||
<i class="iconfont left-nav-li" lay-tips="管理员管理"></i>
|
||||
<cite>管理员管理</cite>
|
||||
<i class="iconfont nav_right"></i></a>
|
||||
<ul class="sub-menu">
|
||||
<li>
|
||||
<a onclick="xadmin.add_tab('管理员列表','${pageContext.request.contextPath}/findAllAdmin?page=1&size=4')">
|
||||
<i class="iconfont"></i>
|
||||
<cite>管理员列表</cite></a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="xadmin.add_tab('角色管理','admin-role.html')">
|
||||
<i class="iconfont"></i>
|
||||
<cite>角色管理</cite></a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="xadmin.add_tab('权限分类','admin-cate.html')">
|
||||
<i class="iconfont"></i>
|
||||
<cite>权限分类</cite></a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="xadmin.add_tab('权限管理','admin-rule.html')">
|
||||
<i class="iconfont"></i>
|
||||
<cite>权限管理</cite></a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<a href="javascript:;">
|
||||
<i class="iconfont left-nav-li" lay-tips="宿舍管理"></i>
|
||||
<cite>宿舍管理</cite>
|
||||
<i class="iconfont nav_right"></i></a>
|
||||
<ul class="sub-menu">
|
||||
<li>
|
||||
<a onclick="xadmin.add_tab('宿舍列表','error.html')">
|
||||
<i class="iconfont"></i>
|
||||
<cite>宿舍列表</cite></a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="xadmin.add_tab('人员信息','error.html')">
|
||||
<i class="iconfont"></i>
|
||||
<cite>人员信息</cite></a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="xadmin.add_tab('宿舍卫生','demo.html')">
|
||||
<i class="iconfont"></i>
|
||||
<cite>宿舍卫生</cite></a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<a href="javascript:;">
|
||||
<i class="iconfont left-nav-li" lay-tips="访客管理"></i>
|
||||
<cite>访客管理</cite>
|
||||
<i class="iconfont nav_right"></i></a>
|
||||
<ul class="sub-menu">
|
||||
<li>
|
||||
<a onclick="xadmin.add_tab('访客信息','unicode.html')">
|
||||
<i class="iconfont"></i>
|
||||
<cite>访客信息</cite></a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="xadmin.open('来访登记','unicode.html')">
|
||||
<i class="iconfont"></i>
|
||||
<cite>来访登记</cite></a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<a href="javascript:;">
|
||||
<i class="iconfont left-nav-li" lay-tips="系统统计"></i>
|
||||
<cite>系统统计</cite>
|
||||
<i class="iconfont nav_right"></i></a>
|
||||
<ul class="sub-menu">
|
||||
<li>
|
||||
<a onclick="xadmin.add_tab('拆线图','echarts1.html')">
|
||||
<i class="iconfont"></i>
|
||||
<cite>拆线图</cite></a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="xadmin.add_tab('拆线图','echarts2.html')">
|
||||
<i class="iconfont"></i>
|
||||
<cite>拆线图</cite></a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="xadmin.add_tab('地图','echarts3.html')">
|
||||
<i class="iconfont"></i>
|
||||
<cite>地图</cite></a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="xadmin.add_tab('饼图','echarts4.html')">
|
||||
<i class="iconfont"></i>
|
||||
<cite>饼图</cite></a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="xadmin.add_tab('雷达图','echarts5.html')">
|
||||
<i class="iconfont"></i>
|
||||
<cite>雷达图</cite></a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="xadmin.add_tab('k线图','echarts6.html')">
|
||||
<i class="iconfont"></i>
|
||||
<cite>k线图</cite></a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="xadmin.add_tab('热力图','echarts7.html')">
|
||||
<i class="iconfont"></i>
|
||||
<cite>热力图</cite></a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="xadmin.add_tab('仪表图','echarts8.html')">
|
||||
<i class="iconfont"></i>
|
||||
<cite>仪表图</cite></a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="x-slide_left"></div> -->
|
||||
<!-- 左侧菜单结束 -->
|
||||
<!-- 右侧主体开始 -->
|
||||
<div class="page-content">
|
||||
<div class="layui-tab tab" lay-filter="xbs_tab" lay-allowclose="false">
|
||||
<ul class="layui-tab-title">
|
||||
<li class="home">
|
||||
<i class="layui-icon"></i>我的桌面
|
||||
</li>
|
||||
</ul>
|
||||
<div class="layui-tab-content">
|
||||
<div class="layui-tab-item layui-show o_div" >
|
||||
<div class="layui-col-md6" style="padding: 30px;left: 60px;background-color: #F2F2F2;">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">个人信息
|
||||
</div>
|
||||
<div class="layui-card-body">
|
||||
<%--<div class="layui-form-label" style="text-align: left">你好</div>--%>
|
||||
用户名:${sessionScope.adminInfo.username}
|
||||
</div>
|
||||
<div class="layui-card-body">
|
||||
密码:${sessionScope.adminInfo.password}
|
||||
</div>
|
||||
<div class="layui-card-body">
|
||||
电话:${sessionScope.adminInfo.phone}
|
||||
</div>
|
||||
<div class="layui-card-body">
|
||||
权限开启:${sessionScope.adminInfo.power}
|
||||
</div>
|
||||
<div class="layui-card-body">
|
||||
描述:${sessionScope.adminInfo.description}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="tab_show"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="page-content-bg"></div>
|
||||
<style id="theme_style"></style>
|
||||
<!-- 右侧主体结束 -->
|
||||
<!-- 中部结束 -->
|
||||
<!-- 底部开始 -->
|
||||
<!-- 底部结束 -->
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,23 @@
|
||||
<%--
|
||||
Created by IntelliJ IDEA.
|
||||
User: WanPeiChen
|
||||
Date: 2019/12/18
|
||||
Time: 14:05
|
||||
To change this template use File | Settings | File Templates.
|
||||
--%>
|
||||
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
|
||||
<html>
|
||||
<head>
|
||||
<title>欢迎页面</title>
|
||||
<LINK rel="stylesheet" href="css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="css/bootstrap-theme.css">
|
||||
</head>
|
||||
<body>
|
||||
<br><br><br>
|
||||
<div class="container">
|
||||
<div class="jumbotron">
|
||||
<h1>欢迎登录宿舍信息管理系统!</h1>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,56 @@
|
||||
<!DOCTYPE web-app PUBLIC
|
||||
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
|
||||
"http://java.sun.com/dtd/web-app_2_3.dtd" >
|
||||
|
||||
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
|
||||
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
|
||||
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
|
||||
id="WebApp_ID" version="3.1">
|
||||
<display-name>Archetype Created Web Application</display-name>
|
||||
|
||||
<!--配置加载Spring配置文件的监听器-->
|
||||
<listener>
|
||||
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
|
||||
</listener>
|
||||
<context-param>
|
||||
<param-name>contextConfigLocation</param-name>
|
||||
<param-value>classpath:applicationContext.xml</param-value>
|
||||
</context-param>
|
||||
|
||||
<!--配置前端控制器-->
|
||||
<servlet>
|
||||
<servlet-name>dispatcherServlet</servlet-name>
|
||||
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
|
||||
<!--加载spring-mvc配置文件-->
|
||||
<init-param>
|
||||
<param-name>contextConfigLocation</param-name>
|
||||
<param-value>classpath:spring-mvc.xml</param-value>
|
||||
</init-param>
|
||||
<!--启动服务器创建该servlet-->
|
||||
<load-on-startup>1</load-on-startup>
|
||||
</servlet>
|
||||
<servlet-mapping>
|
||||
<servlet-name>dispatcherServlet</servlet-name>
|
||||
<url-pattern>/</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!--解决中文乱码的过滤器-->
|
||||
<filter>
|
||||
<filter-name>characterEncodingFilter</filter-name>
|
||||
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
|
||||
<init-param>
|
||||
<param-name>encoding</param-name>
|
||||
<param-value>UTF-8</param-value>
|
||||
</init-param>
|
||||
</filter>
|
||||
<filter-mapping>
|
||||
<filter-name>characterEncodingFilter</filter-name>
|
||||
<url-pattern>/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<welcome-file-list>
|
||||
<welcome-file>index.jsp</welcome-file>
|
||||
<welcome-file>index.html</welcome-file>
|
||||
</welcome-file-list>
|
||||
</web-app>
|
@ -0,0 +1,10 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Title</title>
|
||||
</head>
|
||||
<body>
|
||||
你好啊,哈哈哈
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,16 @@
|
||||
@font-face {
|
||||
font-family: 'iconfont';
|
||||
src: url('../fonts/iconfont.eot');
|
||||
src: url('../fonts/iconfont.eot?#iefix') format('embedded-opentype'),
|
||||
url('../fonts/iconfont.woff') format('woff'),
|
||||
url('../fonts/iconfont.ttf') format('truetype'),
|
||||
url('../fonts/iconfont.svg#iconfont') format('svg');
|
||||
}
|
||||
.iconfont{
|
||||
font-family:"iconfont" !important;
|
||||
font-size:16px;font-style:normal;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-webkit-text-stroke-width: 0.2px;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
@ -0,0 +1,54 @@
|
||||
/*分页按钮样式*/
|
||||
.page-go-form{
|
||||
float: right;
|
||||
margin-right: 40px;
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
.page-bar{
|
||||
width: 600px;
|
||||
height: 30px;
|
||||
float: right;
|
||||
}
|
||||
.page-num-ul{
|
||||
width: 250px;
|
||||
height: 30px;
|
||||
padding-left: 100px;
|
||||
float: left;
|
||||
font-size: 14px;
|
||||
}
|
||||
.pg_a{
|
||||
margin: 0 5px;
|
||||
}
|
||||
.pg_a:hover{
|
||||
color: #00a4ac;
|
||||
margin: 0 5px;
|
||||
}
|
||||
#inputPage{
|
||||
width: 50px;
|
||||
}
|
||||
.page-btn{
|
||||
margin: 0 3px;
|
||||
width: 50px;
|
||||
cursor: pointer;
|
||||
color: #ffffff;
|
||||
background-color: #009688;
|
||||
}
|
||||
.page-btn:hover{
|
||||
opacity: 0.7;
|
||||
cursor: pointer;
|
||||
background-color: #009688;
|
||||
}
|
||||
|
||||
#f_auto{
|
||||
margin: 0 auto;
|
||||
margin-top: 40px;
|
||||
width: 400px;
|
||||
}
|
||||
#btn_on{
|
||||
width: 260px;
|
||||
margin-left: 45px;
|
||||
}
|
||||
.f_sp{
|
||||
letter-spacing: 16px;
|
||||
}
|
@ -0,0 +1,282 @@
|
||||
/*!
|
||||
* Slider for Bootstrap
|
||||
*
|
||||
* Copyright 2012 Stefan Petre
|
||||
* Licensed under the Apache License v2.0
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*/
|
||||
.slider {
|
||||
display: block;
|
||||
vertical-align: middle;
|
||||
position: relative;
|
||||
|
||||
}
|
||||
.slider.slider-horizontal {
|
||||
width: 100%;
|
||||
height: 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.slider.slider-horizontal:last-of-type {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.slider.slider-horizontal .slider-track {
|
||||
height: 10px;
|
||||
width: 100%;
|
||||
margin-top: -5px;
|
||||
top: 50%;
|
||||
left: 0;
|
||||
}
|
||||
.slider.slider-horizontal .slider-selection,
|
||||
.slider.slider-horizontal .slider-track-low,
|
||||
.slider.slider-horizontal .slider-track-high {
|
||||
height: 100%;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
.slider.slider-horizontal .slider-tick,
|
||||
.slider.slider-horizontal .slider-handle {
|
||||
margin-left: -10px;
|
||||
margin-top: -5px;
|
||||
}
|
||||
.slider.slider-horizontal .slider-tick.triangle,
|
||||
.slider.slider-horizontal .slider-handle.triangle {
|
||||
border-width: 0 10px 10px 10px;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-bottom-color: #0480be;
|
||||
margin-top: 0;
|
||||
}
|
||||
.slider.slider-horizontal .slider-tick-label-container {
|
||||
white-space: nowrap;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.slider.slider-horizontal .slider-tick-label-container .slider-tick-label {
|
||||
padding-top: 4px;
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
}
|
||||
.slider.slider-vertical {
|
||||
height: 230px;
|
||||
width: 20px;
|
||||
margin-right: 20px;
|
||||
display: inline-block;
|
||||
}
|
||||
.slider.slider-vertical:last-of-type {
|
||||
margin-right: 0;
|
||||
}
|
||||
.slider.slider-vertical .slider-track {
|
||||
width: 10px;
|
||||
height: 100%;
|
||||
margin-left: -5px;
|
||||
left: 50%;
|
||||
top: 0;
|
||||
}
|
||||
.slider.slider-vertical .slider-selection {
|
||||
width: 100%;
|
||||
left: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
.slider.slider-vertical .slider-track-low,
|
||||
.slider.slider-vertical .slider-track-high {
|
||||
width: 100%;
|
||||
left: 0;
|
||||
right: 0;
|
||||
}
|
||||
.slider.slider-vertical .slider-tick,
|
||||
.slider.slider-vertical .slider-handle {
|
||||
margin-left: -5px;
|
||||
margin-top: -10px;
|
||||
}
|
||||
.slider.slider-vertical .slider-tick.triangle,
|
||||
.slider.slider-vertical .slider-handle.triangle {
|
||||
border-width: 10px 0 10px 10px;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
border-left-color: #0480be;
|
||||
margin-left: 0;
|
||||
}
|
||||
.slider.slider-vertical .slider-tick-label-container {
|
||||
white-space: nowrap;
|
||||
}
|
||||
.slider.slider-vertical .slider-tick-label-container .slider-tick-label {
|
||||
padding-left: 4px;
|
||||
}
|
||||
.slider.slider-disabled .slider-handle {
|
||||
background-image: -webkit-linear-gradient(top, #dfdfdf 0%, #bebebe 100%);
|
||||
background-image: -o-linear-gradient(top, #dfdfdf 0%, #bebebe 100%);
|
||||
background-image: linear-gradient(to bottom, #dfdfdf 0%, #bebebe 100%);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdfdfdf', endColorstr='#ffbebebe', GradientType=0);
|
||||
}
|
||||
.slider.slider-disabled .slider-track {
|
||||
background-image: -webkit-linear-gradient(top, #e5e5e5 0%, #e9e9e9 100%);
|
||||
background-image: -o-linear-gradient(top, #e5e5e5 0%, #e9e9e9 100%);
|
||||
background-image: linear-gradient(to bottom, #e5e5e5 0%, #e9e9e9 100%);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe5e5e5', endColorstr='#ffe9e9e9', GradientType=0);
|
||||
cursor: not-allowed;
|
||||
}
|
||||
.slider input {
|
||||
display: none;
|
||||
}
|
||||
.slider .tooltip.top {
|
||||
margin-top: -36px;
|
||||
}
|
||||
.slider .tooltip-inner {
|
||||
white-space: nowrap;
|
||||
}
|
||||
.slider .hide {
|
||||
display: none;
|
||||
}
|
||||
.slider-track {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
background-color: #f7f7f7;
|
||||
background-image: -moz-linear-gradient(top, #f0f0f0, #f9f9f9);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f0f0f0), to(#f9f9f9));
|
||||
background-image: -webkit-linear-gradient(top, #f0f0f0, #f9f9f9);
|
||||
background-image: -o-linear-gradient(top, #f0f0f0, #f9f9f9);
|
||||
background-image: linear-gradient(to bottom, #f0f0f0, #f9f9f9);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0f0f0', endColorstr='#fff9f9f9', GradientType=0);
|
||||
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.slider-selection {
|
||||
position: absolute;
|
||||
background-color: #f7f7f7;
|
||||
background-image: -moz-linear-gradient(top, #f9f9f9, #f5f5f5);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f9f9f9), to(#f5f5f5));
|
||||
background-image: -webkit-linear-gradient(top, #f9f9f9, #f5f5f5);
|
||||
background-image: -o-linear-gradient(top, #f9f9f9, #f5f5f5);
|
||||
background-image: linear-gradient(to bottom, #f9f9f9, #f5f5f5);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff9f9f9', endColorstr='#fff5f5f5', GradientType=0);
|
||||
-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
||||
-moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
||||
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.slider-selection.tick-slider-selection {
|
||||
background-image: -webkit-linear-gradient(top, #89cdef 0%, #81bfde 100%);
|
||||
background-image: -o-linear-gradient(top, #89cdef 0%, #81bfde 100%);
|
||||
background-image: linear-gradient(to bottom, #89cdef 0%, #81bfde 100%);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff89cdef', endColorstr='#ff81bfde', GradientType=0);
|
||||
}
|
||||
.slider-track-low,
|
||||
.slider-track-high {
|
||||
position: absolute;
|
||||
background: transparent;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.slider-handle {
|
||||
position: absolute;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background-color: #444;
|
||||
-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
|
||||
-moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
|
||||
box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
|
||||
opacity: 1;
|
||||
border: 0px solid transparent;
|
||||
}
|
||||
.slider-handle.round {
|
||||
-webkit-border-radius: 20px;
|
||||
-moz-border-radius: 20px;
|
||||
border-radius: 20px;
|
||||
}
|
||||
.slider-handle.triangle {
|
||||
background: transparent none;
|
||||
}
|
||||
.slider-handle.custom {
|
||||
background: transparent none;
|
||||
}
|
||||
.slider-handle.custom::before {
|
||||
line-height: 20px;
|
||||
font-size: 20px;
|
||||
content: '\2605';
|
||||
color: #726204;
|
||||
}
|
||||
.slider-tick {
|
||||
position: absolute;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background-image: -webkit-linear-gradient(top, #f9f9f9 0%, #f5f5f5 100%);
|
||||
background-image: -o-linear-gradient(top, #f9f9f9 0%, #f5f5f5 100%);
|
||||
background-image: linear-gradient(to bottom, #f9f9f9 0%, #f5f5f5 100%);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff9f9f9', endColorstr='#fff5f5f5', GradientType=0);
|
||||
-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
||||
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
filter: none;
|
||||
opacity: 0.8;
|
||||
border: 0px solid transparent;
|
||||
}
|
||||
.slider-tick.round {
|
||||
border-radius: 50%;
|
||||
}
|
||||
.slider-tick.triangle {
|
||||
background: transparent none;
|
||||
}
|
||||
.slider-tick.custom {
|
||||
background: transparent none;
|
||||
}
|
||||
.slider-tick.custom::before {
|
||||
line-height: 20px;
|
||||
font-size: 20px;
|
||||
content: '\2605';
|
||||
color: #726204;
|
||||
}
|
||||
.slider-tick.in-selection {
|
||||
background-image: -webkit-linear-gradient(top, #89cdef 0%, #81bfde 100%);
|
||||
background-image: -o-linear-gradient(top, #89cdef 0%, #81bfde 100%);
|
||||
background-image: linear-gradient(to bottom, #89cdef 0%, #81bfde 100%);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff89cdef', endColorstr='#ff81bfde', GradientType=0);
|
||||
opacity: 1;
|
||||
}
|
||||
.slider-disabled .slider-selection {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
#red .slider-selection {
|
||||
background: #f56954;
|
||||
}
|
||||
|
||||
#blue .slider-selection {
|
||||
background: #3c8dbc;
|
||||
}
|
||||
|
||||
#green .slider-selection {
|
||||
background: #00a65a;
|
||||
}
|
||||
|
||||
#yellow .slider-selection {
|
||||
background: #f39c12;
|
||||
}
|
||||
|
||||
#aqua .slider-selection {
|
||||
background: #00c0ef;
|
||||
}
|
||||
|
||||
#purple .slider-selection {
|
||||
background: #932ab6;
|
||||
}
|
@ -0,0 +1 @@
|
||||
body.index{background:rgba(0,0,0,0) !important;}.container{background:rgba(57, 61, 73, 1) !important;}.container .layui-nav-bar{background:rgba(57, 61, 73, 1) !important;}.container .logo a{background:rgba(0,0,0,0) !important;}.container .logo a{color:rgba(255, 255, 255, 1) !important;}.left-nav{background:rgb(238, 238, 238) !important;}.left-nav a{color:rgba(57, 61, 73, 1) !important;}.left-nav a:hover,.left-nav a.active{background:rgba(57, 61, 73, 1) !important;}.left-nav a:hover,.left-nav a.active{color:rgb(255, 255, 255) !important;}.left-nav a:hover,.left-nav a.active{border-color:rgba(0, 0, 0, 1) !important;}body{background:rgb(241, 241, 241) !important;}
|
@ -0,0 +1 @@
|
||||
body.index{background:rgba(0,0,0,0) !important;}.container{background:rgba(30, 144, 255, 1) !important;}.container .layui-nav-bar{background:rgba(30, 144, 255, 1) !important;}.container .logo a{background:rgba(0,0,0,0) !important;}.container .logo a{color:rgb(255, 255, 255) !important;}.left-nav{background:rgb(238, 238, 238) !important;}.left-nav a{color:rgb(51, 51, 51) !important;}.left-nav a:hover,.left-nav a.active{background:rgba(30, 144, 255, 1) !important;}.left-nav a:hover,.left-nav a.active{color:rgb(255, 255, 255) !important;}.left-nav a:hover,.left-nav a.active{border-color:rgba(30, 144, 255, 1) !important;}body{background:rgb(241, 241, 241) !important;}
|
@ -0,0 +1,118 @@
|
||||
|
||||
*{
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.header{
|
||||
background: url("../images")no-repeat;
|
||||
width: 100%;
|
||||
height: 80px;
|
||||
}
|
||||
|
||||
.body{
|
||||
background: url("../images/timg-1.jpg");
|
||||
width: 100%;
|
||||
height: 590px;
|
||||
margin-top: -100px;
|
||||
}
|
||||
|
||||
.panel{
|
||||
width: 350px;
|
||||
height: 420px;
|
||||
position: relative;
|
||||
left: 800px;
|
||||
top: 100px;
|
||||
background-color: #FFFFFF;
|
||||
border: 1px solid #dff0d8;
|
||||
}
|
||||
|
||||
.top{
|
||||
height:60px;
|
||||
border-bottom:1px solid #dff0d8;
|
||||
}
|
||||
|
||||
.top>p{
|
||||
text-align: center;
|
||||
padding-top: 15px;
|
||||
/*margin: 20px 0;*/
|
||||
font-size: 25px;
|
||||
color: #f57421;
|
||||
}
|
||||
|
||||
.middle{
|
||||
position: relative;
|
||||
height: 290px;
|
||||
margin: 10px 0;
|
||||
/*background-color: red;*/
|
||||
border-bottom:1px solid #dff0d8;
|
||||
}
|
||||
|
||||
.middle>form>input{
|
||||
height: 40px;
|
||||
width: 290px;
|
||||
margin: 20px 30px;
|
||||
border: 1px solid #e0e0e0;
|
||||
}
|
||||
|
||||
.middle>form>input:last-child{
|
||||
background-color: #f57421;
|
||||
font-size: 18px;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.middle>form>input:last-child:hover{
|
||||
background-color: #f57421;
|
||||
opacity: 0.7;
|
||||
cursor: pointer;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.middle>form>.s1{
|
||||
height: 40px;
|
||||
width: 40px;
|
||||
position: absolute;
|
||||
left: 35px;
|
||||
top: 40px;
|
||||
background: url("../images/J1.PNG") no-repeat;
|
||||
}
|
||||
|
||||
.middle>form>.s2{
|
||||
height: 40px;
|
||||
width: 40px;
|
||||
position: absolute;
|
||||
left: 35px;
|
||||
top: 120px;
|
||||
background: url("../images/J2.PNG") no-repeat;
|
||||
}
|
||||
|
||||
.middle>form>.error{
|
||||
color: red;
|
||||
font-size: 14px;
|
||||
margin-left:10px;
|
||||
}
|
||||
|
||||
.tail>a{
|
||||
float: right;
|
||||
font-size: 12px;
|
||||
padding: 10px;
|
||||
text-decoration:none;
|
||||
color: black;
|
||||
}
|
||||
|
||||
.tail>a:hover{
|
||||
color: red;
|
||||
}
|
||||
|
||||
.middle>form>.iputs:hover{
|
||||
border:1px solid red;
|
||||
}
|
||||
|
||||
.footer{
|
||||
margin-top: 20px;
|
||||
}
|
||||
.footer>span{
|
||||
font-size: 15px;
|
||||
position: relative;
|
||||
left: 45%;
|
||||
}
|
@ -0,0 +1,433 @@
|
||||
@charset "utf-8";
|
||||
@import url(../lib/layui/css/layui.css);
|
||||
*{
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
}
|
||||
a{
|
||||
text-decoration: none;
|
||||
}
|
||||
html{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow-x:hidden;
|
||||
overflow-y:auto;
|
||||
}
|
||||
body{
|
||||
width: 100%;
|
||||
min-height: 100%;
|
||||
}
|
||||
|
||||
|
||||
.x-body{
|
||||
padding: 20px;
|
||||
}
|
||||
.x-nav{
|
||||
padding: 0 20px;
|
||||
position: relative;
|
||||
z-index: 99;
|
||||
border-bottom: 1px solid #e5e5e5;
|
||||
line-height: 39px;
|
||||
height: 39px;
|
||||
overflow: hidden;
|
||||
}
|
||||
xblock{
|
||||
display: block;
|
||||
margin-bottom: 10px;
|
||||
padding: 5px;
|
||||
line-height: 22px;
|
||||
/* border-left: 5px solid #009688; */
|
||||
border-radius: 0 2px 2px 0;
|
||||
background-color: #f2f2f2;
|
||||
}
|
||||
.x-right{
|
||||
float: right;
|
||||
}
|
||||
.x-so{
|
||||
/*text-align: center;*/
|
||||
/*background: #f2f2f2 url() 0 0 no-repeat;*/
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.x-so input.layui-input{
|
||||
width: 150px;
|
||||
padding-left: 25px;
|
||||
}
|
||||
.x-so .layui-form-label{
|
||||
display: inline-block;
|
||||
}
|
||||
.x-so input.layui-input,.x-so input.layui-btn{
|
||||
display: inline-block;
|
||||
}
|
||||
.x-red{
|
||||
color: red;
|
||||
}
|
||||
.x-a{
|
||||
color: #1AA093;
|
||||
}
|
||||
.x-a:hover{
|
||||
color: #127F74;
|
||||
}
|
||||
.x-sort{
|
||||
height: 30px;
|
||||
}
|
||||
.x-show{
|
||||
cursor: pointer;
|
||||
}
|
||||
.layui-form-switch{
|
||||
margin-top: 0px;
|
||||
}
|
||||
.layui-input:focus, .layui-textarea:focus {
|
||||
border-color: #189f92!important;
|
||||
}
|
||||
|
||||
.page{
|
||||
margin-top: 20px;
|
||||
text-align: center;
|
||||
|
||||
}
|
||||
.page a{
|
||||
display: inline-block;
|
||||
background: #fff url(#) 0 0 no-repeat;
|
||||
color: #888;
|
||||
padding: 10px;
|
||||
min-width: 15px;
|
||||
border: 1px solid #E2E2E2;
|
||||
|
||||
}
|
||||
.page span{
|
||||
display: inline-block;
|
||||
padding: 10px;
|
||||
min-width: 15px;
|
||||
border: 1px solid #E2E2E2;
|
||||
}
|
||||
.page span.current{
|
||||
display: inline-block;
|
||||
background: #009688 url(#) 0 0 no-repeat;
|
||||
color: #fff;
|
||||
padding: 10px;
|
||||
min-width: 15px;
|
||||
border: 1px solid #009688;
|
||||
}
|
||||
.page .pagination li{
|
||||
display: inline-block;
|
||||
margin-right: 5px;
|
||||
text-align: center;
|
||||
}
|
||||
.page .pagination li.active span{
|
||||
background: #009688 url(#) 0 0 no-repeat;
|
||||
color: #fff;
|
||||
border: 1px solid #009688;
|
||||
|
||||
}
|
||||
|
||||
/*登录样式*/
|
||||
/*头部*/
|
||||
.container{
|
||||
width: 100%;
|
||||
height: 45px;
|
||||
background-color: #222;
|
||||
border-bottom: 1px solid rgba(255, 255, 255, 0.2);
|
||||
}
|
||||
.container .logo a{
|
||||
float: left;
|
||||
color: #fff;
|
||||
font-size: 18px;
|
||||
padding-left: 20px;
|
||||
line-height: 45px;
|
||||
width: 200px;
|
||||
}
|
||||
.container .right{
|
||||
background-color:rgba(0,0,0,0);
|
||||
float: right;
|
||||
|
||||
}
|
||||
.container .left_open{
|
||||
height: 45px;
|
||||
float: left;
|
||||
}
|
||||
.container .left_open i{
|
||||
display: block;
|
||||
background: rgba(255,255,255,0.1) url(#) 0 0 no-repeat;
|
||||
color: #fff;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
line-height: 32px;
|
||||
border-radius: 3px;
|
||||
text-align: center;
|
||||
margin-top: 7px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.container .left_open i:hover{
|
||||
background: rgba(255,255,255,0.3) url(#) 0 0 no-repeat;
|
||||
}
|
||||
|
||||
.container .left{
|
||||
background-color:rgba(0,0,0,0);
|
||||
float: left;
|
||||
|
||||
}
|
||||
.container .layui-nav-item{
|
||||
line-height: 45px;
|
||||
}
|
||||
.container .layui-nav-more{
|
||||
top: 20px;
|
||||
}
|
||||
.container .layui-nav-child{
|
||||
top: 50px;
|
||||
}
|
||||
.container .layui-nav-child i{
|
||||
margin-right: 10px;
|
||||
}
|
||||
.layui-nav .layui-nav-item a{
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
}
|
||||
.layui-nav .layui-nav-child a{
|
||||
color: #333;
|
||||
cursor: pointer;
|
||||
}
|
||||
.left-nav{
|
||||
position: absolute;
|
||||
top: 46px;
|
||||
bottom: 42px;
|
||||
left: 0;
|
||||
z-index: 2;
|
||||
padding-top: 10px;
|
||||
background-color: #EEEEEE;
|
||||
width: 220px;
|
||||
max-width: 220px;
|
||||
overflow: auto;
|
||||
overflow-x:hidden;
|
||||
border-right: 1px solid #e5e5e5;
|
||||
|
||||
/*width: 0px;*/
|
||||
}
|
||||
.left-nav #nav li{
|
||||
border-bottom: 1px solid #e5e5e5;
|
||||
}
|
||||
.left-nav #nav li:hover > a{
|
||||
/*color: blue;*/
|
||||
}
|
||||
.left-nav #nav .current{
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
.left-nav #nav li a{
|
||||
font-size: 14px;
|
||||
padding: 10px 15px 10px 20px;
|
||||
display: block;
|
||||
cursor: pointer;
|
||||
}
|
||||
.left-nav #nav li a cite{
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.left-nav #nav li .sub-menu{
|
||||
display: none;
|
||||
}
|
||||
.left-nav #nav li .opened{
|
||||
display: block;
|
||||
}
|
||||
.left-nav #nav li .opened:hover{
|
||||
/*background: #fff url() 0 0 no-repeat;*/
|
||||
}
|
||||
.left-nav #nav li .opened .current{
|
||||
|
||||
}
|
||||
.left-nav #nav li .sub-menu li:hover{
|
||||
/*color: blue;*/
|
||||
/*background: #fff url() 0 0 no-repeat;*/
|
||||
}
|
||||
.left-nav #nav li .sub-menu li a{
|
||||
padding: 12px 15px 12px 30px;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.left-nav #nav li .sub-menu li .sub-menu li a{
|
||||
padding-left: 45px;
|
||||
}
|
||||
.left-nav #nav li .sub-menu li a:hover{
|
||||
color: #148cf1;
|
||||
}
|
||||
.left-nav #nav li .sub-menu li a i{
|
||||
font-size: 12px;
|
||||
}
|
||||
.left-nav #nav li a i{
|
||||
padding-right: 10px;
|
||||
line-height: 14px;
|
||||
}
|
||||
.left-nav #nav li .nav_right{
|
||||
float: right;
|
||||
font-size: 16px;
|
||||
}
|
||||
.x-slide_left {
|
||||
width: 17px;
|
||||
height: 61px;
|
||||
background: url(#) 0 0 no-repeat;
|
||||
position: absolute;
|
||||
top: 200px;
|
||||
left: 221px;
|
||||
cursor: pointer;
|
||||
z-index: 3;
|
||||
}
|
||||
.page-content{
|
||||
position: absolute;
|
||||
top: 46px;
|
||||
right: 0;
|
||||
bottom: 42px;
|
||||
left: 221px;
|
||||
overflow: hidden;
|
||||
z-index: 1;
|
||||
}
|
||||
.page-content-bg{
|
||||
position: absolute;
|
||||
top: 46px;
|
||||
right: 0;
|
||||
bottom: 42px;
|
||||
left: 221px;
|
||||
background: rgba(0,0,0,0.5); url() 0 0 no-repeat;
|
||||
overflow: hidden;
|
||||
z-index: 100;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.page-content .tab{
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
background: #EFEEF0 url(#) 0 0 no-repeat;
|
||||
margin: 0px;
|
||||
}
|
||||
.page-content .layui-tab-title{
|
||||
/*padding-top: 5px;*/
|
||||
height: 35px;
|
||||
background: #EFEEF0 url(#) 0 0 no-repeat;
|
||||
position: relative;
|
||||
z-index: 100;
|
||||
}
|
||||
.page-content .layui-tab-title li.home i{
|
||||
padding-right: 5px;
|
||||
}
|
||||
.page-content .layui-tab-title li.home .layui-tab-close{
|
||||
display: none;
|
||||
}
|
||||
.page-content .layui-tab-title li{
|
||||
line-height: 35px;
|
||||
}
|
||||
.page-content .layui-tab-title .layui-this:after{
|
||||
height: 36px;
|
||||
}
|
||||
.page-content .layui-tab-title li .layui-tab-close{
|
||||
border-radius: 50%;
|
||||
}
|
||||
.page-content .layui-tab-title .layui-this{
|
||||
background: #fff url(#) 0 0 no-repeat;
|
||||
}
|
||||
.page-content .layui-tab-bar{
|
||||
height:34px;
|
||||
line-height: 35px;
|
||||
}
|
||||
.page-content .layui-tab-content{
|
||||
position: absolute;
|
||||
top: 36px;
|
||||
bottom: 0px;
|
||||
width: 100%;
|
||||
background: #fff url(#) 0 0 no-repeat;
|
||||
padding: 0px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.page-content .layui-tab-content .layui-tab-item{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
}
|
||||
.page-content .layui-tab-content .layui-tab-item iframe{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
}
|
||||
.x-admin-carousel,.layui-carousel,.x-admin-carousel>[carousel-item]>* {
|
||||
background-color:#fff
|
||||
}
|
||||
|
||||
.x-admin-backlog .x-admin-backlog-body {
|
||||
display:block;
|
||||
padding:10px 15px;
|
||||
background-color:#f8f8f8;
|
||||
color:#999;
|
||||
border-radius:2px;
|
||||
transition:all .3s;
|
||||
-webkit-transition:all .3s
|
||||
}
|
||||
.x-admin-backlog-body h3 {
|
||||
padding-bottom:10px;
|
||||
font-size:12px
|
||||
}
|
||||
.x-admin-backlog-body p cite {
|
||||
font-style:normal;
|
||||
font-size:30px;
|
||||
font-weight:300;
|
||||
color:#009688
|
||||
}
|
||||
.x-admin-backlog-body:hover {
|
||||
background-color:#CFCFCF;
|
||||
color:#888
|
||||
}
|
||||
|
||||
.welcome-footer{padding: 30px 0; line-height: 30px; text-align: center; background-color: #eee; color: #666; font-weight: 300;}
|
||||
body .layui-layout-admin .footer-demo{height: auto; padding: 15px 0; line-height: 26px;}
|
||||
.welcome-footer a{padding: 0 5px;}
|
||||
|
||||
table th, table td {
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
.footer{
|
||||
position: fixed;
|
||||
bottom: 0px;
|
||||
width: 100%;
|
||||
background-color: #222;
|
||||
border-top: 1px solid rgba(255, 255, 255, 0.2);
|
||||
line-height: 41px;
|
||||
color: #fff;
|
||||
/*padding-left: 10px;*/
|
||||
}
|
||||
.footer .copyright{
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
|
||||
@media screen and (max-width: 768px){
|
||||
.fast-add{
|
||||
display: none;
|
||||
}
|
||||
.layui-nav .to-index{
|
||||
display: none;
|
||||
}
|
||||
.container .logo a{
|
||||
width: 140px;
|
||||
}
|
||||
.container .left_open {
|
||||
/*float: right;*/
|
||||
}
|
||||
.left-nav{
|
||||
left: -221px;
|
||||
}
|
||||
.page-content{
|
||||
left: 0px;
|
||||
}
|
||||
.page-content .layui-tab-content .layui-tab-item{
|
||||
-webkit-overflow-scrolling: touch;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
.x-so input.layui-input{
|
||||
width: 100%;
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.layui-input{
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
After Width: | Height: | Size: 315 KiB |
After Width: | Height: | Size: 47 KiB |
After Width: | Height: | Size: 436 B |
After Width: | Height: | Size: 388 B |
After Width: | Height: | Size: 4.2 KiB |
After Width: | Height: | Size: 12 KiB |
@ -0,0 +1,16 @@
|
||||
<%--
|
||||
Created by IntelliJ IDEA.
|
||||
User: PeiChen
|
||||
Date: 2020/2/10
|
||||
Time: 10:01
|
||||
To change this template use File | Settings | File Templates.
|
||||
--%>
|
||||
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
|
||||
<html>
|
||||
<head>
|
||||
<title>首页</title>
|
||||
</head>
|
||||
<body>
|
||||
<jsp:include page="WEB-INF/jsp/login.jsp" />
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,210 @@
|
||||
/*
|
||||
* Author: Abdullah A Almsaeed
|
||||
* Date: 4 Jan 2014
|
||||
* Description:
|
||||
* This is a demo file used only for the main dashboard (index.html)
|
||||
**/
|
||||
|
||||
$(function () {
|
||||
|
||||
"use strict";
|
||||
|
||||
//Make the dashboard widgets sortable Using jquery UI
|
||||
$(".connectedSortable").sortable({
|
||||
placeholder: "sort-highlight",
|
||||
connectWith: ".connectedSortable",
|
||||
handle: ".box-header, .nav-tabs",
|
||||
forcePlaceholderSize: true,
|
||||
zIndex: 999999
|
||||
});
|
||||
$(".connectedSortable .box-header, .connectedSortable .nav-tabs-custom").css("cursor", "move");
|
||||
|
||||
//jQuery UI sortable for the todo list
|
||||
$(".todo-list").sortable({
|
||||
placeholder: "sort-highlight",
|
||||
handle: ".handle",
|
||||
forcePlaceholderSize: true,
|
||||
zIndex: 999999
|
||||
});
|
||||
|
||||
//bootstrap WYSIHTML5 - text editor
|
||||
$(".textarea").wysihtml5();
|
||||
|
||||
$('.daterange').daterangepicker({
|
||||
ranges: {
|
||||
'Today': [moment(), moment()],
|
||||
'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
|
||||
'Last 7 Days': [moment().subtract(6, 'days'), moment()],
|
||||
'Last 30 Days': [moment().subtract(29, 'days'), moment()],
|
||||
'This Month': [moment().startOf('month'), moment().endOf('month')],
|
||||
'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
|
||||
},
|
||||
startDate: moment().subtract(29, 'days'),
|
||||
endDate: moment()
|
||||
}, function (start, end) {
|
||||
window.alert("You chose: " + start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
|
||||
});
|
||||
|
||||
/* jQueryKnob */
|
||||
$(".knob").knob();
|
||||
|
||||
//jvectormap data
|
||||
var visitorsData = {
|
||||
"US": 398, //USA
|
||||
"SA": 400, //Saudi Arabia
|
||||
"CA": 1000, //Canada
|
||||
"DE": 500, //Germany
|
||||
"FR": 760, //France
|
||||
"CN": 300, //China
|
||||
"AU": 700, //Australia
|
||||
"BR": 600, //Brazil
|
||||
"IN": 800, //India
|
||||
"GB": 320, //Great Britain
|
||||
"RU": 3000 //Russia
|
||||
};
|
||||
//World map by jvectormap
|
||||
$('#world-map').vectorMap({
|
||||
map: 'world_mill_en',
|
||||
backgroundColor: "transparent",
|
||||
regionStyle: {
|
||||
initial: {
|
||||
fill: '#e4e4e4',
|
||||
"fill-opacity": 1,
|
||||
stroke: 'none',
|
||||
"stroke-width": 0,
|
||||
"stroke-opacity": 1
|
||||
}
|
||||
},
|
||||
series: {
|
||||
regions: [{
|
||||
values: visitorsData,
|
||||
scale: ["#92c1dc", "#ebf4f9"],
|
||||
normalizeFunction: 'polynomial'
|
||||
}]
|
||||
},
|
||||
onRegionLabelShow: function (e, el, code) {
|
||||
if (typeof visitorsData[code] != "undefined")
|
||||
el.html(el.html() + ': ' + visitorsData[code] + ' new visitors');
|
||||
}
|
||||
});
|
||||
|
||||
//Sparkline charts
|
||||
var myvalues = [1000, 1200, 920, 927, 931, 1027, 819, 930, 1021];
|
||||
$('#sparkline-1').sparkline(myvalues, {
|
||||
type: 'line',
|
||||
lineColor: '#92c1dc',
|
||||
fillColor: "#ebf4f9",
|
||||
height: '50',
|
||||
width: '80'
|
||||
});
|
||||
myvalues = [515, 519, 520, 522, 652, 810, 370, 627, 319, 630, 921];
|
||||
$('#sparkline-2').sparkline(myvalues, {
|
||||
type: 'line',
|
||||
lineColor: '#92c1dc',
|
||||
fillColor: "#ebf4f9",
|
||||
height: '50',
|
||||
width: '80'
|
||||
});
|
||||
myvalues = [15, 19, 20, 22, 33, 27, 31, 27, 19, 30, 21];
|
||||
$('#sparkline-3').sparkline(myvalues, {
|
||||
type: 'line',
|
||||
lineColor: '#92c1dc',
|
||||
fillColor: "#ebf4f9",
|
||||
height: '50',
|
||||
width: '80'
|
||||
});
|
||||
|
||||
//The Calender
|
||||
$("#calendar").datepicker();
|
||||
|
||||
//SLIMSCROLL FOR CHAT WIDGET
|
||||
$('#chat-box').slimScroll({
|
||||
height: '250px'
|
||||
});
|
||||
|
||||
/* Morris.js Charts */
|
||||
// Sales chart
|
||||
var area = new Morris.Area({
|
||||
element: 'revenue-chart',
|
||||
resize: true,
|
||||
data: [
|
||||
{y: '2011 Q1', item1: 2666, item2: 2666},
|
||||
{y: '2011 Q2', item1: 2778, item2: 2294},
|
||||
{y: '2011 Q3', item1: 4912, item2: 1969},
|
||||
{y: '2011 Q4', item1: 3767, item2: 3597},
|
||||
{y: '2012 Q1', item1: 6810, item2: 1914},
|
||||
{y: '2012 Q2', item1: 5670, item2: 4293},
|
||||
{y: '2012 Q3', item1: 4820, item2: 3795},
|
||||
{y: '2012 Q4', item1: 15073, item2: 5967},
|
||||
{y: '2013 Q1', item1: 10687, item2: 4460},
|
||||
{y: '2013 Q2', item1: 8432, item2: 5713}
|
||||
],
|
||||
xkey: 'y',
|
||||
ykeys: ['item1', 'item2'],
|
||||
labels: ['Item 1', 'Item 2'],
|
||||
lineColors: ['#a0d0e0', '#3c8dbc'],
|
||||
hideHover: 'auto'
|
||||
});
|
||||
var line = new Morris.Line({
|
||||
element: 'line-chart',
|
||||
resize: true,
|
||||
data: [
|
||||
{y: '2011 Q1', item1: 2666},
|
||||
{y: '2011 Q2', item1: 2778},
|
||||
{y: '2011 Q3', item1: 4912},
|
||||
{y: '2011 Q4', item1: 3767},
|
||||
{y: '2012 Q1', item1: 6810},
|
||||
{y: '2012 Q2', item1: 5670},
|
||||
{y: '2012 Q3', item1: 4820},
|
||||
{y: '2012 Q4', item1: 15073},
|
||||
{y: '2013 Q1', item1: 10687},
|
||||
{y: '2013 Q2', item1: 8432}
|
||||
],
|
||||
xkey: 'y',
|
||||
ykeys: ['item1'],
|
||||
labels: ['Item 1'],
|
||||
lineColors: ['#efefef'],
|
||||
lineWidth: 2,
|
||||
hideHover: 'auto',
|
||||
gridTextColor: "#fff",
|
||||
gridStrokeWidth: 0.4,
|
||||
pointSize: 4,
|
||||
pointStrokeColors: ["#efefef"],
|
||||
gridLineColor: "#efefef",
|
||||
gridTextFamily: "Open Sans",
|
||||
gridTextSize: 10
|
||||
});
|
||||
|
||||
//Donut Chart
|
||||
var donut = new Morris.Donut({
|
||||
element: 'sales-chart',
|
||||
resize: true,
|
||||
colors: ["#3c8dbc", "#f56954", "#00a65a"],
|
||||
data: [
|
||||
{label: "Download Sales", value: 12},
|
||||
{label: "In-Store Sales", value: 30},
|
||||
{label: "Mail-Order Sales", value: 20}
|
||||
],
|
||||
hideHover: 'auto'
|
||||
});
|
||||
|
||||
//Fix for charts under tabs
|
||||
$('.box ul.nav a').on('shown.bs.tab', function () {
|
||||
area.redraw();
|
||||
donut.redraw();
|
||||
line.redraw();
|
||||
});
|
||||
|
||||
/* The todo list plugin */
|
||||
$(".todo-list").todolist({
|
||||
onCheck: function (ele) {
|
||||
window.console.log("The element has been checked");
|
||||
return ele;
|
||||
},
|
||||
onUncheck: function (ele) {
|
||||
window.console.log("The element has been unchecked");
|
||||
return ele;
|
||||
}
|
||||
});
|
||||
|
||||
});
|
@ -0,0 +1,147 @@
|
||||
layui.define(['jquery', 'layer'], function (exports){
|
||||
var $ = layui.jquery;
|
||||
var chekedArr = {};
|
||||
var layfilter = {
|
||||
render:function(options){
|
||||
var url = options.url;
|
||||
var flag = true;
|
||||
//传入了地址,则直接将此地址覆盖
|
||||
if(url){
|
||||
$.getJSON(url,options.where,function(res){
|
||||
if(res.code == 0){
|
||||
var data = res.data;
|
||||
flase = true;
|
||||
layfilter.init(options,data);
|
||||
}else{
|
||||
layer.msg(res.msg||'查询过滤组件数据异常',{icon:2});
|
||||
flag = false
|
||||
}
|
||||
})
|
||||
}
|
||||
if(!flag){
|
||||
return;
|
||||
}
|
||||
},
|
||||
init:function(options,dataSource){
|
||||
var elem = options.elem;
|
||||
var $dom = $(elem);
|
||||
var itemWidth = options.itemWidth
|
||||
var arr = {};
|
||||
var $table = $('<table class="filterTable"></table>');
|
||||
for(var i=0;i<dataSource.length;i++){
|
||||
var $tr =$('<tr></tr>');
|
||||
var $td1 = $('<td class="item-title">'+dataSource[i].title+':</td>');
|
||||
var $td2 = $('<td class="items"></td>');
|
||||
var type = dataSource[i].type;
|
||||
if(!type){
|
||||
console.warn('第'+(i+1)+'个元素的类型[type]为空设为默认值[radio]');
|
||||
type = 'radio';
|
||||
}
|
||||
var $ul = $('<ul class="layfilter-ul" type="'+type+'" name="'+dataSource[i].name+'"></ul>');
|
||||
var width = itemWidth && itemWidth.length>0 ? (itemWidth.length>i ? itemWidth[i]:itemWidth[itemWidth.length-1]):80;
|
||||
arr[dataSource[i].name]=[];
|
||||
for(var j=0;j<dataSource[i].data.length;j++){
|
||||
var item = dataSource[i].data;
|
||||
var className = 'layfilter-item';
|
||||
if(item[j].checked && item[j].checked=='true'){
|
||||
className = "layfilter-item layfilter-item-checked";
|
||||
arr[dataSource[i].name].push({name:item[j].name,value:item[j].value});
|
||||
}
|
||||
//判断是否禁用
|
||||
if(item[j].disabled && item[j].disabled=='true'){
|
||||
$ul.append('<li value="'+item[j].value+'" style="width:'+width+'px;height: 28px;line-height: 28px;" class="'+className+'"><a disabled="disabled" class="layui-disabled">'+item[j].name+'</a></li>');
|
||||
}else{
|
||||
$ul.append('<li value="'+item[j].value+'" style="width:'+width+'px;height: 28px;line-height: 28px;" class="'+className+'"><a>'+item[j].name+'</a></li>');
|
||||
}
|
||||
|
||||
}
|
||||
$td2.append($ul);
|
||||
$tr.append($td1).append($td2);
|
||||
$table.append($tr);
|
||||
}
|
||||
$dom.append($table);
|
||||
chekedArr=arr;
|
||||
//注册点击事件
|
||||
$('.filterTable tr td li a').bind('click',function(){
|
||||
if($(this).attr('disabled')){
|
||||
return;
|
||||
}
|
||||
var itemType = $(this).parent().parent().attr('type');
|
||||
var name = $(this).parent().parent().attr('name');
|
||||
//取消选择
|
||||
if($(this).parent().hasClass('layfilter-item-checked')){
|
||||
$(this).parent().removeClass('layfilter-item-checked');
|
||||
var obj = chekedArr[name]||[];
|
||||
for(var i=0;i<obj.length;i++){
|
||||
if(obj[i].value==$(this).parent().attr('value')){
|
||||
obj.splice(i, 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
chekedArr[name] = obj;
|
||||
}else{
|
||||
if(itemType && ('checbox' == itemType || 'radio' == itemType)){
|
||||
//判断类型
|
||||
if('radio' == itemType){
|
||||
var objs = $(this).parent().siblings();
|
||||
chekedArr[name]=[];
|
||||
for(var i=0;i<objs.length;i++){
|
||||
objs.eq(i).removeClass('layfilter-item-checked');
|
||||
}
|
||||
}
|
||||
var obj = chekedArr[name]||[];
|
||||
obj.push({name:$(this).text(),value:$(this).parent().attr('value')});
|
||||
chekedArr[name]=obj;
|
||||
$(this).parent().addClass('layfilter-item-checked');
|
||||
}else{
|
||||
console.error('复选或单选类型为空?');
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
getValue:function(callback){
|
||||
var obj = getCheckData();
|
||||
callback.call(this,obj);
|
||||
},
|
||||
on:function(filter,callback){
|
||||
var f = filter.substring(0,filter.indexOf('('));
|
||||
var e = filter.substring(filter.indexOf('(')+1,filter.length-1);
|
||||
if(typeof callback === "function"){
|
||||
$("[lay-filter='"+e+"']").on(f,function(){
|
||||
var obj = getCheckData();
|
||||
|
||||
callback.call(this,obj);
|
||||
});
|
||||
}else{
|
||||
console.error('传入的参数不是一个函数');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
layui.link(layui.cache.base + 'layfilter/layfilter.css');
|
||||
|
||||
function getCheckData(){
|
||||
var valueJson = {};
|
||||
var nameJson = {};
|
||||
for(var name in chekedArr){
|
||||
var json = chekedArr[name];
|
||||
var values = '';
|
||||
var names = '';
|
||||
for(var i=0;i<json.length;i++){
|
||||
if(i!=json.length-1){
|
||||
values+=json[i].value+",";
|
||||
names +=json[i].name+",";
|
||||
}else{
|
||||
values+=json[i].value;
|
||||
names +=json[i].name;
|
||||
}
|
||||
|
||||
}
|
||||
valueJson[name]=values;
|
||||
nameJson[name]=names;
|
||||
}
|
||||
return {values:valueJson,names:nameJson};
|
||||
}
|
||||
|
||||
exports('layfilter', layfilter);
|
||||
})
|
@ -0,0 +1,12 @@
|
||||
$(function () {
|
||||
|
||||
//登陆表单css间距设置
|
||||
function editcss() {
|
||||
var input1 = document.getElementsByTagName("input")[0];
|
||||
var input2 = document.getElementsByTagName("input")[1];
|
||||
input1.style.paddingLeft=40;
|
||||
input2.style.paddingLeft=40;
|
||||
}
|
||||
editcss();
|
||||
|
||||
});
|
@ -0,0 +1,581 @@
|
||||
;!function (win) {
|
||||
"use strict";
|
||||
var doc = document
|
||||
|
||||
,Xadmin = function(){
|
||||
this.v = '2.2'; //版本号
|
||||
}
|
||||
|
||||
Xadmin.prototype.init = function() {
|
||||
var tab_list = this.get_data();
|
||||
for(var i in tab_list){
|
||||
this.add_lay_tab(tab_list[i].title,tab_list[i].url,i);
|
||||
}
|
||||
element.tabChange('xbs_tab', i);
|
||||
};
|
||||
/**
|
||||
* [end 执行结束要做的]
|
||||
* @return {[type]} [description]
|
||||
*/
|
||||
Xadmin.prototype.end = function() {
|
||||
|
||||
var cate_list = this.get_cate_data();
|
||||
|
||||
for(var i in cate_list){
|
||||
if(cate_list[i]!=null){
|
||||
$('.left-nav #nav li').eq(cate_list[i]).click();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Xadmin.prototype.add_tab = function (title,url,is_refresh) {
|
||||
var id = md5(url);//md5每个url
|
||||
|
||||
//重复点击
|
||||
for (var i = 0; i <$('.x-iframe').length; i++) {
|
||||
if($('.x-iframe').eq(i).attr('tab-id')==id){
|
||||
element.tabChange('xbs_tab', id);
|
||||
if(is_refresh)
|
||||
$('.x-iframe').eq(i).attr("src",$('.x-iframe').eq(i).attr('src'));
|
||||
return;
|
||||
}
|
||||
};
|
||||
|
||||
this.add_lay_tab(title,url,id);
|
||||
this.set_data(title,url,id);
|
||||
element.tabChange('xbs_tab', id);
|
||||
|
||||
}
|
||||
|
||||
Xadmin.prototype.del_tab = function (id) {
|
||||
|
||||
if(id){
|
||||
console.log(88);
|
||||
}else{
|
||||
var id = $(window.frameElement).attr('tab-id');
|
||||
parent.element.tabDelete('xbs_tab', id);
|
||||
}
|
||||
}
|
||||
|
||||
Xadmin.prototype.add_lay_tab = function(title,url,id) {
|
||||
element.tabAdd('xbs_tab', {
|
||||
title: title
|
||||
,content: '<iframe tab-id="'+id+'" frameborder="0" src="'+url+'" scrolling="yes" class="x-iframe"></iframe>'
|
||||
,id: id
|
||||
})
|
||||
}
|
||||
/**
|
||||
* [open 打开弹出层]
|
||||
* @param {[type]} title [弹出层标题]
|
||||
* @param {[type]} url [弹出层地址]
|
||||
* @return {[type]} [description]
|
||||
*/
|
||||
Xadmin.prototype.open = function (title, url) {
|
||||
if (title == null || title == '') {
|
||||
var title=false;
|
||||
};
|
||||
if (url == null || url == '') {
|
||||
var url="404.html";
|
||||
};
|
||||
if (w == null || w == '') {
|
||||
var w=($(window).width()*0.9);
|
||||
};
|
||||
if (h == null || h == '') {
|
||||
var h=($(window).height() - 50);
|
||||
};
|
||||
var index = layer.open({
|
||||
type: 2,
|
||||
area: [w+'px', h +'px'],
|
||||
fix: false, //不固定
|
||||
maxmin: true,
|
||||
shadeClose: true,
|
||||
shade:0.4,
|
||||
title: title,
|
||||
content: url
|
||||
});
|
||||
if(full){
|
||||
layer.full(index);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* [close 关闭弹出层]
|
||||
* @return {[type]} [description]
|
||||
*/
|
||||
Xadmin.prototype.close = function() {
|
||||
var index = parent.layer.getFrameIndex(window.name);
|
||||
parent.layer.close(index);
|
||||
};
|
||||
/**
|
||||
* [close 关闭弹出层父窗口关闭]
|
||||
* @return {[type]} [description]
|
||||
*/
|
||||
Xadmin.prototype.father_reload = function() {
|
||||
parent.location.reload();
|
||||
};
|
||||
/**
|
||||
* [get_data 获取所有项]
|
||||
* @return {[type]} [description]
|
||||
*/
|
||||
Xadmin.prototype.get_data = function () {
|
||||
if(typeof is_remember!="undefined")
|
||||
return false;
|
||||
return layui.data('tab_list')
|
||||
}
|
||||
/**
|
||||
* [set_data 增加某一项]
|
||||
* @param {[type]} id [description]
|
||||
*/
|
||||
Xadmin.prototype.set_data = function(title,url,id) {
|
||||
|
||||
if(typeof is_remember!="undefined")
|
||||
return false;
|
||||
|
||||
layui.data('tab_list', {
|
||||
key: id
|
||||
,value: {title:title,url:url}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* [get_data 获取所有项]
|
||||
* @return {[type]} [description]
|
||||
*/
|
||||
Xadmin.prototype.get_cate_data = function () {
|
||||
if(typeof is_remember!="undefined")
|
||||
return false;
|
||||
return layui.data('cate')
|
||||
}
|
||||
/**
|
||||
* [set_data 增加某一项]
|
||||
* @param {[type]} id [description]
|
||||
*/
|
||||
Xadmin.prototype.set_cate_data = function(data) {
|
||||
|
||||
if(typeof is_remember!="undefined")
|
||||
return false;
|
||||
|
||||
layui.data('cate', data);
|
||||
};
|
||||
/**
|
||||
* [del_data 删除某一项]
|
||||
* @param {[type]} id [description]
|
||||
* @return {[type]} [description]
|
||||
*/
|
||||
Xadmin.prototype.del_data = function(id) {
|
||||
if(typeof is_remember!="undefined")
|
||||
return false;
|
||||
if(typeof id!="undefined"){
|
||||
layui.data('tab_list', {
|
||||
key: id
|
||||
,remove: true
|
||||
});
|
||||
}else{
|
||||
layui.data('tab_list',null);
|
||||
}
|
||||
};
|
||||
/**
|
||||
* [del_other_data 删除其它]
|
||||
* @param {[type]} id [description]
|
||||
* @return {[type]} [description]
|
||||
*/
|
||||
Xadmin.prototype.del_other_data = function(id) {
|
||||
if(typeof is_remember!="undefined")
|
||||
return false;
|
||||
var tab_list = this.get_data();
|
||||
|
||||
layui.data('tab_list',null);
|
||||
|
||||
layui.data('tab_list', {
|
||||
key: id
|
||||
,value: tab_list[id]
|
||||
});
|
||||
};
|
||||
win.xadmin = new Xadmin();
|
||||
|
||||
}(window);
|
||||
|
||||
layui.use(['layer','element','jquery'],function() {
|
||||
layer = layui.layer;
|
||||
element = layui.element;
|
||||
$ = layui.jquery;
|
||||
|
||||
|
||||
// 打开页面初始
|
||||
xadmin.init();
|
||||
|
||||
//关闭tab清除记忆
|
||||
element.on('tabDelete(xbs_tab)', function(data){
|
||||
var id = $(this).parent().attr('lay-id');
|
||||
xadmin.del_data(id);
|
||||
});
|
||||
//左侧菜单
|
||||
$('.left-nav #nav').on('click', 'li', function(event) {
|
||||
|
||||
if($(this).parent().attr('id')=='nav'){
|
||||
xadmin.set_cate_data({key:'f1',value:$('.left-nav #nav li').index($(this))})
|
||||
xadmin.set_cate_data({key:'f2',value:null})
|
||||
xadmin.set_cate_data({key:'f3',value:null})
|
||||
}
|
||||
|
||||
if($(this).parent().parent().parent().attr('id')=='nav'){
|
||||
xadmin.set_cate_data({key:'f2',value:$('.left-nav #nav li').index($(this))})
|
||||
xadmin.set_cate_data({key:'f3',value:null})
|
||||
}
|
||||
|
||||
if($(this).parent().parent().parent().parent().parent().attr('id')=='nav'){
|
||||
xadmin.set_cate_data({key:'f3',value:$('.left-nav #nav li').index($(this))})
|
||||
}
|
||||
|
||||
|
||||
|
||||
if($('.left-nav').css('width')=='60px'){
|
||||
$('.left-nav').animate({width: '220px'}, 100);
|
||||
$('.page-content').animate({left: '220px'}, 100);
|
||||
$('.left-nav i').css('font-size','14px');
|
||||
$('.left-nav cite,.left-nav .nav_right').show();
|
||||
}
|
||||
|
||||
if($(window).width()<768){
|
||||
$('.page-content-bg').show();
|
||||
}
|
||||
|
||||
$('.left-nav').find('a').removeClass('active');
|
||||
$(this).children('a').addClass('active');
|
||||
if($(this).children('.sub-menu').length){
|
||||
if($(this).hasClass('open')){
|
||||
$(this).removeClass('open');
|
||||
$(this).find('.nav_right').html('');
|
||||
$(this).children('.sub-menu').stop(true,true).slideUp();
|
||||
$(this).siblings().children('.sub-menu').slideUp();
|
||||
}else{
|
||||
$(this).addClass('open');
|
||||
$(this).children('a').find('.nav_right').html('');
|
||||
$(this).children('.sub-menu').stop(true,true).slideDown();
|
||||
$(this).siblings().children('.sub-menu').stop(true,true).slideUp();
|
||||
$(this).siblings().find('.nav_right').html('');
|
||||
$(this).siblings().removeClass('open');
|
||||
}
|
||||
}
|
||||
event.stopPropagation();
|
||||
})
|
||||
var left_tips_index = null;
|
||||
$('.left-nav #nav').on('mouseenter', '.left-nav-li', function(event) {
|
||||
if($('.left-nav').css('width')!='220px'){
|
||||
var tips = $(this).attr('lay-tips');
|
||||
left_tips_index = layer.tips(tips, $(this));
|
||||
}
|
||||
})
|
||||
|
||||
$('.left-nav #nav').on('mouseout', '.left-nav-li', function(event) {
|
||||
layer.close(left_tips_index);
|
||||
})
|
||||
// 隐藏左侧
|
||||
$('.container .left_open i').click(function(event) {
|
||||
if($('.left-nav').css('width')=='220px'){
|
||||
$('.left-nav .open').click();
|
||||
$('.left-nav i').css('font-size','18px');
|
||||
$('.left-nav').animate({width: '60px'}, 100);
|
||||
$('.left-nav cite,.left-nav .nav_right').hide();
|
||||
$('.page-content').animate({left: '60px'}, 100);
|
||||
$('.page-content-bg').hide();
|
||||
}else{
|
||||
$('.left-nav').animate({width: '220px'}, 100);
|
||||
$('.page-content').animate({left: '220px'}, 100);
|
||||
$('.left-nav i').css('font-size','14px');
|
||||
$('.left-nav cite,.left-nav .nav_right').show();
|
||||
if($(window).width()<768){
|
||||
$('.page-content-bg').show();
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
$('.page-content-bg').click(function(event) {
|
||||
$('.left-nav .open').click();
|
||||
$('.left-nav i').css('font-size','18px');
|
||||
$('.left-nav').animate({width: '60px'}, 100);
|
||||
$('.left-nav cite,.left-nav .nav_right').hide();
|
||||
$('.page-content').animate({left: '60px'}, 100);
|
||||
$(this).hide();
|
||||
});
|
||||
|
||||
$(".layui-tab-title").on('contextmenu', 'li', function(event) {
|
||||
var tab_left = $(this).position().left;
|
||||
var tab_width = $(this).width();
|
||||
var left = $(this).position().top;
|
||||
var this_index = $(this).attr('lay-id');
|
||||
$('#tab_right').css({'left':tab_left+tab_width/2}).show().attr('lay-id',this_index);
|
||||
$('#tab_show').show();
|
||||
return false;
|
||||
});
|
||||
|
||||
$('#tab_right').on('click', 'dd', function(event) {
|
||||
var data_type = $(this).attr('data-type');
|
||||
var lay_id = $(this).parents('#tab_right').attr('lay-id');
|
||||
if(data_type=='this'){
|
||||
$('.layui-tab-title li[lay-id='+lay_id+']').find('.layui-tab-close').click();
|
||||
}else if(data_type=='other'){
|
||||
$('.layui-tab-title li').eq(0).find('.layui-tab-close').remove();
|
||||
$('.layui-tab-title li[lay-id!='+lay_id+']').find('.layui-tab-close').click();
|
||||
}else if(data_type=='all'){
|
||||
$('.layui-tab-title li[lay-id]').find('.layui-tab-close').click();
|
||||
}
|
||||
$('#tab_right').hide();
|
||||
$('#tab_show').hide();
|
||||
})
|
||||
|
||||
|
||||
$('.page-content,#tab_show,.container,.left-nav').click(function(event) {
|
||||
$('#tab_right').hide();
|
||||
$('#tab_show').hide();
|
||||
});
|
||||
|
||||
// 页面加载完要做的
|
||||
xadmin.end();
|
||||
})
|
||||
// md5-----------------------------------------------------------------------------------
|
||||
/*
|
||||
* Add integers, wrapping at 2^32. This uses 16-bit operations internally
|
||||
* to work around bugs in some JS interpreters.
|
||||
*/
|
||||
function safeAdd (x, y) {
|
||||
var lsw = (x & 0xffff) + (y & 0xffff)
|
||||
var msw = (x >> 16) + (y >> 16) + (lsw >> 16)
|
||||
return (msw << 16) | (lsw & 0xffff)
|
||||
}
|
||||
|
||||
/*
|
||||
* Bitwise rotate a 32-bit number to the left.
|
||||
*/
|
||||
function bitRotateLeft (num, cnt) {
|
||||
return (num << cnt) | (num >>> (32 - cnt))
|
||||
}
|
||||
|
||||
/*
|
||||
* These functions implement the four basic operations the algorithm uses.
|
||||
*/
|
||||
function md5cmn (q, a, b, x, s, t) {
|
||||
return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b)
|
||||
}
|
||||
function md5ff (a, b, c, d, x, s, t) {
|
||||
return md5cmn((b & c) | (~b & d), a, b, x, s, t)
|
||||
}
|
||||
function md5gg (a, b, c, d, x, s, t) {
|
||||
return md5cmn((b & d) | (c & ~d), a, b, x, s, t)
|
||||
}
|
||||
function md5hh (a, b, c, d, x, s, t) {
|
||||
return md5cmn(b ^ c ^ d, a, b, x, s, t)
|
||||
}
|
||||
function md5ii (a, b, c, d, x, s, t) {
|
||||
return md5cmn(c ^ (b | ~d), a, b, x, s, t)
|
||||
}
|
||||
|
||||
/*
|
||||
* Calculate the MD5 of an array of little-endian words, and a bit length.
|
||||
*/
|
||||
function binlMD5 (x, len) {
|
||||
/* append padding */
|
||||
x[len >> 5] |= 0x80 << (len % 32)
|
||||
x[((len + 64) >>> 9 << 4) + 14] = len
|
||||
|
||||
var i
|
||||
var olda
|
||||
var oldb
|
||||
var oldc
|
||||
var oldd
|
||||
var a = 1732584193
|
||||
var b = -271733879
|
||||
var c = -1732584194
|
||||
var d = 271733878
|
||||
|
||||
for (i = 0; i < x.length; i += 16) {
|
||||
olda = a
|
||||
oldb = b
|
||||
oldc = c
|
||||
oldd = d
|
||||
|
||||
a = md5ff(a, b, c, d, x[i], 7, -680876936)
|
||||
d = md5ff(d, a, b, c, x[i + 1], 12, -389564586)
|
||||
c = md5ff(c, d, a, b, x[i + 2], 17, 606105819)
|
||||
b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330)
|
||||
a = md5ff(a, b, c, d, x[i + 4], 7, -176418897)
|
||||
d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426)
|
||||
c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341)
|
||||
b = md5ff(b, c, d, a, x[i + 7], 22, -45705983)
|
||||
a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416)
|
||||
d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417)
|
||||
c = md5ff(c, d, a, b, x[i + 10], 17, -42063)
|
||||
b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162)
|
||||
a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682)
|
||||
d = md5ff(d, a, b, c, x[i + 13], 12, -40341101)
|
||||
c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290)
|
||||
b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329)
|
||||
|
||||
a = md5gg(a, b, c, d, x[i + 1], 5, -165796510)
|
||||
d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632)
|
||||
c = md5gg(c, d, a, b, x[i + 11], 14, 643717713)
|
||||
b = md5gg(b, c, d, a, x[i], 20, -373897302)
|
||||
a = md5gg(a, b, c, d, x[i + 5], 5, -701558691)
|
||||
d = md5gg(d, a, b, c, x[i + 10], 9, 38016083)
|
||||
c = md5gg(c, d, a, b, x[i + 15], 14, -660478335)
|
||||
b = md5gg(b, c, d, a, x[i + 4], 20, -405537848)
|
||||
a = md5gg(a, b, c, d, x[i + 9], 5, 568446438)
|
||||
d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690)
|
||||
c = md5gg(c, d, a, b, x[i + 3], 14, -187363961)
|
||||
b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501)
|
||||
a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467)
|
||||
d = md5gg(d, a, b, c, x[i + 2], 9, -51403784)
|
||||
c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473)
|
||||
b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734)
|
||||
|
||||
a = md5hh(a, b, c, d, x[i + 5], 4, -378558)
|
||||
d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463)
|
||||
c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562)
|
||||
b = md5hh(b, c, d, a, x[i + 14], 23, -35309556)
|
||||
a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060)
|
||||
d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353)
|
||||
c = md5hh(c, d, a, b, x[i + 7], 16, -155497632)
|
||||
b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640)
|
||||
a = md5hh(a, b, c, d, x[i + 13], 4, 681279174)
|
||||
d = md5hh(d, a, b, c, x[i], 11, -358537222)
|
||||
c = md5hh(c, d, a, b, x[i + 3], 16, -722521979)
|
||||
b = md5hh(b, c, d, a, x[i + 6], 23, 76029189)
|
||||
a = md5hh(a, b, c, d, x[i + 9], 4, -640364487)
|
||||
d = md5hh(d, a, b, c, x[i + 12], 11, -421815835)
|
||||
c = md5hh(c, d, a, b, x[i + 15], 16, 530742520)
|
||||
b = md5hh(b, c, d, a, x[i + 2], 23, -995338651)
|
||||
|
||||
a = md5ii(a, b, c, d, x[i], 6, -198630844)
|
||||
d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415)
|
||||
c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905)
|
||||
b = md5ii(b, c, d, a, x[i + 5], 21, -57434055)
|
||||
a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571)
|
||||
d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606)
|
||||
c = md5ii(c, d, a, b, x[i + 10], 15, -1051523)
|
||||
b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799)
|
||||
a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359)
|
||||
d = md5ii(d, a, b, c, x[i + 15], 10, -30611744)
|
||||
c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380)
|
||||
b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649)
|
||||
a = md5ii(a, b, c, d, x[i + 4], 6, -145523070)
|
||||
d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379)
|
||||
c = md5ii(c, d, a, b, x[i + 2], 15, 718787259)
|
||||
b = md5ii(b, c, d, a, x[i + 9], 21, -343485551)
|
||||
|
||||
a = safeAdd(a, olda)
|
||||
b = safeAdd(b, oldb)
|
||||
c = safeAdd(c, oldc)
|
||||
d = safeAdd(d, oldd)
|
||||
}
|
||||
return [a, b, c, d]
|
||||
}
|
||||
|
||||
/*
|
||||
* Convert an array of little-endian words to a string
|
||||
*/
|
||||
function binl2rstr (input) {
|
||||
var i
|
||||
var output = ''
|
||||
var length32 = input.length * 32
|
||||
for (i = 0; i < length32; i += 8) {
|
||||
output += String.fromCharCode((input[i >> 5] >>> (i % 32)) & 0xff)
|
||||
}
|
||||
return output
|
||||
}
|
||||
|
||||
/*
|
||||
* Convert a raw string to an array of little-endian words
|
||||
* Characters >255 have their high-byte silently ignored.
|
||||
*/
|
||||
function rstr2binl (input) {
|
||||
var i
|
||||
var output = []
|
||||
output[(input.length >> 2) - 1] = undefined
|
||||
for (i = 0; i < output.length; i += 1) {
|
||||
output[i] = 0
|
||||
}
|
||||
var length8 = input.length * 8
|
||||
for (i = 0; i < length8; i += 8) {
|
||||
output[i >> 5] |= (input.charCodeAt(i / 8) & 0xff) << (i % 32)
|
||||
}
|
||||
return output
|
||||
}
|
||||
|
||||
/*
|
||||
* Calculate the MD5 of a raw string
|
||||
*/
|
||||
function rstrMD5 (s) {
|
||||
return binl2rstr(binlMD5(rstr2binl(s), s.length * 8))
|
||||
}
|
||||
|
||||
/*
|
||||
* Calculate the HMAC-MD5, of a key and some data (raw strings)
|
||||
*/
|
||||
function rstrHMACMD5 (key, data) {
|
||||
var i
|
||||
var bkey = rstr2binl(key)
|
||||
var ipad = []
|
||||
var opad = []
|
||||
var hash
|
||||
ipad[15] = opad[15] = undefined
|
||||
if (bkey.length > 16) {
|
||||
bkey = binlMD5(bkey, key.length * 8)
|
||||
}
|
||||
for (i = 0; i < 16; i += 1) {
|
||||
ipad[i] = bkey[i] ^ 0x36363636
|
||||
opad[i] = bkey[i] ^ 0x5c5c5c5c
|
||||
}
|
||||
hash = binlMD5(ipad.concat(rstr2binl(data)), 512 + data.length * 8)
|
||||
return binl2rstr(binlMD5(opad.concat(hash), 512 + 128))
|
||||
}
|
||||
|
||||
/*
|
||||
* Convert a raw string to a hex string
|
||||
*/
|
||||
function rstr2hex (input) {
|
||||
var hexTab = '0123456789abcdef'
|
||||
var output = ''
|
||||
var x
|
||||
var i
|
||||
for (i = 0; i < input.length; i += 1) {
|
||||
x = input.charCodeAt(i)
|
||||
output += hexTab.charAt((x >>> 4) & 0x0f) + hexTab.charAt(x & 0x0f)
|
||||
}
|
||||
return output
|
||||
}
|
||||
|
||||
/*
|
||||
* Encode a string as utf-8
|
||||
*/
|
||||
function str2rstrUTF8 (input) {
|
||||
return unescape(encodeURIComponent(input))
|
||||
}
|
||||
|
||||
/*
|
||||
* Take string arguments and return either raw or hex encoded strings
|
||||
*/
|
||||
function rawMD5 (s) {
|
||||
return rstrMD5(str2rstrUTF8(s))
|
||||
}
|
||||
function hexMD5 (s) {
|
||||
return rstr2hex(rawMD5(s))
|
||||
}
|
||||
function rawHMACMD5 (k, d) {
|
||||
return rstrHMACMD5(str2rstrUTF8(k), str2rstrUTF8(d))
|
||||
}
|
||||
function hexHMACMD5 (k, d) {
|
||||
return rstr2hex(rawHMACMD5(k, d))
|
||||
}
|
||||
|
||||
function md5 (string, key, raw) {
|
||||
if (!key) {
|
||||
if (!raw) {
|
||||
return hexMD5(string)
|
||||
}
|
||||
return rawMD5(string)
|
||||
}
|
||||
if (!raw) {
|
||||
return hexHMACMD5(key, string)
|
||||
}
|
||||
return rawHMACMD5(key, string)
|
||||
}
|
@ -0,0 +1,2 @@
|
||||
/*! layer mobile-v2.0.0 Web弹层组件 MIT License http://layer.layui.com/mobile By 贤心 */
|
||||
;!function(e){"use strict";var t=document,n="querySelectorAll",i="getElementsByClassName",a=function(e){return t[n](e)},s={type:0,shade:!0,shadeClose:!0,fixed:!0,anim:"scale"},l={extend:function(e){var t=JSON.parse(JSON.stringify(s));for(var n in e)t[n]=e[n];return t},timer:{},end:{}};l.touch=function(e,t){e.addEventListener("click",function(e){t.call(this,e)},!1)};var r=0,o=["layui-m-layer"],c=function(e){var t=this;t.config=l.extend(e),t.view()};c.prototype.view=function(){var e=this,n=e.config,s=t.createElement("div");e.id=s.id=o[0]+r,s.setAttribute("class",o[0]+" "+o[0]+(n.type||0)),s.setAttribute("index",r);var l=function(){var e="object"==typeof n.title;return n.title?'<h3 style="'+(e?n.title[1]:"")+'">'+(e?n.title[0]:n.title)+"</h3>":""}(),c=function(){"string"==typeof n.btn&&(n.btn=[n.btn]);var e,t=(n.btn||[]).length;return 0!==t&&n.btn?(e='<span yes type="1">'+n.btn[0]+"</span>",2===t&&(e='<span no type="0">'+n.btn[1]+"</span>"+e),'<div class="layui-m-layerbtn">'+e+"</div>"):""}();if(n.fixed||(n.top=n.hasOwnProperty("top")?n.top:100,n.style=n.style||"",n.style+=" top:"+(t.body.scrollTop+n.top)+"px"),2===n.type&&(n.content='<i></i><i class="layui-m-layerload"></i><i></i><p>'+(n.content||"")+"</p>"),n.skin&&(n.anim="up"),"msg"===n.skin&&(n.shade=!1),s.innerHTML=(n.shade?"<div "+("string"==typeof n.shade?'style="'+n.shade+'"':"")+' class="layui-m-layershade"></div>':"")+'<div class="layui-m-layermain" '+(n.fixed?"":'style="position:static;"')+'><div class="layui-m-layersection"><div class="layui-m-layerchild '+(n.skin?"layui-m-layer-"+n.skin+" ":"")+(n.className?n.className:"")+" "+(n.anim?"layui-m-anim-"+n.anim:"")+'" '+(n.style?'style="'+n.style+'"':"")+">"+l+'<div class="layui-m-layercont">'+n.content+"</div>"+c+"</div></div></div>",!n.type||2===n.type){var d=t[i](o[0]+n.type),y=d.length;y>=1&&layer.close(d[0].getAttribute("index"))}document.body.appendChild(s);var u=e.elem=a("#"+e.id)[0];n.success&&n.success(u),e.index=r++,e.action(n,u)},c.prototype.action=function(e,t){var n=this;e.time&&(l.timer[n.index]=setTimeout(function(){layer.close(n.index)},1e3*e.time));var a=function(){var t=this.getAttribute("type");0==t?(e.no&&e.no(),layer.close(n.index)):e.yes?e.yes(n.index):layer.close(n.index)};if(e.btn)for(var s=t[i]("layui-m-layerbtn")[0].children,r=s.length,o=0;o<r;o++)l.touch(s[o],a);if(e.shade&&e.shadeClose){var c=t[i]("layui-m-layershade")[0];l.touch(c,function(){layer.close(n.index,e.end)})}e.end&&(l.end[n.index]=e.end)},e.layer={v:"2.0",index:r,open:function(e){var t=new c(e||{});return t.index},close:function(e){var n=a("#"+o[0]+e)[0];n&&(n.innerHTML="",t.body.removeChild(n),clearTimeout(l.timer[e]),delete l.timer[e],"function"==typeof l.end[e]&&l.end[e](),delete l.end[e])},closeAll:function(){for(var e=t[i](o[0]),n=0,a=e.length;n<a;n++)layer.close(0|e[0].getAttribute("index"))}},"function"==typeof define?define(function(){return layer}):function(){var e=document.scripts,n=e[e.length-1],i=n.src,a=i.substring(0,i.lastIndexOf("/")+1);n.getAttribute("merge")||document.head.appendChild(function(){var e=t.createElement("link");return e.href=a+"need/layer.css?2.0",e.type="text/css",e.rel="styleSheet",e.id="layermcss",e}())}()}(window);
|
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 701 B |
After Width: | Height: | Size: 1.7 KiB |
@ -0,0 +1,2 @@
|
||||
/** layui-v2.4.5 MIT License By https://www.layui.com */
|
||||
html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #e2e2e2;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:32px;line-height:32px;border-bottom:1px solid #e2e2e2}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none}
|
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 701 B |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 274 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 7.3 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 6.6 KiB |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 3.1 KiB |