62 Commits
Author SHA1 Message Date
simon 1386f2aa41 release 2.2504.1 2025-05-23 18:48:08 +08:00
simon d0d4efed93 feat: nbi interface md 2025-05-23 18:11:05 +08:00
simon 1cda2618f3 fix: ../spec 2025-04-30 11:29:15 +08:00
simon 9046f4daa7 fix> ... 2025-04-30 11:16:48 +08:00
simon c3eb9874a8 fix: firewall cmd 2025-04-29 20:51:46 +08:00
simon 22d3f6f9fa fix... 2025-04-29 20:43:13 +08:00
simon efa3b6e627 fix: ... 2025-04-29 20:37:57 +08:00
simon c565a3ee8f fix: ignore rpm buildroot 2025-04-29 20:26:30 +08:00
simon 1e1b8394a5 fix: spec for epenEuler 2025-04-29 20:25:21 +08:00
simon 91ac4aa3ff fix: openEuler majorVersion 2025-04-28 17:23:25 +08:00
simon 3451f36ece feat: build sh update 2025-04-27 20:01:59 +08:00
simon c12c9d2f31 fix: restconf.yaml 2025-04-27 11:54:18 +08:00
zhangsz f1685db6ed release nbi 2.2504.1 2025-04-25 15:19:20 +08:00
TsMask 17591b1705 chore: 更新版本号 2.2503.5 2025-04-12 10:11:01 +08:00
TsMask 5d9425c457 chore: 更新版本号 2.2503.4 2025-03-31 20:06:01 +08:00
TsMask d8624c2fe9 chore: 更新版本号 2.2503.3 2025-03-21 15:36:13 +08:00
TsMask cb8692cf44 chore: 更新版本号 2.2503.2 2025-03-14 11:04:59 +08:00
TsMask cc45dd1be3 chore: 更新版本号 2.2503.1 2025-03-08 11:11:18 +08:00
TsMask 56d62831eb fix: badeb 中文字符串替换 2025-03-04 18:09:37 +08:00
TsMask 246fb027cd fix: badeb 中文字符串替换 2025-03-04 16:13:51 +08:00
TsMask 7818759109 chore: 更新版本号 2.2502.4 2025-02-28 19:56:37 +08:00
TsMask 48d5a0a783 feat: 添加kylin|anolis打包rpm 2025-02-24 16:36:32 +08:00
TsMask e42d35c5e0 chore: 更新版本号 2.2502.3 2025-02-21 21:11:29 +08:00
zhangsz 667f6b1987 fix: ... 2025-02-21 19:39:40 +08:00
zhangsz 6adf76b589 fix: build arm /amd 2025-02-21 19:38:51 +08:00
zhangsz 49f0ba4a7a fix: ... 2025-02-20 21:20:04 +08:00
zhangsz 27826e4523 fix: ... 2025-02-20 21:16:25 +08:00
zhangsz 1316629dc8 fix:... 2025-02-20 21:06:47 +08:00
zhangsz 82a0d32f15 fix: git ignore 2025-02-20 20:42:35 +08:00
zhangsz 83ce21d2c3 fix: ... 2025-02-20 20:39:35 +08:00
zhangsz 1efc851b39 fix: support openEuler build 2025-02-20 19:50:18 +08:00
TsMask d9c16a616c chore: 更新版本号 2.2502.2 2025-02-14 19:41:46 +08:00
TsMask a2800bed0d chore: 更新版本号 2.2502.1 2025-02-08 19:47:04 +08:00
TsMask cf97351fc9 chore: 更新版本号 2.2501.4 2025-01-24 20:42:17 +08:00
TsMask 251284aa38 chore: 更新版本号 2.2501.3 2025-01-17 18:43:50 +08:00
TsMask 1fe4eddd33 del: 移除程序打包service错误 2025-01-11 11:37:40 +08:00
TsMask 6211a88f2e del: 移除captrace/data2html/crontask程序 2025-01-11 10:17:20 +08:00
TsMask b73cd05af8 chore: 更新版本号 2.2501.2 2025-01-10 19:41:54 +08:00
TsMask 16d20fcad4 chore: 更新版本号 2.2501.1 2025-01-03 21:51:22 +08:00
TsMask 9f1a097e2a chore: 更新版本号 2.2412.4 2024-12-28 10:56:29 +08:00
TsMask cfa0825e22 chore: 更新版本号 2.2412.3 2024-12-20 18:55:56 +08:00
TsMask 5bc958e911 chore: 更新版本号 2.2412.2 2024-12-13 21:23:58 +08:00
TsMask e636f76506 chore: 更新版本号 2.2412.1 2024-12-09 09:58:32 +08:00
TsMask 1ca15477ca chore: 更新版本号 2.2411.4 2024-11-30 17:14:23 +08:00
TsMask 7ce96a7178 chore: 更新版本号 2.2411.3 2024-11-23 16:38:37 +08:00
TsMask 639107ba3d chore: 更新版本号 2.2411.2 2024-11-15 18:17:41 +08:00
simonzhangsz dd0d67c0ea update spec for ky10 arm build 2024-11-12 09:24:50 +08:00
simonzhangsz 343e32735d update spec for build 2024-11-08 19:39:40 +08:00
simonzhangsz 37477ad9f1 update spec for build 2024-11-08 19:25:56 +08:00
simonzhangsz 1fb64561c4 update spec for build 2024-11-08 19:15:39 +08:00
simonzhangsz abb2a8a33d update spec for build 2024-11-08 19:11:31 +08:00
TsMask 1dc143c062 chore: 更新版本号 2.2411.1 2024-11-08 17:56:57 +08:00
simonzhangsz ff7973194f update makepkg.sh 2024-11-07 16:40:44 +08:00
simonzhangsz c9277f1123 shell to sed fe src/hooks 2024-11-07 15:16:15 +08:00
simonzhangsz b8c1740875 update make package shell 2024-11-07 14:57:42 +08:00
simonzhangsz 121cbea72e update make package sh 2024-11-07 14:46:21 +08:00
simonzhangsz 3e08ef0cc4 update build package shell script 2024-11-07 14:37:00 +08:00
simonzhangsz 38dabd180d support customized images and locales for FE 2024-11-07 11:47:18 +08:00
simonzhangsz cd6578f57c update npm install --force 2024-11-05 18:02:49 +08:00
TsMask f403456185 chore: 更新版本号 2.2410.4 2024-11-02 15:35:36 +08:00
simonzhangsz dbded5635f update git ignore list 2024-11-01 17:29:25 +08:00
simonzhangsz 44fad7ae82 Optimize the packaging process 2024-11-01 17:24:37 +08:00
137 changed files with 1103 additions and 26286 deletions

No files matched your search

+8 -8
View File
@@ -15,18 +15,18 @@ docs/temp/
# Built Visual Studio Code Extensions
*.vsix
*.bak
# build and release package
build/
# build files
build
debbuild/etc
debbuild/usr
debbuild/lib
debbuild/22.04/etc
debbuild/22.04/usr
debbuild/22.04/lib
# !debbuild/DEBIAN
# !debbuild/22.04/DEBIAN
release
rpmbuild/RPMS
rpmbuild/SOURCES
rpmbuild/BUILD
rpmbuild/BUILDROOT
# --> release
release/*
# --> debbuild
+11 -21
View File
@@ -6,31 +6,21 @@ OS: Ubuntu 18.04 / 22.04 (Recommendation)
Arch: amd64
Golang: go1.22.1 linux/amd64
Database: 10.6.16-MariaDB, Redis server v=5.0.5 (or above)
- Golang: go1.24.2 linux/amd64
- node.js: v20.18.0 (or above)
node.js: v18.16.0 (or above)
## Build Guide
```bash
# pwd
cd /root/omc.git
# ls
# be.ems build.ems fe.ems.vue3
cp build.ems/pkg.sh .
bash pkg.sh --web --api -v 2.2508.1
```
Encountered character error
error: `sed: -e expression #1, char 46: Invalid collation character`
```bash
sudo apt-get update
sudo apt-get install locales
sudo locale-gen en_US.UTF-8
sudo update-locale LANG=en_US.UTF-8
source /etc/default/locale
locale
git clone https://xxx@bitbucket.org/bluearcuscom/ems.git omc.git
cd omc.git
git pull
cd fe.ems.vue3
npm install
npm run build
cd ../build.ems
./build.sh deb
```
+125 -74
View File
@@ -31,8 +31,7 @@ fi
# Use a new parameter list
set -- "${new_args[@]}"
RootDir=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
GitLocalRoot=$(dirname $(dirname "$RootDir"))
GitLocalRoot=${HOME}/omc.git
while getopts "r:d" option; do
case $option in
r)
@@ -57,9 +56,9 @@ fi
ProjectL=omc
ProjectU=OMC
PROJECT=${ProjectL}
VERSION=2.2508.1
VERSION=2.2505.1
RelDate=`date +%Y%m%d`
RelVer=${VERSION}-${RelDate}-mt
RelVer=${VERSION}-${RelDate}
Ky10Arch=ky10.aarch64
RpmPkgName=${ProjectL}-${RelVer}.ky10.aarch64.rpm
RpmPkgRename=${ProjectL}-r${RelVer}-ky10.rpm
@@ -67,7 +66,7 @@ DebPkgName=${ProjectL}-r${RelVer}-ub*.deb
EmsBEDir=${GitLocalRoot}/be.ems
EmsBuildRoot=${GitLocalRoot}/build.ems
RpmArch=`arch`
RpmsDir=${EmsBuildRoot}/rpmbuild/RPMS/
RpmsDir=${EmsBuildRoot}/rpmbuild/RPMS
ReleaseDir=${EmsBuildRoot}/release
DumpToolDir=${EmsBEDir}/tools/misc
ProjectTag=""
@@ -81,12 +80,13 @@ BuildLibDir=${BuildDir}/lib
BuildLibSystemDir=${BuildLibDir}/systemd/system
DebBuildDir=${EmsBuildRoot}/debbuild
DebBuildOMCDir=${EmsBuildRoot}/debbuild/usr/local/omc
DebFEBuildDir=${EmsBuildRoot}/debbuild/usr/local/omc/htdocs
DebFEBuildDir=${DebBuildOMCDir}/htdocs
DebBuild2204Dir=${EmsBuildRoot}/debbuild/22.04
DebBuild2204OMCDir=${EmsBuildRoot}/debbuild/22.04/usr/local/omc
DebFEBuild2204Dir=${EmsBuildRoot}/debbuild/22.04/usr/local/omc/htdocs
DebFEBuild2204Dir=${DebBuild2204OMCDir}/htdocs
RpmBuildDir=${EmsBuildRoot}/rpmbuild
RpmFEBuildDir=${RpmBuildDir}/BUILD/usr/local/omc/htdocs
RpmBuildOMCDir=${RpmBuildDir}/BUILD/usr/local/omc
RpmFEBuildDir=${RpmBuildOMCDir}/htdocs
OmcInstallDir=/usr/local/omc
ConfigEtcDir=${EmsBEDir}/config/etc
ConfigSystemdDir=${EmsBEDir}/config/systemd
@@ -103,16 +103,91 @@ FrontBuildDir=${BuildOMCDir}/htdocs
FrontSrcDir=${EmsBEDir}/front
BinWriterDir=${HOME}/bin
if [[ ${RpmArch} =~ "x86_64" ]];then
# Get the output of uname -a
UnameOutput=$(uname -a)
# Extract hardware architecture
if [[ $UnameOutput =~ "x86_64" ]]; then
RelArch=amd64
elif [[ ${RpmArch} =~ "aarch64" ]];then
RpmArch=x86_64
elif [[ $UnameOutput =~ "aarch64" ]]; then
RelArch=arm64
RpmArch=aarch64
else
echo "Unsupported hardware architecture"
exit 1
fi
get_os_info() {
if [ -f /etc/os-release ]; then
. /etc/os-release
echo $ID
else
echo "unknown"
fi
}
get_os_version() {
if [ -f /etc/os-release ]; then
. /etc/os-release
echo $VERSION_ID
else
echo "unknown"
fi
}
OSVersion=$(get_os_version)
case $(get_os_info) in
ubuntu|debian)
ptype=deb
if [[ "$OSVersion" == "22.04" ]]; then
RelOS=ub22
DebBuildDir=${DebBuild2204Dir}
DebBuildOMCDir=${DebBuild2204OMCDir}
DebFEBuildDir=${DebFEBuild2204Dir}
elif [[ "$OSVersion" == "18.04" ]]; then
RelOS=ub18
else
echo "Unsupported Ubuntu version: $OSVersion"
exit 1
fi
;;
centos|rhel)
ptype=rpm
RelOS=ct8
RpmPkgRename=${ProjectL}-r${RelVer}-${RelOS}-${RelArch}.${ptype}
;;
openEuler)
ptype=rpm
majorVersion=${OSVersion:0:2}
RelOS=oe${majorVersion}
RpmPkgName=${ProjectL}-${RelVer}.${RpmArch}.${ptype}
RpmPkgRename=${ProjectL}-r${RelVer}-${RelOS}-${RelArch}.${ptype}
;;
kylin|anolis)
ptype=rpm
RelOS=ky
RpmPkgName=${ProjectL}-${RelVer}.${RpmArch}.${ptype}
RpmPkgRename=${ProjectL}-r${RelVer}-${RelOS}-${RelArch}.${ptype}
;;
*)
echo "Unsupported OS"
exit 1
;;
esac
case "${pkgtype}" in
rpm)
echo "Begin to make ${pkgtype} package ======>"
ReleasePkgDir=${ReleaseDir}/rpms/${RelArch}
ProcList="restagent sshsvc"
cd $EmsBEDir
for procName in $ProcList;do
cd $EmsBEDir/$procName
echo "Make $procName ..."
make
done
cd $EmsBEDir
# make rpm
# clear build cache
@@ -121,14 +196,15 @@ case "${pkgtype}" in
rm -rf ${RpmBuildDir}/BUILD/usr/local/omc/etc/db/*
cp -rf ${RestagentDir}/${RESTAGENT} ${BuildOMCBinDir}
cp -rf ${SshSvcDir}/${SshSvcBin} ${BuildOMCBinDir}
cp -rf ${SshSvcDir}/${SshSvcBin} ${BuildOMCBinDir}
cp -rf ${MiscDir}/* ${BuildOMCBinDir}
# rm -rf ${BinDir2}/ne-hosts
cp -rf ${ConfigEtcDir}/* ${BuildOMCEtcDir}
rm -rf ${BuildOMCEtcDir}/db && mkdir -p ${BuildOMCEtcDir}/db
rm -rf ${BuildOMCEtcDir}/db/*
cp -rf ${DBSQLSrcDir}/* ${BuildOMCEtcDir}/db/
cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/install
cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/upgrade
cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/upgrade
#Get SQL from database, overwrite from git
if [ "$dumpdb" = "yes" ]; then
cd ${DumpToolDir}
@@ -140,14 +216,12 @@ case "${pkgtype}" in
mkdir -p ${FrontBuildDir}/front
cp -rf ${EmsFEVue3Dir}/* ${FrontBuildDir}/front >/dev/null
chmod 755 ${BuildOMCBinDir}/*
# chmod 755 ${BinDir2}/*
cp -rf ${BuildDir}/* ${RpmBuildDir}/BUILD/
#cp -rf ${BuildDir}/nginx ${RpmBuildDir}/BUILD/etc/
#cp -rf ${BuildDir}/systemd ${RpmBuildDir}/BUILD/lib/
cp -rf ${CustomizedDir}/agt.d ${RpmBuildOMCDir}/static
cp -rf ${CustomizedDir}/omc.d ${RpmBuildOMCDir}/static
cd ${RpmBuildDir}
rpmbuild -bb -D "_topdir ${RpmBuildDir}" ${RpmBuildDir}/SPECS/omc.spec
ReleasePkgDir=${ReleaseDir}/rpms/${RelArch}
mv -f $RpmsDir/$RpmArch/$RpmPkgName ${ReleasePkgDir}/$RpmPkgRename
cd ${ReleasePkgDir}
rm -f omc-md5sum.txt
@@ -157,34 +231,19 @@ case "${pkgtype}" in
;;
deb)
echo "Begin to make ${pkgtype} package ======>"
ReleasePkgDir=${ReleaseDir}/debs/${RelArch}
ProcList="restagent sshsvc"
cd $EmsBEDir
for procName in $ProcList;do
cd $EmsBEDir/$procName
echo "Make $procName ..."
make
done
VersionID=`grep VERSION_ID /etc/os-release`
if [[ ${VersionID} =~ 'VERSION_ID="22.04"' ]]; then
DebBuildDir=${DebBuild2204Dir}
DebBuildOMCDir=${DebBuild2204OMCDir}
DebFEBuildDir=${DebFEBuild2204Dir}
#DebPkgFile=${PROJECT}-${VERSION}-22.04-${Release).${PLATFORM).deb
DebPkgFile=${PROJECT}-r${RelVer}-ub22.deb
if [ ! $ProjectTag = "" ]; then
DebPkgFile=${ProjectL}-r${RelVer}-ub22-${ProjectTag}.deb
fi
elif [[ ${VersionID} =~ 'VERSION_ID="24.04"' ]]; then
DebBuildDir=${DebBuild2204Dir}
DebBuildOMCDir=${DebBuild2204OMCDir}
DebFEBuildDir=${DebFEBuild2204Dir}
DebPkgFile=${PROJECT}-r${RelVer}-ub24.deb
if [ ! $ProjectTag = "" ]; then
DebPkgFile=${ProjectL}-r${RelVer}-ub24-${ProjectTag}.deb
fi
elif [[ ${VersionID} =~ 'VERSION_ID="18.04"' ]]; then
DebPkgFile=${ProjectL}-r${RelVer}-ub18.deb
if [ ! $ProjectTag = "" ]; then
DebPkgFile=${ProjectL}-r${RelVer}-ub18-${ProjectTag}.deb
fi
else
echo "Invalid OS release: ${VersionID}"
exit 1
fi
DebPkgFile=${ProjectL}-r${RelVer}-${RelOS}-${RelArch}.${ptype}
if [ ! $ProjectTag = "" ]; then
DebPkgFile=${ProjectL}-r${RelVer}-${RelOS}-${RelArch}-${ProjectTag}.${ptype}
fi
cd ${EmsBEDir}
@@ -197,9 +256,10 @@ case "${pkgtype}" in
cp -rf ${RestagentDir}/${RESTAGENT} ${BuildOMCBinDir}
cp -rf ${SshSvcDir}/${SshSvcBin} ${BuildOMCBinDir}
cp -rf ${MiscDir}/* ${BuildOMCBinDir}
cp -rf ${ConfigEtcDir}/* ${BuildOMCEtcDir}
rm -rf ${BuildOMCEtcDir}/db && mkdir -p ${BuildOMCEtcDir}/db
rm -rf ${BuildOMCEtcDir}/db/*
cp -rf ${DBSQLSrcDir}/* ${BuildOMCEtcDir}/db/
cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/install
cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/upgrade
@@ -218,44 +278,32 @@ case "${pkgtype}" in
cp -rf ${BuildDir}/* ${DebBuildDir}/
cp -rf ${CustomizedDir}/agt.d ${DebBuildOMCDir}/static
cp -rf ${CustomizedDir}/omc.d ${DebBuildOMCDir}/static
cp -rf ${CustomizedDir}/ba.d ${DebBuildOMCDir}/static
#cp -rf ${BuildDir}/nginx/* ${DebBuildDir}/etc/nginx/conf.d
#cp -rf ${BuildDir}/systemd/*.service ${DebBuildDir}/lib/systemd/system/
chmod +x ${DebBuildDir}/usr/local/omc/bin/*
sed -i "s/YYYYMMDD/${RelDate}/g" ${DebBuildDir}/DEBIAN/control
ReleasePkgDir=${ReleaseDir}/debs/${RelArch}
sed -i "s/Architecture: amd64/Architecture: ${RelArch}/g" ${DebBuildDir}/DEBIAN/control
perl -0777 -i -pe 's/ne:\n user: root/ne:\n user: omcuser/g' ${DebBuildDir}/usr/local/omc/etc/default/restconf.yaml
dpkg -b ${DebBuildDir} ${ReleasePkgDir}/${DebPkgFile}
cd ${ReleasePkgDir}
rm -f omc-md5sum.txt
# rpm --addsign *.rpm
md5sum ${DebPkgName} >omc-md5sum.txt
md5sum ${DebPkgName} >omc-md5sum.txt
echo "Finish to make ${pkgtype} package <======="
;;
badeb)
echo "Begin to make ${pkgtype} package ======>"
ReleasePkgDir=${ReleaseDir}/debs/${RelArch}
ProcList="restagent sshsvc"
cd $EmsBEDir
for procName in $ProcList;do
cd $EmsBEDir/$procName
echo "Make $procName ..."
make
done
VersionID=`grep VERSION_ID /etc/os-release`
if [[ ${VersionID} =~ 'VERSION_ID="22.04"' ]]; then
DebBuildDir=${DebBuild2204Dir}
DebBuildOMCDir=${DebBuild2204OMCDir}
DebFEBuildDir=${DebFEBuild2204Dir}
#DebPkgFile=${PROJECT}-${VERSION}-22.04-${Release).${PLATFORM).deb
DebPkgFile=${ProjectL}-r${RelVer}-ub22-ba.deb
elif [[ ${VersionID} =~ 'VERSION_ID="24.04"' ]]; then
DebBuildDir=${DebBuild2204Dir}
DebBuildOMCDir=${DebBuild2204OMCDir}
DebFEBuildDir=${DebFEBuild2204Dir}
DebPkgFile=${PROJECT}-r${RelVer}-ub24.deb
if [ ! $ProjectTag = "" ]; then
DebPkgFile=${ProjectL}-r${RelVer}-ub24-${ProjectTag}.deb
fi
elif [[ ${VersionID} =~ 'VERSION_ID="18.04"' ]]; then
DebPkgFile=${ProjectL}-r${RelVer}-ub18-ba.deb
else
echo "Invalid OS release: ${VersionID}"
exit 1
fi
DebPkgFile=${ProjectL}-r${RelVer}-${RelOS}-${RelArch}-ba.deb
cd ${EmsBEDir}
@@ -268,12 +316,14 @@ case "${pkgtype}" in
cp -rf ${RestagentDir}/${RESTAGENT} ${BuildOMCBinDir}
cp -rf ${SshSvcDir}/${SshSvcBin} ${BuildOMCBinDir}
cp -rf ${MiscDir}/* ${BuildOMCBinDir}
cp -rf ${ConfigEtcDir}/* ${BuildOMCEtcDir}
rm -rf ${BuildOMCEtcDir}/db && mkdir -p ${BuildOMCEtcDir}/db
rm -rf ${BuildOMCEtcDir}/db/*
cp -rf ${DBSQLSrcDir}/* ${BuildOMCEtcDir}/db/
cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/install
cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/upgrade
#Get SQL from database, overwrite from git
if [ "${dumpdb}" = "yes" ]; then
cd ${DumpToolDir}
@@ -293,12 +343,13 @@ case "${pkgtype}" in
echo "Replace all chinese character."
chmod +x ${DebBuildDir}/usr/local/omc/bin
sed -i "s/YYYYMMDD/${RelDate}/g" ${DebBuildDir}/DEBIAN/control
ReleasePkgDir=${ReleaseDir}/debs/${RelArch}
sed -i "s/Architecture: amd64/Architecture: ${RelArch}/g" ${DebBuildDir}/DEBIAN/control
perl -0777 -i -pe 's/ne:\n user: root/ne:\n user: omcuser/g' ${DebBuildDir}/usr/local/omc/etc/default/restconf.yaml
dpkg -b ${DebBuildDir} ${ReleasePkgDir}/${DebPkgFile}
cd ${ReleasePkgDir}
rm -f omc-md5sum.txt
md5sum ${DebPkgName} >omc-md5sum.txt
md5sum ${DebPkgName} >omc-md5sum.txt
echo "Finish to make ${pkgtype} package <======"
;;
*)
+16 -35
View File
@@ -76,27 +76,25 @@ buildcustomized=${builddir}/customized
customizeddir=${buildcustomized}/${c_arg}.d
fedir=${rootdir}/fe.ems.vue3
feassetsdir=${fedir}/public
feassetsdir=${fedir}/src/assets
felocalesdir=${fedir}/src/i18n/locales
feconstantsdir=${fedir}/src/constants
fehooksdir=${fedir}/src/hooks
makefe() {
cd ${fedir}
# git checkout ${feassetsdir}
# git checkout ${felocalesdir}
# git checkout ${feconstantsdir}
# git checkout ${fehooksdir}
git checkout ${feassetsdir}
git checkout ${felocalesdir}
git checkout ${feconstantsdir}
git checkout ${fehooksdir}
git pull
if [ "${pkgtype}" == "badeb" ]; then
cp -rf ${customizeddir}/images/background_light.jpg ${feassetsdir}/background/light.jpg
cp -rf ${customizeddir}/images/background_dark.jpg ${feassetsdir}/background/dark.jpg
cp -rf ${customizeddir}/locales/zh-CN.ts ${felocalesdir}/zh-CN.ts
cp -rf ${customizeddir}/images/* ${feassetsdir}
cp -rf ${customizeddir}/locales/* ${felocalesdir}
find "${feconstantsdir}" -type f -name '*.ts' -exec sed -i 's/[一-龥()“”,。?!]~·]//g' {} +
find "${fehooksdir}" -type f -name '*.ts' -exec sed -i 's/[一-龥()“”,。?!]~·]//g' {} +
fi
# npm install --force --registry https://registry.npmmirror.com
npm install --registry https://registry.npmmirror.com
npm install --force --registry https://registry.npmmirror.com
echo -n "Building front-end vue ... "
npm run build 1>/dev/null
if [ $? = 0 ]; then
@@ -111,36 +109,19 @@ makefe() {
makebe() {
cd ${builddir}/bin
#chmod +x mkpkg.sh
EmsBEDir=${rootdir}/be.ems
ProcList="restagent sshsvc"
cd $EmsBEDir
for procName in $ProcList;do
cd $EmsBEDir/$procName
echo "Make $procName ..."
make
done
chmod +x build.sh
./build.sh ${be_args[@]}
}
post_makepkg() {
cd ${builddir}
git checkout debbuild/DEBIAN/
git checkout debbuild/22.04/DEBIAN/
}
case "${m_arg}" in
"fe")
fe)
makefe
;;
"all")
;;
all)
makefe
makebe
post_makepkg
;;
"be" | "*")
makebe
post_makepkg
;;
makebe
;;
be | *)
makebe
;;
esac
-5
View File
@@ -1,5 +0,0 @@
# copy to /etc/profile.d/ to set the environment variables for all users
# cp -f nodejs.sh /etc/profile.d/99-nodejs.sh
export PATH=/usr/local/bin:$PATH
export NODE_OPTIONS=--max-old-space-size=50000
@@ -0,0 +1,189 @@
# file: log file name
# level: /trace/debug/info/warn/error/fatal, default: debug
# duration: rotation time with xx hours, example: 1/12/24 hours
# count: rotation count of log, default is 30 rotation
logger:
file: /usr/local/omc/log/restagent.log
level: warn
duration: 24
count: 90
# rest agent listen ipv4/v6 and port, support multiple routines
# ip: 0.0.0.0 or ::0, support IPv4/v6
# clientAuthType: 0:NoClientCert (default), 1:RequestClientCert, 2:RequireAnyClientCert,
# 3:VerifyClientCertIfGiven, 4:RequireAndVerifyClientCerts
rest:
- ipv4: 0.0.0.0
ipv6:
port: 33030
- ipv4: 0.0.0.0
ipv6:
port: 33443
schema: https
clientAuthType: 0
caFile: /usr/local/omc/etc/certs/omc-ca.crt
certFile: /usr/local/omc/etc/certs/omc-server.crt
keyFile: /usr/local/omc/etc/certs/omc-server.key
webServer:
enabled: true
rootDir: /usr/local/omc/htdocs/front
listen:
- addr: :80
schema: http
- addr: :443
schema: https
clientAuthType: 0
caFile: /usr/local/omc/etc/certs/omc-ca.crt
certFile: /usr/local/omc/etc/certs/omc-server.crt
keyFile: /usr/local/omc/etc/certs/omc-server.key
database:
type: mysql
user: root
password: 1000omc@kp!
host: 127.0.0.1
port: 33066
name: omc_db
connParam: charset=utf8mb4&collation=utf8mb4_general_ci&parseTime=True&interpolateParams=True
backup: /usr/local/omc/database
# Redis data cache
redis:
dataSource:
# OMC system db
default:
port: 6379 # Redis port
host: "127.0.0.1" # Redis host
password: "helloearth"
db: 10 # Redis db_num
# used to specify the default data source for multiple data resourece
defaultDataSourceName: "default"
# sleep: time delay for after write buffer (millisecond)
# deadLine: timeout for io read and write (second)
mml:
sleep: 200
deadLine: 10
sizeRow: 600
sizeCol: 128
bufferSize: 65535
mmlHome: ./mmlhome
# Tracking configuration
trace:
enabled: false
host: "172.16.5.100" # Fill in the specific IP address
port: 33033
# NE config
ne:
user: omcuser
etcdir: /usr/local/etc
bindir: /usr/local/bin
omcdir: /usr/local/omc
scpdir: /tmp
licensedir: /usr/local/etc/{neType}/license
# backup etc list of IMS, does not contain spaces
etcListIMS: '{*.yaml,mmtel,vars.cfg}'
etcListDefault: '{*.yaml,*.conf,*.cfg}'
# true/false to overwrite config file when dpkg ne software
dpkgOverwrite: false
# dpkg timeout (second)
dpkgTimeout: 180
# chk2ne: true/false, if put OmcNeConfig parameters to NE
omc:
uriPrefix: "/omc/rest"
neType: OMC
neId: 001
rmUID: 4400HX101
neName: OMC
province: ""
vendor: ""
dn: ""
chk2ne: false
capability: 50
sn: "-"
expiryDate: "-"
checksign: false
rootDir: /usr/local/omc
binDir: /usr/local/omc/bin
backup: /usr/local/omc/backup
upload: /usr/local/omc/upload
frontUpload: /usr/local/omc/htdocs/front/upload
frontTraceDir: /usr/local/omc/htdocs/front/trace
software: /usr/local/omc/software
license: /usr/local/omc/license
gtpUri: gtp:192.168.2.119:32152
checkContentType: false
testMode: false
rbacMode: true
runDir: /usr/local/omc/run
cmdTimeout: 120
# Alarm module setting
# Forward interface:
# TLS Skip verify: true/false
# email/sms
# smProxy: sms(Short Message Service)/smsc(SMS Centre)
# dataCoding: 0:GSM7BIT, 1:ASCII, 2:BINARY8BIT1, 3:LATIN1,
# 4:BINARY8BIT2, 6:CYRILLIC, 7:HEBREW, 8:UCS2
alarm:
alarmEmailForward:
enable: true
emailList:
smtp: mail.smtp.com
port: 25
user: smtpext@smtp.com
password: "1000smtp@omc!"
tlsSkipVerify: true
alarmSMSForward:
enable: true
mobileList:
smscAddr: "192.168.13.114:2775"
systemID: "omc"
password: "omc123"
systemType: "UTRAN"
dataCoding: 0
serviceNumber: "OMC"
sms:
apiURL: http://smsc.xxx.com/
accessKeyID: xxxx
accessKeySecret: xxxx
signName: xxx SMSC
templateCode: 1000
smProxy: smsc
# User authorized information
# crypt: mysql/md5/bcrypt
# token: true/false to check accessToken
# expires for session, unit: second
# Support single/multiple session of user
#
auth:
crypt: bcrypt
token: true
expires: 1800
session: multiple
publicKey: /usr/local/omc/etc/certs/omc
privateKey: /usr/local/omc/etc/certs/omc
# Parameter for limit number
# rmuid_maxnum: the max number of rmUID, default: 50
# alarmid_maxnum: the max number of AlarmID, default: 50
# pmid_maxnum: the max number of pmID, default: 50
# subid_maxnum: the max number of subscription ID, default: 20
# uri_maxlen: the max length of uri, default: 8192
# rmuid_regexp: regexp pattern of rmUID
params:
rmuidmaxnum: 50
alarmidmaxnum: 50
pmidmaxnum: 50
subidmaxnum: 20
urimaxlen: 2100000
rmuidregexp: "[0-9]{4}[A-Z]{2}[A-Z]{2}[0-9A-Z]{1}[0-9A-Z]{3}[0-9A-Z]{1,16}"
testConfig:
enabled: false
file: /usr/local/omc/etc/testconfig.yaml
@@ -0,0 +1,87 @@
# file: log file name
# level: /trace/debug/info/warn/error/fatal, default: debug
# duration: rotation time with xx hours, example: 1/12/24 hours
# count: rotation count of log, default is 30 rotation
logger:
file: /usr/local/omc/log/sshsvc.log
level: warn
duration: 24
count: 30
# file: MML log file name
# duration: rotation time with xx hours, example: 1/12/24 hours
# count: rotation count of log, default is 30 rotation
# level: cmd/ret log cmd/log cmd & result
logmml:
file: /usr/local/omc/mmllog/omcmml.log
duration: 24
count: 30
level: cmd
# ssh service listen ipv4/v6 and port, support multiple routines
# ip: 0.0.0.0 or ::0, support IPv4/v6
# session: single/multiple session for one user
sshd:
listenAddr: 0.0.0.0
listenPort: 32222
privateKey: /usr/local/omc/.ssh/id_rsa
maxConnNum: 2
timeout: 1800
session: multiple
mmlHome: /usr/local/omc/mmlhome
userName: manager
password: pass123
authType: local
tagNE: omc
# authType: local/omc
telnetServer:
listenAddr: 0.0.0.0
listenPort: 32323
maxConnNum: 2
timeout: 1800
session: multiple
mmlHome: /usr/local/omc/mmlhome
userName: manager
password: pass123
authType: local
tagNE: omc
# authproto: NoAuth/MD5/SHA
# privProto: NoPriv/DES/AES/AES192/AES256
snmpServer:
listenAddr: '[::]'
listenPort: 34957
userName: manager
authPass: pass123
authproto: MD5
privPass: "3F2A1B4C5D6E7F8A9B0C1D2E3F4A5B6C7D8E9F0A1B2C3D4E"
privProto: DES
engineID: "8000000004323030313a6462383a3a39313636"
trapPort: 34958
trapListen: false
trapBool: false
trapTick: 60
timeOut: 5
trapTarget: ""
database:
type: mysql
user: root
password: 1000omc@kp!
host: 127.0.0.1
port: 33066
name: omc_db
connParam: charset=utf8mb4&collation=utf8mb4_general_ci&parseTime=True&interpolateParams=True
omc:
httpUri: http://127.0.0.1:33030
userCrypt: bcrypt
ne:
port: 4100
sleep: 200
user: admin
password: admin
-71
View File
@@ -1,71 +0,0 @@
server {
listen 44080;
listen 44443;
listen [::]:44080;
listen [::]:44443;
server_name localhost;
client_max_body_size 100M;
keepalive_timeout 180s;
#access_log /var/log/nginx/host.access.log main;
# ssl_certificate /usr/local/omc/etc/certs/omc-server.crt;
# ssl_certificate_key /usr/local/omc/etc/certs/omc-server.key;
# ssl_client_certificate /usr/local/omc/etc/certs/omc-ca.crt;
# ssl_verify_client on;
# ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
# ssl_session_timeout 5m;
# ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
# ssl_prefer_server_ciphers on;
# OMC
location / {
root /usr/local/omc/htdocs/front;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
location /omc-api/ {
proxy_pass http://127.0.0.1:33030/;
proxy_connect_timeout 180s;
proxy_send_timeout 180s;
proxy_read_timeout 180s;
proxy_cache_bypass $http_upgrade;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
}
location /api/rest/ {
proxy_pass http://127.0.0.1:33030/api/rest/;
proxy_cache_bypass $http_upgrade;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
@@ -1,221 +0,0 @@
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- This XSLT will convert a PDML file, saved by Wireshark, into
HTML. The HTML page should look similar to Wireshark. See
https://gitlab.com/wireshark/wireshark/-/wikis/PDML for information
on how to generate such a HTML file from PDML.
For questions contact Dirk Jagdmann (doj@cubic.org).
Version: 2010-06-09
Wireshark - Network traffic analyzer
By Gerald Combs <gerald@wireshark.org>
Copyright 1998 Gerald Combs
SPDX-License-Identifier: GPL-2.0-or-later
-->
<!-- set parameters of the HTML output -->
<xsl:output method="html" encoding="UTF-8" omit-xml-declaration="no" standalone="yes" indent="yes"/>
<!-- this matches the "field" tag -->
<xsl:template match="field">
&#160;&#160;&#160; <!-- indent with 3 non-breaking spaces -->
<!-- output either the "showname" or "show" attribute -->
<xsl:choose>
<xsl:when test="string-length(@showname)>0">
<xsl:value-of select="@showname"/><br/>
</xsl:when>
<xsl:otherwise>
<!--<xsl:value-of select="@name"/>:--> <xsl:value-of select="@show"/><br/>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates/> <!-- we expect to match "field" tags -->
</xsl:template>
<!-- this matches the "packet" tag -->
<xsl:template match="packet">
<!-- declare some variables for later use -->
<xsl:variable name="frame_num" select="proto[@name='frame']/field[@name='frame.number']/@show"/>
<xsl:variable name="frame_id" select="concat('f',$frame_num)"/>
<xsl:variable name="frame_c" select="concat($frame_id,'c')"/>
<!-- the "title" bar of the frame -->
<div width="100%" id="{$frame_id}">
<a href="javascript:toggle_node('{$frame_c}')">&#8658;</a> <!-- #8658 is a "rArr" (double right arrow) character -->
Frame <xsl:value-of select="$frame_num"/>:
<xsl:for-each select="proto[@name!='geninfo']">
<xsl:value-of select="@name"/>,
</xsl:for-each>
<small><a href="javascript:hide_node('{$frame_id}')">[X]</a></small>
</div>
<!-- the frame contents are stored in a div, so we can toggle it -->
<div width="100%" id="{$frame_c}" style="display:none">
<!-- loop through all proto tags, but skip the "geninfo" one -->
<xsl:for-each select="proto[@name!='geninfo']">
<xsl:variable name="proto" select="concat($frame_id,@name,count(preceding-sibling::proto)+1)"/>
<!-- the "title" bar of the proto -->
<div width="100%" style="background-color:#e5e5e5; margin-bottom: 2px">
&#160;<a href="javascript:toggle_node('{$proto}')">&#8658;</a>&#160;<xsl:value-of select="@showname"/>
<!-- print "proto" details inside another div -->
<div width="100%" id="{$proto}" style="display:none">
<xsl:apply-templates/> <!-- we expect to match "field" tags -->
</div>
</div>
</xsl:for-each>
</div>
<!-- use the javascript function set_node_color() to set the color
of the frame title bar. Defer colorization until the full page has
been loaded. If the browser would support the XPath function
replace() we could simply set the class attribute of the title bar div,
but for now we're stuck with class names from Wireshark's colorfilters
that contain spaces and we can't handle them in CSS. -->
<script type="text/javascript">
dojo.addOnLoad(function(){
set_node_color(
'<xsl:value-of select="$frame_id"/>',
'<xsl:value-of select="proto[@name='frame']/field[@name='frame.coloring_rule.name']/@show"/>'
);
});
</script>
</xsl:template>
<xsl:template match="pdml">
Capture Filename: <b><xsl:value-of select="@capture_file"/></b>
PDML created: <b><xsl:value-of select="@time"/></b>
<tt>
<xsl:apply-templates/> <!-- we expect to match the "packet" nodes -->
</tt>
</xsl:template>
<!-- this block matches the start of the PDML file -->
<xsl:template match="/">
<html>
<head>
<title>poor man's Wireshark</title>
<script src="https://ajax.googleapis.com/ajax/libs/dojo/1.4/dojo/dojo.xd.js" type="text/javascript"></script>
<script type="text/javascript">
function set_node(node, str)
{
if(dojo.isString(node))
node = dojo.byId(node);
if(!node) return;
node.style.display = str;
}
function toggle_node(node)
{
if(dojo.isString(node))
node = dojo.byId(node);
if(!node) return;
set_node(node, (node.style.display != 'none') ? 'none' : 'block');
}
function hide_node(node)
{
set_node(node, 'none');
}
// this function was generated by colorfilters2js.pl
function set_node_color(node,colorname)
{
if(dojo.isString(node))
node = dojo.byId(node);
if(!node) return;
var fg;
var bg;
if(colorname == 'Bad TCP') {
bg='#000000';
fg='#ff5f5f';
}
if(colorname == 'HSRP State Change') {
bg='#000000';
fg='#fff600';
}
if(colorname == 'Spanning Tree Topology Change') {
bg='#000000';
fg='#fff600';
}
if(colorname == 'OSPF State Change') {
bg='#000000';
fg='#fff600';
}
if(colorname == 'ICMP errors') {
bg='#000000';
fg='#00ff0e';
}
if(colorname == 'ARP') {
bg='#d6e8ff';
fg='#000000';
}
if(colorname == 'ICMP') {
bg='#c2c2ff';
fg='#000000';
}
if(colorname == 'TCP RST') {
bg='#900000';
fg='#fff680';
}
if(colorname == 'TTL low or unexpected') {
bg='#900000';
fg='#ffffff';
}
if(colorname == 'Checksum Errors') {
bg='#000000';
fg='#ff5f5f';
}
if(colorname == 'SMB') {
bg='#fffa99';
fg='#000000';
}
if(colorname == 'HTTP') {
bg='#8dff7f';
fg='#000000';
}
if(colorname == 'IPX') {
bg='#ffe3e5';
fg='#000000';
}
if(colorname == 'DCERPC') {
bg='#c797ff';
fg='#000000';
}
if(colorname == 'Routing') {
bg='#fff3d6';
fg='#000000';
}
if(colorname == 'TCP SYN/FIN') {
bg='#a0a0a0';
fg='#000000';
}
if(colorname == 'TCP') {
bg='#e7e6ff';
fg='#000000';
}
if(colorname == 'UDP') {
bg='#70e0ff';
fg='#000000';
}
if(colorname == 'Broadcast') {
bg='#ffffff';
fg='#808080';
}
if(fg.length > 0)
node.style.color = fg;
if(bg.length > 0)
node.style.background = bg;
}
</script>
</head>
<body>
<xsl:apply-templates/> <!-- we expect to match the "pdml" node -->
</body>
</html>
</xsl:template>
</xsl:stylesheet>
File renamed without changes.
File renamed without changes.
+2 -2
View File
@@ -9,9 +9,9 @@ REPLACE INTO `sys_config` VALUES (109, 'config.sys.i18nDefault', 'sys.i18n.defau
--
REPLACE INTO `sys_dict_data` VALUES (1660, 1660, 'config.sys.titleValue', 'AGrand EMS', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
REPLACE INTO `sys_dict_data` VALUES (1661, 1661, 'config.sys.copyrightValue', 'Copyright ©2025 千通科技', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
REPLACE INTO `sys_dict_data` VALUES (1661, 1661, 'config.sys.copyrightValue', 'Copyright ©2024 千通科技', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
REPLACE INTO `sys_dict_data` VALUES (3660, 3660, 'config.sys.titleValue', 'AGrand EMS', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
REPLACE INTO `sys_dict_data` VALUES (3661, 3661, 'config.sys.copyrightValue', 'Copyright ©2025 AGrandTech', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
REPLACE INTO `sys_dict_data` VALUES (3661, 3661, 'config.sys.copyrightValue', 'Copyright ©2024 AGrandTech', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
-- set internationalization switching to ON
-- REPLACE INTO `omc_db`.`sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 2122);
Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 226 KiB

After

Width:  |  Height:  |  Size: 114 B

+2 -2
View File
@@ -9,9 +9,9 @@ REPLACE INTO `sys_config` VALUES (109, 'config.sys.i18nDefault', 'sys.i18n.defau
--
REPLACE INTO `sys_dict_data` VALUES (1660, 1660, 'config.sys.titleValue', 'BlueArcus EMS', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
REPLACE INTO `sys_dict_data` VALUES (1661, 1661, 'config.sys.copyrightValue', 'Copyright ©2025 BlueArcus', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
REPLACE INTO `sys_dict_data` VALUES (1661, 1661, 'config.sys.copyrightValue', 'Copyright ©2024 BlueArcus', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
REPLACE INTO `sys_dict_data` VALUES (3660, 3660, 'config.sys.titleValue', 'BlueArcus EMS', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
REPLACE INTO `sys_dict_data` VALUES (3661, 3661, 'config.sys.copyrightValue', 'Copyright ©2025 BlueArcus', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
REPLACE INTO `sys_dict_data` VALUES (3661, 3661, 'config.sys.copyrightValue', 'Copyright ©2024 BlueArcus', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
-- set internationalization switching to ON
-- REPLACE INTO `omc_db`.`sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 2122);
Binary file not shown.

Before

Width:  |  Height:  |  Size: 217 KiB

+2 -2
View File
@@ -9,9 +9,9 @@ REPLACE INTO `sys_config` VALUES (109, 'config.sys.i18nDefault', 'sys.i18n.defau
--
REPLACE INTO `sys_dict_data` VALUES (1660, 1660, 'config.sys.titleValue', 'OMC', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
REPLACE INTO `sys_dict_data` VALUES (1661, 1661, 'config.sys.copyrightValue', 'Copyright ©2025', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
REPLACE INTO `sys_dict_data` VALUES (1661, 1661, 'config.sys.copyrightValue', 'Copyright ©2024', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
REPLACE INTO `sys_dict_data` VALUES (3660, 3660, 'config.sys.titleValue', 'OMC', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
REPLACE INTO `sys_dict_data` VALUES (3661, 3661, 'config.sys.copyrightValue', 'Copyright ©2025', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
REPLACE INTO `sys_dict_data` VALUES (3661, 3661, 'config.sys.copyrightValue', 'Copyright ©2024', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
-- set internationalization switching to ON
-- REPLACE INTO `omc_db`.`sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 2122);
Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 226 KiB

After

Width:  |  Height:  |  Size: 114 B

+1 -1
View File
@@ -1,5 +1,5 @@
Package: OMC
Version: 2.2508.1-YYYYMMDD-mt
Version: 2.2505.1-YYYYMMDD
Section: AGrandTech
Prioritt: optional
Architecture: amd64
+16 -72
View File
@@ -1,13 +1,13 @@
#!/bin/bash
# !/bin/bash
OMCRootDir=/usr/local/omc
SystemdRootDir=/lib/systemd/system
OMCEtcDir=${OMCRootDir}/etc
FERootDir=${OMCRootDir}/htdocs/front
OMCBinDir=${OMCRootDir}/bin
OmcBinDir=${OMCRootDir}/bin
OMCStaticDir=${OMCRootDir}/static
UsrLocalBinDir=/usr/local/bin
OMCDaemon=omcd
OmcDaemon=omcd
NginxEtcDir=/etc/nginx
NginxConfDir=${NginxEtcDir}/conf.d
CFileList="restconf.yaml sshsvc.yaml omc.conf"
@@ -22,7 +22,7 @@ echo " sudo /usr/local/omc/bin/omcsvc.sh start/stop/restart/status"
echo ""
cd ${UsrLocalBinDir}
if [ ! -e ${OMCDaemon} ]; then ln -s ${OMCBinDir}/omcsvc.sh ${OMCDaemon}; fi
if [ ! -e ${OmcDaemon} ]; then ln -s ${OmcBinDir}/omcsvc.sh ${OmcDaemon}; fi
chmod +rx ${OMCRootDir}/bin/*
chmod +rx ${OMCRootDir}/*
@@ -35,84 +35,28 @@ for CFile in ${CFileList}; do
else
# mv -f ${OMCEtcDir}/${CFile} ${OMCEtcDir}/${CFile}.bak
# cp -f ${OMCEtcDir}/default/${CFile} ${OMCEtcDir}
if [ -e "${OMCBinDir}/upgconf.sh" ] && [ "${CFile}" = "restconf.yaml" ]; then
if [ -e "${OMCBinDir}/upgconf.sh" ]; then
${OMCBinDir}/upgconf.sh
fi
fi
done
# # Install redis db if not exist /usr/local/db
# if [ ! -e "${RedisRootDir}/bin/kvdb-server" ]; then
# # if [ ! -e "${RedisRootDir}" ]; then
# # mkdir -p ${RedisRootDir}
# # fi
# # stop old adb service
# if [ -e "${RedisOldRootDir}/bin/redis-server" ] && [ -e "${SystemdRootDir}/adb.service" ]; then
# systemctl stop adb.service
# systemctl disable adb.service
# fi
# # stop adb service
# if [ -e "${UsrLocalBinDir}/adb-server" ] && [ -e "${SystemdRootDir}/adb.service" ]; then
# systemctl stop adb.service
# systemctl disable adb.service
# fi
# cp -rf ${DependsRootDir}/kvdb/* /
# chmod +rx ${RedisRootDir}/bin/kvdb*
# if [ ! -e "${RedisConfDir}/kvdb.conf" ]; then
# cp ${RedisConfDir}/default/kvdb.conf ${RedisConfDir}
# fi
# sed -i 's/replica-read-only yes/replica-read-only no/g' ${RedisConfDir}/kvdb.conf
# LINE="masterauth helloearth"
# FILE="${RedisConfDir}/kvdb.conf"
# # 检查文件中是否存在该行
# if ! grep -qxF "$LINE" "$FILE"; then
# # 如果不存在,将其添加到文件末尾
# echo "$LINE" >> "$FILE"
# fi
# # copy the old adb dump.rdb
# if [ -e "${RedisOldRootDir}/bin/conf/dump.rdb" ] && [ ! -e "${RedisRootDir}/etc/kvdb/dump.rdb" ]; then
# cp -f ${RedisOldRootDir}/bin/conf/dump.rdb ${RedisRootDir}/etc/kvdb/;
# mv -f ${RedisRootDir}/db ${RedisRootDir}/adb.old
# fi
# # copy the adb dump.rdb
# if [ -e "${RedisRootDir}/etc/adb/dump.rdb" ] && [ ! -e "${RedisRootDir}/etc/kvdb/dump.rdb" ]; then
# cp -f ${RedisRootDir}/etc/adb/dump.rdb ${RedisRootDir}/etc/kvdb/;
# mv -f ${RedisRootDir}/etc/adb ${RedisRootDir}/etc/adb.old
# fi
# # cp -f ${DependsRootDir}/systemd/kvdb.service ${SystemdRootDir}
# else
# if [ ! -e "${RedisConfDir}/kvdb.conf" ]; then
# cp ${RedisConfDir}/default/kvdb.conf ${RedisConfDir}
# fi
# sed -i 's/replica-read-only yes/replica-read-only no/g' ${RedisConfDir}/kvdb.conf
# LINE="masterauth helloearth"
# FILE="${RedisConfDir}/kvdb.conf"
# # 检查文件中是否存在该行
# if ! grep -qxF "$LINE" "$FILE"; then
# # 如果不存在,将其添加到文件末尾
# echo "$LINE" >> "$FILE"
# fi
# fi
if [ ! -e "${FERootDir}/config.js" ]; then
cp ${FERootDir}/default/config.js ${FERootDir};
fi
# for LogoFile in ${LogoFileList}; do
# if [ ! -e "${OMCStaticDir}/logo/${LogoFile}" ]; then
# cp ${OMCStaticDir}/omc.d/logo/${LogoFile} ${OMCStaticDir}/logo;
# fi
# done
for LogoFile in ${LogoFileList}; do
if [ ! -e "${OMCStaticDir}/logo/${LogoFile}" ]; then
cp ${OMCStaticDir}/omc.d/logo/${LogoFile} ${OMCStaticDir}/logo;
fi
done
# if ! id -u omc >/dev/null 2>&1 ; then
# useradd -d /opt/omc -m -s /bin/bash -pomc123 omc;
# mkdir -p /opt/omc/ftp
# else
# echo "user omc exist";
# fi
if ! id -u omc >/dev/null 2>&1 ; then
useradd -d /opt/omc -m -s /bin/bash -pomc123 omc;
mkdir -p /opt/omc/ftp
else
echo "user omc exist";
fi
if [ ! -e "${NginxConfDir}/omc.conf" ]; then
mkdir -p ${NginxConfDir}
Whitespace-only changes.
Whitespace-only changes.
+38
View File
@@ -0,0 +1,38 @@
-----BEGIN OPENSSH PRIVATE KEY-----
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
-----END OPENSSH PRIVATE KEY-----
@@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCjzE0MHy0P2sQmG1OKvArwLEzR77BwxPp+4N9NKBz8lEyNch4zoHvoLDaUJKPBMwTrScZnxhvRJNde6hz5Z0QVxZolVKV95fMfgb9YICzDfPF3Bphae5q/PBYUJNfrC9SAjQeHV4CCO6xk6LV8O/Nfw8uaXwtuN3yfpUWd5mRWKMc3GHV4vxerfKoIQZN6etLhIEYibAhCJ21P0uoWzZl7ceLmkG+6qrRSbyC0bCnrN3+wjN4bwtflrEFJk3XQGuRbVsYLzux+mMm9p22+CLPRl/FUPF3x4/wKCsqr7JDSxx80HSPhk4g/1nCTpDR9hAfF6A9ww2va/k8jMeYPBO8Owe7erLEZzvg5WQAR3Wj05eJpJD99BeC91S5KW6AFQDfDHxWWprSibd/Jj9dtct2pK2ZxW0ph9OJ49ftRhzT1iVi4UnJwnG5/qLfwl6Tnx+qnQ1If/9lY/99erCTATzFTMSImKrRz7CnuPlcw8WkzCYpWKKe0kJLkL2cRD5Qi4yk= simon@simonzhangsz
@@ -0,0 +1,38 @@
-----BEGIN OPENSSH PRIVATE KEY-----
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
-----END OPENSSH PRIVATE KEY-----
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
@@ -1,49 +0,0 @@
ManagedElement:
Id: ""
UserLabel: ""
VendorName: ""
ManagedBy: ""
ManagementIpAddress: ""
SwVersion: ""
PatchInfo: ""
AdministrativeState: ""
OperationalState: ""
AmfFunction:
Id: ""
UserLabel: ""
AdministrativeState: ""
OperationalState: ""
VnfInstanceId: ""
Fqdn: ""
SbiServiceList: ""
AmfGuamiList: ""
SnssaiList: ""
MaxUser: ""
RelativeCapacity: ""
MaxGnbNum: ""
EpRpDynN8Amf:
Id: ""
UserLabel: ""
LocIpAddrList: ""
FarIpSubnetworkList: ""
EpRpDynN11Amf:
Id: ""
UserLabel: ""
LocIpAddrList: ""
FarIpSubnetworkList: ""
EpRpDynN12Amf:
Id: ""
UserLabel: ""
LocIpAddrList: ""
FarIpSubnetworkList: ""
IPResource:
Id: ""
UserLabel: ""
InterfaceType: ""
LocIpV4AddrList: ""
LocIpV6AddrList: ""
@@ -1,48 +0,0 @@
ManagedElement:
Id: ""
UserLabel: ""
VendorName: ""
ManagedBy: ""
ManagementIpAddress: ""
SwVersion: ""
PatchInfo: ""
AdministrativeState: ""
OperationalState: ""
SmfFunction:
Id: ""
UserLabel: ""
AdministrativeState: ""
OperationalState: ""
VnfInstanceId: ""
Fqdn: ""
SbiServiceList: ""
MaxPduSessions: ""
MaxQfi: ""
UpfList: ""
AddrPool:
Id: ""
UserLabel: ""
AddrType: "Static"
IpVersion: ""
AddrSegList: ""
EpRpDynN7Smf:
Id: ""
UserLabel: ""
LocIpAddrList: ""
FarIpSubnetworkList: ""
EpRpDynN10Smf:
Id: ""
UserLabel: ""
LocIpAddrList: ""
FarIpSubnetworkList: ""
IPResource:
Id: ""
UserLabel: ""
InterfaceType: ""
LocIpV4AddrList: ""
LocIpV6AddrList: ""
@@ -1,39 +0,0 @@
ManagedElement:
Id: ""
UserLabel: ""
VendorName: ""
ManagedBy: ""
ManagementIpAddress: ""
SwVersion: ""
PatchInfo: ""
AdministrativeState: ""
OperationalState: ""
UdmFunction:
Id: ""
UserLabel: ""
AdministrativeState: ""
OperationalState: ""
VnfInstanceId: ""
Fqdn: ""
SbiServiceList: ""
UdrFunction:
Id: ""
UserLabel: ""
AddrType: "Static"
IpVersion: ""
AddrSegList: ""
AusfFunction:
Id: ""
UserLabel: ""
LocIpAddrList: ""
FarIpSubnetworkList: ""
IPResource:
Id: ""
UserLabel: ""
InterfaceType: ""
LocIpV4AddrList: ""
LocIpV6AddrList: ""
@@ -1,141 +0,0 @@
ManagedElement:
Id: ""
UserLabel: ""
VendorName: ""
ManagedBy: ""
ManagementIpAddress: ""
SwVersion: ""
PatchInfo: ""
AdministrativeState: ""
OperationalState: ""
InventoryUnitRack:
Id: ""
UserLabel: ""
AdministrativeState: ""
OperationalState: ""
VnfInstanceId: ""
Fqdn: ""
SbiServiceList: ""
MaxPduSessions: ""
MaxQfi: ""
UpfList: ""
InventoryUnitShelf:
Id: ""
UserLabel: ""
VendorUnitFamilyType: ""
VendorUnitTypeNumber: ""
VendorName: ""
SerialNumber: ""
VersionNumber: ""
DateOfManufacture: ""
DateOfLastService: ""
ManufacturerData: ""
RackPosition: ""
InventoryUnitPack:
Id: ""
UserLabel: ""
VendorUnitFamilyType: ""
VendorUnitTypeNumber: ""
VendorName: ""
SerialNumber: ""
VersionNumber: ""
DateOfManufacture: ""
DateOfLastService: ""
ManufacturerData: ""
PortsInformation: ""
PackPosition: ""
SlotsOccupied: ""
InventoryUnitHost:
Id: ""
UserLabel: ""
VendorUnitFamilyType: ""
VendorUnitTypeNumber: ""
VendorName: ""
SerialNumber: ""
VersionNumber: ""
DateOfManufacture: ""
DateOfLastService: ""
ManufacturerData: ""
HostPosition: ""
NumberOfCpu: ""
MemSize: ""
HardDiskSize: ""
InventoryUnitAccessory:
Id: ""
UserLabel: ""
VendorUnitFamilyType: ""
VendorUnitTypeNumber: ""
VendorName: ""
SerialNumber: ""
VersionNumber: ""
DateOfManufacture: ""
DateOfLastService: ""
ManufacturerData: ""
AccessoryPosition: ""
AccessoryType: ""
AddtionalInformation: ""
UpfFunction:
Id: ""
UserLabel: ""
AdministrativeState: ""
OperationalState: ""
VnfInstanceId: ""
MaxQosFlows: ""
MaxThroughput: ""
EpRpDynN9Upf:
Id: ""
UserLabel: ""
LocIpAddrList: ""
FarIpSubnetworkList: ""
EpRpDynN3Upf:
Id: ""
UserLabel: ""
LocIpAddrList: ""
FarIpSubnetworkList: ""
AmfFunction:
Id: ""
UserLabel: ""
AdministrativeState: ""
OperationalState: ""
VnfInstanceId: ""
Fqdn: ""
SmfFunction:
Id: ""
UserLabel: ""
AdministrativeState: ""
OperationalState: ""
VnfInstanceId: ""
Fqdn: ""
UdrFunction:
Id: ""
UserLabel: ""
AdministrativeState: ""
OperationalState: ""
VnfInstanceId: ""
Fqdn: ""
AusfFunction:
Id: ""
UserLabel: ""
AdministrativeState: ""
OperationalState: ""
VnfInstanceId: ""
Fqdn: ""
IPResource:
Id: ""
UserLabel: ""
InterfaceType: ""
LocIpV4AddrList: ""
LocIpV6AddrList: ""
Whitespace-only changes.
@@ -0,0 +1,193 @@
# file: log file name
# level: /trace/debug/info/warn/error/fatal, default: debug
# duration: rotation time with xx hours, example: 1/12/24 hours
# count: rotation count of log, default is 30 rotation
logger:
file: /usr/local/omc/log/restagent.log
level: warn
duration: 24
count: 90
# rest agent listen ipv4/v6 and port, support multiple routines
# ip: 0.0.0.0 or ::0, support IPv4/v6
# clientAuthType: 0:NoClientCert (default), 1:RequestClientCert, 2:RequireAnyClientCert,
# 3:VerifyClientCertIfGiven, 4:RequireAndVerifyClientCerts
rest:
- ipv4: 0.0.0.0
ipv6:
port: 33030
- ipv4: 0.0.0.0
ipv6:
port: 33443
schema: https
clientAuthType: 0
caFile: /usr/local/omc/etc/certs/omc-ca.crt
certFile: /usr/local/omc/etc/certs/omc-server.crt
keyFile: /usr/local/omc/etc/certs/omc-server.key
webServer:
enabled: true
rootDir: /usr/local/omc/htdocs/front
listen:
- addr: :80
schema: http
- addr: :443
schema: https
clientAuthType: 0
caFile: /usr/local/omc/etc/certs/omc-ca.crt
certFile: /usr/local/omc/etc/certs/omc-server.crt
keyFile: /usr/local/omc/etc/certs/omc-server.key
database:
type: mysql
user: root
password: 1000omc@kp!
host: 127.0.0.1
port: 33066
name: omc_db
connParam: charset=utf8mb4&collation=utf8mb4_general_ci&parseTime=True&interpolateParams=True
backup: /usr/local/omc/database
# Redis data cache
redis:
dataSource:
# OMC system db
default:
port: 6379 # Redis port
host: "127.0.0.1" # Redis host
password: "helloearth"
db: 10 # Redis db_num
# UDM sub/auth db
udmuser:
port: 6379 # Redis port
host: "127.0.0.1"
password: "helloearth"
db: 0 # Redis db_num
# used to specify the default data source for multiple data resourece
defaultDataSourceName: "default"
# sleep: time delay for after write buffer (millisecond)
# deadLine: timeout for io read and write (second)
mml:
sleep: 200
deadLine: 10
sizeRow: 600
sizeCol: 128
bufferSize: 65535
mmlHome: ./mmlhome
# Tracking configuration
trace:
enabled: true
host: "172.16.5.100" # Fill in the specific IP address
port: 33033
# NE config
ne:
user: omcuser
etcdir: /usr/local/etc
bindir: /usr/local/bin
omcdir: /usr/local/omc
scpdir: /tmp
licensedir: /usr/local/etc/{neType}/license
# backup etc list of IMS, does not contain spaces
etcListIMS: '{*.yaml,mmtel,vars.cfg}'
etcListDefault: '{*.yaml,*.conf,*.cfg}'
# true/false to overwrite config file when dpkg ne software
dpkgOverwrite: false
# dpkg timeout (second)
dpkgTimeout: 180
# chk2ne: true/false, if put OmcNeConfig parameters to NE
omc:
uriPrefix: "/omc/rest"
neType: OMC
neId: 001
rmUID: 4400HX101
neName: OMC
province: ""
vendor: ""
dn: ""
chk2ne: false
sn: "-"
checksign: false
rootDir: /usr/local/omc
binDir: /usr/local/omc/bin
backup: /usr/local/omc/backup
upload: /usr/local/omc/upload
frontUpload: /usr/local/omc/htdocs/front/upload
frontTraceDir: /usr/local/omc/htdocs/front/trace
software: /usr/local/omc/software
license: /usr/local/omc/license
gtpUri: gtp:192.168.2.119:32152
checkContentType: false
testMode: false
rbacMode: true
runDir: /usr/local/omc/run
cmdTimeout: 120
# Alarm module setting
# Forward interface:
# TLS Skip verify: true/false
# email/sms
# smProxy: sms(Short Message Service)/smsc(SMS Centre)
# dataCoding: 0:GSM7BIT, 1:ASCII, 2:BINARY8BIT1, 3:LATIN1,
# 4:BINARY8BIT2, 6:CYRILLIC, 7:HEBREW, 8:UCS2
alarm:
alarmEmailForward:
enable: true
emailList:
smtp: mail.smtp.com
port: 25
user: smtpext@smtp.com
password: "1000smtp@omc!"
tlsSkipVerify: true
alarmSMSForward:
enable: true
mobileList:
smscAddr: "192.168.13.114:2775"
systemID: "omc"
password: "omc123"
systemType: "UTRAN"
dataCoding: 0
serviceNumber: "OMC"
sms:
apiURL: http://smsc.xxx.com/
accessKeyID: xxxx
accessKeySecret: xxxx
signName: xxx SMSC
templateCode: 1000
smProxy: smsc
# User authorized information
# crypt: mysql/md5/bcrypt
# token: true/false to check accessToken
# expires for session, unit: second
# Support single/multiple session of user
#
auth:
crypt: bcrypt
token: true
expires: 1800
session: multiple
publicKey: /usr/local/omc/etc/certs/omc
privateKey: /usr/local/omc/etc/certs/omc
# Parameter for limit number
# rmuid_maxnum: the max number of rmUID, default: 50
# alarmid_maxnum: the max number of AlarmID, default: 50
# pmid_maxnum: the max number of pmID, default: 50
# subid_maxnum: the max number of subscription ID, default: 20
# uri_maxlen: the max length of uri, default: 8192
# rmuid_regexp: regexp pattern of rmUID
params:
rmuidmaxnum: 50
alarmidmaxnum: 50
pmidmaxnum: 50
subidmaxnum: 20
urimaxlen: 2100000
rmuidregexp: "[0-9]{4}[A-Z]{2}[A-Z]{2}[0-9A-Z]{1}[0-9A-Z]{3}[0-9A-Z]{1,16}"
testConfig:
enabled: false
file: /usr/local/omc/etc/testconfig.yaml
@@ -1,71 +0,0 @@
server {
listen 44080;
listen 44443;
listen [::]:44080;
listen [::]:44443;
server_name localhost;
client_max_body_size 100M;
keepalive_timeout 180s;
#access_log /var/log/nginx/host.access.log main;
# ssl_certificate /usr/local/omc/etc/certs/omc-server.crt;
# ssl_certificate_key /usr/local/omc/etc/certs/omc-server.key;
# ssl_client_certificate /usr/local/omc/etc/certs/omc-ca.crt;
# ssl_verify_client on;
# ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
# ssl_session_timeout 5m;
# ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
# ssl_prefer_server_ciphers on;
# OMC
location / {
root /usr/local/omc/htdocs/front;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
location /omc-api/ {
proxy_pass http://127.0.0.1:33030/;
proxy_connect_timeout 180s;
proxy_send_timeout 180s;
proxy_read_timeout 180s;
proxy_cache_bypass $http_upgrade;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
}
location /api/rest/ {
proxy_pass http://127.0.0.1:33030/api/rest/;
proxy_cache_bypass $http_upgrade;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
@@ -1,76 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="DataFile">
<xs:complexType>
<xs:sequence>
<xs:element name="FileHeader">
<xs:complexType>
<xs:sequence>
<xs:element name="TimeStamp" type="xs:dateTime"/>
<xs:element name="TimeZone" type="xs:string"/>
<xs:element name="VendorName" type="xs:string" minOccurs="0"/>
<xs:element name="ElementType" type="xs:string" minOccurs="0"/>
<xs:element name="CmVersion" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Objects" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ObjectType" type="xs:string"/>
<!--该字段必选-->
<xs:element name="FieldName">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="N">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="i" type="xs:integer" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="FieldValue">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="Object">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="V">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="i" type="xs:integer" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="rmUID" type="xs:string" use="required"/>
<xs:attribute name="Dn" type="xs:string"/>
<!-- //无线、核心网专业该字段必选,传输、IP专业、业务系统无该字段-->
<xs:attribute name="UserLabel" type="xs:string"/>
<!-- //无线、核心网专业该字段必选,传输、IP专业、业务系统无该字段-->
<xs:attribute name="PVFlag" type="xs:string" use="required"/>
<!-- //必须-->
<xs:attribute name="VMID" type="xs:string"/>
<!-- //VNF网络或VNF和PNF混合组网:虚拟网元必选,物理网元无该字段-->
<xs:attribute name="VNFInstanceID" type="xs:string"/>
<!-- //VNF网络或VNF和PNF混合组网:虚拟网元必选,物理网元无该字段-->
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
@@ -1,221 +0,0 @@
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- This XSLT will convert a PDML file, saved by Wireshark, into
HTML. The HTML page should look similar to Wireshark. See
https://gitlab.com/wireshark/wireshark/-/wikis/PDML for information
on how to generate such a HTML file from PDML.
For questions contact Dirk Jagdmann (doj@cubic.org).
Version: 2010-06-09
Wireshark - Network traffic analyzer
By Gerald Combs <gerald@wireshark.org>
Copyright 1998 Gerald Combs
SPDX-License-Identifier: GPL-2.0-or-later
-->
<!-- set parameters of the HTML output -->
<xsl:output method="html" encoding="UTF-8" omit-xml-declaration="no" standalone="yes" indent="yes"/>
<!-- this matches the "field" tag -->
<xsl:template match="field">
&#160;&#160;&#160; <!-- indent with 3 non-breaking spaces -->
<!-- output either the "showname" or "show" attribute -->
<xsl:choose>
<xsl:when test="string-length(@showname)>0">
<xsl:value-of select="@showname"/><br/>
</xsl:when>
<xsl:otherwise>
<!--<xsl:value-of select="@name"/>:--> <xsl:value-of select="@show"/><br/>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates/> <!-- we expect to match "field" tags -->
</xsl:template>
<!-- this matches the "packet" tag -->
<xsl:template match="packet">
<!-- declare some variables for later use -->
<xsl:variable name="frame_num" select="proto[@name='frame']/field[@name='frame.number']/@show"/>
<xsl:variable name="frame_id" select="concat('f',$frame_num)"/>
<xsl:variable name="frame_c" select="concat($frame_id,'c')"/>
<!-- the "title" bar of the frame -->
<div width="100%" id="{$frame_id}">
<a href="javascript:toggle_node('{$frame_c}')">&#8658;</a> <!-- #8658 is a "rArr" (double right arrow) character -->
Frame <xsl:value-of select="$frame_num"/>:
<xsl:for-each select="proto[@name!='geninfo']">
<xsl:value-of select="@name"/>,
</xsl:for-each>
<small><a href="javascript:hide_node('{$frame_id}')">[X]</a></small>
</div>
<!-- the frame contents are stored in a div, so we can toggle it -->
<div width="100%" id="{$frame_c}" style="display:none">
<!-- loop through all proto tags, but skip the "geninfo" one -->
<xsl:for-each select="proto[@name!='geninfo']">
<xsl:variable name="proto" select="concat($frame_id,@name,count(preceding-sibling::proto)+1)"/>
<!-- the "title" bar of the proto -->
<div width="100%" style="background-color:#e5e5e5; margin-bottom: 2px">
&#160;<a href="javascript:toggle_node('{$proto}')">&#8658;</a>&#160;<xsl:value-of select="@showname"/>
<!-- print "proto" details inside another div -->
<div width="100%" id="{$proto}" style="display:none">
<xsl:apply-templates/> <!-- we expect to match "field" tags -->
</div>
</div>
</xsl:for-each>
</div>
<!-- use the javascript function set_node_color() to set the color
of the frame title bar. Defer colorization until the full page has
been loaded. If the browser would support the XPath function
replace() we could simply set the class attribute of the title bar div,
but for now we're stuck with class names from Wireshark's colorfilters
that contain spaces and we can't handle them in CSS. -->
<script type="text/javascript">
dojo.addOnLoad(function(){
set_node_color(
'<xsl:value-of select="$frame_id"/>',
'<xsl:value-of select="proto[@name='frame']/field[@name='frame.coloring_rule.name']/@show"/>'
);
});
</script>
</xsl:template>
<xsl:template match="pdml">
Capture Filename: <b><xsl:value-of select="@capture_file"/></b>
PDML created: <b><xsl:value-of select="@time"/></b>
<tt>
<xsl:apply-templates/> <!-- we expect to match the "packet" nodes -->
</tt>
</xsl:template>
<!-- this block matches the start of the PDML file -->
<xsl:template match="/">
<html>
<head>
<title>poor man's Wireshark</title>
<script src="https://ajax.googleapis.com/ajax/libs/dojo/1.4/dojo/dojo.xd.js" type="text/javascript"></script>
<script type="text/javascript">
function set_node(node, str)
{
if(dojo.isString(node))
node = dojo.byId(node);
if(!node) return;
node.style.display = str;
}
function toggle_node(node)
{
if(dojo.isString(node))
node = dojo.byId(node);
if(!node) return;
set_node(node, (node.style.display != 'none') ? 'none' : 'block');
}
function hide_node(node)
{
set_node(node, 'none');
}
// this function was generated by colorfilters2js.pl
function set_node_color(node,colorname)
{
if(dojo.isString(node))
node = dojo.byId(node);
if(!node) return;
var fg;
var bg;
if(colorname == 'Bad TCP') {
bg='#000000';
fg='#ff5f5f';
}
if(colorname == 'HSRP State Change') {
bg='#000000';
fg='#fff600';
}
if(colorname == 'Spanning Tree Topology Change') {
bg='#000000';
fg='#fff600';
}
if(colorname == 'OSPF State Change') {
bg='#000000';
fg='#fff600';
}
if(colorname == 'ICMP errors') {
bg='#000000';
fg='#00ff0e';
}
if(colorname == 'ARP') {
bg='#d6e8ff';
fg='#000000';
}
if(colorname == 'ICMP') {
bg='#c2c2ff';
fg='#000000';
}
if(colorname == 'TCP RST') {
bg='#900000';
fg='#fff680';
}
if(colorname == 'TTL low or unexpected') {
bg='#900000';
fg='#ffffff';
}
if(colorname == 'Checksum Errors') {
bg='#000000';
fg='#ff5f5f';
}
if(colorname == 'SMB') {
bg='#fffa99';
fg='#000000';
}
if(colorname == 'HTTP') {
bg='#8dff7f';
fg='#000000';
}
if(colorname == 'IPX') {
bg='#ffe3e5';
fg='#000000';
}
if(colorname == 'DCERPC') {
bg='#c797ff';
fg='#000000';
}
if(colorname == 'Routing') {
bg='#fff3d6';
fg='#000000';
}
if(colorname == 'TCP SYN/FIN') {
bg='#a0a0a0';
fg='#000000';
}
if(colorname == 'TCP') {
bg='#e7e6ff';
fg='#000000';
}
if(colorname == 'UDP') {
bg='#70e0ff';
fg='#000000';
}
if(colorname == 'Broadcast') {
bg='#ffffff';
fg='#808080';
}
if(fg.length > 0)
node.style.color = fg;
if(bg.length > 0)
node.style.background = bg;
}
</script>
</head>
<body>
<xsl:apply-templates/> <!-- we expect to match the "pdml" node -->
</body>
</html>
</xsl:template>
</xsl:stylesheet>
@@ -1,80 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="PmFile">
<xs:complexType>
<xs:sequence>
<xs:element name="FileHeader">
<xs:complexType>
<xs:sequence>
<xs:element name="TimeStamp" type="xs:dateTime" />
<xs:element name="TimeZone" type="xs:string" />
<xs:element name="Period" type="xs:integer" />
<xs:element name="VendorName" type="xs:string" />
<xs:element name="ElementType" type="xs:string" />
<xs:element name="PmVersion" type="xs:string" />
<xs:element name="StartTime" type="xs:dateTime" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Measurements" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ObjectType" type="xs:string" />
<xs:element name="PmName">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="N">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="i" type="xs:integer" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PmData">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="Object">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="V">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="i" type="xs:integer" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="CV">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="SN" type="xs:string" />
<xs:element name="SV" type="xs:string" />
</xs:sequence>
<xs:attribute name="i" type="xs:integer"
use="required" />
</xs:complexType>
</xs:element>
</xs:choice>
<xs:attribute name="rmUID" type="xs:string" use="required" />
<xs:attribute name="Dn" type="xs:string" use="required" />
<xs:attribute name="UserLabel" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
+1 -1
View File
@@ -1,5 +1,5 @@
Package: OMC
Version: 2.2508.1-YYYYMMDD-mt
Version: 2.2505.1-YYYYMMDD
Section: AGrandTech
Prioritt: optional
Architecture: amd64
+11 -11
View File
@@ -1,13 +1,13 @@
#!/bin/bash
# !/bin/bash
OMCRootDir=/usr/local/omc
SystemdRootDir=/lib/systemd/system
OMCEtcDir=${OMCRootDir}/etc
FERootDir=${OMCRootDir}/htdocs/front
OMCBinDir=${OMCRootDir}/bin
OmcBinDir=${OMCRootDir}/bin
OMCStaticDir=${OMCRootDir}/static
UsrLocalBinDir=/usr/local/bin
OMCDaemon=omcd
OmcDaemon=omcd
NginxEtcDir=/etc/nginx
NginxConfDir=${NginxEtcDir}/conf.d
CFileList="restconf.yaml sshsvc.yaml omc.conf"
@@ -22,7 +22,7 @@ echo " sudo /usr/local/omc/bin/omcsvc.sh start/stop/restart/status"
echo ""
cd ${UsrLocalBinDir}
if [ ! -e ${OMCDaemon} ]; then ln -s ${OMCBinDir}/omcsvc.sh ${OMCDaemon}; fi
if [ ! -e ${OmcDaemon} ]; then ln -s ${OmcBinDir}/omcsvc.sh ${OmcDaemon}; fi
chmod +rx ${OMCRootDir}/bin/*
chmod +rx ${OMCRootDir}/*
@@ -35,21 +35,21 @@ for CFile in ${CFileList}; do
else
# mv -f ${OMCEtcDir}/${CFile} ${OMCEtcDir}/${CFile}.bak
# cp -f ${OMCEtcDir}/default/${CFile} ${OMCEtcDir}
if [ -e "${OMCBinDir}/upgconf.sh" ] && [ "${CFile}" = "restconf.yaml" ]; then
if [ -e "${OMCBinDir}/upgconf.sh" ]; then
${OMCBinDir}/upgconf.sh
fi
fi
fi
done
if [ ! -e "${FERootDir}/config.js" ]; then
cp ${FERootDir}/default/config.js ${FERootDir};
fi
# for LogoFile in ${LogoFileList}; do
# if [ ! -e "${OMCStaticDir}/logo/${LogoFile}" ]; then
# cp ${OMCStaticDir}/omc.d/logo/${LogoFile} ${OMCStaticDir}/logo;
# fi
# done
for LogoFile in ${LogoFileList}; do
if [ ! -e "${OMCStaticDir}/logo/${LogoFile}" ]; then
cp ${OMCStaticDir}/omc.d/logo/${LogoFile} ${OMCStaticDir}/logo;
fi
done
if ! id -u omc >/dev/null 2>&1 ; then
useradd -d /opt/omc -m -s /bin/bash -pomc123 omc;
Whitespace-only changes.
Whitespace-only changes.
+38
View File
@@ -0,0 +1,38 @@
-----BEGIN OPENSSH PRIVATE KEY-----
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
-----END OPENSSH PRIVATE KEY-----
+1
View File
@@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCjzE0MHy0P2sQmG1OKvArwLEzR77BwxPp+4N9NKBz8lEyNch4zoHvoLDaUJKPBMwTrScZnxhvRJNde6hz5Z0QVxZolVKV95fMfgb9YICzDfPF3Bphae5q/PBYUJNfrC9SAjQeHV4CCO6xk6LV8O/Nfw8uaXwtuN3yfpUWd5mRWKMc3GHV4vxerfKoIQZN6etLhIEYibAhCJ21P0uoWzZl7ceLmkG+6qrRSbyC0bCnrN3+wjN4bwtflrEFJk3XQGuRbVsYLzux+mMm9p22+CLPRl/FUPF3x4/wKCsqr7JDSxx80HSPhk4g/1nCTpDR9hAfF6A9ww2va/k8jMeYPBO8Owe7erLEZzvg5WQAR3Wj05eJpJD99BeC91S5KW6AFQDfDHxWWprSibd/Jj9dtct2pK2ZxW0ph9OJ49ftRhzT1iVi4UnJwnG5/qLfwl6Tnx+qnQ1If/9lY/99erCTATzFTMSImKrRz7CnuPlcw8WkzCYpWKKe0kJLkL2cRD5Qi4yk= simon@simonzhangsz
@@ -0,0 +1,38 @@
-----BEGIN OPENSSH PRIVATE KEY-----
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
-----END OPENSSH PRIVATE KEY-----
View File
Whitespace-only changes.
Whitespace-only changes.
@@ -0,0 +1,183 @@
# file: log file name
# level: /trace/debug/info/warn/error/fatal, default: debug
# duration: rotation time with xx hours, example: 1/12/24 hours
# count: rotation count of log, default is 30 rotation
logger:
file: /usr/local/omc/log/restagent.log
level: warn
duration: 24
count: 90
# rest agent listen ipv4/v6 and port, support multiple routines
# ip: 0.0.0.0 or ::0, support IPv4/v6
# clientAuthType: 0:NoClientCert (default), 1:RequestClientCert, 2:RequireAnyClientCert,
# 3:VerifyClientCertIfGiven, 4:RequireAndVerifyClientCerts
rest:
- ipv4: 0.0.0.0
ipv6:
port: 33030
- ipv4: 0.0.0.0
ipv6:
port: 33443
schema: https
clientAuthType: 0
caFile: /usr/local/omc/etc/certs/omc-ca.crt
certFile: /usr/local/omc/etc/certs/omc-server.crt
keyFile: /usr/local/omc/etc/certs/omc-server.key
webServer:
enabled: true
rootDir: /usr/local/omc/htdocs/front
listen:
- addr: :80
schema: http
- addr: :443
schema: https
clientAuthType: 0
caFile: /usr/local/omc/etc/certs/omc-ca.crt
certFile: /usr/local/omc/etc/certs/omc-server.crt
keyFile: /usr/local/omc/etc/certs/omc-server.key
database:
type: mysql
user: root
password: 1000omc@kp!
host: 127.0.0.1
port: 33066
name: omc_db
connParam: charset=utf8mb4&collation=utf8mb4_general_ci&parseTime=True&interpolateParams=True
backup: /usr/local/omc/database
# Redis data cache
redis:
dataSource:
# OMC system db
default:
port: 6379 # Redis port
host: "127.0.0.1" # Redis host
password: "helloearth"
db: 10 # Redis db_num
# UDM sub/auth db
udmuser:
port: 6379 # Redis port
host: "127.0.0.1"
password: "helloearth"
db: 0 # Redis db_num
# used to specify the default data source for multiple data resourece
defaultDataSourceName: "default"
# sleep: time delay for after write buffer (millisecond)
# deadLine: timeout for io read and write (second)
mml:
port: 4100
port2: 5002
sleep: 200
deadLine: 10
sizeRow: 600
sizeCol: 128
bufferSize: 65535
user: admin
password: admin
mmlHome: ./mmlhome
# NE config
ne:
user: omcuser
etcdir: /usr/local/etc
bindir: /usr/local/bin
omcdir: /usr/local/omc
scpdir: /tmp
licensedir: /usr/local/etc/{neType}/license
# backup etc list of IMS, does not contain spaces
etcListIMS: '{*.yaml,mmtel,vars.cfg}'
etcListDefault: '{*.yaml,*.conf,*.cfg}'
# true/false to overwrite config file when dpkg ne software
dpkgOverwrite: false
# dpkg timeout (second)
dpkgTimeout: 180
# chk2ne: true/false, if put OmcNeConfig parameters to NE
omc:
uriPrefix: "/omc/rest"
neType: OMC
neId: 001
rmUID: 4400HX101
neName: OMC
province: ""
vendor: ""
dn: ""
chk2ne: false
sn: "-"
checksign: false
rootDir: /usr/local/omc
binDir: /usr/local/omc/bin
backup: /usr/local/omc/backup
upload: /usr/local/omc/upload
frontUpload: /usr/local/omc/htdocs/front/upload
frontTraceDir: /usr/local/omc/htdocs/front/trace
software: /usr/local/omc/software
license: /usr/local/omc/license
gtpUri: gtp:192.168.2.119:32152
checkContentType: false
testMode: false
rbacMode: true
runDir: /usr/local/omc/run
cmdTimeout: 120
# Alarm module setting
# Forward interface:
# email/sms/smsc
alarm:
forwardAlarm: true
email:
smtp: smtp.xxx.com
port: 25
user: smtpuser@xxx.com
password: xxxxxx
# TLS skip verify: true/false
tlsSkipVerify: true
smProxy: smsc
sms:
apiURL: http://smsc.xxx.com
accessKeyID: xxx
accessKeySecret: xxx
signName: XXX SMSC
templateCode: 1000
smsc:
addr: "192.168.13.114:2775"
systemID: "alarmsmsfw"
password: "omc123"
systemType: ""
# User authorized information
# crypt: mysql/md5/bcrypt
# token: true/false to check accessToken
# expires for session, unit: second
# Support single/multiple session of user
#
auth:
crypt: bcrypt
token: true
expires: 1800
session: multiple
publicKey: /usr/local/omc/etc/certs/omc
privateKey: /usr/local/omc/etc/certs/omc
# Parameter for limit number
# rmuid_maxnum: the max number of rmUID, default: 50
# alarmid_maxnum: the max number of AlarmID, default: 50
# pmid_maxnum: the max number of pmID, default: 50
# subid_maxnum: the max number of subscription ID, default: 20
# uri_maxlen: the max length of uri, default: 8192
# rmuid_regexp: regexp pattern of rmUID
params:
rmuidmaxnum: 50
alarmidmaxnum: 50
pmidmaxnum: 50
subidmaxnum: 20
urimaxlen: 2100000
rmuidregexp: "[0-9]{4}[A-Z]{2}[A-Z]{2}[0-9A-Z]{1}[0-9A-Z]{3}[0-9A-Z]{1,16}"
testConfig:
enabled: false
file: /usr/local/omc/etc/testconfig.yaml
Whitespace-only changes.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 269 KiB

Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large. Load diff
-1
View File
@@ -1 +0,0 @@
{"openapi":"3.0.1","info":{"title":"OMC","description":"OMC HTTP Restful API Interfaces","version":"1.0.0"},"tags":[{"name":"需登录"},{"name":"公开访问"}],"paths":{"/system/post/list":{"get":{"summary":"岗位列表","deprecated":false,"description":"","tags":["需登录"],"parameters":[{"name":"postCode","in":"query","description":"岗位编码","required":false,"example":"{% mock 'word' %}","schema":{"type":"string"}},{"name":"postName","in":"query","description":"岗位名称","required":false,"example":"{% mock 'ctitle' %}","schema":{"type":"string"}},{"name":"status","in":"query","description":"状态(0正常 1停用)","required":false,"example":"{% mock 'pick' , [0,1] %}","schema":{"type":"string"}},{"name":"pageNum","in":"query","description":"Page number,default 1","required":false,"example":"1","schema":{"type":"number"}},{"name":"pageSize","in":"query","description":"Size of one page,default 10","required":false,"example":"10","schema":{"type":"number"}},{"name":"Authorization","in":"header","description":"Authoirzation token","required":true,"example":"{{token-prefix}}{{token-text}}","schema":{"type":"string"}},{"name":"Referer","in":"header","description":"User Referer","required":true,"example":"{{referer}}","schema":{"type":"string"}},{"name":"User-Agent","in":"header","description":"User Agent","required":true,"example":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36","schema":{"type":"string"}},{"name":"Accept-Language","in":"header","description":"en_US;q=0.9","required":true,"example":"en_US;q=0.9","schema":{"type":"string"}}],"responses":{"200":{"description":"成功","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"integer"},"msg":{"type":"string"},"total":{"type":"integer"},"rows":{"type":"array","items":{"type":"object","properties":{"postId":{"type":"string","title":"岗位ID"},"postCode":{"type":"string","title":"编码"},"postName":{"type":"string","title":"名称"},"postSort":{"type":"integer","title":"排序"},"status":{"type":"string","title":"状态"},"createBy":{"type":"string"},"createTime":{"type":"string"},"remark":{"type":"string","title":"备注"}},"required":["postId","postCode","postName","postSort","status","createBy","createTime","remark"]}}},"required":["code","msg","total","rows"]},"examples":{"1":{"summary":"成功示例","value":{"code":200,"msg":"成功","total":4,"rows":[{"postId":"1","postCode":"ceo","postName":"董事长","postSort":1,"status":"1","createBy":"maskAdmin","createTime":"1682264526344","remark":""},{"postId":"2","postCode":"se","postName":"项目经理","postSort":2,"status":"1","createBy":"maskAdmin","createTime":"1682264526348","remark":""},{"postId":"3","postCode":"hr","postName":"人力资源","postSort":3,"status":"1","createBy":"maskAdmin","createTime":"1682264526354","remark":""},{"postId":"4","postCode":"user","postName":"普通员工","postSort":4,"status":"1","createBy":"maskAdmin","createTime":"1682264526358","remark":""}]}}}}}}},"security":[]}},"/system/user/profile":{"get":{"summary":"基础信息获取","deprecated":false,"description":"","tags":["需登录"],"parameters":[{"name":"Authorization","in":"header","description":"Authoirzation token","required":true,"example":"{{token-prefix}}{{token-text}}","schema":{"type":"string"}},{"name":"Referer","in":"header","description":"User Referer","required":true,"example":"{{referer}}","schema":{"type":"string"}},{"name":"User-Agent","in":"header","description":"User Agent","required":true,"example":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36","schema":{"type":"string"}},{"name":"Accept-Language","in":"header","description":"en_US;q=0.9","required":true,"example":"en_US;q=0.9","schema":{"type":"string"}}],"responses":{"200":{"description":"成功","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"integer"},"msg":{"type":"string"},"data":{"type":"object","properties":{"user":{"type":"object","properties":{"roles":{"type":"array","items":{"type":"object","properties":{"roleId":{"type":"string"},"roleName":{"type":"string"},"roleKey":{"type":"string"},"roleSort":{"type":"integer"},"dataScope":{"type":"string"},"status":{"type":"string"}}},"title":"角色信息"},"userId":{"type":"string"},"deptId":{"type":"string"},"userName":{"type":"string"},"nickName":{"type":"string"},"userType":{"type":"string"},"email":{"type":"string"},"avatar":{"type":"string"},"phonenumber":{"type":"string"},"sex":{"type":"string"},"status":{"type":"string"},"delFlag":{"type":"string"},"loginIp":{"type":"string"},"loginDate":{"type":"string"},"createBy":{"type":"string"},"createTime":{"type":"string"},"remark":{"type":"string"},"dept":{"type":"object","properties":{"deptId":{"type":"string"},"parentId":{"type":"string"},"ancestors":{"type":"string"},"deptName":{"type":"string"},"orderNum":{"type":"iLine truncated
File diff suppressed because it is too large. Load diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loaded 100 of 137 files, more files were not shown because too many files have changed in this diff. Show more