uke-admin-web-scaffold
Base on React's Admin Manager Scaffold.
特性
- 多标签页共存
- 前端路由导航
- 可无限嵌套的导航菜单
- 各种可自定义的插件接口
- 状态栏 Statusabar
- 脚注 Footer
- 模版引擎
- 表格引擎 ReportTemplateEngin
- 表单引擎 FormTemplateEngin
- 异步请求状态与 React state 的数据绑定封装 (ActionAgent)
- 前端资源发布模块
开始
新建目录
mkdir admin-scaffold-tester && cd "$_"npm init && git init
安装依赖
为了不与实际项目使用的依赖冲突重复,uke-admin-web-scaffold 只指定了依赖,并没有实际安装对应依赖
# yarn yarn add react react-dom uke-admin-web-scaffold basic-helper react-transition-group uke-request ukelli-ui unistore # 使用 uke-scripts 开发环境 yarn add uke-scripts -D # 或者 npm npm i react react-dom uke-admin-web-scaffold basic-helper react-transition-group uke-request ukelli-ui unistore --save npm i uke-scripts --save-dev
添加 npm scripts
打开 ./pacakges.json
,添加项目运行 scripts
"scripts": ,
项目结构
项目参考 https://github.com/SANGET/admin-scaffold-starter
- public
- index.html
- src
- app.tsx
- main.tsx
- style.scss
- tsconfig.json
1. 添加 /public/index.html
Uke admin demo
2. 添加 /src/app.tsx
;;; ReactDOM;
3. 添加 /src/main.tsx
;; const VersionInfo = numberVersion: 'v1.0.0'; const TestPage = <div className="p20"> text <Link params= ID: 'testID' data: '123' className="btn theme" to="TEST2">跳转到 TEST2</Link> </div>; const pageComponents = TestPage: TestPage2: ; const menuStore = title: '测试页面' icon: 'table' code: 'TestPage' title: '一级菜单' child: title: '测试页面2' icon: 'table' code: 'TestPage2' title: '测试页面2' icon: 'table' code: 'TestPage3' const userInfo = username: 'uke-user' const ScaffoldDemo = { return <AdminWebScaffold menuStore=menuStore username=userInfousername versionInfo=VersionInfo userInfo=userInfo pageComponents=pageComponents/> ;} ;
4. 添加 /src/style.scss
// 引入 scss var ;; // 引入其他样式 ;;;;
5. 添加 /tsconfig.json
运行
yarn start
稍等片刻即可
相关项目
- uke-dashboard 整合了上述内容的管理系统模版框架,开箱即用。
- uke-dashboard online 在线演示
- Account: admin
- PW: 123
深入了解
通用模版和高阶模版
- 表格模版引擎
- 表单模版引擎
// 通用模版; // 高阶模版 HOC; // 通用模版const GenernalTMPL = { const templateOptions = {}; return <ReportTemplate ...templateOptions /> } // 高阶模版 HOCconst HOC_TMPL_REPORT = { return <HOCReportRender /> }
请求代理机制 ActionAgent
封装了基于 React state 的异步请求管理,制定了异步请求在该页面的生命周期,适用于通用页面
; // 继承获取 ActionAgent 的 api