1.2.4 • Published 4 years ago

uke-admin-web-scaffold v1.2.4

Weekly downloads
1
License
MIT
Repository
github
Last release
4 years ago

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": {
  "start": "PORT=8086 ukectl start",
  "build": "ukectl build"
},

项目结构

项目参考 https://github.com/SANGET/admin-scaffold-starter

  • public
    • index.html
  • src
    • app.tsx
    • main.tsx
    • style.scss
  • tsconfig.json

1. 添加 /public/index.html

<!doctype html>
<html lang="en">

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  <title>Uke admin demo</title>
</head>

<body>
  <div id="Main"></div>
</body>
</html>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/flatpickr/4.6.2/themes/light.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.3.1/css/all.min.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">

2. 添加 /src/app.tsx

import React from 'react';
import ReactDOM from 'react-dom';
import App from './main';

ReactDOM.render(
  <App/>,
  document.getElementById('Main')
);

3. 添加 /src/main.tsx

import React from 'react';
import { AdminWebScaffold, Link } from 'uke-admin-web-scaffold';
import './style.scss'

const VersionInfo = {
  numberVersion: 'v1.0.0'
};

const TestPage = (text = 'Test Page') => () => (
  <div className="p20">
    {text}
    <Link
      params={{
        ID: 'testID',
        data: '123'
      }}
      className="btn theme" to="TEST2">跳转到 TEST2</Link>
  </div>
);

const pageComponents = {
  TestPage: TestPage('TestPage'),
  TestPage2: 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={userInfo.username}
      versionInfo={VersionInfo}
      userInfo={userInfo}
      pageComponents={pageComponents}/>
  );
}

export default ScaffoldDemo;

4. 添加 /src/style.scss

// 引入 scss var
@import 'ukelli-ui/style/var.scss';
@import 'uke-admin-web-scaffold/style/var.scss';

// 引入其他样式
@import 'ukelli-ui/style/index.scss';
@import 'ukelli-ui/style/color/set-color.scss';
@import 'uke-admin-web-scaffold/style/index.scss';
@import 'uke-admin-web-scaffold/style/layout/login.scss';

5. 添加 /tsconfig.json

{
  "compilerOptions": {
    "target": "es5",
    "lib": [
      "dom",
      "dom.iterable",
      "esnext"
    ],
    "outDir": "./dist",
    "skipLibCheck": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "noImplicitAny": false,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "declaration": true,
    "module": "ES6",
    "moduleResolution": "node",
    "jsx": "react"
  },
  "include": [
    "src"
  ],
  "exclude": [
    "src/**/test/*",
    "dist",
    "build"
  ]
}

运行

yarn start

稍等片刻即可

相关项目

深入了解

通用模版和高阶模版

  • 表格模版引擎
  • 表单模版引擎
// 通用模版
import { ReportTemplate } from 'uke-admin-web-scaffold/template-engine';

// 高阶模版 HOC
import { FormRender, HOCReportRender } from 'uke-admin-web-scaffold/template-engine';

// 通用模版
const GenernalTMPL = () => {
  const templateOptions = {};
  return (
    <ReportTemplate {...templateOptions} />
  )
}

// 高阶模版 HOC
const HOC_TMPL_REPORT = () => {
  return (
    <HOCReportRender />
  )
}

请求代理机制 ActionAgent

封装了基于 React state 的异步请求管理,制定了异步请求在该页面的生命周期,适用于通用页面

import ActionAgent from 'uke-admin-web-scaffold/action-agent';

// 继承获取 ActionAgent 的 api
class Page extends ActionAgent {
  
}

详情参考

特殊模块说明

1.2.4

4 years ago

1.2.3

5 years ago

1.2.2

5 years ago

1.2.1

5 years ago

1.2.0-rc10

5 years ago

1.2.0-rc9

5 years ago

1.2.0-rc8

5 years ago

1.2.0-rc7

5 years ago

1.2.0-rc6

5 years ago

1.2.0-rc5

5 years ago

1.2.0-rc4

5 years ago

1.2.0-rc3

5 years ago

1.2.0-rc2

5 years ago

1.2.0-rc1

5 years ago

1.1.0-rc3

5 years ago

1.1.0-rc2

5 years ago

1.1.0-rc1

5 years ago

1.0.0

5 years ago

1.0.0-rc.10

5 years ago

1.0.0-rc.9

5 years ago

1.0.0-rc.8

5 years ago

1.0.0-rc.7

5 years ago

1.0.0-rc.6

5 years ago

1.0.0-rc.5

5 years ago

1.0.0-rc.4

5 years ago

1.0.0-rc.3

5 years ago

1.0.0-rc.1

5 years ago

1.0.0-rc.0

5 years ago

0.22.0

5 years ago

0.21.7

5 years ago

0.21.6

5 years ago

0.21.5

5 years ago

0.21.4

5 years ago

0.21.3

5 years ago

0.21.2

5 years ago

0.21.1

5 years ago

0.21.0

5 years ago

0.20.4

5 years ago

0.20.3

5 years ago

0.20.2

5 years ago

0.20.1

5 years ago

0.20.0

5 years ago

0.19.1

5 years ago

0.19.0

5 years ago

0.18.9

5 years ago

0.18.8

5 years ago

0.18.7

5 years ago

0.18.6

5 years ago

0.18.5

5 years ago

0.18.4

5 years ago

0.18.3

5 years ago

0.18.2

5 years ago

0.18.1

5 years ago

0.18.0

5 years ago

0.17.9

5 years ago

0.17.8

5 years ago

0.17.7

5 years ago

0.17.6

5 years ago

0.17.5

5 years ago

0.17.4

5 years ago

0.17.3

5 years ago

0.17.2

5 years ago

0.17.1

5 years ago

0.17.0

5 years ago

0.16.32

5 years ago

0.16.31

5 years ago

0.16.30

5 years ago

0.16.29

5 years ago

0.16.28

5 years ago

0.16.27

5 years ago

0.16.26

5 years ago

0.16.25

5 years ago

0.16.24

5 years ago

0.16.23

5 years ago

0.16.22

5 years ago

0.16.21

5 years ago

0.16.20

5 years ago

0.16.19

5 years ago

0.16.18

5 years ago

0.16.17

5 years ago

0.16.16

5 years ago

0.16.15

5 years ago

0.16.14

5 years ago

0.16.13

5 years ago

0.16.12

5 years ago

0.16.11

5 years ago

0.16.10

5 years ago

0.16.9

5 years ago

0.16.8

5 years ago

0.16.7

5 years ago

0.16.6

5 years ago

0.16.5

5 years ago

0.16.4

5 years ago

0.16.3

5 years ago

0.16.2

5 years ago

0.16.1

5 years ago

0.16.0

5 years ago

0.15.40

5 years ago

0.15.39

5 years ago

0.15.38

5 years ago

0.15.37

5 years ago

0.15.36

5 years ago

0.15.35

5 years ago

0.15.34

5 years ago

0.15.33

5 years ago

0.15.32

5 years ago

0.15.31

5 years ago

0.15.29

5 years ago

0.15.28

5 years ago

0.15.27

5 years ago

0.15.26

5 years ago

0.15.25

5 years ago

0.15.23

5 years ago

0.15.22

5 years ago

0.15.21

5 years ago

0.15.20

5 years ago

0.15.19

5 years ago

0.15.18

5 years ago

0.15.17

5 years ago

0.15.16

5 years ago

0.15.15

5 years ago

0.15.14

5 years ago

0.15.13

5 years ago

0.15.12

5 years ago

0.15.11

5 years ago

0.15.10

5 years ago

0.15.9

5 years ago

0.15.8

5 years ago

0.15.7

5 years ago

0.15.6

5 years ago

0.15.5

5 years ago

0.15.4

5 years ago

0.15.3

5 years ago

0.15.2

5 years ago

0.15.1

5 years ago

0.15.0

5 years ago

0.14.10

5 years ago

0.14.9

5 years ago

0.14.8

5 years ago

0.14.7

5 years ago

0.14.6

5 years ago

0.14.5

5 years ago

0.14.4

5 years ago

0.14.3

6 years ago

0.14.2

6 years ago

0.14.1

6 years ago

0.14.0

6 years ago

0.13.15

6 years ago

0.13.14

6 years ago

0.13.13

6 years ago

0.13.12

6 years ago

0.13.11

6 years ago

0.13.10

6 years ago

0.13.9

6 years ago

0.13.8

6 years ago

0.13.7

6 years ago

0.13.6

6 years ago

0.13.5

6 years ago

0.13.4

6 years ago

0.13.3

6 years ago

0.13.1

6 years ago

0.13.0

6 years ago

0.12.18

6 years ago

0.12.17

6 years ago

0.12.16

6 years ago

0.12.15

6 years ago

0.12.14

6 years ago

0.12.13

6 years ago

0.12.12

6 years ago

0.12.10

6 years ago

0.12.9

6 years ago

0.12.5

6 years ago

0.12.4

6 years ago

0.12.3

6 years ago

0.12.2

6 years ago

0.12.1

6 years ago

0.12.0

6 years ago

0.11.17

6 years ago

0.11.16

6 years ago

0.11.15

6 years ago

0.11.13

6 years ago

0.11.11

6 years ago

0.11.10

6 years ago

0.11.9

6 years ago

0.11.8

6 years ago

0.11.7

6 years ago

0.11.6

6 years ago

0.11.5

6 years ago

0.11.4

6 years ago

0.11.1

6 years ago

0.11.0

6 years ago

0.10.8

6 years ago

0.10.7

6 years ago

0.10.6

6 years ago

0.10.5

6 years ago

0.10.4

6 years ago

0.10.3

6 years ago

0.10.2

6 years ago

0.10.1

6 years ago

0.10.0

6 years ago