张成 1850ec93a2 1
2026-04-29 14:14:19 +08:00
2026-04-29 13:34:39 +08:00
1
2026-04-29 13:46:24 +08:00
2026-04-29 13:34:39 +08:00
1
2026-04-29 14:14:19 +08:00
2026-04-29 13:34:39 +08:00
2026-04-29 13:34:39 +08:00
1
2026-04-29 13:57:10 +08:00
1
2026-04-29 13:46:24 +08:00
2026-04-29 13:34:39 +08:00
1
2026-04-29 14:14:19 +08:00
2026-04-29 13:34:39 +08:00
2026-04-29 13:34:39 +08:00
2026-04-29 13:34:39 +08:00
2026-04-29 13:34:39 +08:00
2026-04-29 13:34:39 +08:00
2026-04-29 13:34:39 +08:00
2026-04-29 13:34:39 +08:00
2026-04-29 13:34:39 +08:00
2026-04-29 13:34:39 +08:00
1
2026-04-29 14:14:19 +08:00

快速开始

环境Node.js建议 LTS、MySQL 5.7+ / 8.xutf8mb4)。

1. 安装依赖

  • 项目根目录:npm install
  • 管理端:cd admin && npm install(根目录 npm run dev 会进入 admin,但首次建议两处各装一次依赖)

2. 数据库与 sql/init.sql

  1. 在 MySQL 中建空库,例如:CREATE DATABASE your_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  2. USE your_db;
  3. 执行 sql/init.sql(与 migrations/init.sql 内容一致)。会 DROP/CREATE 系统表并写入:默认租户、超级管理员角色、用户 admin / 123456zc / zc123MD5 与框架一致)、sys_title / sys_logo、菜单等。库名须与下一步 config.development.js 里的 db.database 一致。
  4. 需要「演示数据」列表时,再执行 sql/tpl_demo.sql

3. 配置 config/config.development.js

  • 填写 dbusernamepassworddatabasehostportdialect: "mysql"框架要求 password 非空(不能留空字符串)。
  • 可选:用环境变量覆盖数据库——DB_HOSTDB_PORTDB_USERDB_PASSWORDDB_NAME(与文件内默认值二选一,以你本机为准)。
  • 阿里云 OSS:本地可保留非空占位 accessKeyId / accessKeySecret / bucket,避免 sys_file 依赖加载失败;真实 OSS 再改为控制台密钥,或通过 ALIYUN_ACCESS_KEY_IDALIYUN_ACCESS_KEY_SECRETALIYUN_OSS_URLALIYUN_OSS_BUCKET 注入。

4. 启动后端

  • 根目录:npm run apinodemonnpm startnode app.js)。
  • 默认 API 端口config/config.jsport.node(模板为 9098)。
  • 文档:http://localhost:<port>/api/docs

5. 启动管理端

  • 根目录:npm run dev(默认 9000 端口,见根目录 package.json 脚本)。
  • 接口根地址在 admin/config/index.jsapiUrl,须与后端端口一致(模板为 http://localhost:9098/admin_api/)。

6. 登录与排错

  • 默认:admin / 123456 ;租户可不传或按 sys_tenant.code(如 default)。
  • sys_file 加载失败:检查 aliyun 字段是否非空或已配置环境变量。
  • 连库失败:核对 db、防火墙、是否已执行 init.sql

前后端项目模板

基于 admin-framework(管理端 Vue2 + ViewUInode-core-frameworkKoa2 + Sequelize的最小可运行骨架已去掉原 WMS 业务,仅保留一条演示业务链与系统接口。

结构

  • framework/node-core-framework 核心(勿与业务混写)
  • admin/src/framework/admin-framework UMD
  • api/controller_admin/:管理端业务控制器(模板保留 tpl_demosys_filesys_parametersys_tenant
  • api/model/:业务模型(模板保留 tpl_demosys_tenant
  • config/config.js 白名单、framework.config.js 框架项、环境库表连接

菜单与演示页

sys_menu 中增加一条菜单:componentdemo/tpl_demo(与 admin/src/router/component-map.js 一致),分配权限后即可打开「演示数据」列表页。

从模板扩展

  • 后端:在 api/model 增加模型、在 api/controller_admin 增加控制器导出 GET/POST /xxx/...;若有关联,写在 config/model.associations.js
  • 前端:在 admin/src/views 增加页面,并在 component-map.js 注册;列表可参考 views/demo/tpl_demo.vue + tableMixin
Description
前后端后台系统框架项目
Readme MIT 2.2 MiB
Languages
JavaScript 98.1%
HTML 1.2%
CSS 0.4%
Vue 0.3%