Skip to content

源码说明

项目仓库名称说明
前端marsview-enterprise-front前端代码,包含编辑器和访问端
编辑器后端marsview-enterprise-node编辑器对应后端接口
访问端后端marsview-enterprise-node-admin访问端对应后端接口
工作流前端marsview-workflow-front工作流前端
模型后端marsview-enterprise-model模型和工作流后端

源码下载

名称地址
前端marsview-enterprise-front
工作流前端marsview-workflow-front
编辑器后端marsview-enterprise-node
访问端后端marsview-enterprise-node-admin
模型后端marsview-enterprise-model

环境安装

Node 版本最好是当前最新稳定版本,推荐>=18 ,如果已经安装过了,可忽略。

本地环境

  1. 安装nodev22.13.0版本,下载地址:node官方地址
  2. 安装pnpm执行命令:npm i -g pnpm 5. 测试pnpm命令:pnpm -v
  3. 安装nodev22.13.0版本,下载地址:node官方地址

线上环境

YUM安装

  1. 通过yum安装node环境。
shell
sudo yum install nodejs -y
  1. 测试node版本
shell
node -v

NVM 安装(可选)

如果YUM安装的node版本过旧或低于18,可尝试使用NVM切换版本。

shell
# 安装nvm命令
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

# 或者

curl -o- https://gitee.com/mirrors/nvm/raw/v0.39.1/install.sh | bash

# 安装完成后,加载终端配置
source ~/.bashrc

# 安装当前稳定版本node
nvm install stable

# 也可以安装指定版本(如果安装了stable版本后,无需再安装指定版本)
nvm install 18

# node安装成功后,最后安装pnpm
npm i -g pnpm

安装 PM2

shell
npm i -g pm2

环境检测

shell
node -v
npm -v
pnpm -v

注意:

  1. 如果正常显示各个版本号,说明本次环境安装成功。
  2. 本地环境需要安装node和pnpm,线上服务器环境需要安装node、pm2即可。
  3. 安装完成node环境以后,会自带npm命令。

数据库脚本执行

默认启动marsview-enterprise-node项目时,会自动执行数据库文件,也可以手动运行node项目中的init.sql脚本文件,每次脚本更新时,会更新到sql更新日志.md文件中。

默认账号:admin@marsview.com

默认密码:admin

  1. 新客户完整运行数据库脚本即可。
  2. 老客户需增量更新脚本,在marsview-enterprise-node中包含sql更新日志.md,拷贝增量sql运行即可。

编辑器后端部署

克隆后端代码marsview-enterprise-node,修改服务配置,安装依赖,最后启动服务。

编辑器端服务配置

  1. 请根据下面配置,在marsview-enterprise-node项目中创建一个.env文件,并修改对应的配置。
shell
# 服务器IP地址
DB_HOST =
# 数据库端口
DB_PORT = 3306
# 数据库用户名
DB_USER = root
# 数据库密码
DB_PASSWORD =
# 数据库名称
DB_NAME = mars
# 模型数据库名称
MODEL_DB_NAME = mars_model

# JWT签名密钥和过期时间
JWT_SECRET = marsview
JWT_EXPIRES_IN = 5d
  1. 飞书配置可直接跳过。

安装依赖

shell
npm i
# 或者
pnpm i

启动服务

shell
npm run dev
# 或者
pnpm run dev

如果控制台不报错,说明服务启动正常。

线上启动

  1. 通过ssh 工具登录远程服务器。
  2. 通过npm命令安装pm2软件:npm i -g pm2,如果已经安装,可忽略。
  3. 启动后端
shell
# cd 进入后端根目录
pm2 start main.js --name marsview-node

访问端后端部署

克隆后端代码marsview-enterprise-node-admin,修改服务配置,安装依赖,最后启动服务。

Admin后端修改配置

  1. 请根据下面配置,在marsview-enterprise-node-admin项目中创建一个.env文件,并修改对应的配置。
shell
# 请参考此配置文件,创建一份全新的 .env 文件,系统只会加载 .env 文件

# 数据库ip
DB_HOST=127.0.0.1
# 数据库端口
DB_PORT=3306
# 数据库用户名
DB_USERNAME=root
# 数据库密码
DB_PASSWORD=
# 数据库名
DB_NAME=mars

# JWT 密钥
JWT_SECRET=your_jwt_secret_key
# JWT 过期时间
JWT_SECRET_EXPIRES_TIME=5d

安装依赖

shell
npm i
# 或者
pnpm i

启动服务(本地运行模式)

shell
npm run dev
# 或者
pnpm run dev

如果控制台不报错,说明服务启动正常。

线上启动

  1. 通过ssh 工具登录远程服务器。
  2. 通过npm命令安装pm2软件:npm i -g pm2,如果已经安装,可忽略。
  3. 启动后端
shell
# cd 进入后端根目录
pm2 start bootstrap.js --name marsview-admin

模型后端部署

克隆后端代码marsview-enterprise-model,修改服务配置,安装依赖,最后启动服务。

模型后端修改配置

  1. 请根据下面配置,在marsview-enterprise-model项目中创建一个.env文件,并修改对应的配置。
shell
# 请参考此配置文件,创建一份全新的 .env 文件,系统只会加载 .env 文件

# 数据库ip
DB_HOST=
# 数据库端口
DB_PORT=3306
# 数据库用户名
DB_USERNAME=root
# 数据库密码
DB_PASSWORD=
# 数据库名
DB_NAME=mars_model
# JWT 密钥
JWT_SECRET=marsview
# 后端Node项目服务地址,模型和平台服务有通信,如果没有域名,对应IP+3002端口
MARSVIEW_ADMIN_SERVER_URL=http://api-admin.marsview.com.cn
# 前端CDN地址,没有CDN可以配置编辑器端IP+端口
CDN_URL=https://marsview.cdn.bcebos.com

安装依赖

shell
npm i
# 或者
pnpm i

启动服务(本地运行模式)

shell
npm run dev
# 或者
pnpm run dev

如果控制台不报错,说明服务启动正常。

前端部署

请依次修改packages/editor和packages/admin项目下的.env文件配置信息。

前端编辑器配置

shell
# CDN 地址(前端静态js、css、图片等资源加载地址前缀,不填时,默认使用当前服务器IP+端口)
VITE_CDN_URL=https://marsview.cdn.bcebos.com
# LOGO地址(支持本地路径和CDN地址)
VITE_LOGO_URL=/imgs/mars-logo.png
# 系统名称
VITE_APP_NAME=Marsview
# 系统标题
VITE_APP_TITLE=Marsview可视化搭建
# 系统备案号
VITE_ICP=沪ICP备2024101697号-1

前端访问端配置

shell
# CDN 地址(没有CDN时,可配置编辑器对应的IP+端口,静态资源默认放在了编辑器端)
VITE_CDN_URL=https://marsview.cdn.bcebos.com
# LOGO地址
VITE_LOGO_URL=/imgs/mars-logo.png
# 系统名称
VITE_APP_NAME=MarsView
# 系统标题
VITE_APP_TITLE=Marsview可视化搭建

温馨提示:

  • 如果没有OSS服务,VITE_CDN_URL可配置为当前编辑器访问IP+端口。
  • VITE_LOGO_URL 如果需要自定义logo,请把logo放在项目的public目录下,并修改VITE_LOGO_URL为logo的相对路径。

前端工作流配置

shell
# CDN 地址(没有CDN时,可配置编辑器对应的IP+端口,静态资源默认放在了编辑器端)
VITE_CDN_URL=https://marsview.cdn.bcebos.com

安装依赖

shell
# cd 进入到项目根目录
pnpm i

修改代理

本地启动时,默认接口会代理到线上,可修改.env文件中的代理配置

shell
# 修改地址为自己后端地址
VITE_EDITOR_PROXY=http://localhost:3001

启动项目

shell
# 在项目根目录,启动编辑器项目
pnpm start:editor
# 在项目根目录,启动admin项目
pnpm start:admin

启动以后,用浏览器打开,确保项目正常登录、访问项目和页面。

项目打包

shell
pnpm build

会同时编译:editor 和 admin 项目,最终在项目根目录生成dist文件夹。

项目上传

将打包后的项目(dist目录下),手动上传到服务器nginx目录下即可。

域名解析

场景:假设你有一个域名是marsview.com.cn,需要添加5个DNS解析,分别如下:

访问域名主机记录记录值描述
marsview.com.cn@服务器公网IP主站地址
www.marsview.com.cnwww服务器公网IP主站地址
admin.marsview.com.cnadmin服务器公网IP后台服务
docs.marsview.com.cndocs服务器公网IP文档服务
api-editor.marsview.com.cnapi-editor服务器公网IP编辑器API服务
api-model.marsview.com.cnapi-model服务器公网IP模型API服务
api-admin.marsview.com.cnapi-admin服务器公网IP模型API服务

Nginx配置

前端依赖nginx服务器,建议在conf.d目录或者vhost目录创建5个配置文件。

editor.conf配置

server_name配置域名时,需提前在云服务器上做DNS解析,修改紫色部分即可。

nginx
server {
  listen 80;
  server_name www.marsview.com.cn;
  root /workspace/marsview/dist/editor;
  index index.html index.htm login.html;

  location / {
    root /workspace/marsview/dist/editor;
    if ($request_filename ~* \.html?$) {
      # 禁用index.html缓存,这句很重要
      add_header Cache-Control "no-cache";
    }
    try_files $uri $uri/ /index.html;
  }
  # 自定义组件调用大模型
  location /api/ai/stream {
    proxy_pass http://127.0.0.1:3001;
    proxy_buffering off;
    proxy_cache off;
    proxy_set_header Connection '';
    proxy_http_version 1.1;
    chunked_transfer_encoding on;
  }
  # 代理编辑器后端
  location ^~/api/editor {
    proxy_pass http://127.0.0.1:3001;
  }
  # 代理模型后端
  location ^~/api/admin {
    proxy_pass http://127.0.0.1:3002;
  }
  # 此代理只有开通后端模型客户需要添加
  location ^~/api/model {
    proxy_pass http://127.0.0.1:7001;
  }
  # 工作流代理
  location /workflow {
    # 请把 3000 改成工作流前端服务的端口
    proxy_pass http://127.0.0.1:3000/workflow;
    add_header Access-Control-Allow-Origin *;
  }
  # 工作流图片资源代理
  location ~* ^/workflow/.*\.(gif|jpg|jpeg|png|bmp|swf|webp|svg)$ {
    expires 360d;
    proxy_pass http://127.0.0.1:3000;
  }
  # 工作流JS资源代理
  location ~* ^/workflow/.*\.(js|css)$ {
    expires 360d;
    proxy_pass http://127.0.0.1:3000;
  }
  # 静态资源代理
  location ~ .*\.(js|css)?$ {
    expires 360d;
    add_header Access-Control-Allow-Origin *;
  }

}

admin.conf配置

nginx
server {
  listen 80;
  server_name admin.marsview.com.cn;
  root /workspace/marsview/dist/admin;
  index index.html index.htm login.html;

  location / {
    root /workspace/marsview/dist/admin;
    if ($request_filename ~* \.html?$) {
      # 禁用index.html缓存,这句很重要
      add_header Cache-Control "no-cache";
    }
    try_files $uri $uri/ /index.html;
  }
  # 代理编辑器后端
  location ^~/api/editor {
    proxy_pass http://127.0.0.1:3001;
  }
  # 代理模型厚度
  location ^~/api/admin {
    proxy_pass http://127.0.0.1:3002;
  }
  # 此代理只有开通后端模型客户需要添加
  location ^~/api/model {
    proxy_pass http://127.0.0.1:7001;
  }
}

api-editor.conf配置(编辑器接口服务)

nginx
server {
  listen 80;
  server_name api-model.marsview.com.cn;

  location / {
     proxy_pass http://127.0.0.1:3001;
  }
}

api-admin.conf配置(模型接口服务)

nginx
server {
  listen 80;
  server_name api-admin.marsview.com.cn;

  location / {
     proxy_pass http://127.0.0.1:3002;
  }
}

api-model.conf配置(模型接口服务)

nginx
server {
  listen 80;
  server_name api-model.marsview.com.cn;

  location / {
     proxy_pass http://127.0.0.1:7001;
  }
}

默认可在conf.d目录分别创建上面5个配置文件,但需要在nginx.conf配置中include /etc/nginx/conf.d/*.conf,这个很重要,否则子配置不会生效。

常见问题汇总

安装依赖太慢

可以设置一下npm镜像,默认会从国外下载,配置镜像以后,从阿里镜像服务器拉取npm包。

shell
npm config set registry https://registry.npmmirror.com

Node操作命令

  1. 启动项目: pm2 start main.js --name marsview-editor

    main.js 为 项目入口;marsview-editor 为服务名称,可以随意修改。

  2. 关闭项目: pm2 stop marsview-editor

  3. 重启项目: pm2 restart marsview-editor

  4. 删除项目: pm2 delete marsview-editor

Nginx 操作命令

  1. 启动 Nginx 服务: systemctl start nginx

    不同的版本和系统,启动命令略有差异。

  2. 停止 Nginx 服务: systemctl stop nginx

  3. 重启 Nginx 服务: systemctl reload nginx

Released under the MIT License.