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
# MySQL数据库配置
SERVER_HOST = http://localhost
# Node服务器端口
SERVER_PORT = 3001
# 服务器IP地址
DATABASE_HOST =
# 数据库端口
DATABASE_PORT = 3306
# 数据库用户名
DATABASE_USER = root
# 数据库密码
DATABASE_PASSWORD =
# 数据库名称
DATABASE_NAME = mars

# 飞书应用配置,用来发送飞书消息(暂时可忽略)
FEISHU_APP_ID =
FEISHU_APP_SECRET =

# JWT签名密钥和过期时间
JWT_SECRET = marsview-1688
JWT_EXPIRES_IN = 5d

# 文件上传,OSS服务配置
# OSS_TYPE: minio | baidu | aliyun
OSS_TYPE = baidu
# 只有minio需要
OSS_PORT = 9000
# 是否使用HTTPS
OSS_USESSL = false
# 阿里云OSS需要填写区域,如oss-cn-hangzhou
OSS_REGION = oss-cn-guangzhou
# 百度云OSS填写域名、minio填写IP地址
OSS_ENDPOINT = https://bj.bcebos.com
OSS_BUCKET = marscloud
OSS_ACCESSKEY =
OSS_ACCESSKEYSECRET =
# CDN域名,若没有,可填空
OSS_CDNDOMAIN = https://marscloud.cdn.bcebos.com

# 邮箱服务配置
EMAIL_HOST = smtp.163.com
EMAIL_PORT = 465
EMAIL_USER = marsview@163.com
EMAIL_PASSWORD = M***************6

# 微信登录配置,没有可默认为空
WECHAT_APP_ID =
WECHAT_APP_SECRET =

# 大模型配置
AI_BASE_URL = https://c-z0-api-01.hash070.com/v1
AI_KEY =
MODEL = gpt-4.1-mini

# 模型服务调用地址
MODEL_BASE_URL = http://api-model.marsview.com.cn
# 启用后端模型服务,此服务需付费使用(未付费开启会导致页面创建报错)
ENABLE_MODEL_SERVICE = true

# 系统默认登录账号
USERNAME = admin@marsview.com
# 系统默认登录密码
PASSWORD = admin
  1. 飞书配置可直接跳过。
  2. 邮箱配置主要用于用户注册,企业客户不建议开放注册功能。
  3. 大模型配置主要用于自定义组件接入大模型,此处效果不佳,也可跳过。
  4. 普通客户,可关闭ENABLE_MODEL_SERVICE。付费客户需要设置MODEL_BASE_URL。

安装依赖

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,修改服务配置,安装依赖,最后启动服务。

修改配置

  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

# OSS服务类型
# OSS_TYPE: minio | baidu | aliyun
OSS_TYPE = minio
#只有minio需要
OSS_PORT = 9000
# 是否使用HTTPS
OSS_USESSL = false
# 阿里云OSS需要填写区域,如oss-cn-hangzhou
OSS_REGION = oss-cn-guangzhou
# 百度云OSS填写域名、minio填写IP地址
OSS_ENDPOINT = https://bj.bcebos.com
OSS_BUCKET = marscloud
OSS_ACCESSKEY =
OSS_ACCESSKEYSECRET =
# CDN域名
OSS_CDNDOMAIN = https://marscloud.cdn.bcebos.com
  1. 没有CDN,OSS_CDNDOMAIN字段可不填。
  2. OSS服务主要用于表单中的上传组件,如果不配置,上传组件能力会失效。

安装依赖

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

前端部署

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

配置修改

shell
# 接口地址
VITE_EDITOR_API=/api/editor
# 模型地址
VITE_MODEL_API=/api/model
# 后台访问地址
VITE_ADMIN_URL=https://admin.marsview.com.cn
# CDN 地址(前端静态js、css、图片等资源加载地址前缀,不填时,默认使用当前服务器IP+端口)
VITE_CDN_URL=https://marsview.cdn.bcebos.com
# 文档地址
VITE_DOCS_URL=https://docs.marsview.com.cn
# LOGO地址(支持本地路径和CDN地址)
VITE_LOGO_URL=/imgs/mars-logo.png
# LOGO黑暗背景(支持本地路径和CDN地址)
VITE_LOGO_DARK_URL=/imgs/mars-logo-dark.png
# 系统名称
VITE_APP_NAME=MarsView
# 系统备案号
VITE_ICP=沪ICP备2024101697号-1
# 显示微信登录(企业客户填false)
VITE_LOGIN_WECHAT=false
# 微信登录appid(企业客户可不填)
VITE_WECHAT_APPID=wxba2aa46f793407b2
# 微信登录重定向地址(企业客户可关闭)
VITE_WECHAT_REDIRECT=http%3A%2F%2Fwww.marsview.com.cn%2Flogin
# 客户版(开启后会屏蔽登录页面注册、找回密码功能,企业客户可打开)
VITE_CUSTOMER=true
# 客服地址(支持本地路径和CDN地址,不填时,默认不展示)
VITE_SERVICE_URL=/imgs/kefu_qrcode.png
# 允许发布环境,development时,只能发布到测试环境
VITE_ALLOW_ENV=production
# 开启后端模型(用于动态建表,后端编排,需要搭配服务端代码使用,付费服务)
VITE_BACKEND_MODEL=false
# 开发环境:低代码接口代理地址,仅在本地开发时使用,线上使用nginx配置反向代理
VITE_EDITOR_PROXY=http://api-editor.marsview.com.cn
# 开发环境:低代码模型代理地址,仅在本地开发时使用,线上使用nginx配置反向代理
VITE_MODEL_PROXY=http://api-model.marsview.com.cn
# 模型后台服务地址
VITE_MODEL_URL=https://api-model.marsview.com.cn

温馨提示: 如果有OSS或者minio服务,建议把editor项目下public/static下面静态脚本上传到OSS。

  • 上传前端JS文件到OSS或者minior服务器。
  • 修改VITE_CDN_URL地址为OSS访问地址。
  • 如果没有OSS服务,VITE_CDN_URL可配置为当前编辑器访问IP+端口。

安装依赖

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;
  }
}

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.