后端部分

数据库初始化

v3.5.0脚本下载

  • 单库部署

  • 分库部署

    • 业务支撑平台

      按所需模块分别运行v3.5.0/mysql/tablev3.5.0/mysql/data下的kems-module-system.sqlkems-module-log.sqlkems-module-file.sqlkems-module-mns.sqlkems-module-datasync.sql即可.

    • 监控运维平台

      运行v3.5.0/mysql/tablev3.5.0/mysql/data下的kems-amo.sql即可。

JAR包运行

服务配置

  • 修改kems-cloud-config模块下的jdbc配置(可选

  • 修改kems-module-system下的jdbc配置

  • 修改kems-module-system下的redis配置

sys_redis

  • 修改kems-module-log下的jdbc配置

  • 修改kems-module-mns下的jdbc配置

  • 修改kems-module-mns下的redis配置

mns_redis

  • 修改kems-module-file下的jdbc配置

  • 修改kems-module-file下的redis配置

file_redis

  • 修改kems-module-gate下的redis配置

gate_redis

工程启动

完成上述配置文件修改后,依次启动服务:

KemsRegisterServerApplication

KemsConfigServerApplication(可选)

KemsSystemApplication

KemsLogApplication

KemsMnsApplication(可选)

KemsFileApplication(可选)

KemsGatewayApplication

注:如登录提示授权码过期,联系研发部韩朋成,获取新的公钥与license.txt文件

替换module-system模块resource下对于环境的application.yml中的公钥,确保license.txt与执行jar文件在同一目录

koca:
  oem:
    publicKey:  xxxxx

WAR包运行

注册中心和网关仍以JAR包运行,其余业务模块(system、log、mns、file等)以WAR包运行,遵照如下配置修改:

pom.xml修改

修改打包方式为war:

<packaging>war</packaging>

在maven依赖列表中更改spring-boot-starter-tomcat 的scope为provided,这样spring-boot-maven-plugin不会将tomact相关写打入WEB-INF/lib,而是将tomcat相关包写入WEB-INF/lib-provided,这样容器在启动war包时只会加载WEB-INF/lib下的依赖,其他文件夹的依赖会被忽略。 不用从koca-boot-standalone-starterkoca-boot-cloud-starter 中显式地排除tomacat相关的包,在依赖列表中重新引入一次即可:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-tomcat</artifactId>
  <scope>provided</scope>
</dependency>

添加maven-war-plugin :

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-war-plugin</artifactId>
  <version>3.1.0</version>
  <configuration>
    <!-- 没有web.xml时不报错 -->
    <failOnMissingWebXml>false</failOnMissingWebXml>
  </configuration>
</plugin>

启动类调整

使用内嵌的tomcat时,spring boot自动将servlet等信息注册到内嵌tomcat,但是打成war包后,又没有配置web.xml,所以需要在启动时把servlet信息注册到容器中,只需启动类继承SpringBootServletInitializer并覆盖configure方法即可(Application根据实际修改):

SpringBootApplication
public class Application extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }

    public static void main(String[] args) {
        new SpringApplication(Application.class).run(args);
    }
}

tomcat配置

将war包解压至tomcat的webapps下,然后修改conf/server.xml的配置,每一个WAR包对应一个Service(下述仅包含两个模块),其中着重注意几个需要修改的地方(Service name、Connector port、Engine name、appBase、docBase、prefix[按需修改],Engine name和Service name的值需相等),具体配置如下:

<Service name="Catalina">
    <Connector port="8003" protocol="HTTP/1.1"
               connectionTimeout="20000"
               compression="on"
               compressionMinSize="512"
               maxHttpHeaderSize="819200"
               compressableMimeType="text/html,text/xml,text/javascript,application/x-javascript,application/javascript,text/css,text/plain,image/png,image/jpg"
               redirectPort="8443"  URIEncoding="UTF-8"/>
    <Engine name="Catalina" defaultHost="localhost">
        <Realm className="org.apache.catalina.realm.LockOutRealm">
            <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                   resourceName="UserDatabase"/>
        </Realm>

        <Host name="localhost"  appBase=""
              unpackWARs="true" autoDeploy="true">
            <Context path="/" docBase="D:/tomcat-9.0.33/webapps/kems-module-system" debug="0" reloadable="true" />
            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                   prefix="kems-module-system" suffix=".txt"
                   pattern="%h %l %u %t &quot;%r&quot; %s %b" />
        </Host>
    </Engine>
</Service>

<Service name="Catalina2">
    <Connector port="8004" protocol="HTTP/1.1"
               connectionTimeout="20000"
               compression="on"
               compressionMinSize="512"
               maxHttpHeaderSize="819200"
               compressableMimeType="text/html,text/xml,text/javascript,application/x-javascript,application/javascript,text/css,text/plain,image/png,image/jpg"
               redirectPort="8443"  URIEncoding="UTF-8"/>
    <Engine name="Catalina2" defaultHost="localhost">
        <Realm className="org.apache.catalina.realm.LockOutRealm">
            <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                   resourceName="UserDatabase"/>
        </Realm>

        <Host name="localhost"  appBase=""
              unpackWARs="true" autoDeploy="true">
            <Context path="/" docBase="D:/tomcat-9.0.33/webapps/kems-module-log" debug="0" reloadable="true" />
            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                   prefix="kems-module-log" suffix=".txt"
                   pattern="%h %l %u %t &quot;%r&quot; %s %b" />
        </Host>
    </Engine>
</Service>

网关配置

gateway.yml新增如下配置,其中uri的端口分别对应上面tomcat的Connector port配置:

spring:
  cloud:
    gateway:
      routes:
        - id: module-system
          uri: http://localhost:8003 # 指定转发url
          predicates: #转发的请求path,如 http://localhost:port/module-system/xxx 都会被转发
            - Path=/module-system/**
        - id: module-log
          uri: http://localhost:8004
          predicates:
            - Path=/module-log/**
        - id: module-mns
          uri: http://localhost:8002
          predicates:
            - Path=/module-mns/**
        - id: module-file
          uri: http://localhost:8001
          predicates:
            - Path=/module-file/**
      discovery:
        locator:
          enabled: true
          lowerCaseServiceId: true

前端部分

管理端

  • 命令行切到工程根目录,执行命令安装依赖包:
npm install
  • config.json配置文件按工程需要修改:
{
  "ENABLE_BASE_URL": false,    //如果使用反向代理配置,此处需设置为true,且BASE_URL为方向代理的网关的地址
  "BASE_URL": "",
  "FILE_WEBSOCKET":"",
  "TIMEOUT": 50000,
  "ENABLE_API_ENCRYPT": false,

  "API_PREFIX": {
    "AUTH_URL_PREFIX": "auth/",
    "PARAM_URL_PREFIX": "module-system/",
    "USER_URL_PREFIX": "module-system/",
    "SYSTEM_URL_PREFIX": "module-system/",
    "MESSAGE_URL_PREFIX": "module-mns/",
    "FILE_URL_PREFIX": "module-file/",
    "LOG_URL_PREFIX": "module-log/"
  },

  "APP_SETTINGS": {
    "MULTI_SERVER_ENV": false,
    "LOGIN_CHECK": true,
    "JWT_TOKEN_ENABLE": true,
    "CONTENT_MARK": false,
    "SSO_LOGIN": false,
    "MULTIPLE_TAB": true,
    "APPLICATION_MODULE": "pmi",
    "CONFIG_FORM_REQUEST": true,
    "SYSTEM_MODE": "1",
    "ROOT_ORG_ID": "1",
    "SHOW_ORG_PARENT": "1",
    "CURRENT_ORG_MODE": "2",
    "ENABLE_DESENSITIZATION": true,
    "IS_MATCH_PORT": true,
    "WX_APPID":"",//企业微信的企业ID,支持企业微信登录的话必填
    "WX_AGEINTID":"",//企业微信应用agentid,支持企业微信登录的话必填
    "APP_PREFIX": "kems_",
    "IDAAS_LOGIN": false//true:支持统一身份认证登录,false:不支持统一身份认证登录
  },
  "SSO_LOGIN_PATH": "",
  "SSO_LOGOUT_PATH": "",
  "VERSION": "1.0.0"
}
  • 执行以下命令即可看到效果:
npm run serve

移动端

使用vs code开发

npm install
npm run dev:h5
限于h5开发

使用HBuilderX

导入项目 选择运行 指定运行环境 h5 真机 小程序

config文件修改

导航至项目src>static>config按平台修改
app.ts适用于安卓、ios、各厂商小程序
h5.json适用于h5应用

app.ts

export const appConfig = {
    HTTP: {
        ENABLE_BASE_URL: true,//是否启用baseurl配置,h5发布在同一域名下可以不启用,从相对路径读取
        BASE_URL: {//接口
            DEV: 'http://10.202.61.79:1000/ke-cloud/',//调试环境
            PROD: 'http://10.202.61.79:1000/ke-cloud/'//发布环境
        },
        IDAAS_URL: {//统一认证
            DEV: 'http://localhost:8080/',//调试环境
            PROD: 'http://localhost:8080/'//发布环境
        },
        FILE_URL: {//文件上传
            DEV: 'http://10.202.61.79:1000/ke-cloud/',//调试环境
            PROD: 'http://10.202.61.79:1000/ke-cloud/',//发布环境
        },
        TIMEOUT: 30000//接口调用超时时间
    },
    RESOURCE_URL: '',
    API_PREFIX: {
        AUTH_URL_PREFIX: 'auth/',
        SYSTEM_URL_PREFIX: 'module-system/',
        MESSAGE_URL_PREFIX: 'module-mns/',
        FILE_URL_PREFIX: 'module-file/',
        LOG_URL_PREFIX: 'module-log/'
    },
    APP_SETTINGS: {
        LOGIN_TYPE: 2,
        APPLICATION_MODULE: 'pmi-app',
        SYSTEM_MODE: '1',
        ROLE_MODE: '1',
        ROOT_ORG_ID: '1',
        SHOW_DEPT_PARENT: '1',
        CURRENT_ORG_MODE: '2',
        ENABLE_DESENSITIZATION: true,
        ENABLE_IDAAS_LOGIN: false,//是否开启统一认证登录
        CLIENT_ID: 'd749ac2cc53a4a4b905cc9a1cc9d4637',
        CLIENT_SECRET: 'e98a4d4d92804c4f83073dc85d78ec52',
        SELF_CLIENT: true
    }
};

h5.json

{
    "HTTP": { 
        "ENABLE_BASE_URL": true,//是否启用baseurl配置,h5发布在同一域名下可以不启用,从相对路径读取
        "BASE_URL": {//接口
            "DEV": "http://localhost:7811/ke-cloud/",//调试环境
            "PROD": "http://10.202.61.79:1000/ke-cloud/"//发布环境
        },
        "IDAAS_URL": {//统一认证
            "DEV": "http://localhost:8080/",//调试环境
            "PROD": "http://localhost:8080/"//发布环境
        },
        "FILE_URL": {//文件上传
            "DEV": "http://localhost:7811/ke-cloud/",//调试环境
            "PROD": "http://10.202.61.79:1000/ke-cloud/"//发布环境
        },
        "TIMEOUT": 30000
    },
    "RESOURCE_URL": "",
    "API_PREFIX": {
        "AUTH_URL_PREFIX": "auth/",
        "SYSTEM_URL_PREFIX": "module-system/",
        "MESSAGE_URL_PREFIX": "module-mns/",
        "FILE_URL_PREFIX": "module-file/",
        "LOG_URL_PREFIX": "module-log/"
    },
    "APP_SETTINGS": {
        "LOGIN_TYPE": 2,
        "APPLICATION_MODULE": "pmi-app",
        "SYSTEM_MODE": "1",
        "ROLE_MODE": "1",
        "ROOT_ORG_ID": "1",
        "SHOW_DEPT_PARENT": "1",
        "CURRENT_ORG_MODE": "2",
        "ENABLE_DESENSITIZATION": true,
        "ENABLE_IDAAS_LOGIN": false,//是否开启统一认证登录
        "CLIENT_ID": "d749ac2cc53a4a4b905cc9a1cc9d4637",
        "CLIENT_SECRET": "e98a4d4d92804c4f83073dc85d78ec52",
        "SELF_CLIENT": true
    }
}

服务器部署

1、nginx.conf增加反向代理配置

   server {
        listen       1000;
        server_name  localhost;

        # 代理网关
        location /ke-cloud/ {
            proxy_pass http://10.202.61.79:8080/;  
        }
        # 代理前端项目,本例中9091为tomcat端口,将前端项目改成admin放置到webapps目录下
        #location / {
        #    proxy_pass http://10.202.61.79:9091/;
        #}

        # 前端项目部署在nginx下
        location / {
            root   html;
            index  index.html index.htm;
        }

        proxy_set_header Host $host:$server_port;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_redirect off;
    }

2、启动nginx服务器

nginx -c conf/nginx.conf

3、页面验证

访问地址:http://10.202.61.79:1000/admin/#/login (admin/1)

Copyright © 2017-2023 深圳金证引擎科技有限公司 all right reserved,powered by Gitbook该文件最后修订时间: 2023-10-18 16:48:35

results matching ""

    No results matching ""