418dfe158384645dd904fe42d77053a3f1fcc6e4
快速开始
环境:Node.js(建议 LTS)、MySQL 5.7+ / 8.x(utf8mb4)。
1. 安装依赖
- 项目根目录:
npm install - 管理端:
cd admin && npm install(根目录npm run dev会进入admin,但首次建议两处各装一次依赖)
2. 数据库与 sql/init.sql
- 在 MySQL 中建空库,例如:
CREATE DATABASE your_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; USE your_db;- 执行
sql/init.sql(与migrations/init.sql内容一致)。会DROP/CREATE系统表并写入:默认租户、超级管理员角色、用户admin/123456(MD5 与框架一致)、sys_title/sys_logo、菜单等。库名须与下一步config.development.js里的db.database一致。 - 需要「演示数据」列表时,再执行
sql/tpl_demo.sql。
3. 配置 config/config.development.js
- 填写
db:username、password、database、host、port、dialect: "mysql"。框架要求password非空(不能留空字符串)。 - 可选:用环境变量覆盖数据库——
DB_HOST、DB_PORT、DB_USER、DB_PASSWORD、DB_NAME(与文件内默认值二选一,以你本机为准)。 - 阿里云 OSS:本地可保留非空占位
accessKeyId/accessKeySecret/bucket,避免sys_file依赖加载失败;真实 OSS 再改为控制台密钥,或通过ALIYUN_ACCESS_KEY_ID、ALIYUN_ACCESS_KEY_SECRET、ALIYUN_OSS_URL、ALIYUN_OSS_BUCKET注入。
4. 启动后端
- 根目录:
npm run api(nodemon)或npm start(node app.js)。 - 默认 API 端口见
config/config.js的port.node(模板为 9098)。 - 文档:
http://localhost:<port>/api/docs
5. 启动管理端
- 根目录:
npm run dev(默认 9000 端口,见根目录package.json脚本)。 - 接口根地址在
admin/config/index.js的apiUrl,须与后端端口一致(模板为http://localhost:9098/admin_api/)。
6. 登录与排错
- 默认:
admin/123456;租户可不传或按sys_tenant.code(如default)。 sys_file加载失败:检查aliyun字段是否非空或已配置环境变量。- 连库失败:核对
db、防火墙、是否已执行init.sql。
前后端项目模板
基于 admin-framework(管理端 Vue2 + ViewUI)与 node-core-framework(Koa2 + Sequelize)的最小可运行骨架,已去掉原 WMS 业务,仅保留一条演示业务链与系统接口。
结构
framework/:node-core-framework 核心(勿与业务混写)admin/src/framework/:admin-framework UMDapi/controller_admin/:管理端业务控制器(模板保留tpl_demo、sys_file、sys_parameter、sys_tenant)api/model/:业务模型(模板保留tpl_demo、sys_tenant)config/:config.js白名单、framework.config.js框架项、环境库表连接
菜单与演示页
在 sys_menu 中增加一条菜单:component 填 demo/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
Languages
JavaScript
98.1%
HTML
1.2%
CSS
0.4%
Vue
0.3%