diff --git a/knowledge-map/.gitignore b/knowledge-map/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..7bc4bf79e444c7f4865aeee0d17b2853a52941e7
--- /dev/null
+++ b/knowledge-map/.gitignore
@@ -0,0 +1,33 @@
+HELP.md
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
diff --git a/knowledge-map/README.md b/knowledge-map/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..3d131ece331d9f68eab82087d092ca52dc5c4c1a
--- /dev/null
+++ b/knowledge-map/README.md
@@ -0,0 +1,49 @@
+## website_new
+
+#### 介绍
+1、1230官网:
+重构openharmoney.cn网站首页,首页排版结构优化,及重构水平一级导航菜单结构:
+下载、学习(文档、学院、开发样例)、互动(新闻、博客、直播、活动、峰会)、
+社区(项目群管理制度、贡献攻略、找到兴趣组SIG、订阅邮件列表、社区成长路径、项目管理委员会(PMC))、
+兼容性认证(申请认证、认证结果)、关于我们(工作委员会、技术指导委员会、捐赠人)
+
+新增:
+OpenHarmoney会议日历
+最新活动、博客、新闻
+‘我们不断成长’统计数据
+通过OpenHarmoney兼容性认证的设备展示
+
+2、知识图谱:重构知识图谱模块,
+支持多级卡片查看开发样例,
+优化查看方式、快速抵达查看开发样例,
+
+
+#### 目录结构
+本仓库目录结构由如下3部分内容构成:
+
+knowledge: 知识图谱模块前端代码,采用vue开发
+
+openharmony:1230官网前端代码,采用vue开发
+
+sql:知识图谱、1230初始数据sql导入,采用mysql数据库导入
+
+src : 知识图谱、1230系统的java后端业务逻辑处理代码,采用springboot
+
+
+#### 快速上手体验
+
+
+#### 参与贡献
+
+1. Fork 本仓库
+2. 新建 Feat_xxx 分支
+3. 提交代码
+4. 新建 Pull Request
+
+#### FAQs
+
+ 待补充
+
+#### 相关仓
+
+[知识体系相关文档仓库](https://gitee.com/openharmony-sig/knowledge)
diff --git "a/knowledge-map/doc/\350\256\270\345\217\257\350\257\201\344\270\216\347\211\210\346\235\203\350\247\204\350\214\203.md" "b/knowledge-map/doc/\350\256\270\345\217\257\350\257\201\344\270\216\347\211\210\346\235\203\350\247\204\350\214\203.md"
new file mode 100644
index 0000000000000000000000000000000000000000..4ab7eae8aff5c1aef9f4586fcfe8ba10dc41ea3a
--- /dev/null
+++ "b/knowledge-map/doc/\350\256\270\345\217\257\350\257\201\344\270\216\347\211\210\346\235\203\350\247\204\350\214\203.md"
@@ -0,0 +1,89 @@
+#许可证与版权规范
+##目的
+````
+本规范明确了OpenHarmony社区的代码贡献者、Committer、PMC成员如何处理Repo及源代码文件的许可与版权声明,包括如下几个部分
+````
+1. LICENSE文件
+2. NOTICE文件
+3. 版权和许可头
+
+#范围
+````
+本规范仅适用于OpenHarmony社区,不适用于将OpenHarmony项目应用于个人或企业以开发其它产品的场景,也不适用分发第三方开源软件的场景(该场景参见第三方开源软件引入指导)。
+````
+##本文的改进和修订说明
+````
+1. 本文档由OpenHarmony PMC主导起草和维护。本文档的最新版本总可以在 这里 找到。
+2. 任何对于本文中涉及的规则的增加,修改,删除都必须被追踪,请进入该追踪系统。
+3. 最终规则经过社区充分的讨论后,由PMC定稿。
+````
+
+##LICENSE文件
+````
+1. 每个开源仓必须有清晰描述的许可证信息,且许可证必须与OpenHarmony整体许可证规则一致,如用户态开源仓使用Apache License 2.0许可协议,LiteOS内核态开源仓使用BSD 3-clause许可协议。
+2. 每个开源仓的许可证文件必须为纯文本格式,放置于代码仓的根目录,里面包含该许可的全文,并且以”LICENSE“命名,不用带".txt",".md"等后缀。
+3. 如果开源仓的不同源码包含多种许可证,请将主许可证描述在以”LICENSE“命名的文件中,其它许可证请以”LICENSE-许可证类型-备注“命名并放置于仓的根目录或该许可证对应源码的根目录,同时在主许可证中描述各许可证文件位置及其适用的范围与场景。
+4. 每个开源仓的许可证文件必须要涵盖该仓下所有文件,确保各许可证的涵盖范围描述准确、精简,并且不要包含不在本仓发布的其它源代码许可等不必要的信息,比如要单独下载的依赖软件的许可不要包含在仓和许可证信息中。
+如果开源仓在发布时以二进制形式发布,请确保许可证文件位于其发布格式的常规位置,如发布文件夹或压缩包的顶层目录,对于".jar"格式的文件,许可证可位于META-INF目录。
+````
+
+##NOTICE文件
+````
+1. 如分发的二进制文件中包含有第三方开源软件,请提供以“NOTICE”命名的文件,NOTICE文件以纯文本格式描述包含的所有第三方开源软件名称、软件版本、权利人声明、License信息
+2. NOTICE文件通常放置在发布文件夹或压缩包的顶层目录,对于".jar"格式的文件,许可证可位于META-INF目录。
+````
+##版权和许可头
+###1. 开源仓中的文件原则上都应当包含合适的版权和许可头声明,除非是如下几种场景:
+````
+添加版权和许可声明会影响到该文件的功能,如JSON文件因不支持注释,可不添加版权和许可头。
+工具生成的文件且包含说明该文件是由工具自动生成的描述信息。
+简短的供用户阅读的说明文件,添加版权许可头会影响其可读性和,如README等。
+````
+
+###2. 版权和许可头声明形式如下:
+
+````
+Copyright (C) [第一次发布年份]-[当前版本发布年份] [版权所有者]
+
+许可证头,以具体的许可证内容为准,如:
+
+Apache License Version 2.0许可头:
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+BSD-3-Clause 许可头:
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of
+ conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list
+ of conditions and the following disclaimer in the documentation and/or other materials
+ provided with the distribution.
+
+3. Neither the name of the copyright holder nor the names of its contributors may be used
+ to endorse or promote products derived from this software without specific prior written
+ permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+````
\ No newline at end of file
diff --git a/knowledge-map/mvnw b/knowledge-map/mvnw
new file mode 100644
index 0000000000000000000000000000000000000000..4c1c42714d3358a04dd65b3a82e4cfa463d7f073
--- /dev/null
+++ b/knowledge-map/mvnw
@@ -0,0 +1,310 @@
+#!/bin/sh
+# ----------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# ----------------------------------------------------------------------------
+
+# ----------------------------------------------------------------------------
+# Maven Start Up Batch script
+#
+# Required ENV vars:
+# ------------------
+# JAVA_HOME - location of a JDK home dir
+#
+# Optional ENV vars
+# -----------------
+# M2_HOME - location of maven2's installed home dir
+# MAVEN_OPTS - parameters passed to the Java VM when running Maven
+# e.g. to debug Maven itself, use
+# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+# ----------------------------------------------------------------------------
+
+if [ -z "$MAVEN_SKIP_RC" ] ; then
+
+ if [ -f /etc/mavenrc ] ; then
+ . /etc/mavenrc
+ fi
+
+ if [ -f "$HOME/.mavenrc" ] ; then
+ . "$HOME/.mavenrc"
+ fi
+
+fi
+
+# OS specific support. $var _must_ be set to either true or false.
+cygwin=false;
+darwin=false;
+mingw=false
+case "`uname`" in
+ CYGWIN*) cygwin=true ;;
+ MINGW*) mingw=true;;
+ Darwin*) darwin=true
+ # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
+ # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
+ if [ -z "$JAVA_HOME" ]; then
+ if [ -x "/usr/libexec/java_home" ]; then
+ export JAVA_HOME="`/usr/libexec/java_home`"
+ else
+ export JAVA_HOME="/Library/Java/Home"
+ fi
+ fi
+ ;;
+esac
+
+if [ -z "$JAVA_HOME" ] ; then
+ if [ -r /etc/gentoo-release ] ; then
+ JAVA_HOME=`java-config --jre-home`
+ fi
+fi
+
+if [ -z "$M2_HOME" ] ; then
+ ## resolve links - $0 may be a link to maven's home
+ PRG="$0"
+
+ # need this for relative symlinks
+ while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG="`dirname "$PRG"`/$link"
+ fi
+ done
+
+ saveddir=`pwd`
+
+ M2_HOME=`dirname "$PRG"`/..
+
+ # make it fully qualified
+ M2_HOME=`cd "$M2_HOME" && pwd`
+
+ cd "$saveddir"
+ # echo Using m2 at $M2_HOME
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME=`cygpath --unix "$M2_HOME"`
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+ [ -n "$CLASSPATH" ] &&
+ CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
+fi
+
+# For Mingw, ensure paths are in UNIX format before anything is touched
+if $mingw ; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME="`(cd "$M2_HOME"; pwd)`"
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
+fi
+
+if [ -z "$JAVA_HOME" ]; then
+ javaExecutable="`which javac`"
+ if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
+ # readlink(1) is not available as standard on Solaris 10.
+ readLink=`which readlink`
+ if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
+ if $darwin ; then
+ javaHome="`dirname \"$javaExecutable\"`"
+ javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
+ else
+ javaExecutable="`readlink -f \"$javaExecutable\"`"
+ fi
+ javaHome="`dirname \"$javaExecutable\"`"
+ javaHome=`expr "$javaHome" : '\(.*\)/bin'`
+ JAVA_HOME="$javaHome"
+ export JAVA_HOME
+ fi
+ fi
+fi
+
+if [ -z "$JAVACMD" ] ; then
+ if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ else
+ JAVACMD="`which java`"
+ fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+ echo "Error: JAVA_HOME is not defined correctly." >&2
+ echo " We cannot execute $JAVACMD" >&2
+ exit 1
+fi
+
+if [ -z "$JAVA_HOME" ] ; then
+ echo "Warning: JAVA_HOME environment variable is not set."
+fi
+
+CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
+
+# traverses directory structure from process work directory to filesystem root
+# first directory with .mvn subdirectory is considered project base directory
+find_maven_basedir() {
+
+ if [ -z "$1" ]
+ then
+ echo "Path not specified to find_maven_basedir"
+ return 1
+ fi
+
+ basedir="$1"
+ wdir="$1"
+ while [ "$wdir" != '/' ] ; do
+ if [ -d "$wdir"/.mvn ] ; then
+ basedir=$wdir
+ break
+ fi
+ # workaround for JBEAP-8937 (on Solaris 10/Sparc)
+ if [ -d "${wdir}" ]; then
+ wdir=`cd "$wdir/.."; pwd`
+ fi
+ # end of workaround
+ done
+ echo "${basedir}"
+}
+
+# concatenates all lines of a file
+concat_lines() {
+ if [ -f "$1" ]; then
+ echo "$(tr -s '\n' ' ' < "$1")"
+ fi
+}
+
+BASE_DIR=`find_maven_basedir "$(pwd)"`
+if [ -z "$BASE_DIR" ]; then
+ exit 1;
+fi
+
+##########################################################################################
+# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
+# This allows using the maven wrapper in projects that prohibit checking in binary data.
+##########################################################################################
+if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Found .mvn/wrapper/maven-wrapper.jar"
+ fi
+else
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
+ fi
+ if [ -n "$MVNW_REPOURL" ]; then
+ jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
+ else
+ jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
+ fi
+ while IFS="=" read key value; do
+ case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
+ esac
+ done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Downloading from: $jarUrl"
+ fi
+ wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
+ if $cygwin; then
+ wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"`
+ fi
+
+ if command -v wget > /dev/null; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Found wget ... using wget"
+ fi
+ if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
+ wget "$jarUrl" -O "$wrapperJarPath"
+ else
+ wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath"
+ fi
+ elif command -v curl > /dev/null; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Found curl ... using curl"
+ fi
+ if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
+ curl -o "$wrapperJarPath" "$jarUrl" -f
+ else
+ curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
+ fi
+
+ else
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Falling back to using Java to download"
+ fi
+ javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
+ # For Cygwin, switch paths to Windows format before running javac
+ if $cygwin; then
+ javaClass=`cygpath --path --windows "$javaClass"`
+ fi
+ if [ -e "$javaClass" ]; then
+ if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo " - Compiling MavenWrapperDownloader.java ..."
+ fi
+ # Compiling the Java class
+ ("$JAVA_HOME/bin/javac" "$javaClass")
+ fi
+ if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
+ # Running the downloader
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo " - Running MavenWrapperDownloader.java ..."
+ fi
+ ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
+ fi
+ fi
+ fi
+fi
+##########################################################################################
+# End of extension
+##########################################################################################
+
+export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
+if [ "$MVNW_VERBOSE" = true ]; then
+ echo $MAVEN_PROJECTBASEDIR
+fi
+MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME=`cygpath --path --windows "$M2_HOME"`
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
+ [ -n "$CLASSPATH" ] &&
+ CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
+ [ -n "$MAVEN_PROJECTBASEDIR" ] &&
+ MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
+fi
+
+# Provide a "standardized" way to retrieve the CLI args that will
+# work with both Windows and non-Windows executions.
+MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
+export MAVEN_CMD_LINE_ARGS
+
+WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+exec "$JAVACMD" \
+ $MAVEN_OPTS \
+ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
+ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
+ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
diff --git a/knowledge-map/mvnw.cmd b/knowledge-map/mvnw.cmd
new file mode 100644
index 0000000000000000000000000000000000000000..66db70c155042263431a5ce07021694de5bcbdb4
--- /dev/null
+++ b/knowledge-map/mvnw.cmd
@@ -0,0 +1,182 @@
+@REM ----------------------------------------------------------------------------
+@REM Licensed to the Apache Software Foundation (ASF) under one
+@REM or more contributor license agreements. See the NOTICE file
+@REM distributed with this work for additional information
+@REM regarding copyright ownership. The ASF licenses this file
+@REM to you under the Apache License, Version 2.0 (the
+@REM "License"); you may not use this file except in compliance
+@REM with the License. You may obtain a copy of the License at
+@REM
+@REM https://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing,
+@REM software distributed under the License is distributed on an
+@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+@REM KIND, either express or implied. See the License for the
+@REM specific language governing permissions and limitations
+@REM under the License.
+@REM ----------------------------------------------------------------------------
+
+@REM ----------------------------------------------------------------------------
+@REM Maven Start Up Batch script
+@REM
+@REM Required ENV vars:
+@REM JAVA_HOME - location of a JDK home dir
+@REM
+@REM Optional ENV vars
+@REM M2_HOME - location of maven2's installed home dir
+@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
+@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
+@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
+@REM e.g. to debug Maven itself, use
+@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+@REM ----------------------------------------------------------------------------
+
+@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
+@echo off
+@REM set title of command window
+title %0
+@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
+@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
+
+@REM set %HOME% to equivalent of $HOME
+if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
+
+@REM Execute a user defined script before this one
+if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
+@REM check for pre script, once with legacy .bat ending and once with .cmd ending
+if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
+if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
+:skipRcPre
+
+@setlocal
+
+set ERROR_CODE=0
+
+@REM To isolate internal variables from possible post scripts, we use another setlocal
+@setlocal
+
+@REM ==== START VALIDATION ====
+if not "%JAVA_HOME%" == "" goto OkJHome
+
+echo.
+echo Error: JAVA_HOME not found in your environment. >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+:OkJHome
+if exist "%JAVA_HOME%\bin\java.exe" goto init
+
+echo.
+echo Error: JAVA_HOME is set to an invalid directory. >&2
+echo JAVA_HOME = "%JAVA_HOME%" >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+@REM ==== END VALIDATION ====
+
+:init
+
+@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
+@REM Fallback to current working directory if not found.
+
+set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
+IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
+
+set EXEC_DIR=%CD%
+set WDIR=%EXEC_DIR%
+:findBaseDir
+IF EXIST "%WDIR%"\.mvn goto baseDirFound
+cd ..
+IF "%WDIR%"=="%CD%" goto baseDirNotFound
+set WDIR=%CD%
+goto findBaseDir
+
+:baseDirFound
+set MAVEN_PROJECTBASEDIR=%WDIR%
+cd "%EXEC_DIR%"
+goto endDetectBaseDir
+
+:baseDirNotFound
+set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
+cd "%EXEC_DIR%"
+
+:endDetectBaseDir
+
+IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
+
+@setlocal EnableExtensions EnableDelayedExpansion
+for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
+@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
+
+:endReadAdditionalConfig
+
+SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
+set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
+set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
+
+FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
+ IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
+)
+
+@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
+@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
+if exist %WRAPPER_JAR% (
+ if "%MVNW_VERBOSE%" == "true" (
+ echo Found %WRAPPER_JAR%
+ )
+) else (
+ if not "%MVNW_REPOURL%" == "" (
+ SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
+ )
+ if "%MVNW_VERBOSE%" == "true" (
+ echo Couldn't find %WRAPPER_JAR%, downloading it ...
+ echo Downloading from: %DOWNLOAD_URL%
+ )
+
+ powershell -Command "&{"^
+ "$webclient = new-object System.Net.WebClient;"^
+ "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
+ "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
+ "}"^
+ "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^
+ "}"
+ if "%MVNW_VERBOSE%" == "true" (
+ echo Finished downloading %WRAPPER_JAR%
+ )
+)
+@REM End of extension
+
+@REM Provide a "standardized" way to retrieve the CLI args that will
+@REM work with both Windows and non-Windows executions.
+set MAVEN_CMD_LINE_ARGS=%*
+
+%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
+if ERRORLEVEL 1 goto error
+goto end
+
+:error
+set ERROR_CODE=1
+
+:end
+@endlocal & set ERROR_CODE=%ERROR_CODE%
+
+if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
+@REM check for post script, once with legacy .bat ending and once with .cmd ending
+if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
+if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
+:skipRcPost
+
+@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
+if "%MAVEN_BATCH_PAUSE%" == "on" pause
+
+if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
+
+exit /B %ERROR_CODE%
diff --git a/knowledge-map/pom.xml b/knowledge-map/pom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..22cf0c7e1a1036648a7e7f0ceac9cc1ccbdb20ae
--- /dev/null
+++ b/knowledge-map/pom.xml
@@ -0,0 +1,258 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.0.6.RELEASE
+
+
+ com.chinasoft
+ KnowledgeMap
+ 2.0.6-dev
+ KnowledgeMap
+
+
+ UTF-8
+ UTF-8
+ 1.8
+
+
+
+
+
+ org.assertj
+ assertj-core
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-logging
+
+
+
+
+
+
+
+
+
+ org.apache.poi
+ poi
+ 4.1.2
+
+
+ org.apache.poi
+ poi-ooxml
+ 4.1.0
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.mybatis.spring.boot
+ mybatis-spring-boot-starter
+ 2.0.1
+
+
+ org.springframework.boot
+ spring-boot-starter-log4j
+ 1.3.8.RELEASE
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+ redis.clients
+ jedis
+ 2.9.0
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+
+
+
+ mysql
+ mysql-connector-java
+
+
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
+
+
+
+ com.alibaba
+ druid
+ 1.1.6
+
+
+
+ org.springframework.boot
+ spring-boot-starter-aop
+
+
+ com.alibaba
+ fastjson
+ 1.2.46
+
+
+
+ io.springfox
+ springfox-swagger2
+ 2.9.2
+
+
+ io.springfox
+ springfox-swagger-ui
+ 2.9.2
+
+
+ commons-lang
+ commons-lang
+ 2.6
+
+
+ javax.mail
+ mail
+ 1.4
+
+
+ org.quartz-scheduler
+ quartz
+ 2.2.1
+
+
+ org.quartz-scheduler
+ quartz-jobs
+ 2.2.1
+
+
+ org.springframework
+ spring-context-support
+
+
+ com.jcraft
+ jsch
+ 0.1.54
+
+
+ org.projectlombok
+ lombok
+ true
+
+
+
+ org.hibernate
+ hibernate-validator
+ 6.0.7.Final
+
+
+ org.springframework.restdocs
+ spring-restdocs-mockmvc
+ 1.1.2.RELEASE
+
+
+ io.springfox
+ springfox-staticdocs
+ 2.6.1
+
+
+ org.springframework.security
+ spring-security-crypto
+ 5.3.2.RELEASE
+
+
+ com.auth0
+ java-jwt
+ 3.8.2
+
+
+ com.github.penggle
+ kaptcha
+ 2.3.2
+
+
+ commons-codec
+ commons-codec
+ 1.10
+
+
+ org.apache.commons
+ commons-lang3
+ 3.3.2
+
+
+ javax.xml.bind
+ jaxb-api
+ 2.3.0
+
+
+ com.sun.xml.bind
+ jaxb-impl
+ 2.3.0
+
+
+ com.sun.xml.bind
+ jaxb-core
+ 2.3.0
+
+
+ javax.activation
+ activation
+ 1.1.1
+
+
+
+
+
+ org.apache.poi
+ poi
+ 3.8
+
+
+ org.apache.poi
+ poi-ooxml
+ 3.8
+
+
+ org.apache.poi
+ poi-scratchpad
+ 3.8
+
+
+ org.apache.poi
+ poi-ooxml-schemas
+ 3.8
+
+
+
+
+ signUp
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ true
+
+
+
+
+
+
+
+
+
diff --git a/knowledge-map/sql/KnowledgeMap.sql b/knowledge-map/sql/KnowledgeMap.sql
new file mode 100644
index 0000000000000000000000000000000000000000..a6ff8d98cff1a89cd3cac86fd3c1315922d3b90a
--- /dev/null
+++ b/knowledge-map/sql/KnowledgeMap.sql
@@ -0,0 +1,834 @@
+/*
+ Navicat Premium Data Transfer
+
+ Source Server : 139.159.252.23
+ Source Server Type : MySQL
+ Source Server Version : 50733
+ Source Host : 139.159.252.23:3306
+ Source Schema : knowledge_map
+
+ Target Server Type : MySQL
+ Target Server Version : 50733
+ File Encoding : 65001
+
+ Date: 26/01/2022 18:04:31
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for t_base_info
+-- ----------------------------
+DROP TABLE IF EXISTS `t_base_info`;
+CREATE TABLE `t_base_info` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `sampleId` int(11) NULL DEFAULT NULL,
+ `versionNo` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '开发版本号',
+ `deviceLevel` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '设备级别',
+ `sysVersion` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '系统版本',
+ `reserve1` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备份1',
+ `reserve2` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备份2',
+ `reserve3` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备份3',
+ `createTime` datetime(0) NULL DEFAULT NULL,
+ `updateTime` datetime(0) NULL DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 2624 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of t_base_info
+-- ----------------------------
+INSERT INTO `t_base_info` VALUES (2526, 2727, '小熊派BearPi-HM Nano开发板', '轻量系统', '1.1.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:00', NULL);
+INSERT INTO `t_base_info` VALUES (2527, 2728, '小熊派BearPi-HM Nano开发板', '轻量系统', '1.1.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:00', NULL);
+INSERT INTO `t_base_info` VALUES (2528, 2729, '小熊派BearPi-HM Nano开发板', '轻量系统', '1.1.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:00', NULL);
+INSERT INTO `t_base_info` VALUES (2529, 2730, '小熊派BearPi-HM Nano开发板', '轻量系统', '1.1.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:00', NULL);
+INSERT INTO `t_base_info` VALUES (2530, 2731, '小熊派BearPi-HM Nano开发板', '轻量系统', '1.1.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:00', NULL);
+INSERT INTO `t_base_info` VALUES (2531, 2732, '小熊派BearPi-HM Nano开发板', '轻量系统', '1.1.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:00', NULL);
+INSERT INTO `t_base_info` VALUES (2532, 2733, '小熊派BearPi-HM Nano开发板', '轻量系统', '1.1.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2533, 2734, '小熊派BearPi-HM Nano开发板', '轻量系统', '1.1.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2534, 2735, '小熊派BearPi-HM Nano开发板', '轻量系统', '1.1.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2535, 2736, '小熊派BearPi-HM Nano开发板', '轻量系统', '1.1.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2536, 2737, '润和Pegasus智能家居套件', '轻量系统', '1.0.1 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2537, 2738, '润和Pegasus智能家居套件', '轻量系统', '1.0.1 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2538, 2739, '大师兄开发板', '轻量系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2539, 2740, '润和Pegasus智能家居套件', '轻量系统', '1.0.1 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2540, 2741, '润和Pegasus智能家居套件', '轻量系统', '1.0.1 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2541, 2742, '润和Pegasus智能家居套件', '轻量系统', '1.0.1 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2542, 2743, '润和Pegasus智能家居套件', '轻量系统', '1.0.1 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2543, 2744, '润和Pegasus智能家居套件', '轻量系统', '1.0.1 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2544, 2745, '润和Pegasus智能家居套件', '轻量系统', '1.0.1 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2545, 2746, '润和Pegasus智能家居套件', '轻量系统', '1.0.1 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2546, 2747, '拓维信息 Niobe行业物联网开发套件', '轻量系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2547, 2748, '拓维信息 Niobe行业物联网开发套件', '轻量系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2548, 2749, '拓维信息 Niobe行业物联网开发套件', '轻量系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2549, 2750, '拓维信息 Niobe行业物联网开发套件', '轻量系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2550, 2751, '拓维信息 Niobe行业物联网开发套件', '轻量系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2551, 2752, '拓维信息 Niobe行业物联网开发套件', '轻量系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2552, 2753, '拓维信息 Niobe行业物联网开发套件', '轻量系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2553, 2754, '拓维信息 Niobe行业物联网开发套件', '轻量系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2554, 2755, '拓维信息 Niobe行业物联网开发套件', '轻量系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2555, 2756, '拓维信息 Niobe行业物联网开发套件', '轻量系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2556, 2757, '润和HiSpark Taurus AI Camera(Hi3516d)开发板套件', '标准系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2557, 2758, '润和HiSpark Taurus AI Camera(Hi3516d)开发板套件', '标准系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2558, 2759, '润和HiSpark Taurus AI Camera(Hi3516d)开发板套件', '标准系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2559, 2760, '润和HiSpark Taurus AI Camera(Hi3516d)开发板套件', '标准系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2560, 2761, '润和HiSpark Taurus AI Camera(Hi3516d)开发板套件', '标准系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2561, 2762, '润和HiSpark Taurus AI Camera(Hi3516d)开发板套件', '标准系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2562, 2763, '润和HiSpark Taurus AI Camera(Hi3516d)开发板套件', '标准系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2563, 2764, '润和HiSpark Taurus AI Camera(Hi3516d)开发板套件', '标准系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2564, 2765, '润和HiSpark Taurus AI Camera(Hi3516d)开发板套件', '标准系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2565, 2766, '润和HiSpark Taurus AI Camera(Hi3516d)开发板套件', '标准系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_base_info` VALUES (2566, 2767, '小熊派BearPi-HM Nano开发板', '轻量系统', '1.1.0 LTS', NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_base_info` VALUES (2567, 2768, 'Neptune开发板', '轻量系统', '1.1.0 LTS', NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_base_info` VALUES (2568, 2769, 'qemu模拟器', '轻量系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_base_info` VALUES (2569, 2770, 'qemu模拟器', '小型系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_base_info` VALUES (2570, 2771, '小熊派BearPi-HM Nano开发板', '轻量系统', '1.0.1 LTS', NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_base_info` VALUES (2571, 2772, '小熊派BearPi-HM Nano开发板', '轻量系统', '1.0.1 LTS', NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_base_info` VALUES (2572, 2773, '小熊派BearPi-HM Nano开发板', '轻量系统', '1.0.1 LTS', NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_base_info` VALUES (2573, 2774, '小熊派BearPi-HM Nano开发板', '轻量系统', '1.0.1 LTS', NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_base_info` VALUES (2574, 2775, '润和Pegasus智能家居套件', '轻量系统', '1.0.1 LTS', NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_base_info` VALUES (2575, 2776, '小熊派BearPi-HM Nano开发板', '轻量系统', '1.0.1 LTS', NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_base_info` VALUES (2576, 2777, '润和Pegasus智能家居套件', '轻量系统', '1.0.1 LTS', NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_base_info` VALUES (2577, 2778, '润和HiSpark Taurus AI Camera(Hi3516d)开发板套件', '小型系统', '1.0.1 LTS', NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_base_info` VALUES (2578, 2779, '小熊派BearPi-HM Nano开发板', '轻量系统', '1.0.1 LTS', NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_base_info` VALUES (2579, 2780, '小熊派BearPi-HM Nano开发板', '轻量系统', '1.0.1 LTS', NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_base_info` VALUES (2580, 2781, '小熊派BearPi-HM Nano开发板', '轻量系统', '1.0.1 LTS', NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_base_info` VALUES (2581, 2782, '润和HiSpark Taurus AI Camera(Hi3516d)开发板套件', '小型系统', '1.0.1 LTS', NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_base_info` VALUES (2582, 2783, '润和HiSpark Taurus AI Camera(Hi3516d)开发板套件', '小型系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_base_info` VALUES (2583, 2784, '润和HiSpark Taurus AI Camera(Hi3516d)开发板套件', '小型系统', '1.0.1 LTS', NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_base_info` VALUES (2584, 2785, '润和HiSpark Aries IPC 摄像头(Hi3518E)开发板套件', '小型系统', '1.0.1 LTS', NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_base_info` VALUES (2585, 2786, 'LYEVK-3861A 智能物联网开发板套件', '轻量系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_base_info` VALUES (2586, 2787, 'LYEVK-3861A 智能物联网开发板套件', '轻量系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_base_info` VALUES (2587, 2788, 'LYEVK-3861A 智能物联网开发板套件', '轻量系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_base_info` VALUES (2588, 2789, 'LYEVK-3861A 智能物联网开发板套件', '轻量系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_base_info` VALUES (2589, 2790, '欧智通科技有限公司Multi-modal V200Z-R开发板', '轻量系统', '3.1-Beta', NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_base_info` VALUES (2590, 2791, '欧智通科技有限公司Multi-modal V200Z-R开发板', '轻量系统', '3.1-Beta', NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_base_info` VALUES (2591, 2792, '全志XR806', '轻量系统', '3.1-Beta', NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_base_info` VALUES (2592, 2793, '全志XR806', '轻量系统', '3.1-Beta', NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_base_info` VALUES (2593, 2794, '润和Pegasus智能家居套件', '轻量系统', '3.1 Beta', NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_base_info` VALUES (2594, 2795, '润和HiSpark Taurus AI Camera(Hi3516d)开发板套件', '标准系统', '3.1 Beta', NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_base_info` VALUES (2595, 2795, '润和大禹系列HH-SCDAYU200开发套件', '标准系统', '3.1 Beta', NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_base_info` VALUES (2596, 2796, '润和HiSpark Taurus AI Camera(Hi3516d)开发板套件', '标准系统', '3.1 Beta', NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_base_info` VALUES (2597, 2796, '润和大禹系列HH-SCDAYU200开发套件', '标准系统', '3.1 Beta', NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_base_info` VALUES (2598, 2797, '润和HiSpark Taurus AI Camera(Hi3516d)开发板套件', '标准系统', '3.1 Beta', NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_base_info` VALUES (2599, 2797, '润和大禹系列HH-SCDAYU200开发套件', '标准系统', '3.1 Beta', NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_base_info` VALUES (2600, 2798, '润和HiSpark Taurus AI Camera(Hi3516d)开发板套件', '标准系统', '3.1 Beta', NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_base_info` VALUES (2601, 2798, '润和大禹系列HH-SCDAYU200开发套件', '标准系统', '3.1 Beta', NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_base_info` VALUES (2602, 2799, '润和HiSpark Taurus AI Camera(Hi3516d)开发板套件', '标准系统', '3.1 Beta', NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_base_info` VALUES (2603, 2799, '润和大禹系列HH-SCDAYU200开发套件', '标准系统', '3.1 Beta', NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_base_info` VALUES (2604, 2880, '润和HiSpark Taurus AI Camera(Hi3516d)开发板套件', '标准系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-17 17:17:35', NULL);
+INSERT INTO `t_base_info` VALUES (2605, 2881, 'Neptune开发板', '轻量系统', '1.1.0 LTS', NULL, NULL, NULL, '2022-01-19 10:28:58', NULL);
+INSERT INTO `t_base_info` VALUES (2606, 2882, '小熊派BearPi-HM Nano开发板', '轻量系统', '1.1.0 LTS', NULL, NULL, NULL, '2022-01-19 10:28:58', NULL);
+INSERT INTO `t_base_info` VALUES (2607, 2883, '小熊派BearPi-HM Nano开发板', '轻量系统', '1.1.0 LTS', NULL, NULL, NULL, '2022-01-19 10:28:58', NULL);
+INSERT INTO `t_base_info` VALUES (2608, 2884, '小熊派BearPi-HM Nano开发板', '轻量系统', '1.1.0 LTS', NULL, NULL, NULL, '2022-01-19 10:28:58', NULL);
+INSERT INTO `t_base_info` VALUES (2609, 2885, '小熊派BearPi-HM Nano开发板', '轻量系统', '1.1.0 LTS', NULL, NULL, NULL, '2022-01-19 10:28:58', NULL);
+INSERT INTO `t_base_info` VALUES (2610, 2886, '润和HiSpark Taurus AI Camera(Hi3516d)开发板套件', '标准系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-19 10:28:59', NULL);
+INSERT INTO `t_base_info` VALUES (2611, 2887, '润和HiSpark Taurus AI Camera(Hi3516d)开发板套件', '标准系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-19 10:28:59', NULL);
+INSERT INTO `t_base_info` VALUES (2612, 2888, '润和HiSpark Taurus AI Camera(Hi3516d)开发板套件', '标准系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-19 10:28:59', NULL);
+INSERT INTO `t_base_info` VALUES (2613, 2889, '润和HiSpark Taurus AI Camera(Hi3516d)开发板套件', '标准系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-19 10:28:59', NULL);
+INSERT INTO `t_base_info` VALUES (2614, 2890, '润和HiSpark Taurus AI Camera(Hi3516d)开发板套件', '标准系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-19 10:28:59', NULL);
+INSERT INTO `t_base_info` VALUES (2615, 2891, '润和HiSpark Taurus AI Camera(Hi3516d)开发板套件', '标准系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-19 10:28:59', NULL);
+INSERT INTO `t_base_info` VALUES (2616, 2892, '润和HiSpark Taurus AI Camera(Hi3516d)开发板套件', '标准系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-19 10:29:00', NULL);
+INSERT INTO `t_base_info` VALUES (2617, 2893, '润和HiSpark Taurus AI Camera(Hi3516d)开发板套件', '标准系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-19 10:29:00', NULL);
+INSERT INTO `t_base_info` VALUES (2618, 2894, '润和HiSpark Taurus AI Camera(Hi3516d)开发板套件', '标准系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-19 10:29:00', NULL);
+INSERT INTO `t_base_info` VALUES (2619, 2895, '润和HiSpark Taurus AI Camera(Hi3516d)开发板套件', '标准系统', '3.0 LTS', NULL, NULL, NULL, '2022-01-19 10:29:00', NULL);
+INSERT INTO `t_base_info` VALUES (2620, 2896, '小熊派BearPi-HM Nano开发板', '轻量系统', '1.1.0 LTS', NULL, NULL, NULL, '2022-01-19 11:31:41', NULL);
+INSERT INTO `t_base_info` VALUES (2621, 2897, '小熊派BearPi-HM Nano开发板', '轻量系统', '1.1.0 LTS', NULL, NULL, NULL, '2022-01-19 11:31:44', NULL);
+INSERT INTO `t_base_info` VALUES (2622, 2898, '小熊派BearPi-HM Nano开发板', '轻量系统', '1.1.0 LTS', NULL, NULL, NULL, '2022-01-19 11:31:45', NULL);
+INSERT INTO `t_base_info` VALUES (2623, 2899, '小熊派BearPi-HM Nano开发板', '轻量系统', '1.1.0 LTS', NULL, NULL, NULL, '2022-01-19 11:31:45', NULL);
+
+-- ----------------------------
+-- Table structure for t_bus_type
+-- ----------------------------
+DROP TABLE IF EXISTS `t_bus_type`;
+CREATE TABLE `t_bus_type` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `sort` int(11) NULL DEFAULT NULL COMMENT '排序',
+ `titleId` int(11) NULL DEFAULT NULL COMMENT '标题id',
+ `reserve1` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `reserve2` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `reserve3` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `createTime` datetime(0) NULL DEFAULT NULL,
+ `updateTime` datetime(0) NULL DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 223 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '业务类型' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of t_bus_type
+-- ----------------------------
+INSERT INTO `t_bus_type` VALUES (2, 'UI', 2, 1, NULL, NULL, NULL, '2021-12-22 16:54:05', NULL);
+INSERT INTO `t_bus_type` VALUES (3, '媒体', 3, 1, NULL, NULL, NULL, '2021-12-22 16:54:05', NULL);
+INSERT INTO `t_bus_type` VALUES (4, '数据管理', 4, 1, NULL, NULL, NULL, '2021-12-22 16:54:05', NULL);
+INSERT INTO `t_bus_type` VALUES (5, '设备管理', 5, 1, NULL, NULL, NULL, '2021-12-22 16:54:05', NULL);
+INSERT INTO `t_bus_type` VALUES (6, '网络与连接', 6, 1, NULL, NULL, NULL, '2021-12-22 16:54:05', NULL);
+INSERT INTO `t_bus_type` VALUES (7, '分布式能力', 7, 1, NULL, NULL, NULL, '2021-12-22 16:54:05', NULL);
+INSERT INTO `t_bus_type` VALUES (9, '内核', 2, 2, NULL, NULL, NULL, '2021-12-22 16:54:05', NULL);
+INSERT INTO `t_bus_type` VALUES (10, '驱动', 3, 2, NULL, NULL, NULL, '2021-12-22 16:54:05', NULL);
+INSERT INTO `t_bus_type` VALUES (11, '组件(Bundle)开发', 4, 2, NULL, NULL, NULL, '2021-12-22 16:54:05', NULL);
+INSERT INTO `t_bus_type` VALUES (12, '网络与连接', 5, 2, NULL, NULL, NULL, '2021-12-22 16:54:05', NULL);
+INSERT INTO `t_bus_type` VALUES (13, '子系统', 6, 2, NULL, NULL, NULL, '2021-12-22 16:54:05', NULL);
+INSERT INTO `t_bus_type` VALUES (14, '隐私与安全', 7, 2, NULL, NULL, NULL, '2021-12-22 16:54:05', NULL);
+INSERT INTO `t_bus_type` VALUES (15, 'SOC移植适配', 8, 2, NULL, NULL, NULL, '2021-12-22 16:54:05', NULL);
+
+-- ----------------------------
+-- Table structure for t_detail
+-- ----------------------------
+DROP TABLE IF EXISTS `t_detail`;
+CREATE TABLE `t_detail` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `typeId` int(11) NULL DEFAULT NULL COMMENT '类型:演示,开发板,深度文章,视频课程,官网资料,书箱',
+ `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '名称,如:演示,开发板,深度文章,视频课程,官网资料,书箱',
+ `url` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '链接',
+ `description` varchar(4000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述',
+ `sampleId` int(11) NULL DEFAULT NULL COMMENT '样例ID',
+ `sort` int(11) NULL DEFAULT NULL COMMENT '排序',
+ `reserve1` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `reserve2` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `reserve3` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `createTime` datetime(0) NULL DEFAULT NULL,
+ `updateTime` datetime(0) NULL DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 8164 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of t_detail
+-- ----------------------------
+INSERT INTO `t_detail` VALUES (8088, 5, NULL, 'https://toscode.gitee.com/bearpi/bearpi-hm_nano/blob/master/applications/BearPi/BearPi-HM_Nano/sample', 'BearPi-HM_Nano案例开发', 2767, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8089, 5, NULL, 'https://gitee.com/bearpi/bearpi-hm_nano/tree/master/applications/BearPi/BearPi-HM_Nano/docs/board', 'BearPi-HM Nano开发板原理图、芯片手册', 2767, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8090, 5, NULL, 'https://gitee.com/openharmony-sig/vendor_oh_fun/blob/master/hihope_neptune-oh_hid/02_%E6%93%8D%E4%BD%9C%E6%8C%87%E5%AF%BC%E6%96%87%E6%A1%A3/02_%E6%93%8D%E4%BD%9C%E6%8C%87%E5%AF%BC%E6%96%87%E6%A1%A3_%E9%80%82%E9%85%8D%E8%BD%AF%E4%BB%B6V0.3%E7%89%88%E6%9C%AC.md', '基于Neptune开发板的键盘蓝牙模块DIY指南', 2768, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8091, 5, NULL, 'https://gitee.com/openharmony/docs/blob/OpenHarmony-3.0-LTS/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861.md', '3861运行helloworld', 2769, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8092, 5, NULL, 'https://gitee.com/openharmony/device_qemu/tree/master/riscv32_virt\r\n', 'Qemu RISC-V virt 教程', 2769, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8093, 5, NULL, 'https://www.qemu.org/', 'QEMU官网 ', 2769, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8096, 5, NULL, 'https://www.qemu.org/', 'QEMU官网 ', 2770, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8097, 5, NULL, 'https://gitee.com/openharmony/device_qemu/tree/master/arm_virt/linux', 'Qemu ARM Virt 教程', 2770, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8098, 5, NULL, 'https://toscode.gitee.com/bearpi/bearpi-hm_nano/blob/master/applications/BearPi/BearPi-HM_Nano/sample', 'BearPi-HM_Nano案例开发', 2771, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8099, 5, NULL, 'https://gitee.com/bearpi/bearpi-hm_nano/tree/master/applications/BearPi/BearPi-HM_Nano/docs/board', 'BearPi-HM Nano开发板原理图、芯片手册', 2771, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8100, 5, NULL, 'https://toscode.gitee.com/bearpi/bearpi-hm_nano/blob/master/applications/BearPi/BearPi-HM_Nano/sample', 'BearPi-HM_Nano案例开发', 2772, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8101, 5, NULL, 'https://gitee.com/bearpi/bearpi-hm_nano/tree/master/applications/BearPi/BearPi-HM_Nano/docs/board', 'BearPi-HM Nano开发板原理图、芯片手册', 2772, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8102, 5, NULL, 'https://toscode.gitee.com/bearpi/bearpi-hm_nano/blob/master/applications/BearPi/BearPi-HM_Nano/sample', 'BearPi-HM_Nano案例开发', 2773, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8103, 5, NULL, 'https://gitee.com/bearpi/bearpi-hm_nano/tree/master/applications/BearPi/BearPi-HM_Nano/docs/board', 'BearPi-HM Nano开发板原理图、芯片手册', 2773, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8104, 5, NULL, 'https://toscode.gitee.com/bearpi/bearpi-hm_nano/blob/master/applications/BearPi/BearPi-HM_Nano/sample', 'BearPi-HM_Nano案例开发', 2774, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8105, 5, NULL, 'https://gitee.com/bearpi/bearpi-hm_nano/tree/master/applications/BearPi/BearPi-HM_Nano/docs/board', 'BearPi-HM Nano开发板原理图、芯片手册', 2774, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8106, 5, NULL, 'https://toscode.gitee.com/bearpi/bearpi-hm_nano/blob/master/applications/BearPi/BearPi-HM_Nano/sample', 'BearPi-HM_Nano案例开发', 2776, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8107, 5, NULL, 'https://gitee.com/bearpi/bearpi-hm_nano/tree/master/applications/BearPi/BearPi-HM_Nano/docs/board', 'BearPi-HM Nano开发板原理图、芯片手册', 2776, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8108, 2, NULL, 'https://gitee.com/openharmony/docs/blob/OpenHarmony-3.1-Beta/zh-cn/device-dev/quick-start/quickstart-standard-appendix-hi3516.md', '3516开发板介绍', 2778, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8109, 5, NULL, 'https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/get-code/sourcecode-acquire.md', 'OpenHarmony SDK获取 ', 2778, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8110, 5, NULL, 'https://toscode.gitee.com/bearpi/bearpi-hm_nano/blob/master/applications/BearPi/BearPi-HM_Nano/sample', 'BearPi-HM_Nano案例开发', 2779, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8111, 5, NULL, 'https://gitee.com/bearpi/bearpi-hm_nano/tree/master/applications/BearPi/BearPi-HM_Nano/docs/board', 'BearPi-HM Nano开发板原理图、芯片手册', 2779, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8112, 5, NULL, 'https://toscode.gitee.com/bearpi/bearpi-hm_nano/blob/master/applications/BearPi/BearPi-HM_Nano/sample', 'BearPi-HM_Nano案例开发', 2780, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8113, 5, NULL, 'https://gitee.com/bearpi/bearpi-hm_nano/tree/master/applications/BearPi/BearPi-HM_Nano/docs/board', 'BearPi-HM Nano开发板原理图、芯片手册', 2780, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8114, 5, NULL, 'https://toscode.gitee.com/bearpi/bearpi-hm_nano/blob/master/applications/BearPi/BearPi-HM_Nano/sample', 'BearPi-HM_Nano案例开发', 2781, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8115, 5, NULL, 'https://gitee.com/bearpi/bearpi-hm_nano/tree/master/applications/BearPi/BearPi-HM_Nano/docs/board', 'BearPi-HM Nano开发板原理图、芯片手册', 2781, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8116, 2, NULL, 'https://gitee.com/openharmony/docs/blob/OpenHarmony-3.1-Beta/zh-cn/device-dev/quick-start/quickstart-standard-appendix-hi3516.md', '3516开发板介绍', 2782, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8117, 5, NULL, 'https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/get-code/sourcecode-acquire.md', 'OpenHarmony SDK获取 ', 2782, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8118, 2, NULL, 'https://gitee.com/openharmony/docs/blob/OpenHarmony-3.1-Beta/zh-cn/device-dev/quick-start/quickstart-standard-appendix-hi3516.md', '3516开发板介绍', 2783, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8119, 5, NULL, 'https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/get-code/sourcecode-acquire.md', 'OpenHarmony SDK获取 ', 2783, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8120, 2, NULL, 'https://gitee.com/openharmony/docs/blob/OpenHarmony-3.1-Beta/zh-cn/device-dev/quick-start/quickstart-standard-appendix-hi3516.md', '3516开发板介绍', 2784, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8121, 5, NULL, 'https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/get-code/sourcecode-acquire.md', 'OpenHarmony SDK获取 ', 2784, NULL, NULL, NULL, NULL, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_detail` VALUES (8122, 5, NULL, 'https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/get-code/sourcecode-acquire.md', 'OpenHarmony SDK获取 ', 2785, NULL, NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_detail` VALUES (8123, 3, NULL, 'https://mp.weixin.qq.com/s/tM4YrDRECmyGRCBSvcF6vw', 'LYEVK-3861开发板播放《蜜雪冰城》', 2787, NULL, NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_detail` VALUES (8124, 5, NULL, 'https://support.huaweicloud.com/devg-iothub/iot_01_00100_2.html', '华为云AMQP客户端接入说明', 2788, NULL, NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_detail` VALUES (8125, 3, NULL, 'https://harmonyos.51cto.com/posts/8521', '基于LYEVK-3861 接入华为IoT平台 ', 2789, NULL, NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_detail` VALUES (8126, 5, NULL, 'https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861.md', 'Hi3861开发指南', 2789, NULL, NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_detail` VALUES (8131, 2, NULL, 'https://gitee.com/openharmony/docs/blob/OpenHarmony-3.1-Beta/zh-cn/device-dev/quick-start/quickstart-standard-appendix-hi3516.md', '3516开发板介绍', 2794, NULL, NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_detail` VALUES (8132, 5, NULL, 'https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/get-code/sourcecode-acquire.md', 'OpenHarmony SDK获取 ', 2794, NULL, NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_detail` VALUES (8133, 2, NULL, 'https://gitee.com/openharmony/docs/blob/OpenHarmony_1.0.1_release/zh-cn/device-dev/quick-start/Hi3516%E5%BC%80%E5%8F%91%E6%9D%BF%E4%BB%8B%E7%BB%8D.md', '3516开发板介绍', 2795, NULL, NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_detail` VALUES (8134, 3, NULL, 'https://mp.weixin.qq.com/s/LsgWccZ_9ACMfLzrdLR-rw', '简单3步,OpenHarmony上跑起ArkUI分布式小游戏', 2795, NULL, NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_detail` VALUES (8135, 5, NULL, 'https://gitee.com/openharmony/docs/tree/master/zh-cn/application-dev/reference/arkui-ts', '基于TS扩展的声明式开发范式', 2795, NULL, NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_detail` VALUES (8136, 2, NULL, 'https://gitee.com/openharmony/docs/blob/OpenHarmony_1.0.1_release/zh-cn/device-dev/quick-start/Hi3516%E5%BC%80%E5%8F%91%E6%9D%BF%E4%BB%8B%E7%BB%8D.md', '3516开发板介绍', 2796, NULL, NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_detail` VALUES (8137, 5, NULL, 'https://gitee.com/openharmony/docs/tree/master/zh-cn/application-dev/reference/arkui-ts', '基于TS扩展的声明式开发范式', 2796, NULL, NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_detail` VALUES (8138, 2, NULL, 'https://gitee.com/openharmony/docs/blob/OpenHarmony_1.0.1_release/zh-cn/device-dev/quick-start/Hi3516%E5%BC%80%E5%8F%91%E6%9D%BF%E4%BB%8B%E7%BB%8D.md', '3516开发板介绍', 2797, NULL, NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_detail` VALUES (8139, 5, NULL, 'https://gitee.com/openharmony/docs/tree/master/zh-cn/application-dev/reference/arkui-ts', '基于TS扩展的声明式开发范式', 2797, NULL, NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_detail` VALUES (8140, 2, NULL, 'https://gitee.com/openharmony/docs/blob/OpenHarmony_1.0.1_release/zh-cn/device-dev/quick-start/Hi3516%E5%BC%80%E5%8F%91%E6%9D%BF%E4%BB%8B%E7%BB%8D.md', '3516开发板介绍', 2798, NULL, NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_detail` VALUES (8141, 5, NULL, 'https://gitee.com/openharmony/docs/tree/master/zh-cn/application-dev/reference/arkui-ts', '基于TS扩展的声明式开发范式', 2798, NULL, NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_detail` VALUES (8142, 2, NULL, 'https://gitee.com/openharmony/docs/blob/OpenHarmony_1.0.1_release/zh-cn/device-dev/quick-start/Hi3516%E5%BC%80%E5%8F%91%E6%9D%BF%E4%BB%8B%E7%BB%8D.md', '3516开发板介绍', 2799, NULL, NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_detail` VALUES (8143, 5, NULL, 'https://gitee.com/openharmony/docs/tree/master/zh-cn/application-dev/reference/arkui-ts', '基于TS扩展的声明式开发范式', 2799, NULL, NULL, NULL, NULL, '2022-01-14 16:26:38', NULL);
+
+-- ----------------------------
+-- Table structure for t_detail_type
+-- ----------------------------
+DROP TABLE IF EXISTS `t_detail_type`;
+CREATE TABLE `t_detail_type` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '详情类型名称',
+ `createTime` datetime(0) NULL DEFAULT NULL,
+ `updateTime` datetime(0) NULL DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of t_detail_type
+-- ----------------------------
+INSERT INTO `t_detail_type` VALUES (1, '演示', NULL, NULL);
+INSERT INTO `t_detail_type` VALUES (2, '开发板', NULL, NULL);
+INSERT INTO `t_detail_type` VALUES (3, '文章', NULL, NULL);
+INSERT INTO `t_detail_type` VALUES (4, '视频课程', NULL, NULL);
+INSERT INTO `t_detail_type` VALUES (5, '官方资料', NULL, NULL);
+INSERT INTO `t_detail_type` VALUES (6, '书籍', NULL, NULL);
+
+-- ----------------------------
+-- Table structure for t_features
+-- ----------------------------
+DROP TABLE IF EXISTS `t_features`;
+CREATE TABLE `t_features` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '特性名称',
+ `sort` int(11) NULL DEFAULT NULL COMMENT '排序',
+ `busTypeId` int(11) NULL DEFAULT NULL COMMENT '业务类型ID',
+ `reserve1` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `reserve2` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `reserve3` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `createTime` datetime(0) NULL DEFAULT NULL,
+ `updateTime` datetime(0) NULL DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 369 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '特性表' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of t_features
+-- ----------------------------
+INSERT INTO `t_features` VALUES (3, 'JS UI', 1, 2, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (4, 'eTS UI', 2, 2, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (5, '视频', 1, 3, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (6, '图片', 2, 3, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (7, '相机', 3, 3, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (8, '音频', 4, 3, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (9, '媒体会话管理', 5, 3, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (10, '媒体数据管理', 6, 3, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (11, '文件管理', 1, 4, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (12, '轻量级存储', 2, 4, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (13, '关系型数据库', 3, 4, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (14, '传感器', 1, 5, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (15, '振动', 2, 5, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (16, '屏幕亮度', 3, 5, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (17, '电量信息', 4, 5, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (18, '系统电源管理', 5, 5, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (19, 'Runninglock锁', 6, 5, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (20, '设备信息', 7, 5, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (21, '系统属性', 8, 5, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (22, '显示设备属性', 9, 5, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (23, '升级', 10, 5, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (24, '启动恢复', 11, 5, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (25, 'NFC', 1, 6, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (26, '蓝牙', 2, 6, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (27, 'WLAN', 3, 6, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (28, '网络管理', 4, 6, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (29, '电话服务', 5, 6, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (30, 'IPC与RPC通信', 6, 6, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (31, '分布式文件', 1, 7, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (32, '分布式数据管理', 2, 7, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (33, '分布式流转', 3, 7, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (35, 'LiteOS-m', 1, 9, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (36, 'LiteOS-a', 2, 9, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (37, 'Linux', 3, 9, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (38, 'HDF驱动开发', 1, 10, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (39, '平台驱动\n', 2, 10, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (40, '外设驱动', 3, 10, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (41, '组件(Bundle)开发', 1, 11, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (42, 'NFC', 1, 12, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (43, '蓝牙', 2, 12, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (44, 'WLAN', 3, 12, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (45, '网络管理', 4, 12, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (46, '电话服务', 5, 12, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (47, 'IPC与RPC通信', 6, 12, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (48, '编译构建', 1, 13, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (49, 'loT硬件', 2, 13, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (50, 'DFX', 3, 13, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (51, '图形图像', 4, 13, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (52, '电源管理', 5, 13, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (53, 'Sensor服务', 6, 13, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (54, '多模输入', 7, 13, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (55, '启动恢复', 8, 13, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (56, 'OTA升级', 9, 13, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (57, '账号', 10, 13, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (58, '测试', 11, 13, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (59, '媒体', 12, 13, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (60, '用户程序框架', 13, 13, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (61, '分布式软总线', 14, 13, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (62, '安全', 15, 13, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (63, 'AI框架', 16, 13, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (64, '隐私与安全', 1, 14, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `t_features` VALUES (65, 'SOC移植适配', 1, 15, NULL, NULL, NULL, NULL, NULL);
+
+-- ----------------------------
+-- Table structure for t_home_advertising
+-- ----------------------------
+DROP TABLE IF EXISTS `t_home_advertising`;
+CREATE TABLE `t_home_advertising` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `type` int(11) NULL DEFAULT NULL COMMENT '类型(1:活动 2:博客 3:新闻)',
+ `imgUrl` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '广告图',
+ `url` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT 'url地址跳转',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '广告表' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of t_home_advertising
+-- ----------------------------
+INSERT INTO `t_home_advertising` VALUES (1, 1, 'https://garden.openatom.cn:9089/4-351.png', 'https://garden.openatom.cn:8178/mainPlay');
+INSERT INTO `t_home_advertising` VALUES (2, 2, 'https://garden.openatom.cn:9089/5-351.png', 'https://mp.weixin.qq.com/s/Ow9hqH8I65D8bIOAOYpMzQ');
+INSERT INTO `t_home_advertising` VALUES (3, 3, 'https://garden.openatom.cn:9089/首页-新闻-banner0120.png', 'https://mp.weixin.qq.com/s/u81bAxnQ_4kUwQYpIBQXyg');
+
+-- ----------------------------
+-- Table structure for t_home_banner
+-- ----------------------------
+DROP TABLE IF EXISTS `t_home_banner`;
+CREATE TABLE `t_home_banner` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `imgUrl` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '轮播图片',
+ `category` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '类别(1:pc端 2:无线端)',
+ `url` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT 'url地址跳转',
+ `sort` int(11) NULL DEFAULT 0 COMMENT '排序',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '广告表' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of t_home_banner
+-- ----------------------------
+INSERT INTO `t_home_banner` VALUES (1, 'https://garden.openatom.cn:9089/1-1920.jpg', '1', 'https://docs.openharmony.cn/about/', 1);
+INSERT INTO `t_home_banner` VALUES (2, 'https://garden.openatom.cn:9089/2-1920.png', '1', 'https://garden.openatom.cn:8178/mainPlay', 2);
+INSERT INTO `t_home_banner` VALUES (3, 'https://garden.openatom.cn:9089/3-1920.png', '1', 'https://growing.openharmony.cn/mainPlay/content/mainText/allFeatures', 3);
+INSERT INTO `t_home_banner` VALUES (4, 'https://garden.openatom.cn:9089/1-315.jpg', '2', 'https://docs.openharmony.cn/about/', 4);
+INSERT INTO `t_home_banner` VALUES (5, 'https://garden.openatom.cn:9089/成长计划.png', '2', 'https://garden.openatom.cn:8178/mainPlay', 5);
+INSERT INTO `t_home_banner` VALUES (6, 'https://garden.openatom.cn:9089/开发样例.png', '2', 'https://growing.openharmony.cn/mainPlay/content/mainText/allFeatures', 6);
+
+-- ----------------------------
+-- Table structure for t_home_company
+-- ----------------------------
+DROP TABLE IF EXISTS `t_home_company`;
+CREATE TABLE `t_home_company` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `logoUrl` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'logo图片',
+ `url` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '跳转链接',
+ `sort` int(11) NULL DEFAULT NULL COMMENT '排序',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of t_home_company
+-- ----------------------------
+INSERT INTO `t_home_company` VALUES (1, 'https://garden.openatom.cn:9089/13.png', 'https://kdocs.cn/l/cmU2qKk4tEec', 1);
+INSERT INTO `t_home_company` VALUES (2, 'https://garden.openatom.cn:9089/14.png', 'https://kdocs.cn/l/cmU2qKk4tEec', 2);
+INSERT INTO `t_home_company` VALUES (3, 'https://garden.openatom.cn:9089/15.png', 'https://kdocs.cn/l/cmU2qKk4tEec', 3);
+INSERT INTO `t_home_company` VALUES (4, 'https://garden.openatom.cn:9089/16.png', 'https://kdocs.cn/l/cmU2qKk4tEec', 4);
+INSERT INTO `t_home_company` VALUES (5, 'https://garden.openatom.cn:9089/17.png', 'https://kdocs.cn/l/cmU2qKk4tEec', 5);
+
+-- ----------------------------
+-- Table structure for t_home_content
+-- ----------------------------
+DROP TABLE IF EXISTS `t_home_content`;
+CREATE TABLE `t_home_content` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `type` int(11) NULL DEFAULT NULL COMMENT '1=活动,2=博客,3=新闻 ,4=直播 ,5=视频',
+ `title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '标题',
+ `source` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '作者',
+ `content` varchar(4000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '简介',
+ `textDetails` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '文本内容',
+ `url` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '直播与视频跳转链接',
+ `backgroundImage` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '背景图片',
+ `advertiseImage` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '广告位图片',
+ `advertiseUrl` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '广告位链接',
+ `startTime` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '开始时间',
+ `endTime` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '结束时间',
+ `label` int(255) NULL DEFAULT NULL COMMENT '标签( 活动 1:线上活动 2:线下活动)\r\n ( 直播 1:待开始 2:进行中 3:已结束)',
+ `recommend` int(11) NULL DEFAULT NULL COMMENT '推荐标识(0:非热门推荐 1:热门推荐)',
+ `likesCount` int(11) NULL DEFAULT 0 COMMENT '点赞数量',
+ `shareCount` int(11) NULL DEFAULT 0 COMMENT '分享次数',
+ `browseCount` int(11) NULL DEFAULT 0 COMMENT '浏览量',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 58 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '内容表,包括活动,博客,新闻,其它等' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of t_home_content
+-- ----------------------------
+INSERT INTO `t_home_content` VALUES (2, 1, '首期OpenHarmony开源开发者成长计划2021正式起航', NULL, '为了帮助广大开发者学习了解OpenHarmony开源项目,探索实践教学,在开发工程中匹配项目导师辅导。', NULL, 'https://garden.openatom.cn:8178/mainPlay', 'https://garden.openatom.cn:9089/63-328.png', NULL, NULL, '2021.10.24', '2022.3.15', 1, NULL, 0, 0, 3084);
+INSERT INTO `t_home_content` VALUES (4, 2, '万里红秦凡东:我是如何将SELinux引入OpenHarmony安全模块的?', 'OpenAtom OpenHarmony', '首次参加大规模开源项目,将SELinux引入OpenHarmony安全模块的研发工程师的故事。', NULL, 'https://mp.weixin.qq.com/s/eYQ4mTVclHpTZuiOU3vkxw', 'https://garden.openatom.cn:9089/40-328.png', NULL, NULL, '2021.12.20', NULL, NULL, NULL, 0, 0, 555);
+INSERT INTO `t_home_content` VALUES (5, 2, 'HDC2021技术分论坛:OpenHarmony驱动框架解读和开发实践', 'OpenAtom OpenHarmony', 'OpenHarmony 作为一个自主研发、全新技术生态的全领域下一代开源操作系统,提供了一套驱动框架来满足不同终端设备适配。', NULL, 'https://mp.weixin.qq.com/s/juL5fefaHcNuLUa17fAKPQ', 'https://garden.openatom.cn:9089/49-328.png', NULL, NULL, '2021.11.2', NULL, NULL, NULL, 17, 1, 204);
+INSERT INTO `t_home_content` VALUES (6, 2, '一文读懂OpenHarmony数字管家', 'OpenAtom OpenHarmony', '一款可以将家中的所有智能设备组织联合的数字管家应用,通过日程编排把涉及到的智能设备串联起来,共同组建不同的场景。', NULL, 'https://mp.weixin.qq.com/s/Ow9hqH8I65D8bIOAOYpMzQ', 'https://garden.openatom.cn:9089/60-328.png', NULL, NULL, '2021.11.4', NULL, NULL, NULL, 0, 0, 696);
+INSERT INTO `t_home_content` VALUES (7, 2, '大三学生唐铭穗:两周时间在OpenHarmony上复刻一款经典游戏', 'OpenAtom OpenHarmony', '大三学生仅用两周时间就完成了 OpenHarmony 从入门到成功复刻一款经典游戏。', NULL, 'https://mp.weixin.qq.com/s/1g_BEf6A_kCt-mxv7A9nxw', 'https://garden.openatom.cn:9089/41-328.png', NULL, NULL, '2021.11.16', NULL, NULL, NULL, 0, 0, 1401);
+INSERT INTO `t_home_content` VALUES (8, 2, 'OpenHarmony 源码解析之Sensor子系统(上)', 'OpenAtom OpenHarmony', '解析OpenHarmony源码中的Sensor子系统。', NULL, 'https://mp.weixin.qq.com/s/Qv9SCCB3wAT00GiRxbPy8A', 'https://garden.openatom.cn:9089/42-328.png', NULL, NULL, '2021.12.16', NULL, NULL, NULL, 0, 0, 285);
+INSERT INTO `t_home_content` VALUES (9, 2, 'OpenHarmony 源码解析之图形子系统 (一)', 'OpenAtom OpenHarmony', '基于OpenHarmony 2.0为基础,讲解OpenHarmony源码中的Graphic子系统。', NULL, 'https://mp.weixin.qq.com/s/vEdOrsPm0gQRanlZJImurg', 'https://garden.openatom.cn:9089/43-328.png', NULL, NULL, '2021.12.14', NULL, NULL, NULL, 0, 0, 710);
+INSERT INTO `t_home_content` VALUES (10, 2, 'OpenHarmony 源码解析之 Ability子系统 (零)', 'OpenAtom OpenHarmony', '基于 OpenHarmony 2.2 Beta2 源码的标准系统部分解析 Ability子系统。', NULL, 'https://mp.weixin.qq.com/s/J4smfohqgRmf6iWU_cZcqw', 'https://garden.openatom.cn:9089/44-328.png', NULL, NULL, '2021.12.7', NULL, NULL, NULL, 0, 0, 328);
+INSERT INTO `t_home_content` VALUES (11, 2, 'OpenHarmony 源码解析之JavaScript API框架(NAPI)', 'OpenAtom OpenHarmony', '解析OpenHarmony源码中的JavaScript API框架(NAPI)。', NULL, 'https://mp.weixin.qq.com/s/P4S8lMvhUnifm2N_R5Tr4Q', 'https://garden.openatom.cn:9089/45-328.png', NULL, NULL, '2021.11.30', NULL, NULL, NULL, 0, 0, 361);
+INSERT INTO `t_home_content` VALUES (12, 2, 'OpenHarmony 源码解析之多模输入子系统(事件派发流程)', 'OpenAtom OpenHarmony', '解析OpenHarmony源码中的多模输入子系统关于事件派发流程。', NULL, 'https://mp.weixin.qq.com/s/5_yopung2d9AbNxzgdVAcg', 'https://garden.openatom.cn:9089/46-328.png', NULL, NULL, '2021.11.26', NULL, NULL, NULL, 0, 0, 345);
+INSERT INTO `t_home_content` VALUES (13, 2, 'OpenHarmony 源码解析之多媒体子系统(Camera)', 'OpenAtom OpenHarmony', '解析OpenHarmony 源码中多媒体子系统下的 Camera 模块,开发者如何使用系统的媒体资源。', NULL, 'https://mp.weixin.qq.com/s/S92JcqkMfSDspPzAHkx2iw', 'https://garden.openatom.cn:9089/47-328.png', NULL, NULL, '2021.11.22', NULL, NULL, NULL, 0, 0, 439);
+INSERT INTO `t_home_content` VALUES (14, 2, 'OpenHarmony源码解析之ACE(JavaScript运行环境初始化)', 'OpenAtom OpenHarmony', '介绍OpenHarmony 标准系统上的UI框架ACE,构筑了OpenHarmony 标准系统 javacript 应用开发的基础。', NULL, 'https://mp.weixin.qq.com/s/EJh2MgzzBt3Yf9jvuS-pGA', 'https://garden.openatom.cn:9089/48-328.png', NULL, NULL, '2021.11.17', NULL, NULL, NULL, 0, 0, 570);
+INSERT INTO `t_home_content` VALUES (15, 2, 'OpenHarmony HDF传感器设备驱动模型分析与使用', 'OpenAtom OpenHarmony', '以开源板Hi3516DV300标准系统版本加速度计为例分析传感驱动模型框架原理和传感器抽象驱动适配开发过程。', NULL, 'https://mp.weixin.qq.com/s/jWjwZ_P2hWe7r_ilowUTrA', 'https://garden.openatom.cn:9089/50-328.png', NULL, NULL, '2021.9.8', NULL, NULL, NULL, 0, 0, 363);
+INSERT INTO `t_home_content` VALUES (16, 2, 'OpenHarmony HDF 平台驱动框架介绍及驱动适配指导', 'OpenAtom OpenHarmony', '了解OpenHarmony系统平台驱动框架的特性,完成驱动适配。', NULL, 'https://mp.weixin.qq.com/s/JZple12FTBVMU9To1N9ing', 'https://garden.openatom.cn:9089/51-328.png', NULL, NULL, '2021.9.8', NULL, NULL, NULL, 0, 0, 251);
+INSERT INTO `t_home_content` VALUES (17, 2, 'OpenHarmony HDF Display驱动模型解析及移植指导', 'OpenAtom OpenHarmony', 'OpenHarmony HDF Display驱动模型,是如何降低驱动开发者的开发或移植工作量,简化器件驱动开发,提升开发效率的?', NULL, 'https://mp.weixin.qq.com/s/jl-fw2aNBovJdtv4ZHKl2A', 'https://garden.openatom.cn:9089/52-328.png', NULL, NULL, '2021.9.3', NULL, NULL, NULL, 0, 0, 274);
+INSERT INTO `t_home_content` VALUES (18, 2, 'OpenHarmony HDF WLAN驱动分析与使用', 'OpenAtom OpenHarmony', '分析 WLAN 驱动架构的组成和各部件的功能,WLAN 芯片厂商通过本框架如何进行各自驱动的开发,以及如何使用 HAL 接口。', NULL, 'https://mp.weixin.qq.com/s/iiE97pqPtzWIZadcjrQtsw', 'https://garden.openatom.cn:9089/53-328.png', NULL, NULL, '2021.9.3', NULL, NULL, NULL, 0, 0, 221);
+INSERT INTO `t_home_content` VALUES (19, 2, 'OpenHarmony HDF HDI基础能力分析与使用', 'OpenAtom OpenHarmony', '介绍了 HDI 的总体方案,重点介绍了 HDI 的 IPC 模式具体实现方法和驱动框架能力。', NULL, 'https://mp.weixin.qq.com/s/mvI1eMYDR0gWZ2sI_LXdXg', 'https://garden.openatom.cn:9089/54-328.png', NULL, NULL, '2021.8.31', NULL, NULL, NULL, 0, 0, 348);
+INSERT INTO `t_home_content` VALUES (20, 2, 'OpenHarmony HDF Input驱动模型分析与使用', 'OpenAtom OpenHarmony', '介绍如何使用 Hi3516DV300 开发板完成基于 HDF_Input 模型的触摸屏(Touch Screen)器件驱动开发,从而使开发者快速入门。', NULL, 'https://mp.weixin.qq.com/s/ASffAvNJ4QgUSsFMoji50g', 'https://garden.openatom.cn:9089/55-328.png', NULL, NULL, '2021.8.31', NULL, NULL, NULL, 0, 0, 303);
+INSERT INTO `t_home_content` VALUES (21, 2, 'OpenHarmony HDF 驱动框架介绍和驱动加载过程分析', 'OpenAtom OpenHarmony', '通过了解 OpenHarmony 系统驱动架构的组成、工作原理和机制,从而了解OpenHarmony系统驱动加载的细节。', NULL, 'https://mp.weixin.qq.com/s/2WhbovdUv8v6x8lmpL4nRg', 'https://garden.openatom.cn:9089/56-328.png', NULL, NULL, '2021.8.30', NULL, NULL, NULL, 0, 0, 471);
+INSERT INTO `t_home_content` VALUES (22, 2, 'OpenHarmony HDF 配置管理分析及使用', 'OpenAtom OpenHarmony', '从全景介绍了 HCS 配置管理方案,重点分析了 HC-GEN 的实现和 HCS 的编译过程。', NULL, 'https://mp.weixin.qq.com/s/PINN2g1jryPfCnLCuPud3A', 'https://garden.openatom.cn:9089/57-328.png', NULL, NULL, '2021.8.30', NULL, NULL, NULL, 0, 0, 302);
+INSERT INTO `t_home_content` VALUES (23, 2, '简单3步,OpenHarmony上跑起ArkUI分布式小游戏', 'OpenAtom OpenHarmony', '在OpenHarmony3.0 LTS上,结合方舟开发框架、分布式组网和 FA 跨设备迁移能力特性,使用eTS开发了一款传炸弹应用。', NULL, 'https://mp.weixin.qq.com/s/LsgWccZ_9ACMfLzrdLR-rw', 'https://garden.openatom.cn:9089/58-328.png', NULL, NULL, '2021.12.8', NULL, NULL, NULL, 0, 0, 323);
+INSERT INTO `t_home_content` VALUES (24, 2, 'OpenHarmony LYEVK-3861开发板播放《蜜雪冰城》', 'OpenAtom OpenHarmony', '基于OpenHarmony 3.0 LTS,搭配开发板的蜂鸣器实现的简单音乐播放程序。', NULL, 'https://mp.weixin.qq.com/s/tM4YrDRECmyGRCBSvcF6vw', 'https://garden.openatom.cn:9089/59-328.png', NULL, NULL, '2021.11.24', NULL, NULL, NULL, 0, 0, 364);
+INSERT INTO `t_home_content` VALUES (25, 3, 'OpenHarmony项目群11月新增捐赠人一览', 'OpenAtom OpenHarmony', '2021年11月OpenHarmony携手新大陆、芯海科技共同为OpenHarmony开源生态建设出一份力', NULL, 'https://mp.weixin.qq.com/s/PMI6aLgacyK6--2abcFmcw', 'https://garden.openatom.cn:9089/28-328.png', NULL, NULL, '2021.12.1', NULL, NULL, NULL, 0, 0, 1644);
+INSERT INTO `t_home_content` VALUES (26, 3, '美的成为首家通过OpenHarmony V3.0 LTS版本兼容性认证测试的企业', 'OpenAtom OpenHarmony', '首个通过OpenHarmony V3.0LTS版本兼容性认证测试的模组', NULL, 'https://mp.weixin.qq.com/s/FE4-2JW_3qU87ypM6zUVgg', 'https://garden.openatom.cn:9089/30-328.png', NULL, NULL, '2021.12.9', NULL, NULL, NULL, 0, 1, 928);
+INSERT INTO `t_home_content` VALUES (27, 3, 'OpenHarmony 技术论坛 | 侯培新博士:OpenHarmony,一路前行', 'OpenAtom OpenHarmony', 'OpenHarmony项目群工作委员会主席侯培新博士为大家介绍OpenHarmony发展之路', NULL, 'https://mp.weixin.qq.com/s/7t88sJyH0aEH0b-YFAMsFw', 'https://garden.openatom.cn:9089/33-328.png', NULL, NULL, '2021.10.26', NULL, NULL, NULL, 0, 0, 732);
+INSERT INTO `t_home_content` VALUES (28, 3, 'OpenHarmony项目群新增捐赠人一览', 'OpenAtom OpenHarmony', '2021年10月OpenHarmony携手十三家单位共同为OpenHarmony开源生态建设出一份力', NULL, 'https://mp.weixin.qq.com/s/QrrvEnZ0ygNENUWIZr3u4w', 'https://garden.openatom.cn:9089/29-328.png', NULL, NULL, '2021.11.5', NULL, NULL, NULL, 0, 0, 2690);
+INSERT INTO `t_home_content` VALUES (29, 3, 'OpenHarmony开源开发者成长计划 | 知识赋能第二期课程', 'OpenAtom OpenHarmony', '邀请众多行业内知名专家带你学习OpenHarmony', NULL, 'https://mp.weixin.qq.com/s/vZdWbgs8jvgDR79UkNx6aA', 'https://garden.openatom.cn:9089/31-328.png', NULL, NULL, '2021.12.2', NULL, NULL, NULL, 0, 0, 992);
+INSERT INTO `t_home_content` VALUES (31, 3, '2021第二届青少年开源教育论坛暨首期OpenHarmony中小学师资培训成功举办', 'OpenAtom OpenHarmony', '2021第二届青少年开源教育论坛暨首期OpenHarmony中小学师资培训成功举办', NULL, 'https://mp.weixin.qq.com/s/rvkJWF2WN-y0k4lWPqe3rg', 'https://garden.openatom.cn:9089/34-328.png', NULL, NULL, '2021.10.27', NULL, NULL, NULL, 0, 0, 471);
+INSERT INTO `t_home_content` VALUES (32, 3, '“众家共建OpenHarmony,赋能千行百业”技术论坛圆满召开', 'OpenAtom OpenHarmony', 'OpenHarmony应邀参加华为HDC开发者大会2021,并圆满召开 OpenHarmony技术论坛。', NULL, 'https://mp.weixin.qq.com/s/kXgOntPHIzAnXcIjf4sR2A', 'https://garden.openatom.cn:9089/35-328.png', NULL, NULL, '2021.10.25', NULL, NULL, NULL, 0, 0, 1011);
+INSERT INTO `t_home_content` VALUES (33, 3, '【公开鸣谢】OpenHarmony技术论坛圆满召开', 'OpenAtom OpenHarmony', 'OpenHarmony 技术论坛已经圆满结束,感谢所有在论坛上进行精彩分享的嘉宾和参与筹办组织贡献的单位与个人', NULL, 'https://mp.weixin.qq.com/s/9h9cgJMbzKMc1DB30Vae3g', 'https://garden.openatom.cn:9089/36-328.png', NULL, NULL, '2021.10.25', NULL, NULL, NULL, 0, 0, 975);
+INSERT INTO `t_home_content` VALUES (34, 3, 'OpenHarmony Github 镜像库正式上线', 'OpenAtom OpenHarmony', '开发者可以通过如下 repo 命令,从 Github 下载 OpenHarmony 镜像库代码。', NULL, 'https://mp.weixin.qq.com/s/jKhCZOe-bOjBakq-_8R_ew', 'https://garden.openatom.cn:9089/37-328.png', NULL, NULL, '2021.9.22', NULL, NULL, NULL, 0, 0, 1057);
+INSERT INTO `t_home_content` VALUES (35, 3, 'OpenHarmony 高校课程共建师资培训(物联网理论+实践)成功举办', 'OpenAtom OpenHarmony', '2021年8月26日至28日,OpenHarmony高校课程共建师资培训(物联网理论+实践)成功举办。', NULL, 'https://mp.weixin.qq.com/s/M1kFOyOXeSu8j9j490tIvw', 'https://garden.openatom.cn:9089/38-328.png', NULL, NULL, '2021.9.3', NULL, NULL, NULL, 0, 0, 569);
+INSERT INTO `t_home_content` VALUES (36, 4, 'OpenHarmony3.0发布 | 9月30日线上见面会', NULL, '9月30日举办OpenHarmony线上见面会将向大家汇报OpenHarmony3.0版本特性介绍,以及OpenHarmony的最新进展。', NULL, 'https://www.bilibili.com/video/BV1gq4y1Z7Rw?spm_id_from=333.999.0.0', 'https://garden.openatom.cn:9089/20-328.png', NULL, NULL, '2021.9.30', '19:30-21:00', 3, NULL, 0, 0, 4586);
+INSERT INTO `t_home_content` VALUES (37, 4, 'OpenHarmony 3.0 LTS 版本发布前特性讲解会', NULL, '在OpenHarmony 3.0 LTS 版本发布前,针对社区关键意见领袖(KOL),讲解版本特性。方便KOL第一时间提前获知版本情况,深入参与到开源社区建设中。', NULL, 'https://www.bilibili.com/video/BV1MR4y1p7nb?spm_id_from=333.999.0.0', 'https://garden.openatom.cn:9089/21-328.png', NULL, NULL, '2021.9.27', NULL, 3, NULL, 0, 0, 14649);
+INSERT INTO `t_home_content` VALUES (38, 5, '【第二季】3. OpenHarmony攻略之进程面面观——SAMGR进程介绍', NULL, NULL, NULL, 'https://www.bilibili.com/video/BV18U4y1N7nq?spm_id_from=333.999.0.0', 'https://garden.openatom.cn:9089/9-328.png', NULL, NULL, '2021.12.10', NULL, NULL, NULL, 0, 0, 234);
+INSERT INTO `t_home_content` VALUES (39, 5, '【第二季】2. OpenHarmony攻略之进程面面观——init进程介绍', NULL, NULL, NULL, 'https://www.bilibili.com/video/BV1mU4y1N77G?spm_id_from=333.999.0.0', 'https://garden.openatom.cn:9089/10-328.png', NULL, NULL, '2021.12.10', NULL, NULL, NULL, 0, 0, 173);
+INSERT INTO `t_home_content` VALUES (40, 5, '【第二季】1. OpenHarmony攻略之进程面面观——进程概览', NULL, NULL, NULL, 'https://www.bilibili.com/video/BV1bR4y1x7PW?spm_id_from=333.999.0.0', 'https://garden.openatom.cn:9089/11-328.png', NULL, NULL, '2021.12.14', NULL, NULL, NULL, 0, 0, 145);
+INSERT INTO `t_home_content` VALUES (41, 5, '【第一季】1. OpenHarmony攻略之环境准备篇(一)', NULL, NULL, NULL, 'https://www.bilibili.com/video/BV1pB4y1A7Sw?spm_id_from=333.999.0.0', 'https://garden.openatom.cn:9089/18-328.png', NULL, NULL, '2021.4.19', NULL, NULL, NULL, 0, 0, 1236);
+INSERT INTO `t_home_content` VALUES (42, 5, '【第一季】2. OpenHarmony攻略之环境准备篇(二)', NULL, NULL, NULL, 'https://www.bilibili.com/video/BV1YB4y1A7fh?spm_id_from=333.999.0.0', 'https://garden.openatom.cn:9089/17-328.png', NULL, NULL, '2021.4.19', NULL, NULL, NULL, 0, 0, 761);
+INSERT INTO `t_home_content` VALUES (43, 5, '【第一季】3. OpenHarmony攻略之下载代码篇', NULL, NULL, NULL, 'https://www.bilibili.com/video/BV1QQ4y1Z71H?spm_id_from=333.999.0.0', 'https://garden.openatom.cn:9089/16-328.png', NULL, NULL, '2021.4.25', NULL, NULL, NULL, 0, 0, 565);
+INSERT INTO `t_home_content` VALUES (44, 5, '【第一季】4. OpenHarmony攻略之编译环境部署篇', NULL, NULL, NULL, 'https://www.bilibili.com/video/BV1k54y1574f?spm_id_from=333.999.0.0', 'https://garden.openatom.cn:9089/15-328.png', NULL, NULL, '2021.5.9', NULL, NULL, NULL, 0, 0, 568);
+INSERT INTO `t_home_content` VALUES (45, 5, '【第一季】5. OpenHarmony攻略之专属编译环境部署篇', NULL, NULL, NULL, 'https://www.bilibili.com/video/BV1HU4y1t7LN?spm_id_from=333.999.0.0', 'https://garden.openatom.cn:9089/14-328.png', NULL, NULL, '2021.5.16', NULL, NULL, NULL, 0, 0, 1236);
+INSERT INTO `t_home_content` VALUES (46, 5, '【第一季】6. OpenHarmony攻略之2.0实验环境搭建', NULL, NULL, NULL, 'https://www.bilibili.com/video/BV1Dq4y1p7Cc?spm_id_from=333.999.0.0', 'https://garden.openatom.cn:9089/13-328.png', NULL, NULL, '2021.7.6', NULL, NULL, NULL, 0, 0, 702);
+INSERT INTO `t_home_content` VALUES (47, 5, '【第一季】7. OpenHarmony攻略之2.0内核Liteos-a源码阅读', NULL, NULL, NULL, 'https://www.bilibili.com/video/BV1k44y1q79t?spm_id_from=333.999.0.0', 'https://garden.openatom.cn:9089/12-328.png', NULL, NULL, '2021.7.11', NULL, NULL, NULL, 0, 0, 1371);
+INSERT INTO `t_home_content` VALUES (48, 5, '尹友展:《OpenHarmony软总线设计理念》之 Connect by Name和Connect by Addr的选择', NULL, NULL, NULL, 'https://www.bilibili.com/video/BV1Eh41117NX?spm_id_from=333.999.0.0', 'https://garden.openatom.cn:9089/22-328.png', NULL, NULL, '2021.2.3', NULL, NULL, NULL, 0, 0, 153);
+INSERT INTO `t_home_content` VALUES (49, 5, '尹友展:《OpenHarmony软总线设计理念》之 后续演进', NULL, NULL, NULL, 'https://www.bilibili.com/video/BV1Zy4y117Nd?spm_id_from=333.999.0.0', 'https://garden.openatom.cn:9089/23-328.png', NULL, NULL, '2021.2.3', NULL, NULL, NULL, 0, 0, 153);
+INSERT INTO `t_home_content` VALUES (50, 5, '尹友展:《OpenHarmony软总线设计理念》之 几种业务模式', NULL, NULL, NULL, 'https://www.bilibili.com/video/BV1Vp4y1s7hj?spm_id_from=333.999.0.0', 'https://garden.openatom.cn:9089/24-328.png', NULL, NULL, '2021.2.3', NULL, NULL, NULL, 0, 0, 150);
+INSERT INTO `t_home_content` VALUES (51, 5, '尹友展:《OpenHarmony软总线设计理念》之 OpenHarmony软总线的需要解决的问题', NULL, NULL, NULL, 'https://www.bilibili.com/video/BV14r4y1K7iz?spm_id_from=333.999.0.0', 'https://garden.openatom.cn:9089/25-328.png', NULL, NULL, '2021.2.3', NULL, NULL, NULL, 0, 0, 354);
+INSERT INTO `t_home_content` VALUES (52, 5, '尹友展:《OpenHarmony软总线设计理念》之 个人介绍', NULL, NULL, NULL, 'https://www.bilibili.com/video/BV1Nf4y1r7Zd?spm_id_from=333.999.0.0', 'https://garden.openatom.cn:9089/26-328.png', NULL, NULL, '2021.2.3', NULL, NULL, NULL, 0, 0, 180);
+INSERT INTO `t_home_content` VALUES (56, 3, 'OpenHarmony项目群12月新增捐赠人一览', 'OpenAtom OpenHarmony', '2021 年 12 月,新增美的集团、深开鸿为 OpenHarmony 项目群捐赠人,共同为 OpenHarmony 的开源生态建设出一份力。', NULL, 'https://mp.weixin.qq.com/s/u81bAxnQ_4kUwQYpIBQXyg', 'https://garden.openatom.cn:9089/首页-新闻-banner0120.png', NULL, NULL, '2022.1.12', NULL, NULL, NULL, 132, 53, 32);
+INSERT INTO `t_home_content` VALUES (57, 3, 'OpenHarmony开源开发者成长计划 | 知识赋能第三期课程', 'OpenAtom OpenHarmony', '第三期知识赋能课程再度升级,丰富的技术干货课程带你上手 OpenHarmony 的标准系统应用开发', NULL, 'https://mp.weixin.qq.com/s/iOK4ymihndKIARpcOvR_5w', 'https://garden.openatom.cn:9089/成长计划赋能第3期.png', NULL, NULL, '2021.12.31', NULL, NULL, NULL, 0, 0, 3);
+
+-- ----------------------------
+-- Table structure for t_home_content_pic
+-- ----------------------------
+DROP TABLE IF EXISTS `t_home_content_pic`;
+CREATE TABLE `t_home_content_pic` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `type` int(11) NULL DEFAULT NULL COMMENT '1=活动,2=博客,3=新闻 ,4=直播 ,5=视频,6=开发板',
+ `category` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '类别(1:pc端 2:无线端)',
+ `carouselImage` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '轮播图片',
+ `carouselUrl` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '轮播图跳转地址',
+ `sort` int(11) NULL DEFAULT 0 COMMENT '排序',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 15 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '活动,微博,新闻的轮播图表' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of t_home_content_pic
+-- ----------------------------
+INSERT INTO `t_home_content_pic` VALUES (1, 1, '1', 'https://garden.openatom.cn:9089/61-1920.png', 'https://garden.openatom.cn:8178/mainPlay', 1);
+INSERT INTO `t_home_content_pic` VALUES (2, 1, '2', 'https://garden.openatom.cn:9089/61-375.png', 'https://garden.openatom.cn:8178/mainPlay', 2);
+INSERT INTO `t_home_content_pic` VALUES (3, 2, '1', 'https://garden.openatom.cn:9089/39-1920.png', 'https://mp.weixin.qq.com/s/Ow9hqH8I65D8bIOAOYpMzQ', 1);
+INSERT INTO `t_home_content_pic` VALUES (4, 2, '2', 'https://garden.openatom.cn:9089/39-375.png', 'https://mp.weixin.qq.com/s/Ow9hqH8I65D8bIOAOYpMzQ', 2);
+INSERT INTO `t_home_content_pic` VALUES (7, 4, '1', 'https://garden.openatom.cn:9089/19-1920.png', 'https://mp.weixin.qq.com/s/vZdWbgs8jvgDR79UkNx6aA', 1);
+INSERT INTO `t_home_content_pic` VALUES (8, 4, '2', 'https://garden.openatom.cn:9089/nanner.jpeg', 'https://mp.weixin.qq.com/s/vZdWbgs8jvgDR79UkNx6aA', 2);
+INSERT INTO `t_home_content_pic` VALUES (9, 5, '1', 'https://garden.openatom.cn:9089/7-1920.png', 'https://space.bilibili.com/672606361/channel/seriesdetail?sid=301476', 1);
+INSERT INTO `t_home_content_pic` VALUES (10, 5, '2', 'https://garden.openatom.cn:9089/移动端-banner.png', 'https://space.bilibili.com/672606361/channel/seriesdetail?sid=301476', 2);
+INSERT INTO `t_home_content_pic` VALUES (13, 3, '1', 'https://garden.openatom.cn:9089/1227-1920.png', 'https://mp.weixin.qq.com/s/u81bAxnQ_4kUwQYpIBQXyg', 3);
+INSERT INTO `t_home_content_pic` VALUES (14, 3, '2', 'https://garden.openatom.cn:9089/1227-750.png', 'https://mp.weixin.qq.com/s/u81bAxnQ_4kUwQYpIBQXyg', 4);
+
+-- ----------------------------
+-- Table structure for t_home_development
+-- ----------------------------
+DROP TABLE IF EXISTS `t_home_development`;
+CREATE TABLE `t_home_development` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '开发板名称',
+ `osVersion` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'os版本',
+ `description` varchar(4000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '开发板描述',
+ `logoImage` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'logo图片',
+ `url` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '跳转链接',
+ `source` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '来源',
+ `attestStatus` int(255) NULL DEFAULT NULL COMMENT '认证状态(1:已认证 2:认证中 )',
+ `sort` int(11) NULL DEFAULT 0 COMMENT '排序',
+ `attestDate` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '认证日期',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 31 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '开发版表' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of t_home_development
+-- ----------------------------
+INSERT INTO `t_home_development` VALUES (1, 'Hi3861 HiSpark开发板', 'OpenHarmony 1.1.2 LTS', NULL, 'https://garden.openatom.cn:9089/Hi3861 HiSpark开发板.png', NULL, '润和', 1, 1, '2021/8/6');
+INSERT INTO `t_home_development` VALUES (2, 'GR5515 Starter Kit开发板', 'OpenHarmony 3.0 LTS', NULL, 'https://garden.openatom.cn:9089/GR5515 Starter Kit开发板.png', NULL, '汇顶科技', 1, 2, '2021/11/18');
+INSERT INTO `t_home_development` VALUES (3, 'BearPi-HM Nano开发板', 'OpenHarmony 1.1.0 LTS', NULL, 'https://garden.openatom.cn:9089/BearPi-HM Nano开发板.png', NULL, '小熊派', 1, 3, '2021/7/20');
+INSERT INTO `t_home_development` VALUES (4, 'Genki Pi开发板', 'OpenHarmony 1.1.2 LTS', NULL, 'https://garden.openatom.cn:9089/Genki Pi开发板.png', NULL, '传智教育', 1, 4, '2021/9/30');
+INSERT INTO `t_home_development` VALUES (5, 'Niobe开发板', 'OpenHarmony 3.0 LTS / OpenHarmony 1.1.2 LTS', NULL, 'https://garden.openatom.cn:9089/Niobe开发板.png', NULL, '拓维', 1, 5, '2021/12/7');
+INSERT INTO `t_home_development` VALUES (6, 'XR806开发板', 'OpenHarmony 1.1.2 LTS', NULL, 'https://garden.openatom.cn:9089/XR806开发板.png', NULL, '全志', 1, 7, '2021/9/29');
+INSERT INTO `t_home_development` VALUES (7, 'BK7231M开发板', 'OpenHarmony 1.1.0 LTS', NULL, 'https://garden.openatom.cn:9089/BK2731X开发板.png', NULL, '博通集成', 1, 8, '2021/11/10');
+INSERT INTO `t_home_development` VALUES (8, 'WB01模组', 'OpenHarmony 3.0 LTS', NULL, 'https://garden.openatom.cn:9089/WB01模组.png', NULL, '美的', 1, 9, '2021/11/22');
+INSERT INTO `t_home_development` VALUES (9, 'LYEVK-3861A ', 'OpenHarmony 3.0 LTS', NULL, 'https://garden.openatom.cn:9089/LYEVK-3861A .png', NULL, '深开鸿', 1, 10, '2021/11/10');
+INSERT INTO `t_home_development` VALUES (10, '软通动力启航KP_IOT智能开发套件', 'OpenHarmony 1.1.0 LTS', NULL, 'https://garden.openatom.cn:9089/软通动力启航KP_IOT智能开发套件.png', NULL, '软通动力', 1, 11, '2021/11/8');
+INSERT INTO `t_home_development` VALUES (11, '软通动力启航KS_IOT智能开发套件', 'OpenHarmony 1.1.3 LTS', NULL, 'https://garden.openatom.cn:9089/软通动力启航KS_IOT智能开发套件.png', NULL, '软通动力', 1, 12, '2021/11/8');
+INSERT INTO `t_home_development` VALUES (12, 'Waffle Nano模组', 'OpenHarmony 1.1.0 LTS', NULL, 'https://garden.openatom.cn:9089/Waffle Nano模组.png', NULL, '黑胡桃', 1, 13, '2021/7/27');
+INSERT INTO `t_home_development` VALUES (13, 'Multi-modal V200Z-R', 'OpenHarmony master', NULL, 'https://garden.openatom.cn:9089/bes2600wm.png', NULL, '恒玄科技', 1, 14, '2022/1/17');
+INSERT INTO `t_home_development` VALUES (14, '格物板Gewu:bit', 'OpenHarmony 3.0 LTS', NULL, 'https://garden.openatom.cn:9089/Hi3861V100.png', NULL, '好奇星教育', 1, 15, '2022/1/11');
+INSERT INTO `t_home_development` VALUES (15, 'KHDVK-8910A', 'OpenHarmony v3.0 LTS', NULL, 'https://garden.openatom.cn:9089/KHDVK-8910A.png', NULL, '深开鸿', 1, 16, '2022/1/4');
+INSERT INTO `t_home_development` VALUES (16, 'KHDVK-3861B', 'OpenHarmony v3.0 LTS', NULL, 'https://garden.openatom.cn:9089/KHDVK-3861B.png', NULL, '深开鸿', 1, 17, '2022/1/17');
+INSERT INTO `t_home_development` VALUES (17, '直录播扩展盒', 'OpenHarmony 3.0 LTS', NULL, 'https://garden.openatom.cn:9089/直录播扩展盒.png', NULL, '开鸿智谷', 1, 18, '2022/1/26');
+INSERT INTO `t_home_development` VALUES (18, '教育AI主机', 'OpenHarmony 3.0 LTS', NULL, 'https://garden.openatom.cn:9089/教育AI主机.png', NULL, '开鸿智谷', 1, 19, '2022/1/26');
+INSERT INTO `t_home_development` VALUES (19, 'HiHopeOS IoT Edition软件发行版', 'OpenHarmony 3.0 LTS', NULL, 'https://garden.openatom.cn:9089/image.png', NULL, '润和', 1, 20, '2022/1/24');
+
+-- ----------------------------
+-- Table structure for t_home_meeting
+-- ----------------------------
+DROP TABLE IF EXISTS `t_home_meeting`;
+CREATE TABLE `t_home_meeting` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '会议名称',
+ `description` varchar(4000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '会议描述',
+ `label` int(11) NULL DEFAULT NULL COMMENT '标签(1:线上会议 2:线下会议)',
+ `date` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '日期',
+ `startTime` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '会议开始时间',
+ `endTime` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '会议结束时间',
+ `address` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '会议地址',
+ `recordUrl` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '视频录像链接',
+ `contentUrl` varchar(4000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '会议纪要链接',
+ `attachmentUrl` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '查看会议地址',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 67 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '文章表' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of t_home_meeting
+-- ----------------------------
+INSERT INTO `t_home_meeting` VALUES (1, 'OpenHarmony PMC 例会', NULL, 1, '2020-9-14', '10:00', '11:00', NULL, NULL, 'https://gitee.com/openharmony/community/blob/master/meeting-notes/2020-09-14.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (3, 'OpenHarmony PMC 例会', NULL, 1, '2020-10-12', '10:00', '11:00', NULL, NULL, 'https://gitee.com/openharmony/community/blob/master/meeting-notes/2020-10-12.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (4, 'OpenHarmony PMC 例会', NULL, 1, '2020-11-9', '10:00', '11:00', NULL, NULL, 'https://gitee.com/openharmony/community/blob/master/meeting-notes/2020-11-09.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (5, 'OpenHarmony PMC 例会', NULL, 1, '2020-12-7', '10:00', '11:00', NULL, NULL, 'https://gitee.com/openharmony/community/blob/master/meeting-notes/2020-12-07.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (6, 'OpenHarmony PMC 例会', NULL, 1, '2021-1-4', '10:00', '11:00', NULL, NULL, 'https://gitee.com/openharmony/community/blob/master/meeting-notes/2021-01-04.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (7, 'OpenHarmony PMC 例会', NULL, 1, '2021-1-18', '10:00', '11:00', NULL, NULL, 'https://gitee.com/openharmony/community/blob/master/meeting-notes/2021-01-18.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (8, 'OpenHarmony PMC 例会', NULL, 1, '2021-2-1', '10:00', '11:00', NULL, NULL, 'https://gitee.com/openharmony/community/blob/master/meeting-notes/2021-02-01.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (9, 'OpenHarmony PMC 例会', NULL, 1, '2021-3-29', '10:00', '11:00', NULL, NULL, 'https://gitee.com/openharmony/community/blob/master/meeting-notes/2021-03-29.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (10, 'OpenHarmony PMC 例会', NULL, 1, '2021-4-13', '10:00', '11:00', NULL, NULL, 'https://gitee.com/openharmony/community/blob/master/meeting-notes/2021-04-13.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (11, 'OpenHarmony PMC 例会', NULL, 1, '2021-4-26', '10:00', '11:00', NULL, NULL, 'https://gitee.com/openharmony/community/blob/master/meeting-notes/2021-04-26.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (12, 'OpenHarmony PMC 例会', NULL, 1, '2021-5-10', '10:00', '11:00', NULL, NULL, 'https://gitee.com/openharmony/community/blob/master/meeting-notes/2021-05-10.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (13, 'OpenHarmony PMC 例会', NULL, 1, '2021-5-26', '10:00', '11:00', NULL, NULL, 'https://gitee.com/openharmony/community/blob/master/meeting-notes/2021-05-26.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (14, 'OpenHarmony PMC 例会', NULL, 1, '2021-6-28', '10:00', '11:00', NULL, NULL, 'https://gitee.com/openharmony/community/blob/master/meeting-notes/2021-06-28.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (15, 'OpenHarmony PMC 例会', NULL, 1, '2021-7-22', '10:00', '11:00', NULL, NULL, 'https://gitee.com/openharmony/community/blob/master/meeting-notes/2021-07-22.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (16, 'OpenHarmony PMC 例会', NULL, 1, '2021-8-19', '10:00', '11:00', NULL, NULL, 'https://gitee.com/openharmony/community/blob/master/meeting-notes/2021-08-19.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (17, 'OpenHarmony PMC 例会', NULL, 1, '2021-9-8', '10:00', '11:00', NULL, NULL, 'https://gitee.com/openharmony/community/blob/master/meeting-notes/2021-09-08.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (18, 'OpenHarmony PMC 例会', NULL, 1, '2021-9-30', '10:00', '11:00', NULL, NULL, 'https://gitee.com/openharmony/community/blob/master/meeting-notes/2021-09-30.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (19, 'OpenHarmony PMC 例会', NULL, 1, '2021-10-14', '10:00', '11:00', NULL, NULL, 'https://gitee.com/openharmony/community/blob/master/meeting-notes/2021-10-14.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (20, 'OpenHarmony PMC 例会', NULL, 1, '2021-10-28', '10:00', '11:00', NULL, NULL, 'https://gitee.com/openharmony/community/blob/master/meeting-notes/2021-10-28.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (21, 'OpenHarmony PMC 例会', NULL, 1, '2021-11-9', '10:00', '11:00', NULL, NULL, 'https://gitee.com/openharmony/community/blob/master/meeting-notes/2021-11-09.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (22, 'OpenHarmony PMC 例会', NULL, 1, '2021-11-25', '10:00', '11:00', NULL, NULL, 'https://gitee.com/openharmony/community/blob/master/meeting-notes/2021-11-25.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (23, 'OpenHarmony PMC 例会', NULL, 1, '2021-12-9', '10:00', '11:00', NULL, NULL, 'https://gitee.com/openharmony/community/blob/master/meeting-notes/2021-12-09.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (24, 'OpenHarmony Dev-Board-SIG例会', NULL, 1, '2021-11-4', '14:00', '15:30', NULL, NULL, 'https://gitee.com/openharmony-sig/sig-content/blob/master/devboard/meetings/2021-11-04-meeting.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (25, 'OpenHarmony RISC-V-SIG例会', NULL, 1, '2021-6-15', '14:00', '15:00', NULL, NULL, 'https://gitee.com/openharmony-sig/sig-content/blob/master/riscv/meetings/2021-06-15-meeting.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (26, 'OpenHarmony Openblock-SIG例会', NULL, 1, '2021-6-21', '20:00', '21:00', NULL, NULL, 'https://gitee.com/openharmony-sig/sig-content/blob/master/openblock/meetings/2021-06-21-meeting.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (27, 'OpenHarmony RISC-V-SIG例会', NULL, 1, '2021-6-29', '14:00', '15:00', NULL, NULL, 'https://gitee.com/openharmony-sig/sig-content/blob/master/riscv/meetings/2021-06-29-meeting.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (28, 'OpenHarmony Dev-Board-SIG例会', NULL, 1, '2021-7-3', '15:00', '16:00', NULL, NULL, 'https://gitee.com/openharmony-sig/sig-content/blob/master/devboard/meetings/2021-07-03-meeting.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (29, 'OpenHarmony RISC-V-SIG例会', NULL, 1, '2021-7-8', '14:30', '15:30', NULL, NULL, 'https://gitee.com/openharmony-sig/sig-content/blob/master/riscv/meetings/2021-07-08-meeting.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (30, 'OpenHarmony Dev-Board-SIG例会', NULL, 1, '2021-7-15', '10:00', '12:00', NULL, NULL, 'https://gitee.com/openharmony-sig/sig-content/blob/master/devboard/meetings/2021-07-15-meeting.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (31, 'OpenHarmony Dev-Board-SIG例会', NULL, 1, '2021-7-20', '09:30', '10:30', NULL, NULL, 'https://gitee.com/openharmony-sig/sig-content/blob/master/devboard/meetings/2021-07-20-meeting.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (32, 'OpenHarmony RISC-V-SIG例会', NULL, 1, '2021-7-22', '14:30', '15:30', NULL, NULL, 'https://gitee.com/openharmony-sig/sig-content/blob/master/riscv/meetings/2021-07-22-meeting.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (33, 'OpenHarmony Linkboy-SIG例会', NULL, 1, '2021-8-4', '8:00', '9:00', NULL, NULL, 'https://gitee.com/openharmony-sig/sig-content/blob/master/linkboy/meetings/2021-08-04-meeting.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (34, 'OpenHarmony RISC-V-SIG例会', NULL, 1, '2021-8-5', '14:30', '15:30', NULL, NULL, 'https://gitee.com/openharmony-sig/sig-content/blob/master/riscv/meetings/2021-08-05-meeting.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (35, 'OpenHarmony Dev-Board-SIG例会', NULL, 1, '2021-8-6', '10:00', '12:00', NULL, NULL, 'https://gitee.com/openharmony-sig/sig-content/blob/master/devboard/meetings/2021-08-06-meeting.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (36, 'OpenHarmony RISC-V-SIG例会', NULL, 1, '2021-8-25', '14:30', '15:30', NULL, NULL, 'https://gitee.com/openharmony-sig/sig-content/blob/master/riscv/meetings/2021-08-25-meeting.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (37, 'OpenHarmony Knowledge SIG例会', NULL, 1, '2021-11-2', '15:00', '16:00', NULL, NULL, 'https://gitee.com/openharmony-sig/sig-content/blob/master/knowlege/meetings/2021-11-02-meeting.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (38, 'OpenHarmony RISC-V-SIG例会', NULL, 1, '2021-11-9', '14:30', '15:30', NULL, NULL, 'https://gitee.com/openharmony-sig/sig-content/blob/master/riscv/meetings/2021-11-09-meeting.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (39, 'OpenHarmony Knowledge SIG例会', NULL, 1, '2021-11-17', '14:00', '15:00', NULL, NULL, 'https://gitee.com/openharmony-sig/sig-content/blob/master/knowlege/meetings/2021-11-17-meeting.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (40, 'OpenHarmony Knowledge SIG例会', NULL, 1, '2021-11-30', '15:00', '16:00', NULL, NULL, 'https://gitee.com/openharmony-sig/sig-content/blob/master/knowlege/meetings/2021-11-30-meeting.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (41, 'OpenHarmony Dev-Board-SIG例会', NULL, 1, '2021-12-10', '14:00', '15:00', NULL, NULL, 'https://gitee.com/openharmony-sig/sig-content/blob/master/devboard/meetings/2021-12-10-meeting.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (42, 'OpenHarmony Knowledge SIG例会', NULL, 1, '2021-12-14', '15:00', '16:00', NULL, NULL, 'https://gitee.com/openharmony-sig/sig-content/blob/master/knowlege/meetings/2021-12-14-meeting.md', NULL);
+INSERT INTO `t_home_meeting` VALUES (43, 'OpenHarmony基础设施组例会', NULL, 1, '2021-12-31', '10:00', '11:00', NULL, NULL, NULL, 'https://meeting.tencent.com/dm/qUZa8Uar0hkV');
+INSERT INTO `t_home_meeting` VALUES (44, 'OpenHarmony基础设施组例会', NULL, 1, '2022-1-7', '10:00', '11:00', NULL, NULL, NULL, 'https://meeting.tencent.com/dm/qUZa8Uar0hkV');
+INSERT INTO `t_home_meeting` VALUES (45, 'OpenHarmony基础设施组例会', NULL, 1, '2022-1-14', '10:00', '11:00', NULL, NULL, NULL, 'https://meeting.tencent.com/dm/qUZa8Uar0hkV');
+INSERT INTO `t_home_meeting` VALUES (46, 'OpenHarmony基础设施组例会', NULL, 1, '2022-1-21', '10:00', '11:00', NULL, NULL, NULL, 'https://meeting.tencent.com/dm/qUZa8Uar0hkV');
+INSERT INTO `t_home_meeting` VALUES (47, 'OpenHarmony基础设施组例会', NULL, 1, '2022-1-28', '10:00', '11:00', NULL, NULL, NULL, 'https://meeting.tencent.com/dm/qUZa8Uar0hkV');
+INSERT INTO `t_home_meeting` VALUES (48, 'OpenHarmony项目群TSC委员研讨会', NULL, 1, '2021-12-29', '9:10', '11:00', NULL, NULL, NULL, NULL);
+INSERT INTO `t_home_meeting` VALUES (49, '兼容性组月度例会', NULL, 1, '2022-1-21', '16:00', '17:00', NULL, NULL, NULL, 'https://welink-zhumu-com/j/178290410?pwd=UUVzK09oWWxOTGlPQzNPQlJsbkJzdz09');
+INSERT INTO `t_home_meeting` VALUES (50, '架构例会', NULL, 1, '2022-1-18', '9:30', '12:00', NULL, NULL, NULL, NULL);
+INSERT INTO `t_home_meeting` VALUES (51, 'PMC例会', NULL, 1, '2022-1-20', '9:30', '11:00', NULL, NULL, NULL, NULL);
+INSERT INTO `t_home_meeting` VALUES (52, '架构SIG例会', NULL, 1, '2022-1-25', '9:30', '12:00', NULL, NULL, NULL, NULL);
+INSERT INTO `t_home_meeting` VALUES (53, '兼容性组例会', NULL, 1, '2022-1-27', '16:00', '17:00', NULL, NULL, NULL, NULL);
+INSERT INTO `t_home_meeting` VALUES (54, '架构SIG例会', NULL, 1, '2022-2-8', '9:30', '12:00', NULL, NULL, NULL, NULL);
+INSERT INTO `t_home_meeting` VALUES (55, 'PMC例会', NULL, 1, '2022-2-10', '9:30', '11:00', NULL, NULL, NULL, NULL);
+INSERT INTO `t_home_meeting` VALUES (56, '兼容性组例会', NULL, 1, '2022-2-10', '16:00', '17:00', NULL, NULL, NULL, NULL);
+INSERT INTO `t_home_meeting` VALUES (57, '架构SIG例会', NULL, 1, '2022-2-15', '9:30', '12:00', NULL, NULL, NULL, NULL);
+INSERT INTO `t_home_meeting` VALUES (58, '兼容性组例会', NULL, 1, '2022-2-17', '16:00', '17:00', NULL, NULL, NULL, NULL);
+INSERT INTO `t_home_meeting` VALUES (59, '架构SIG例会', NULL, 1, '2022-2-22', '9:30', '12:00', NULL, NULL, NULL, NULL);
+INSERT INTO `t_home_meeting` VALUES (60, 'PMC例会', NULL, 1, '2022-2-24', '9:30', '11:00', NULL, NULL, NULL, NULL);
+INSERT INTO `t_home_meeting` VALUES (61, '兼容性组例会', NULL, 1, '2022-2-24', '16:00', '17:00', NULL, NULL, NULL, NULL);
+INSERT INTO `t_home_meeting` VALUES (62, '架构SIG例会', NULL, 1, '2022-3-1', '9:30', '12:00', NULL, NULL, NULL, NULL);
+INSERT INTO `t_home_meeting` VALUES (63, '兼容性组例会', NULL, 1, '2022-3-3', '16:00', '17:00', NULL, NULL, NULL, NULL);
+INSERT INTO `t_home_meeting` VALUES (64, '架构SIG例会', NULL, 1, '2022-3-8', '9:30', '12:00', NULL, NULL, NULL, NULL);
+INSERT INTO `t_home_meeting` VALUES (65, 'PMC例会', NULL, 1, '2022-3-10', '9:30', '11:00', NULL, NULL, NULL, NULL);
+INSERT INTO `t_home_meeting` VALUES (66, '兼容性组例会', NULL, 1, '2022-3-10', '16:00', '17:00', NULL, NULL, NULL, NULL);
+
+-- ----------------------------
+-- Table structure for t_log
+-- ----------------------------
+DROP TABLE IF EXISTS `t_log`;
+CREATE TABLE `t_log` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `level` int(11) NULL DEFAULT NULL,
+ `msg` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `exception` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `logTime` datetime(0) NULL DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '日志管理' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of t_log
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for t_os_type
+-- ----------------------------
+DROP TABLE IF EXISTS `t_os_type`;
+CREATE TABLE `t_os_type` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'os类型名称',
+ `sort` int(11) NULL DEFAULT NULL COMMENT '排序',
+ `reserve1` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `reserve2` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `reserve3` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `createTime` datetime(0) NULL DEFAULT NULL,
+ `updateTime` datetime(0) NULL DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of t_os_type
+-- ----------------------------
+INSERT INTO `t_os_type` VALUES (1, '轻量系统', 1, NULL, NULL, NULL, '2021-12-22 09:58:56', NULL);
+INSERT INTO `t_os_type` VALUES (2, '小型系统', 2, NULL, NULL, NULL, '2021-12-22 09:59:07', NULL);
+INSERT INTO `t_os_type` VALUES (3, '标准系统', 3, NULL, NULL, NULL, '2021-12-22 09:59:16', NULL);
+
+-- ----------------------------
+-- Table structure for t_os_version
+-- ----------------------------
+DROP TABLE IF EXISTS `t_os_version`;
+CREATE TABLE `t_os_version` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'os版本原因',
+ `sort` int(11) NULL DEFAULT NULL COMMENT '排序',
+ `reserve1` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `reserve2` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `reserve3` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `createTime` datetime(0) NULL DEFAULT NULL,
+ `updateTime` datetime(0) NULL DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of t_os_version
+-- ----------------------------
+INSERT INTO `t_os_version` VALUES (1, '1.0.1 LTS', 1, NULL, NULL, NULL, '2021-12-22 09:59:38', NULL);
+INSERT INTO `t_os_version` VALUES (2, '1.1.0 LTS', 2, NULL, NULL, NULL, '2021-12-22 09:59:50', NULL);
+INSERT INTO `t_os_version` VALUES (3, '3.0 LTS', 3, NULL, NULL, NULL, '2021-12-22 10:00:09', NULL);
+INSERT INTO `t_os_version` VALUES (4, '3.1 Beta', 4, NULL, NULL, NULL, '2021-12-23 20:10:38', NULL);
+
+-- ----------------------------
+-- Table structure for t_sample
+-- ----------------------------
+DROP TABLE IF EXISTS `t_sample`;
+CREATE TABLE `t_sample` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '样例名称',
+ `imageUrl` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '图片地址',
+ `difficultyLevel` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '难度级别',
+ `author` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '作者',
+ `summary` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '概述',
+ `featuresIds` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '二级特性ID,多选,已“,”隔开',
+ `osTypeId` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'os类型id',
+ `osVersionId` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'os版本id',
+ `busTypeId` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '一级特性id',
+ `titleId` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '标题id',
+ `gitUrl` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '仓库地址',
+ `sign` int(11) NULL DEFAULT 0 COMMENT '标识(0:未推荐 1:已推荐)',
+ `sort` int(11) NULL DEFAULT NULL COMMENT '排序',
+ `createTime` datetime(0) NULL DEFAULT NULL,
+ `updateTime` datetime(0) NULL DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 2900 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of t_sample
+-- ----------------------------
+INSERT INTO `t_sample` VALUES (2727, '任务交替打印', NULL, '初级', '小熊派', '此样例将演示如何在BearPi-HM_Nano开发板上使用cmsis 2.0 接口进行多线程开发。', '48,35', '1', '2', '9,13', '2', 'https://gitee.com/openharmony/device_board_bearpi/blob/master/bearpi_hm_nano/app/A1_kernal_thread/README.md', 0, 0, '2022-01-13 16:51:00', NULL);
+INSERT INTO `t_sample` VALUES (2728, '定时器', NULL, '初级', '小熊派', '此样例将演示如何在BearPi-HM_Nano开发板上使用cmsis 2.0 接口进行定时器开发。', '48,35', '1', '2', '9,13', '2', 'https://gitee.com/openharmony/device_board_bearpi/blob/master/bearpi_hm_nano/app/A2_kernel_timer/README.md', 0, 0, '2022-01-13 16:51:00', NULL);
+INSERT INTO `t_sample` VALUES (2729, '事件', NULL, '初级', '小熊派', '此样例将演示如何在BearPi-HM_Nano开发板上使用cmsis 2.0 接口使用事件标志同步线程。', '48,35', '1', '2', '9,13', '2', 'https://gitee.com/openharmony/device_board_bearpi/blob/master/bearpi_hm_nano/app/A3_kernel_event/README.md', 0, 0, '2022-01-13 16:51:00', NULL);
+INSERT INTO `t_sample` VALUES (2730, '互斥锁', NULL, '初级', '小熊派', '此样例将演示如何在BearPi-HM_Nano开发板上使用cmsis 2.0 接口使用互斥来同步任务。', '48,35', '1', '2', '9,13', '2', 'https://gitee.com/openharmony/device_board_bearpi/blob/master/bearpi_hm_nano/app/A4_kernel_mutex/README.md', 0, 0, '2022-01-13 16:51:00', NULL);
+INSERT INTO `t_sample` VALUES (2731, '信号量', NULL, '初级', '小熊派', '此样例将演示如何在BearPi-HM_Nano开发板上使用cmsis 2.0 接口通过信号量同时从不同的线程访问共享资源。', '48,35', '1', '2', '9,13', '2', 'https://gitee.com/openharmony/device_board_bearpi/blob/master/bearpi_hm_nano/app/A5_kernel_semaphore/README.md', 0, 0, '2022-01-13 16:51:00', NULL);
+INSERT INTO `t_sample` VALUES (2758, 'ClickableJsDemo', NULL, '初级', 'OpenHarmony Codelabs团队', '基于OpenHarmony JS UI,使用Image、image-animator,实现图片展示与界面交互的动态效果。', '3', '3', '3', '2', '1', 'https://gitee.com/openharmony/codelabs/tree/master/JSUI/ClickableJsDemo', 0, 0, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_sample` VALUES (2759, 'DialogDemo', NULL, '初级', 'OpenHarmony Codelabs团队', '基于OpenHarmony JS UI,使用dialog组件实现几种常用的弹窗效果。', '3', '3', '3', '2', '1', 'https://gitee.com/openharmony/codelabs/tree/master/JSUI/DialogDemo', 0, 0, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_sample` VALUES (2760, '图片编辑模板', NULL, '初级', 'OpenHarmony Codelabs团队', '此样例将为开发者介绍如何使用ArkUI实现对图片的裁剪和调节。应用主界面包含顶部区域、中间区域和底部区域。顶部区域由后退、撤销、重做以及保存image组件构成;中间区域由预览图、裁剪框构成;底部区域由上至下依次为:用于调节次级功能的编辑参数、用于选择次级功能、用于选择图片编辑功能。', '3', '3', '3', '2', '1', 'https://gitee.com/openharmony/codelabs/tree/master/Media/ImageEditorTemplate', 0, 0, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_sample` VALUES (2761, '图片常见操作', NULL, '中级', 'OpenHarmony Codelabs团队', '此样例使用JS UI中的Image组件,利用CSS实现图片的旋转,剪裁,缩放,镜像效果。', '6,3', '3', '3', '2,3', '1', 'https://gitee.com/openharmony/codelabs/tree/master/Media/ImageJsDemo', 0, 0, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_sample` VALUES (2762, 'InputApplication', NULL, '初级', 'OpenHarmony Codelabs团队', '此样例使用JS UI中的input组件,实现输入框和表单提交。您可以在input输入框输入内容,长按input输入框对输入内容进行翻译、分享、查找等操作,点击提交按钮时对必填项进行校验。', '3', '3', '3', '2', '1', 'https://gitee.com/openharmony/codelabs/tree/master/JSUI/InputApplication', 0, 0, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_sample` VALUES (2763, '自定义组件', NULL, '初级', 'OpenHarmony Codelabs团队', '此样例将使用JS语言进行开发,做一个自定义组件绘制转盘的动画。', '3', '3', '3', '2', '1', 'https://gitee.com/openharmony/codelabs/tree/master/JSUI/JSCanvasComponet', 0, 0, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_sample` VALUES (2764, '分布式新闻客户端', 'https://gitee.com/openharmony/codelabs/raw/master/NewsDemo/screenshots/device/NewsClientDemo.PNG', '高级', 'OpenHarmony Codelabs团队', '此样例是在HarmonyOS 分布式新闻客户端(JAVA)的设计基础上,用JS编程语言重写了一个布局一模一样的新闻客户端,并对OpenHarmony开发板进行了适配。', '33,3', '3', '3', '2,7', '1', 'https://gitee.com/openharmony/codelabs/tree/master/Distributed/NewsDemo', 0, 0, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_sample` VALUES (2766, 'RatingApplication', NULL, '初级', 'OpenHarmony Codelabs团队', '此样例使用JS UI中的rating组件,我们将会通过一个简单的样例,实现一个星级打分的效果', '3', '3', '3', '2', '1', 'https://gitee.com/openharmony/codelabs/tree/master/JSUI/RatingApplication', 0, 0, '2022-01-13 16:51:01', NULL);
+INSERT INTO `t_sample` VALUES (2767, '护花使者', 'https://gitee.com/openharmony-sig/vendor_oh_fun/raw/master/bearpi-hm_nano-oh_flower/01_%E6%93%8D%E4%BD%9C%E6%96%87%E6%A1%A3/figures/%E6%A4%8D%E7%89%A9.jpg', '初级', '小熊派', '此样例是用BearPi-HM_Nano开发板加上一块“护花使者“底板及抽水电机等配件,快速DIY出一款具备远程监测土壤湿度并实现远程浇水的设备。该项目具备成本低、耗时少、操作简单等特点,时时刻刻呵护您的植物,伴其茁壮成长。', '44,48,35', '1', '2', '9,12,13', '2', 'https://gitee.com/openharmony-sig/vendor_oh_fun/tree/master/bearpi-hm_nano-oh_flower', 0, 0, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_sample` VALUES (2769, '轻量系统快速开发套件', NULL, '初级', 'OpenHarmony知识体系工作组', '此样例基于QEMU搭建openharmony快速开发环境。可用于线上开发轻量系统设备。', '48,35', '1', '3', '9,13', '2', 'https://gitee.com/openharmony-sig/knowledge/blob/master/%E6%A0%B7%E4%BE%8B/%E8%BD%BB%E9%87%8F%E7%B3%BB%E7%BB%9F/%E8%BD%BB%E9%87%8F%E7%B3%BB%E7%BB%9F%E5%BF%AB%E9%80%9F%E5%BC%80%E5%8F%91%E5%A5%97%E4%BB%B6/%E8%BD%BB%E9%87%8F%E7%B3%BB%E7%BB%9F%E5%BF%AB%E9%80%9F%E5%BC%80%E5%8F%91%E5%A5%97%E4%BB%B6.md', 0, 0, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_sample` VALUES (2770, '小型系统快速开发套件', NULL, '初级', 'OpenHarmony知识体系工作组', '此样例基于QEMU搭建openharmony快速开发环境。可用于线上开发小型系统设备。', '48,36', '2', '3', '9,13', '2', 'https://gitee.com/openharmony-sig/knowledge/blob/master/%E6%A0%B7%E4%BE%8B/%E5%B0%8F%E5%9E%8B%E7%B3%BB%E7%BB%9F/%E5%B0%8F%E5%9E%8B%E5%BF%AB%E9%80%9F%E5%BC%80%E5%8F%91%E5%A5%97%E4%BB%B6/%E5%B0%8F%E5%9E%8B%E5%BF%AB%E9%80%9F%E5%BC%80%E5%8F%91%E5%A5%97%E4%BB%B6.md', 0, 0, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_sample` VALUES (2771, '智能烟感系统', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/raw/master/dev/docs/smart_smoke_sensation/resource/zhengtixiao.gif', '中级', 'OpenHarmony知识体系工作组', '智能烟感系统通过实时监测环境中烟雾浓度,当烟雾浓度超标时,及时向用户发出警报。在连接网络后,配合数字管家应用,用户可以远程配置智能烟感系统的报警阈值,远程接收智能烟感系统报警信息。实现对危险及时报警,及时处理,守护居家安全。', '44,35,48,42', '1', '1', '9,12,13', '2', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/blob/master/dev/docs/smart_smoke_sensation', 0, 0, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_sample` VALUES (2772, '智能可燃气体检测系统', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/raw/master/dev/docs/smart_gasdetection/resource/zhenggexiao.gif', '中级', 'OpenHarmony知识体系工作组', '此样例是基于BearPi套件开发的智能可燃气体检测开发样例,该系统内主要由小熊派单板套件和和MQ5可燃气体检测传感器组成。 智能可燃气体检测系统可以通过云和手机建立连接,可以在手机上控制感应的阈值,传感器感知到的可燃气体浓度超过阈值之后,将会通过云传给手机,并报警。', '44,35,48,42', '1', '1', '9,12,13', '2', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/blob/master/dev/docs/smart_gasdetection', 0, 0, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_sample` VALUES (2773, '智能甲醛检测系统', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/raw/master/dev/docs/smart_tvocdetection/resource/zhenggexiao.gif', '中级', 'OpenHarmony知识体系工作组', '此样例是基于BearPi套件开发的智能甲醛检测系统开发样例,该设备硬件部分主要由小熊派单板套件和和甲醛检测传感器组成。智能甲醛检测系统可以通过云和手机建立连接,可以在手机上设置甲醛浓度阈值,传感器感知到的甲醛浓度超过阈值之后,将会通过云传给手机,并报警。', '44,35,48,42', '1', '1', '9,12,13', '2', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/blob/master/dev/docs/smart_tvocdetection', 0, 0, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_sample` VALUES (2774, '智慧窗帘', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/raw/master/dev/docs/smart_curtain/resource/operation.gif', '中级', 'OpenHarmony知识体系工作组', '智能窗帘设备不仅接收数字管家应用下发的指令来控制窗帘开启的时间,而且还可以加入到数字管家的日程管理中。通过日程可以设定窗帘开关的时间段,使其在特定的时间段内,窗帘自动打开或者关闭;通过日程管家还可以实现窗帘和其他的智能设备联动。', '44,35,48,42', '1', '1', '9,12,13', '2', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/tree/master/dev/docs/smart_curtain', 0, 0, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_sample` VALUES (2775, '智能扫地机', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/raw/master/dev/docs/smart_cleaner/resource/caozuo.gif', '中级', 'OpenHarmony知识体系工作组', '此样例采用润和的智能小车套件为硬件模型,通过修改代码具备了扫地机器人简易的避障功能及防跌落功能,并且能通过wifi接入数字管家应用场景。智能扫地机不仅能接收数字管家应用下发的指令启动或停止扫地机器人,而且还可以加入到数字管家的日程管理中。通过日程可以设定智能扫地机启动的时间段,使其在特定的时间段内,智能扫地机自动启动或者停止。', '44,35,48,42', '1', '1', '9,12,13', '2', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/blob/master/dev/docs/smart_cleaner', 0, 0, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_sample` VALUES (2776, '智能养花机', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/raw/master/dev/docs/smart_flower_machine/resource/kongzhixiao.gif', '中级', 'OpenHarmony知识体系工作组', '智能养花机通过感知花卉、盆栽等植宠生长环境的温度、湿度信息,适时为它们补充水分。在连接网络后,配合数字管家应用,用户可远程进行浇水操作。用户还可在应用中设定日程,有计划的按日、按周进行浇水。在日程中用户可添加其它智能设备(例如:智能窗帘),一起呵护植宠的成长。', '44,35,48,42', '1', '1', '9,12,13', '2', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/blob/master/dev/docs/smart_flower_machine', 0, 0, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_sample` VALUES (2777, '智能垃圾桶', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/raw/master/dev/docs/smart_trashcan/resource/gif_002.gif', '中级', 'OpenHarmony知识体系工作组', '智能垃圾桶可以通过数字管家应用来监测垃圾桶当前可用容量,提醒主人及时处理垃圾;通过日程管家可以实现和其他智能设备联动。', '44,35,48,42', '1', '1', '9,12,13', '2', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/blob/master/dev/docs/smart_trashcan', 0, 0, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_sample` VALUES (2778, '智能电子牌', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/raw/master/dev/docs/electronic_borad/resource/opration.gif', '高级', 'OpenHarmony知识体系工作组', '此样例是基于hi3516dv300开发板,使用开源鸿蒙OpenHarmony 开发的应用。通过该应用不仅可以查看时间、日期以及对应的室内外温湿度、空气质量等,还可以查看当日的行程,让我们随时随地把握行程,不会遗漏任何重要的安排。', '44,60,36,48,51,42', '2', '1', '9,12,13', '2', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/blob/master/dev/docs/electronic_borad', 0, 0, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_sample` VALUES (2779, '智能风扇', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/raw/master/dev/docs/smart_fan/resource/operation.gif', '中级', 'OpenHarmony知识体系工作组', '智能风扇设备不仅接收数字管家应用下发的指令来控制风扇开启的时间,调节风扇挡位,更改风扇定时时间,而且还可以加入到数字管家的日程管理中。通过日程可以设定风扇相关的任务,使其在特定的时间段内,风扇自动打开或者关闭,调节挡位大小和定时时间;通过日程管家还可以实现风扇和其他的智能设备联动。', '44,35,48,42', '1', '1', '9,12,13', '2', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/blob/master/dev/docs/smart_fan', 0, 0, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_sample` VALUES (2780, '智能手表', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/raw/master/dev/docs/smart_watch/resource/%E4%BA%A7%E5%93%81%E7%A4%BA%E6%84%8F%E5%9B%BE%E2%80%94%E2%80%94%E6%99%BA%E8%83%BD%E5%84%BF%E7%AB%A5%E6%89%8B%E8%A1%A8.png', '中级', 'OpenHarmony知识体系工作组', '此样例是基于BearPi套件开发的智能儿童手表系统,该系统通过与GSM模块(型号:SIM808)的通信来实现通话和定位功能。 智能儿童手表系统可以通过云和手机建立连接,同步时间和获取天气信息,通过手机下达日程安排到儿童手表,并显示在儿童手表的屏幕端,还可以通过SIM808模块获取地理位置信息,接收和拨打电话等功能。', '44,35,48,42', '1', '1', '9,12,13', '2', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/blob/master/dev/docs/smart_watch', 0, 0, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_sample` VALUES (2781, '智能台灯', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/raw/master/dev/docs/smart_lamp/resource/5.png', '中级', 'OpenHarmony知识体系工作组', '智能台灯设备不仅接收数字管家应用下发的指令来控制台灯的开关及亮度,而且还可以加入到数字管家的日程管理中。通过日程可以设定台灯开关的时间段,使其在特定的时间段内,台灯自动打开或者熄灭,并能自动调节相应时间段台灯的亮度;通过日程管家还可以实现台灯和其他的智能设备联动。', '44,35,48,42', '1', '1', '9,12,13', '2', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/tree/master/dev/docs/smart_lamp', 0, 0, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_sample` VALUES (2782, '智能中控面板', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/raw/master/dev/docs/smart_cenctrl_board/resource/opration.gif', '高级', 'OpenHarmony知识体系工作组', '此样例是基于Hi3516开发板,使用开源OpenHarmony开发的应用。通过控制面板可以控制同一局域网内的空调,窗帘,灯等智能家居设备。', '44,60,36,48,51', '2', '1', '9,12,13', '2', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/blob/master/dev/docs/smart_cenctrl_board/README.md', 1, 0, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_sample` VALUES (2783, '智能相机', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/raw/master/dev/docs/smart_camera/resource/opration.gif', '高级', 'OpenHarmony知识体系工作组', '此样例是基于Hi3516开发板,使用开源OpenHarmony3.0 LTS开发的应用。通过获取摄像头数据,实现预览拍照以及路视频等功能。并且通过后台AI服务识别唤醒词来进行语音控制拍照及录视频。', '44,36,48,59,60,51,63', '2', '3', '9,12,13', '2', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/blob/master/dev/docs/smart_camera/README.md', 1, 0, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_sample` VALUES (2784, '智能猫眼3516', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/raw/master/dev/docs/smart_door_viewer_3516/resource/3516.gif', '高级', 'OpenHarmony知识体系工作组', '此样例是基于Hi3516开发板,使用开源OpenHarmony开发的应用。通过手机应用可以看到Hi3516摄像头捕获的数据。', '44,45,36,48,51,59', '2', '1', '9,12,13', '2', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/blob/master/dev/docs/smart_door_viewer_3516/README.md', 0, 0, '2022-01-14 16:26:37', NULL);
+INSERT INTO `t_sample` VALUES (2785, '智能猫眼3518', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/raw/master/dev/docs/smart_door_viewer_3518/resource/3518.gif', '高级', 'OpenHarmony知识体系工作组', '此样例是基于Hi3518开发板,使用开源OpenHarmony开发的应用。通过手机应用可以看到Hi3518摄像头捕获的数据。', '44,45,36,48,51,59', '2', '1', '9,12,13', '2', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/blob/master/dev/docs/smart_door_viewer_3518/README.md', 0, 0, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_sample` VALUES (2786, '贪吃蛇', 'https://gitee.com/openharmony-sig/knowledge_demo_temp/raw/master/dev/docs/demo_snake/resource/2.gif', '中级', '深开鸿', '此样例是基于LYEVK-3861开发板IOT套件开发的简易贪吃蛇小游戏,使用了套件中的OLED屏幕扩展板和带按键的照明板。用OLED屏幕显示游戏运行界面,按键复用为游戏选择和游戏控制方向键。', '48,35,39', '1', '3', '9,13,10', '2', 'https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/dev/docs/demo_snake', 0, 0, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_sample` VALUES (2787, '音乐播放', NULL, '中级', '深开鸿', '此样例是基于LYEVK-3861开发板IOT套件开发的音乐播放放器,通过不同频率的PWM波驱动蜂鸣器可以产生不同音符的声音,利用这一特点,就可以奏出一段音乐。', '48,35,39', '1', '3', '9,13,10', '2', 'https://gitee.com/openharmony-sig/knowledge_demo_temp/blob/master/dev/docs/demo_beep/README.md', 0, 0, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_sample` VALUES (2788, '智慧停车', NULL, '中级', '深开鸿', '此样例是基于LYEVK-3861A IoT 开发套件开发,通过获取光照强度变化感知是否有车停放。', '44,48,35,39', '1', '3', '9,12,13,10', '2', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/tree/master/dev/team_x/demo_park', 0, 0, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_sample` VALUES (2789, '基于LYEVK-3861 接入华为IoT平台', NULL, '中级', '深开鸿', '本Demo是基于LYEVK-3861A IoT 开发套件开发,通过温湿度传感器模块获取温度,并上传华为云服务器。', '44,45,35,48', '1', '3', '9,12,13', '2', 'https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/dev/docs/demo_temp', 0, 0, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_sample` VALUES (2790, '智能加湿器', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/raw/master/dev/docs/smart_humidifier/resource/humidifier_04.gif', '高级', 'OpenHarmony知识体系工作组', '该样例使用JS编写本地设备应用界面,通过JSI机制与HDF交互来控制加湿器和显示当前湿度。样例还显示日期时间、天气和WIFI状态、阈值调解功能。还已接入数字管家应用,支持远程操作和日程安排,语音控制加湿器开关功能。', '44,35,48,51,38', '1', '4', '9,12,13,10', '2', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/tree/master/dev/docs/smart_humidifier', 1, 0, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_sample` VALUES (2791, '智能门铃', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/raw/master/dev/docs/smart_door_bell/resource/bell_main_pic.jpg', '高级', 'OpenHarmony知识体系工作组', '该样例人感配合按键监测入户门前状态“无人”,“不明人员逗留”,“访客按门铃”。将这些信息实时同步到室内屏幕上,并且在监测到门前有人时,蜂鸣器会报警,提醒室内用户。如果设备联网的情况下,这些信息也会同步到数字管家,并且数字管家还可以远程一键开锁。', '44,35,48,51,38', '1', '4', '9,12,13,10', '2', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/tree/master/dev/docs/smart_door_bell', 1, 0, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_sample` VALUES (2792, '智能门锁', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/raw/master/dev/docs/smart_lock/resources/smart_lock.gif', '中级', 'OpenHarmony知识体系工作组', '通过密码开锁以及开锁密码的管理,支持用户创建修改密码,也支持用户创建一次性密码。本样例还支持检测长时间未关门进行告警,及时通知用户进行关门处理。本样例已接入数字管家,通过操控电机模拟实现远程开关锁操作。', '44,35,48,38', '1', '4', '9,12,13,10', '2', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/tree/master/dev/docs/smart_lock', 1, 0, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_sample` VALUES (2793, '智能体重秤', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/raw/master/dev/docs/smart_weight_scale/resource/1.gif', '中级', 'OpenHarmony知识体系工作组', '该样例通过外接称重和超声波模块,实现了称重和测高的功能。本样例已接入数字管家,在FA端提供语音播报,体重周期报表,健康小知识推荐等功能。', '44,35,48,38', '1', '4', '9,12,13,10', '2', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/tree/master/dev/docs/smart_weight_scale', 1, 0, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_sample` VALUES (2794, '智能保险柜', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/raw/master/dev/docs/smart_safe/resource/6.gif', '中级', 'OpenHarmony知识体系工作组', '该样例利用碰一碰配网接入数字管家,并外接震动传感器,实现保险柜实时监控、报警功能。如果保险柜被震动,则手机会收到告警。', '44,35,40,48,42,39', '1', '4', '9,12,13,10', '2', 'https://gitee.com/openharmony-sig/knowledge_demo_smart_home/tree/master/dev/docs/smart_safe', 1, 0, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_sample` VALUES (2795, '传炸弹小游戏', 'https://gitee.com/openharmony-sig/knowledge_demo_temp/raw/master/FA/Entertainment/BombGame/resources/3568_start_game.gif', '高级', 'OpenHarmony知识体系工作组', '此样例基于OpenHarmony系统使用eTS语言进行编写,邀请用户进行设备认证后,用户根据操作提示通过分布式流转实现随机传递炸弹的效果。', '4,33', '3', '4', '2,7', '1', 'https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/FA/Entertainment/BombGame', 1, 0, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_sample` VALUES (2796, '分布式音乐播放器', 'https://gitee.com/openharmony-sig/knowledge_demo_temp/raw/master/FA/Entertainment/DistrubutedMusicPlayer/images/music_3568.gif', '高级', 'OpenHarmony知识体系工作组', '此样例是基于OpenHarmony系统使用eTS语言进行编写,体现音乐播放,分布式流转的能力。', '4,8,33', '3', '4', '2,3,7', '1', 'https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/FA/Entertainment/DistrubutedMusicPlayer', 1, 0, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_sample` VALUES (2797, '井字过三关小游戏', 'https://gitee.com/openharmony-sig/knowledge_demo_temp/raw/master/FA/Entertainment/TicTacToeGame/resource/1.gif', '高级', 'OpenHarmony知识体系工作组', '此样例基于OpenHarmony系统使用eTS语言进行编写,主要通过设备认证,分布式拉起,分布式数据管理等功能来实现。', '4,33,32', '3', '4', '2,7', '1', 'https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/FA/Entertainment/TicTacToeGame', 1, 0, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_sample` VALUES (2798, '分布式购物车', 'https://gitee.com/openharmony-sig/knowledge_demo_temp/raw/master/FA/Shopping/DistributedShoppingCart/resources/3568.gif', '高级', 'OpenHarmony知识体系工作组', '此样例基于OpenHarmony系统使用eTS语言进行编写,模拟的是我们购物时参加满减活动,进行拼单的场景;实现两人拼单时,其他一人添加商品到购物车,另外一人购物车列表能同步更新,且在购物车列表页面结算时,某一人结算对方也能实时知道结算金额和优惠金额。', '4,33,32', '3', '4', '2,7', '1', 'https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/FA/Shopping/DistributedShoppingCart', 1, 0, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_sample` VALUES (2799, '分布式账本', 'https://gitee.com/openharmony-sig/knowledge_demo_temp/raw/master/FA/Shopping/MyAccountBook/resource/zhangdang.gif', '高级', 'OpenHarmony知识体系工作组', '此样例基于OpenHarmony系统使用eTS语言进行编写,主要通过设备认证,分布式拉起,分布式数据管理等功能来实现。', '4,33,32', '3', '4', '2,7', '1', 'https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/FA/Shopping/MyAccountBook', 1, 0, '2022-01-14 16:26:38', NULL);
+INSERT INTO `t_sample` VALUES (2880, '动画样式(JS)', NULL, '初级', 'OpenHarmony Codelabs团队', '此样例使用的是通用动画样式,我们通过一个简单的样例,实现了平移、旋转、缩放以及透明度变化的效果。', '3', '3', '3', '2', '1', 'https://gitee.com/openharmony/codelabs/tree/master/JSUI/AnimationDemo', 0, 0, '2022-01-17 17:15:50', NULL);
+INSERT INTO `t_sample` VALUES (2881, '蓝牙键盘', 'https://gitee.com/openharmony-sig/vendor_oh_fun/raw/master/hihope_neptune-oh_hid/02_%E6%93%8D%E4%BD%9C%E6%8C%87%E5%AF%BC%E6%96%87%E6%A1%A3/meta/wps6.jpg', '初级', '江苏润和软件股份有限公司', '此样例是基于润和Neptune开发板开发的蓝牙键盘开发样例,搭配USB转串口模块,实现有线键盘转成蓝牙键盘的功能。', '48,35,43', '1', '2', '9,12,13', '2', 'https://gitee.com/openharmony-sig/vendor_oh_fun/tree/master/hihope_neptune-oh_hid', 0, 0, '2022-01-14 16:26:37', NULL);
+
+-- ----------------------------
+-- Table structure for t_title
+-- ----------------------------
+DROP TABLE IF EXISTS `t_title`;
+CREATE TABLE `t_title` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `sort` int(11) NULL DEFAULT NULL COMMENT '排序',
+ `reserve1` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '预留1',
+ `reserve2` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '预留2',
+ `reserve3` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `createTime` datetime(0) NULL DEFAULT NULL,
+ `updateTime` datetime(0) NULL DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '菜单管理' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of t_title
+-- ----------------------------
+INSERT INTO `t_title` VALUES (1, '应用开发', 1, NULL, NULL, NULL, '2021-12-01 10:54:18', NULL);
+INSERT INTO `t_title` VALUES (2, '设备开发', 2, NULL, NULL, NULL, '2021-12-01 10:54:35', NULL);
+
+-- ----------------------------
+-- Table structure for t_user
+-- ----------------------------
+DROP TABLE IF EXISTS `t_user`;
+CREATE TABLE `t_user` (
+ `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户表',
+ `userName` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '姓名',
+ `phoneNumber` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '电话号码',
+ `password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `token` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+ `createTime` datetime(0) NULL DEFAULT NULL,
+ `loginTime` datetime(0) NULL DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of t_user
+-- ----------------------------
+INSERT INTO `t_user` VALUES (1, 'admin', '13588995566', 'fb2d1611193226d43a0c78cdceacd1ea', 'eyJ0eXBlIjoiSldUIiwiYWxnIjoiSFMyNTYiLCJ0eXAiOiJKV1QifQ.eyJsb2dpblVzZXJJZCI6Ik9wZW5oYXJtb255MTIzIiwiZXhwIjoxNjQzMjUzODcxLCJ1c2VybmFtZSI6ImFkbWluIn0.bOdd0teQb7xzZLJ7A1BPOJRkrLEQ62cEzkJetrDkUS8', NULL, '2022-01-20 11:24:32');
+
+SET FOREIGN_KEY_CHECKS = 1;
diff --git a/knowledge-map/src/main/java/com/chinasoft/KnowledgeMapApplication.java b/knowledge-map/src/main/java/com/chinasoft/KnowledgeMapApplication.java
new file mode 100644
index 0000000000000000000000000000000000000000..b51d8addf960725c7813b6d47eb1ea2ad4037a53
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/KnowledgeMapApplication.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft;
+
+import org.apache.catalina.Context;
+import org.apache.catalina.connector.Connector;
+import org.apache.tomcat.util.descriptor.web.SecurityCollection;
+import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
+import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
+import org.springframework.context.annotation.Bean;
+
+@SpringBootApplication
+public class KnowledgeMapApplication {
+
+ private static final int DEFAULT_HTTP_PORT = 8112;
+
+ @Value("${server.port}")
+ private int serverPort;
+
+ public static void main(String[] args) {
+ SpringApplication.run(KnowledgeMapApplication.class, args);
+ }
+
+ /*// SpringBoot2.x配置HTTPS,并实现HTTP访问自动转向HTTPS
+ @Bean
+ public ServletWebServerFactory servletContainer() {
+ TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory(){
+ @Override
+ protected void postProcessContext(Context context) {
+ SecurityConstraint securityConstraint = new SecurityConstraint();
+ securityConstraint.setUserConstraint("CONFIDENTIAL");
+ SecurityCollection collection = new SecurityCollection();
+ collection.addPattern("/*");
+ securityConstraint.addCollection(collection);
+ context.addConstraint(securityConstraint);
+ }
+ };
+ tomcat.addAdditionalTomcatConnectors(httpConnector());
+ return tomcat;
+ }
+
+ @Bean
+ public Connector httpConnector() {
+ Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
+ connector.setScheme("http");
+ connector.setPort(DEFAULT_HTTP_PORT); // 监听Http的端口
+ connector.setSecure(false);
+ connector.setRedirectPort(serverPort); // 监听Http端口后转向Https端口
+ return connector;
+ }*/
+
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/annotation/OperationLog.java b/knowledge-map/src/main/java/com/chinasoft/annotation/OperationLog.java
new file mode 100644
index 0000000000000000000000000000000000000000..22b482fec8ad3fcbc4a3d25f132bb793ccc67d07
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/annotation/OperationLog.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.annotation;
+
+import java.lang.annotation.*;
+
+/**
+ * 操作日志注解
+ * @author 崔翔
+ *
+ */
+@Target(ElementType.METHOD)
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface OperationLog {
+ /**
+ * 行为
+ * @return
+ */
+ String action() default "";
+
+ /**
+ * 操作类型
+ * @return
+ */
+ String operateType() default "";
+ /**
+ * 描述
+ * @return
+ */
+ String operationDesc() default "";
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/bean/po/BaseInfo.java b/knowledge-map/src/main/java/com/chinasoft/bean/po/BaseInfo.java
new file mode 100644
index 0000000000000000000000000000000000000000..f3be20770b5f2ac36221e0cd497a2d68ea7a91cf
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/bean/po/BaseInfo.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.bean.po;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class BaseInfo extends Basic{
+ private Integer id;
+ private Integer sampleId;
+ private String versionNo;
+ private String deviceLevel;
+ private String sysVersion;
+ private String reserve1;
+ private String reserve2;
+ private String reserve3;
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/bean/po/Basic.java b/knowledge-map/src/main/java/com/chinasoft/bean/po/Basic.java
new file mode 100644
index 0000000000000000000000000000000000000000..2ea4f291d5dfeda60e78ae94507f2c6a51358975
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/bean/po/Basic.java
@@ -0,0 +1,108 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.bean.po;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+public class Basic {
+
+ /**
+ * 开始页
+ */
+ @JsonIgnore
+ private Integer start;
+ /**
+ * 每页页数
+ */
+ @JsonIgnore
+ private Integer pageSize;
+ /**
+ * 第几页,默认第1页
+ */
+ @JsonIgnore
+ private Integer pageNum;
+
+ //添加时间
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+ @JsonIgnore
+ private Date createTime;
+
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+ @JsonIgnore
+ private Date updateTime;
+
+ /**
+ * 查询条件
+ */
+ @JsonIgnore
+ private String condition;
+
+ public Integer getStart() {
+ if (null != pageNum && pageSize > 0){
+ start = (pageNum - 1) * pageSize;
+ }
+ return start;
+ }
+
+ public void setStart(Integer start) {
+ this.start = start;
+ }
+
+ public Integer getPageNum() {
+ return pageNum;
+ }
+
+ public void setPageNum(Integer pageNum) {
+ this.pageNum = pageNum;
+ }
+
+ public Integer getPageSize() {
+ return pageSize;
+ }
+
+ public void setPageSize(Integer pageSize) {
+ this.pageSize = pageSize;
+ }
+
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+
+ public Date getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(Date updateTime) {
+ this.updateTime = updateTime;
+ }
+
+ public String getCondition() {
+ return condition;
+ }
+
+ public void setCondition(String condition) {
+ this.condition = condition;
+ }
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/bean/po/BusType.java b/knowledge-map/src/main/java/com/chinasoft/bean/po/BusType.java
new file mode 100644
index 0000000000000000000000000000000000000000..e4514a8460d859f54a68d1da4936221e4c75592a
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/bean/po/BusType.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.bean.po;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class BusType extends Basic{
+ private Integer id;
+ private Integer busTypeId;
+ private String name;
+ private Integer sort;
+ private Integer titleId;
+ private Integer levelId;
+ private String reserve1;
+ private String reserve2;
+ private String reserve3;
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/bean/po/Detail.java b/knowledge-map/src/main/java/com/chinasoft/bean/po/Detail.java
new file mode 100644
index 0000000000000000000000000000000000000000..171d340caee51082299dd570007422ec446c0874
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/bean/po/Detail.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.bean.po;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class Detail extends Basic{
+ private Integer id;
+ private Integer typeId;
+ private String name;
+ private String url;
+ private String description;
+ private Integer sampleId;
+ private Integer sort;
+ private String reserve1;
+ private String reserve2;
+ private String reserve3;
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/bean/po/DetailType.java b/knowledge-map/src/main/java/com/chinasoft/bean/po/DetailType.java
new file mode 100644
index 0000000000000000000000000000000000000000..77536497c9b9db8f9456c2d832c7831bcbd8ea27
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/bean/po/DetailType.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.bean.po;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class DetailType extends Basic{
+ private Integer id;
+ private String name;
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/bean/po/Features.java b/knowledge-map/src/main/java/com/chinasoft/bean/po/Features.java
new file mode 100644
index 0000000000000000000000000000000000000000..5abc2bee4b6acfb0789854edde230d38a3afc431
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/bean/po/Features.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.bean.po;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class Features extends Basic{
+ private Integer id;
+ private Integer featuresId;
+ private String name;
+ private Integer sort;
+ private Integer busTypeId;
+ private String reserve1;
+ private String reserve2;
+ private String reserve3;
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/bean/po/HomeAdvertising.java b/knowledge-map/src/main/java/com/chinasoft/bean/po/HomeAdvertising.java
new file mode 100644
index 0000000000000000000000000000000000000000..9eb4970426b78ff7d851c541baf78f732138a8ea
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/bean/po/HomeAdvertising.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.bean.po;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class HomeAdvertising {
+ private Integer id;
+ private int type;
+ private String imgUrl;
+ private String url;
+
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/bean/po/HomeBanner.java b/knowledge-map/src/main/java/com/chinasoft/bean/po/HomeBanner.java
new file mode 100644
index 0000000000000000000000000000000000000000..5ff27f4f9d491ba116f750ab4b34a7d32fad998d
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/bean/po/HomeBanner.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.bean.po;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class HomeBanner {
+ private Integer id;
+ private String imgUrl;
+ private String url;
+ private int sort;
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/bean/po/HomeCompany.java b/knowledge-map/src/main/java/com/chinasoft/bean/po/HomeCompany.java
new file mode 100644
index 0000000000000000000000000000000000000000..386f50a96fbc8575e7ff5d48a9bf32fe79dfe137
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/bean/po/HomeCompany.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.bean.po;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class HomeCompany {
+ private Integer id;
+ private String logoUrl;
+ private String url;
+ private int sort;
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/bean/po/HomeContent.java b/knowledge-map/src/main/java/com/chinasoft/bean/po/HomeContent.java
new file mode 100644
index 0000000000000000000000000000000000000000..eec7ec5b892d67bca9eda59654e5391be193f63c
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/bean/po/HomeContent.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.bean.po;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class HomeContent extends Basic{
+ private Integer id;
+ private int type;
+ private String title;
+ private String source;
+ private String content;
+ private String textDetails;
+ private String backgroundImage;
+ private String url;
+ private String advertiseImage;
+ private String advertiseUrl;
+ private String startTime;
+ private String endTime;
+ private int label;
+ private int recommend;
+ private int likesCount;
+ private int shareCount;
+ private int browseCount;
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/bean/po/HomeContentPic.java b/knowledge-map/src/main/java/com/chinasoft/bean/po/HomeContentPic.java
new file mode 100644
index 0000000000000000000000000000000000000000..0a13a9fb555f4732e4bbc0d8a11576c96ee52931
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/bean/po/HomeContentPic.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.bean.po;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class HomeContentPic {
+ private Integer id;
+ private Integer type;
+ private String carouselImage;
+ private String carouselUrl;
+ private Integer sort;
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/bean/po/HomeDevelopment.java b/knowledge-map/src/main/java/com/chinasoft/bean/po/HomeDevelopment.java
new file mode 100644
index 0000000000000000000000000000000000000000..dd17bbb927a9d2d4b47ad56bbd4e611dc2eaea7d
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/bean/po/HomeDevelopment.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.bean.po;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class HomeDevelopment extends Basic {
+ private Integer id;
+ private String name;
+ private String osVersion;
+ private String description;
+ private String logoImage;
+ private String url;
+ private String source;
+ private int attestStatus;
+ private int sort;
+ private String attestDate;
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/bean/po/HomeMeeting.java b/knowledge-map/src/main/java/com/chinasoft/bean/po/HomeMeeting.java
new file mode 100644
index 0000000000000000000000000000000000000000..21ed687266036e0fc4144755cf0b47b2eebb566a
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/bean/po/HomeMeeting.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.bean.po;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class HomeMeeting {
+ private Integer id;
+ private String name;
+ private int label;
+ private String date;
+ private String startTime;
+ private String endTime;
+ private String address;
+ private String recordUrl;
+ private String contentUrl;
+ private String attachmentUrl;
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/bean/po/Level.java b/knowledge-map/src/main/java/com/chinasoft/bean/po/Level.java
new file mode 100644
index 0000000000000000000000000000000000000000..d618e2e1855dc72a3c3ae8adac9e7c31a5f90d13
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/bean/po/Level.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.bean.po;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class Level extends Basic {
+ private Integer id;
+ private Integer levelId;
+ private String name;
+ private Integer sort;
+ private String reserve1;
+ private String reserve2;
+ private String reserve3;
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/bean/po/OsType.java b/knowledge-map/src/main/java/com/chinasoft/bean/po/OsType.java
new file mode 100644
index 0000000000000000000000000000000000000000..846c6f8aff257a2db823e7d96b9cd372fb257a0f
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/bean/po/OsType.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.bean.po;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class OsType extends Basic {
+ private Integer id;
+ private Integer osTypeId;
+ private String name;
+ private Integer sort;
+ private String reserve1;
+ private String reserve2;
+ private String reserve3;
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/bean/po/OsVersion.java b/knowledge-map/src/main/java/com/chinasoft/bean/po/OsVersion.java
new file mode 100644
index 0000000000000000000000000000000000000000..e5f1c9fe1fa77a530d0f2b0a7a21fc481e65b83d
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/bean/po/OsVersion.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.bean.po;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class OsVersion extends Basic {
+ private Integer id;
+ private Integer osVersionId;
+ private String name;
+ private Integer sort;
+ private String reserve1;
+ private String reserve2;
+ private String reserve3;
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/bean/po/PushStrategyPO.java b/knowledge-map/src/main/java/com/chinasoft/bean/po/PushStrategyPO.java
new file mode 100644
index 0000000000000000000000000000000000000000..820eeb365ce48999a22d527be2ed2d88d8e84833
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/bean/po/PushStrategyPO.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.bean.po;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@ApiModel(value = "推送策略")
+@Data
+public class PushStrategyPO {
+
+ //id
+ @ApiModelProperty(value = "策略id")
+ private Integer id;
+
+ //邮件主题
+ @ApiModelProperty(value = "邮件主题")
+ private String submit;
+ //邮件内容
+ @ApiModelProperty(value = "邮件内容")
+ private String content;
+ //邮件主送人
+ @ApiModelProperty(value = "邮件主送人")
+ private String recipient;
+ //邮件主送人
+ @ApiModelProperty(value = "邮件抄送人")
+ private String CC;
+
+ @ApiModelProperty(value = "邮件附件路径")
+ private String path;
+
+ @ApiModelProperty(value = "邮件附件名称")
+ private String fileName;
+
+ //删除Del
+ @ApiModelProperty(value = "逻辑删除,【0】为保存,【1】为删除")
+ private int isDel;
+
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/bean/po/Sample.java b/knowledge-map/src/main/java/com/chinasoft/bean/po/Sample.java
new file mode 100644
index 0000000000000000000000000000000000000000..de8f7dc02959e065531472cb939509740d547231
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/bean/po/Sample.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.bean.po;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class Sample {
+ private Integer id;
+ private String name;
+ private String author;
+ private String summary;
+ private String featuresIds;
+ private String gitUrl;
+ private Integer sign;
+ private Integer sort;
+ private Date createTime;
+ private Date updateTime;
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/bean/po/Title.java b/knowledge-map/src/main/java/com/chinasoft/bean/po/Title.java
new file mode 100644
index 0000000000000000000000000000000000000000..99228e8fd46e0e452474b53ad9df23dd6a67f4b9
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/bean/po/Title.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.bean.po;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class Title extends Basic{
+ private Integer id;
+ private Integer titleId;
+ private String name;
+ private Integer sort;
+ private String reserve1;
+ private String reserve2;
+ private String reserve3;
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/bean/po/User.java b/knowledge-map/src/main/java/com/chinasoft/bean/po/User.java
new file mode 100644
index 0000000000000000000000000000000000000000..2232f6b7700da1adb5c7a3250629e8820b68f277
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/bean/po/User.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.bean.po;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class User extends Basic{
+ private Integer id;
+ private String userName;
+ private String phoneNumber;
+ private String password;
+ private String token;
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+ private Date loginTime;
+
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/bean/po/log.java b/knowledge-map/src/main/java/com/chinasoft/bean/po/log.java
new file mode 100644
index 0000000000000000000000000000000000000000..ba5bd2f8cb1cd84ffd93a70f132ead8602092c9a
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/bean/po/log.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.bean.po;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class log {
+ private Integer id;
+ private Integer level;
+ private String msg;
+ private String exception;
+ private Date logTime;
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/bean/vo/AddSampleVo.java b/knowledge-map/src/main/java/com/chinasoft/bean/vo/AddSampleVo.java
new file mode 100644
index 0000000000000000000000000000000000000000..361e7bf539582360b0078f77b9e0ce89fc25fff2
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/bean/vo/AddSampleVo.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.bean.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+import java.util.List;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class AddSampleVo {
+ private int id;
+ private String sampleId;
+ private String name;
+ private int sign;
+ private String author;
+ private String summary;
+ private String featuresIds;
+ private String osTypeId;
+ private String osVersionId;
+ private String busTypeId;
+ private String titleId;
+ private int sort;
+ private String gitUrl;
+ private String imageUrl;
+ private String difficultyLevel;
+
+ //添加时间
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+ @JsonIgnore
+ private Date createTime;
+ private List baseInfoList;
+ private List typeDetailList;
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/bean/vo/BaseInfoListVo.java b/knowledge-map/src/main/java/com/chinasoft/bean/vo/BaseInfoListVo.java
new file mode 100644
index 0000000000000000000000000000000000000000..f7f4ebd4aebdf9d6f9c0cfe2516238fef8aaa59a
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/bean/vo/BaseInfoListVo.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.bean.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class BaseInfoListVo {
+ private String versionNo;
+ private String deviceLevel;
+ private String sysVersion;
+ private int sampleId;
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/bean/vo/QuerySampleVo.java b/knowledge-map/src/main/java/com/chinasoft/bean/vo/QuerySampleVo.java
new file mode 100644
index 0000000000000000000000000000000000000000..753fbb799785389b5ada05ad6c864fdb1d0e02c7
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/bean/vo/QuerySampleVo.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.bean.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class QuerySampleVo {
+ private int sampleId;
+ private String sampleName;
+ private int featuresId;
+ private String featuresName;
+ private int busTypeId;
+ private String busTypeName;
+ private int levelId;
+ private String levelName;
+ private int titleId;
+ private String titleName;
+ private String summary;
+ private int sign;
+ private int sort;
+ private String updateTime;
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/bean/vo/TypeDetailListVo.java b/knowledge-map/src/main/java/com/chinasoft/bean/vo/TypeDetailListVo.java
new file mode 100644
index 0000000000000000000000000000000000000000..054191929d1b3b234ee98802c240c269354f075b
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/bean/vo/TypeDetailListVo.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.bean.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class TypeDetailListVo {
+ private int typeId;
+ private String name;
+ private String url;
+ private String description;
+ private int sort;
+ private int sampleId;
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/config/MvcConfig.java b/knowledge-map/src/main/java/com/chinasoft/config/MvcConfig.java
new file mode 100644
index 0000000000000000000000000000000000000000..1f75aae96aa9a903759530b6d02bade993d00f23
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/config/MvcConfig.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.config;
+
+import com.chinasoft.filter.LoginInterceptor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+@Configuration
+public class MvcConfig implements WebMvcConfigurer {
+
+ @Autowired
+ private UriConfig uriConfig;
+
+
+ @Override
+ public void addInterceptors(InterceptorRegistry registry) {
+ String myUris = uriConfig.myUris;
+ String[] split = myUris.split(",");
+
+ registry.addInterceptor(new LoginInterceptor(split)).addPathPatterns("/**");
+
+ }
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/config/MyFilterConfig.java b/knowledge-map/src/main/java/com/chinasoft/config/MyFilterConfig.java
new file mode 100644
index 0000000000000000000000000000000000000000..6faf350faaa22d6f87e131907160f97fcb12fcfa
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/config/MyFilterConfig.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.config;
+
+
+import com.chinasoft.filter.MyFilter;
+import org.springframework.boot.web.servlet.FilterRegistrationBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
+
+import javax.servlet.Filter;
+
+/**
+ * 注册过滤器容器到servlet
+ *
+ * @author 杨一康
+ *
+ */
+
+
+@Configuration
+public class MyFilterConfig {
+ @Bean
+ public FilterRegistrationBean someFilterRegistration() {
+ FilterRegistrationBean registration = new FilterRegistrationBean();
+ registration.setFilter(myFilter());
+ registration.addUrlPatterns("/*");
+ registration.setName("myFilter");
+ return registration;
+ }
+
+ @Bean(name = "myFilter")
+ public Filter myFilter() {
+ return new MyFilter();
+ }
+
+ @Bean(name = "BCryptPasswordEncoder")
+ public BCryptPasswordEncoder myBCryptPasswordEncoder(){
+ return new BCryptPasswordEncoder();
+ }
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/config/UriConfig.java b/knowledge-map/src/main/java/com/chinasoft/config/UriConfig.java
new file mode 100644
index 0000000000000000000000000000000000000000..45694ad8d36eebc6678249b66cdcf490ca622f20
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/config/UriConfig.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.config;
+
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class UriConfig {
+
+ public String myUris;
+
+ @Value("${myuri.whites}")
+ public void setImagePath(String myUris) {
+ this.myUris = myUris;
+ }
+
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/constants/KnowledgeConstants.java b/knowledge-map/src/main/java/com/chinasoft/constants/KnowledgeConstants.java
new file mode 100644
index 0000000000000000000000000000000000000000..cc273c60af4b02c3f8b6ac009aebf87aa055a04d
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/constants/KnowledgeConstants.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2021 KaiHong DID Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.constants;
+
+public class KnowledgeConstants {
+ /**
+ * 跳转第一个界面
+ */
+ public final static String PAGE_STATUS_FIRST = "1";
+ /**
+ * 跳转第二个界面
+ */
+ public final static String PAGE_STATUS_SECOND = "2";
+ /**
+ * 跳转第三个界面
+ */
+ public final static String PAGE_STATUS_THRID = "3";
+ /**
+ * 跳转第四个界面
+ */
+ public final static String PAGE_STATUS_FOURTH = "4";
+ /**
+ * 跳转第五个界面
+ */
+ public final static String PAGE_STATUS_FIFTH = "5";
+
+ public static class Status {
+ /**
+ * 待申请
+ */
+ public final static int APPLY = 1;
+ /**
+ * 审核中
+ */
+ public final static int REVIEWING = 2;
+ /**
+ * 已认领
+ */
+ public final static int CLAIMED = 3;
+ /**
+ * 未过审
+ */
+ public final static int UNAPPROVED = 4;
+ }
+
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/controller/BusTypeController.java b/knowledge-map/src/main/java/com/chinasoft/controller/BusTypeController.java
new file mode 100644
index 0000000000000000000000000000000000000000..4531bef68fb6a79af5030b22bce2122ad9c19310
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/controller/BusTypeController.java
@@ -0,0 +1,213 @@
+/*
+ *Copyright(c) 2021 Shenzhen Kaihong Digital Industry DevelopmentCo.,Ltd
+ *Licensed under the Apache License,Version2.0(the"License");
+ *you may not use this file except in compliance with the License.
+ *You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,software
+ * distributed under the License is distributed on an "AS IS"BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.controller;
+
+import com.chinasoft.annotation.OperationLog;
+import com.chinasoft.bean.po.BusType;
+import com.chinasoft.service.BusTypeService;
+import com.chinasoft.service.BusTypeService;
+import com.chinasoft.utils.PageListVO;
+import com.chinasoft.utils.ResultVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 业务类型模块
+ *
+ * @author dengtao
+ */
+@CrossOrigin
+@RestController
+@RequestMapping("/busType")
+@Api(tags = "业务类型", description = "业务类型管理")
+public class BusTypeController {
+
+ private static final Logger logger = LoggerFactory.getLogger(BusTypeController.class);
+
+ @Autowired
+ private BusTypeService busTypeService;
+
+ @ApiOperation(value = "业务类型信息保存")
+ @PostMapping("/addBusType")
+ @OperationLog(action = "业务类型信息[保存]", operateType = "busType/save")
+ public ResultVO save(@RequestBody BusType busType) {
+ ResultVO resultVo = new ResultVO();
+ try {
+ if (null != busType) {
+ BusType busTypeVO = busTypeService.find(busType);
+ if (null != busTypeVO) {
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg("业务类型名称已存在");
+ return resultVo;
+ }
+ }
+ int res = busTypeService.add(busType);
+ logger.info("success > 0,failed <= 0, save result=" + res);
+ resultVo.setCode(ResultVO.SUCCESS);
+ resultVo.setMsg("新增成功");
+ resultVo.setData(res);
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg(e.getMessage());
+ }
+ return resultVo;
+ }
+
+
+ @ApiOperation(value = "业务类型信息修改")
+ @PostMapping("/editBusType")
+ @OperationLog(action = "业务类型信息[修改]", operateType = "busType/edit")
+ public ResultVO edit(@RequestBody BusType busType) {
+ ResultVO resultVo = new ResultVO();
+ try {
+ if (null == busType) {
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg("参数为空");
+ return resultVo;
+ }
+ int res = busTypeService.edit(busType);
+ logger.info("success > 0,failed <= 0, save result=" + res);
+ resultVo.setCode(ResultVO.SUCCESS);
+ resultVo.setMsg("编辑成功");
+ resultVo.setData(res);
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg(e.getMessage());
+ }
+ return resultVo;
+ }
+
+ @ApiOperation(value = "业务类型信息删除")
+ @PostMapping("/delBusType")
+ @OperationLog(action = "业务类型信息[删除]", operateType = "busType/remove")
+ public ResultVO remove(@RequestBody BusType busType) {
+ ResultVO resultVo = new ResultVO();
+ try {
+ if (null == busType || busType.getBusTypeId() == 0) {
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg("参数为空");
+ return resultVo;
+ }
+ int res = busTypeService.remove(busType.getBusTypeId());
+ logger.info("success > 0,failed <= 0, save result=" + res);
+ resultVo.setCode(ResultVO.SUCCESS);
+ resultVo.setMsg("删除成功");
+ resultVo.setData(res);
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg(e.getMessage());
+ }
+ return resultVo;
+ }
+
+ @ApiOperation(value = "业务类型信息批量删除")
+ @GetMapping("/removeBatch")
+ @OperationLog(action = "业务类型信息[批量删除]", operateType = "busType/removeBatch")
+ public ResultVO removeBatch(@RequestParam(value = "ids", required = false) String ids) {
+ ResultVO resultVo = new ResultVO();
+ try {
+ if (null == ids || "".equals(ids)) {
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg("ids or proIds is null");
+ return resultVo;
+ }
+ int res = busTypeService.removeBatch(ids);
+ logger.info("success > 0,failed <= 0, save result=" + res);
+ resultVo.setCode(ResultVO.SUCCESS);
+ resultVo.setMsg("remove batch busType success");
+ resultVo.setData(res);
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg(e.getMessage());
+ }
+ return resultVo;
+ }
+
+ @ApiOperation(value = "业务类型信息单个查看")
+ @GetMapping("/find")
+ @OperationLog(action = "业务类型信息[单个查看]", operateType = "busType/find")
+ public ResultVO find(BusType busType) {
+ ResultVO resultVo = new ResultVO();
+ try {
+ if (null == busType) {
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg("param is null");
+ return resultVo;
+ }
+ BusType busTypeVO = busTypeService.find(busType);
+ resultVo.setCode(ResultVO.SUCCESS);
+ resultVo.setMsg("find busType success");
+ resultVo.setData(busTypeVO);
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg(e.getMessage());
+ }
+ return resultVo;
+ }
+
+ /**
+ * 分页查询
+ *
+ * @param busType
+ * @return pageListVO
+ */
+ @ApiOperation(value = "业务类型信息分页查询")
+ @GetMapping("/queryBusType")
+ @OperationLog(action = "业务类型信息[分页查询]", operateType = "busType/findBatch")
+ public PageListVO> findBatch(BusType busType) {
+ PageListVO> pageListVO = new PageListVO<>();
+ if (null == busType) {
+ busType = new BusType();
+ }
+ if (null == busType.getPageNum() || busType.getPageNum() <= 0) {
+ busType.setPageNum(1);
+ }
+ if (null == busType.getPageSize()) {
+ busType.setPageSize(10);
+ }
+ List resultList = busTypeService.findBatch(busType);
+ Integer resultTotal = busTypeService.findTotal(busType);
+ int page = resultTotal / busType.getPageSize() + (resultTotal % busType.getPageSize() > 0 ? 1 : 0);
+ pageListVO.setTotalPage(page);
+ pageListVO.setData(resultList);
+ pageListVO.setCode(PageListVO.SUCCESS);
+ pageListVO.setTotalNum(resultTotal);
+ pageListVO.setPageNum(busType.getPageNum());
+ pageListVO.setPageSize(busType.getPageSize());
+ return pageListVO;
+ }
+
+ @ApiOperation(value = "业务类型信息单个查看")
+ @GetMapping("/getAllData")
+ @OperationLog(action = "业务类型信息[单个查看]", operateType = "busType/find")
+ public ResultVO getAllData() {
+ ResultVO resultVo = new ResultVO();
+ resultVo.setData(busTypeService.getAllData());
+ resultVo.setCode(ResultVO.SUCCESS);
+ resultVo.setMsg("查询成功");
+ return resultVo;
+ }
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/controller/FeaturesController.java b/knowledge-map/src/main/java/com/chinasoft/controller/FeaturesController.java
new file mode 100644
index 0000000000000000000000000000000000000000..f5176dff4566500e1672beeba8642d0bf1acd495
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/controller/FeaturesController.java
@@ -0,0 +1,203 @@
+/*
+ *Copyright(c) 2021 Shenzhen Kaihong Digital Industry DevelopmentCo.,Ltd
+ *Licensed under the Apache License,Version2.0(the"License");
+ *you may not use this file except in compliance with the License.
+ *You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,software
+ * distributed under the License is distributed on an "AS IS"BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.controller;
+
+import com.chinasoft.annotation.OperationLog;
+import com.chinasoft.bean.po.Features;
+import com.chinasoft.bean.vo.QuerySampleVo;
+import com.chinasoft.service.FeaturesService;
+import com.chinasoft.utils.PageListVO;
+import com.chinasoft.utils.ResultVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 特性模块
+ *
+ * @author dengtao
+ */
+@CrossOrigin
+@RestController
+@RequestMapping("/features")
+@Api(tags = "特性", description = "特性管理")
+public class FeaturesController {
+
+ private static final Logger logger = LoggerFactory.getLogger(FeaturesController.class);
+
+ @Autowired
+ private FeaturesService featuresService;
+
+ @ApiOperation(value = "特性信息保存")
+ @PostMapping("/addFeatures")
+ @OperationLog(action = "特性信息[保存]", operateType = "features/save")
+ public ResultVO save(@RequestBody Features features) {
+ ResultVO resultVo = new ResultVO();
+ try {
+ if (null != features) {
+ Features featuresVO = featuresService.find(features);
+ if (null != featuresVO) {
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg("特性名称已存在");
+ return resultVo;
+ }
+ }
+ int res = featuresService.add(features);
+ logger.info("success > 0,failed <= 0, save result=" + res);
+ resultVo.setCode(ResultVO.SUCCESS);
+ resultVo.setMsg("新增成功");
+ resultVo.setData(res);
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg(e.getMessage());
+ }
+ return resultVo;
+ }
+
+
+ @ApiOperation(value = "特性信息修改")
+ @PostMapping("/editFeatures")
+ @OperationLog(action = "特性信息[修改]", operateType = "features/edit")
+ public ResultVO edit(@RequestBody Features features) {
+ ResultVO resultVo = new ResultVO();
+ try {
+ if (null == features) {
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg("参数为空");
+ return resultVo;
+ }
+ int res = featuresService.edit(features);
+ logger.info("success > 0,failed <= 0, save result=" + res);
+ resultVo.setCode(ResultVO.SUCCESS);
+ resultVo.setMsg("编辑成功");
+ resultVo.setData(res);
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg(e.getMessage());
+ }
+ return resultVo;
+ }
+
+ @ApiOperation(value = "特性信息删除")
+ @PostMapping("/delFeatures")
+ @OperationLog(action = "特性信息[删除]", operateType = "features/remove")
+ public ResultVO remove(@RequestBody Features features) {
+ ResultVO resultVo = new ResultVO();
+ try {
+ if (null == features || features.getFeaturesId() == 0) {
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg("参数为空");
+ return resultVo;
+ }
+ int res = featuresService.remove(features.getFeaturesId());
+ logger.info("success > 0,failed <= 0, save result=" + res);
+ resultVo.setCode(ResultVO.SUCCESS);
+ resultVo.setMsg("删除成功");
+ resultVo.setData(res);
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg(e.getMessage());
+ }
+ return resultVo;
+ }
+
+ @ApiOperation(value = "特性信息批量删除")
+ @GetMapping("/removeBatch")
+ @OperationLog(action = "特性信息[批量删除]", operateType = "features/removeBatch")
+ public ResultVO removeBatch(@RequestParam(value = "ids", required = false) String ids) {
+ ResultVO resultVo = new ResultVO();
+ try {
+ if (null == ids || "".equals(ids)) {
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg("ids or proIds is null");
+ return resultVo;
+ }
+ int res = featuresService.removeBatch(ids);
+ logger.info("success > 0,failed <= 0, save result=" + res);
+ resultVo.setCode(ResultVO.SUCCESS);
+ resultVo.setMsg("remove batch features success");
+ resultVo.setData(res);
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg(e.getMessage());
+ }
+ return resultVo;
+ }
+
+ @ApiOperation(value = "特性信息单个查看")
+ @GetMapping("/find")
+ @OperationLog(action = "特性信息[单个查看]", operateType = "features/find")
+ public ResultVO find(Features features) {
+ ResultVO resultVo = new ResultVO();
+ try {
+ if (null == features) {
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg("param is null");
+ return resultVo;
+ }
+ Features featuresVO = featuresService.find(features);
+ resultVo.setCode(ResultVO.SUCCESS);
+ resultVo.setMsg("find features success");
+ resultVo.setData(featuresVO);
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg(e.getMessage());
+ }
+ return resultVo;
+ }
+
+ /**
+ * 分页查询
+ *
+ * @param features
+ * @return pageListVO
+ */
+ @ApiOperation(value = "特性信息分页查询")
+ @GetMapping("/queryFeatures")
+ @OperationLog(action = "特性信息[分页查询]", operateType = "features/findBatch")
+ public PageListVO> findBatch(Features features) {
+ PageListVO> pageListVO = new PageListVO<>();
+ if (null == features) {
+ features = new Features();
+ }
+ if (null == features.getPageNum() || features.getPageNum() <= 0) {
+ features.setPageNum(1);
+ }
+ if (null == features.getPageSize()) {
+ features.setPageSize(10);
+ }
+ List resultList = featuresService.findBatch(features);
+ Integer resultTotal = featuresService.findTotal(features);
+ int page = resultTotal / features.getPageSize() + (resultTotal % features.getPageSize() > 0 ? 1 : 0);
+ pageListVO.setTotalPage(page);
+ pageListVO.setData(resultList);
+ pageListVO.setCode(PageListVO.SUCCESS);
+ pageListVO.setTotalNum(resultTotal);
+ pageListVO.setPageNum(features.getPageNum());
+ pageListVO.setPageSize(features.getPageSize());
+ return pageListVO;
+ }
+
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/controller/FrontPageController.java b/knowledge-map/src/main/java/com/chinasoft/controller/FrontPageController.java
new file mode 100644
index 0000000000000000000000000000000000000000..f48ff8f8e79284625099541388b062c70cbf88d4
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/controller/FrontPageController.java
@@ -0,0 +1,113 @@
+/*
+ *Copyright(c) 2021 Shenzhen Kaihong Digital Industry DevelopmentCo.,Ltd
+ *Licensed under the Apache License,Version2.0(the"License");
+ *you may not use this file except in compliance with the License.
+ *You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,software
+ * distributed under the License is distributed on an "AS IS"BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.chinasoft.annotation.OperationLog;
+import com.chinasoft.service.FrontPageService;
+import com.chinasoft.utils.PageListVO;
+import com.chinasoft.utils.ResultVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import java.util.HashMap;
+
+/**
+ * 知识图谱首页
+ * @author dengtao
+ */
+
+@CrossOrigin
+@RestController
+@RequestMapping("/frontPage")
+@Api(tags = "首页",description = "知识图谱首页")
+public class FrontPageController {
+
+ private static final Logger logger = LoggerFactory.getLogger(FrontPageController.class);
+
+ @Autowired
+ private FrontPageService frontPageService;
+
+ @ApiOperation(value = "首页初始化数据查询")
+ @GetMapping("/queryInitialization")
+ @OperationLog(action = "查询", operateType = "query")
+ public PageListVO queryInitialization(@RequestParam("pageSize") int pageSize,
+ @RequestParam("pageNum") int pageNum,
+ @RequestParam(value = "titleId",required = false)String titleId,
+ @RequestParam(value = "osTypeId",required = false)String osTypeId,
+ @RequestParam(value = "osVersionId",required = false)String osVersionId,
+ //@RequestParam(value = "levelId",required = false)String levelId,
+ @RequestParam(value = "busTypeId",required = false)String busTypeId,
+ @RequestParam(value = "featuresId",required = false)String featuresId) {
+ PageListVO pageListVO = new PageListVO();
+ try {
+ if (pageSize != 9) {
+ pageListVO.setCode(1);
+ pageListVO.setMsg("页码大小错误");
+ } else if (pageNum < 1) {
+ pageListVO.setCode(1);
+ pageListVO.setMsg("请求页码错误");
+ } else {
+ HashMap params = new HashMap<>();
+ params.put("pageSize", pageSize + "");
+ int start = (pageNum - 1) * pageSize;
+ params.put("start", start + "");
+ params.put("pageNum", pageNum + "");
+ params.put("titleId",titleId);
+ //params.put("levelId",levelId);
+ params.put("osTypeId",osTypeId);
+ params.put("osVersionId",osVersionId);
+ params.put("busTypeId",busTypeId);
+ params.put("featuresId",featuresId);
+ JSONObject json=frontPageService.getFrontPageData(params);
+ pageListVO.setPageNum(pageNum);
+ pageListVO.setPageSize(pageSize);
+ //总条数
+ pageListVO.setTotalNum(Integer.parseInt(json.get("totalNum").toString()));
+ //余下条数
+ pageListVO.setTotalPage(Integer.parseInt(json.get("totalPage").toString()));
+ json.remove("totalPage");
+ json.remove("totalNum");
+ pageListVO.setCode(PageListVO.SUCCESS);
+ pageListVO.setMsg("查询成功");
+ pageListVO.setData(json);
+ }
+ } catch (Exception e) {
+ pageListVO.setCode(PageListVO.FAIL);
+ pageListVO.setMsg(e.getMessage());
+ e.printStackTrace();
+ }
+ return pageListVO;
+ }
+
+ @ApiOperation(value = "首页开发样例详情查询")
+ @GetMapping("/querySampleDetail")
+ @OperationLog(action = "查询", operateType = "query")
+ public ResultVO querySampleDetail(@RequestParam("sampleId") String sampleId) {
+ ResultVO resultVo = new ResultVO();
+ try {
+ resultVo.setData(frontPageService.getFrontPageDetailData(sampleId));
+ resultVo.setCode(ResultVO.SUCCESS);
+ resultVo.setMsg("查询成功");
+ } catch (Exception e) {
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg(e.getMessage());
+ }
+ return resultVo;
+ }
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/controller/HomePageController.java b/knowledge-map/src/main/java/com/chinasoft/controller/HomePageController.java
new file mode 100644
index 0000000000000000000000000000000000000000..811ef6d25c2fe2802f4fe41c0f23d80d122a92cd
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/controller/HomePageController.java
@@ -0,0 +1,121 @@
+/*
+ *Copyright(c) 2021 Shenzhen Kaihong Digital Industry DevelopmentCo.,Ltd
+ *Licensed under the Apache License,Version2.0(the"License");
+ *you may not use this file except in compliance with the License.
+ *You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,software
+ * distributed under the License is distributed on an "AS IS"BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.controller;
+
+import com.chinasoft.annotation.OperationLog;
+import com.chinasoft.service.HomePageService;
+import com.chinasoft.utils.ResultVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 1230官网首页
+ * @author dengtao
+ */
+
+@CrossOrigin
+@RestController
+@RequestMapping("/homePage")
+@Api(tags = "首页",description = "1230官网首页")
+public class HomePageController {
+
+ private static final Logger logger = LoggerFactory.getLogger(HomePageController.class);
+
+ @Autowired
+ private HomePageService homePageService;
+
+ @ApiOperation(value = "首页轮播图")
+ @GetMapping("/queryBanner")
+ @OperationLog(action = "查询", operateType = "query")
+ public ResultVO queryBanner(@RequestParam("category") String category) {
+ ResultVO resultVo = new ResultVO();
+ try {
+ resultVo.setData(homePageService.queryBanner(category));
+ resultVo.setCode(ResultVO.SUCCESS);
+ resultVo.setMsg("查询成功");
+ } catch (Exception e) {
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg(e.getMessage());
+ }
+ return resultVo;
+ }
+
+ @ApiOperation(value = "首页会议")
+ @GetMapping("/queryMeeting")
+ @OperationLog(action = "查询", operateType = "query")
+ public ResultVO queryMeeting(@RequestParam("date") String date) {
+ ResultVO resultVo = new ResultVO();
+ try {
+ resultVo.setData(homePageService.queryMeeting(date));
+ resultVo.setCode(ResultVO.SUCCESS);
+ resultVo.setMsg("查询成功");
+ } catch (Exception e) {
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg(e.getMessage());
+ }
+ return resultVo;
+ }
+
+ @ApiOperation(value = "首页活动、博客、新闻")
+ @GetMapping("/queryInformation")
+ @OperationLog(action = "查询", operateType = "query")
+ public ResultVO queryInformation(@RequestParam("type") String type) {
+ ResultVO resultVo = new ResultVO();
+ try {
+ resultVo.setData(homePageService.queryInformation(type));
+ resultVo.setCode(ResultVO.SUCCESS);
+ resultVo.setMsg("查询成功");
+ } catch (Exception e) {
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg(e.getMessage());
+ }
+ return resultVo;
+ }
+
+ @ApiOperation(value = "首页开发板")
+ @GetMapping("/queryDevelopment")
+ @OperationLog(action = "查询", operateType = "query")
+ public ResultVO queryDevelopment() {
+ ResultVO resultVo = new ResultVO();
+ try {
+ resultVo.setData(homePageService.queryDevelopment());
+ resultVo.setCode(ResultVO.SUCCESS);
+ resultVo.setMsg("查询成功");
+ } catch (Exception e) {
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg(e.getMessage());
+ }
+ return resultVo;
+ }
+ @ApiOperation(value = "首页厂商链接 ")
+ @GetMapping("/queryVendor")
+ @OperationLog(action = "查询", operateType = "query")
+ public ResultVO queryVendor() {
+ ResultVO resultVo = new ResultVO();
+ try {
+ resultVo.setData(homePageService.queryVendor());
+ resultVo.setCode(ResultVO.SUCCESS);
+ resultVo.setMsg("查询成功");
+ } catch (Exception e) {
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg(e.getMessage());
+ }
+ return resultVo;
+ }
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/controller/ImportController.java b/knowledge-map/src/main/java/com/chinasoft/controller/ImportController.java
new file mode 100644
index 0000000000000000000000000000000000000000..4b6f4f7fbbf6a7df64b4e66d47ec70991d527622
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/controller/ImportController.java
@@ -0,0 +1,119 @@
+/*
+ *Copyright(c) 2021 Shenzhen Kaihong Digital Industry DevelopmentCo.,Ltd
+ *Licensed under the Apache License,Version2.0(the"License");
+ *you may not use this file except in compliance with the License.
+ *You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,software
+ * distributed under the License is distributed on an "AS IS"BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.controller;
+
+import com.chinasoft.annotation.OperationLog;
+import com.chinasoft.service.impl.ExcelHandler;
+import com.chinasoft.utils.ResultVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.*;
+import java.util.Calendar;
+import java.util.Random;
+
+/**
+ * 业务类型菜单
+ * @author dengtao
+ */
+
+@CrossOrigin
+@RestController
+@RequestMapping("/data")
+@Api(tags = "测试",description = "测试")
+public class ImportController {
+
+ private static final Logger logger = LoggerFactory.getLogger(ImportController.class);
+
+ @Autowired
+ private ExcelHandler excelHandler;
+
+ @ApiOperation(value = "导入")
+ @PostMapping("/import")
+ @OperationLog(action = "导入", operateType = "import")
+ public ResultVO importInit(MultipartFile file) {
+ ResultVO resultVo = new ResultVO();
+ try {
+ String fileName = wirte(file);
+ excelHandler.getListByExcel(file.getInputStream(), fileName);
+ } catch (Exception e) {
+ e.printStackTrace();
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg(e.getMessage());
+ }
+ return resultVo;
+ }
+
+ private String wirte(MultipartFile file) throws Exception{
+ String originalFilename = file.getOriginalFilename();
+ String filenameWithoutSuffix = originalFilename.substring(0, originalFilename.lastIndexOf("."));
+ String suffix = originalFilename.substring(originalFilename.lastIndexOf("."));
+ String newFileName = filenameWithoutSuffix + suffix;
+ String imagePathRoot = "/opt/data/autotool/";
+ String os = System.getProperty("os.name");
+ if(os.toLowerCase().startsWith("win")){
+ imagePathRoot = "C:/ImportData";
+ }
+ isChartPathExist(imagePathRoot);
+ String packagePathUrl = imagePathRoot + File.separator + newFileName;
+ System.err.println("packagePathUrl==" + packagePathUrl);
+ write(packagePathUrl, file.getInputStream());
+ return packagePathUrl;
+ }
+
+ private static String generateRandomFilename() {
+ String RandomFilename = "";
+ Random rand = new Random();//生成随机数
+ int random = rand.nextInt();
+ Calendar calCurrent = Calendar.getInstance();
+ int intDay = calCurrent.get(Calendar.DATE);
+ int intMonth = calCurrent.get(Calendar.MONTH) + 1;
+ int intYear = calCurrent.get(Calendar.YEAR);
+ String now = String.valueOf(intYear) + "_" + String.valueOf(intMonth) + "_" +
+ String.valueOf(intDay) + "_";
+ RandomFilename = now + String.valueOf(random > 0 ? random : (-1) * random);
+ return RandomFilename;
+ }
+
+ public static void isChartPathExist(String dirPath) {
+ File file = new File(dirPath);
+ if (!file.exists()) {
+ file.mkdirs();
+ }
+ }
+
+ /**
+ * 写入文件
+ *
+ * @param target
+ * @param src
+ * @throws IOException
+ */
+ public static void write(String target, InputStream src) throws IOException {
+ OutputStream os = new FileOutputStream(target);
+ byte[] buf = new byte[1024];
+ int len;
+ while (-1 != (len = src.read(buf))) {
+ os.write(buf, 0, len);
+ }
+ os.flush();
+ os.close();
+ }
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/controller/LevelController.java b/knowledge-map/src/main/java/com/chinasoft/controller/LevelController.java
new file mode 100644
index 0000000000000000000000000000000000000000..4dcc5dc41b065a9b08c6e4088683b070d60b52b8
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/controller/LevelController.java
@@ -0,0 +1,201 @@
+/*
+ *Copyright(c) 2021 Shenzhen Kaihong Digital Industry DevelopmentCo.,Ltd
+ *Licensed under the Apache License,Version2.0(the"License");
+ *you may not use this file except in compliance with the License.
+ *You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,software
+ * distributed under the License is distributed on an "AS IS"BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.controller;
+
+import com.chinasoft.annotation.OperationLog;
+import com.chinasoft.bean.po.Level;
+import com.chinasoft.service.LevelService;
+import com.chinasoft.utils.PageListVO;
+import com.chinasoft.utils.ResultVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 级别模块
+ *
+ * @author dengtao
+ */
+@CrossOrigin
+@RestController
+@RequestMapping("/level")
+@Api(tags = "级别",description = "级别管理")
+public class LevelController {
+
+ private static final Logger logger = LoggerFactory.getLogger(LevelController.class);
+
+ @Autowired
+ private LevelService levelService;
+
+ @ApiOperation(value = "级别信息保存")
+ @PostMapping("/addLevel")
+ @OperationLog(action = "级别信息[保存]", operateType = "level/save")
+ public ResultVO save(@RequestBody Level level) {
+ ResultVO resultVo = new ResultVO();
+ try {
+ if (null != level){
+ Level levelVO = levelService.find(level);
+ if (null != levelVO){
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg("级别名称已存在");
+ return resultVo;
+ }
+ }
+ int res = levelService.add(level);
+ logger.info("success > 0,failed <= 0, save result=" + res);
+ resultVo.setCode(ResultVO.SUCCESS);
+ resultVo.setMsg("新增成功");
+ resultVo.setData(res);
+ } catch (Exception e) {
+ logger.error(e.getMessage(),e);
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg(e.getMessage());
+ }
+ return resultVo;
+ }
+
+
+ @ApiOperation(value = "级别信息修改")
+ @PostMapping("/editLevel")
+ @OperationLog(action = "级别信息[修改]", operateType = "level/edit")
+ public ResultVO edit(@RequestBody Level level) {
+ ResultVO resultVo = new ResultVO();
+ try {
+ if (null == level){
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg("参数为空");
+ return resultVo;
+ }
+ int res = levelService.edit(level);
+ logger.info("success > 0,failed <= 0, save result=" + res);
+ resultVo.setCode(ResultVO.SUCCESS);
+ resultVo.setMsg("修改成功");
+ resultVo.setData(res);
+ } catch (Exception e) {
+ logger.error(e.getMessage(),e);
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg(e.getMessage());
+ }
+ return resultVo;
+ }
+
+ @ApiOperation(value = "级别信息删除")
+ @PostMapping("/delLevel")
+ @OperationLog(action = "级别信息[删除]", operateType = "level/remove")
+ public ResultVO remove(@RequestBody Level level) {
+ ResultVO resultVo = new ResultVO();
+ try {
+ if (null == level || level.getLevelId() == 0){
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg("参数为空");
+ return resultVo;
+ }
+ int res = levelService.remove(level.getLevelId());
+ logger.info("success > 0,failed <= 0, save result=" + res);
+ resultVo.setCode(ResultVO.SUCCESS);
+ resultVo.setMsg("删除成功");
+ resultVo.setData(res);
+ } catch (Exception e) {
+ logger.error(e.getMessage(),e);
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg(e.getMessage());
+ }
+ return resultVo;
+ }
+
+ @ApiOperation(value = "级别信息批量删除")
+ @GetMapping("/removeBatch")
+ @OperationLog(action = "级别信息[批量删除]", operateType = "level/removeBatch")
+ public ResultVO removeBatch(@RequestParam(value = "ids",required = false) String ids) {
+ ResultVO resultVo = new ResultVO();
+ try {
+ if (null == ids || "".equals(ids)){
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg("ids or proIds is null");
+ return resultVo;
+ }
+ int res = levelService.removeBatch(ids);
+ logger.info("success > 0,failed <= 0, save result=" + res);
+ resultVo.setCode(ResultVO.SUCCESS);
+ resultVo.setMsg("remove batch level success");
+ resultVo.setData(res);
+ } catch (Exception e) {
+ logger.error(e.getMessage(),e);
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg(e.getMessage());
+ }
+ return resultVo;
+ }
+
+ @ApiOperation(value = "级别信息单个查看")
+ @GetMapping("/find")
+ @OperationLog(action = "级别信息[单个查看]", operateType = "level/find")
+ public ResultVO find(Level level) {
+ ResultVO resultVo = new ResultVO();
+ try {
+ if (null == level){
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg("param is null");
+ return resultVo;
+ }
+ Level levelVO = levelService.find(level);
+ resultVo.setCode(ResultVO.SUCCESS);
+ resultVo.setMsg("find level success");
+ resultVo.setData(levelVO);
+ } catch (Exception e) {
+ logger.error(e.getMessage(),e);
+ resultVo.setCode(ResultVO.FAIL);
+ resultVo.setMsg(e.getMessage());
+ }
+ return resultVo;
+ }
+
+ /**
+ * 分页查询
+ * @param level
+ * @return pageListVO
+ */
+ @ApiOperation(value = "级别信息分页查询")
+ @GetMapping("/queryLevel")
+ @OperationLog(action = "级别信息[分页查询]", operateType = "level/findBatch")
+ public PageListVO> findBatch(Level level){
+ PageListVO> pageListVO = new PageListVO<>();
+ if (null == level){
+ level = new Level();
+ }
+ if (null == level.getPageNum() || level.getPageNum() <= 0){
+ level.setPageNum(1);
+ }
+ if (null == level.getPageSize()){
+ level.setPageSize(10);
+ }
+ List resultList = levelService.findBatch(level);
+ Integer resultTotal = levelService.findTotal(level);
+ int page = resultTotal/level.getPageSize() + (resultTotal%level.getPageSize() > 0 ? 1 : 0);
+ pageListVO.setTotalPage(page);
+ pageListVO.setData(resultList);
+ pageListVO.setCode(PageListVO.SUCCESS);
+ pageListVO.setTotalNum(resultTotal);
+ pageListVO.setPageNum(level.getPageNum());
+ pageListVO.setPageSize(level.getPageSize());
+ return pageListVO;
+ }
+
+}
diff --git a/knowledge-map/src/main/java/com/chinasoft/controller/LoginController.java b/knowledge-map/src/main/java/com/chinasoft/controller/LoginController.java
new file mode 100644
index 0000000000000000000000000000000000000000..1d08086d2cdb85e0e6586bdd27c2e6fd8d016e62
--- /dev/null
+++ b/knowledge-map/src/main/java/com/chinasoft/controller/LoginController.java
@@ -0,0 +1,95 @@
+/*
+ *Copyright(c) 2021 Shenzhen Kaihong Digital Industry DevelopmentCo.,Ltd
+ *Licensed under the Apache License,Version2.0(the"License");
+ *you may not use this file except in compliance with the License.
+ *You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,software
+ * distributed under the License is distributed on an "AS IS"BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.chinasoft.controller;
+
+import com.chinasoft.annotation.OperationLog;
+import com.chinasoft.bean.po.User;
+import com.chinasoft.constants.KnowledgeConstants;
+import com.chinasoft.service.LoginService;
+import com.chinasoft.utils.MD5;
+import com.chinasoft.utils.ResultVO;
+import com.chinasoft.utils.TokenUtils;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Comparator;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * 登录模块
+ *
+ * @author dengtao
+ */
+@CrossOrigin
+@RestController
+@RequestMapping("/login")
+@Api(tags = "登录",description = "登录模块")
+public class LoginController {
+
+ private static final Logger logger = LoggerFactory.getLogger(LoginController.class);
+
+ @Autowired
+ private LoginService loginService;
+
+ @ApiOperation(value = "后台系统登录")
+ @PostMapping("/backstageLogin")
+ @OperationLog(action = "登录", operateType = "userLogin")
+ public ResultVO backstageLogin(@RequestBody User user) {
+ ResultVO resultVo = new ResultVO();
+ try {
+ if (StringUtils.isEmpty(user.getUserName()) || StringUtils.isEmpty(user.getPassword())) {
+ resultVo.setCode(ResultVO.FAIL);
+ logger.error("userName or password is null!");
+ resultVo.setMsg("参数不能为空");
+ }
+
+ String pwd = MD5.string2MD5(user.getPassword());
+ //查询验证账号手机号是否存在
+ List