Match-id-3d6ba1acf37deca4e2dcb46c502006880da23bd5
This commit is contained in:
parent
9372ffc793
commit
dc35633382
|
@ -16,17 +16,17 @@
|
|||
'use strict';
|
||||
|
||||
module.exports = {
|
||||
printWidth: 120, // 一行120字符数,如果超过会进行换行
|
||||
tabWidth: 2, // tab等2个空格
|
||||
useTabs: false, // 用空格缩进行
|
||||
semi: true, // 行尾使用分号
|
||||
singleQuote: true, // 字符串使用单引号
|
||||
quoteProps: 'as-needed', // 仅在需要时在对象属性添加引号
|
||||
jsxSingleQuote: false, // 在JSX中使用双引号
|
||||
trailingComma: 'es5', // 使用尾逗号(对象、数组等)
|
||||
bracketSpacing: true, // 对象的括号间增加空格
|
||||
bracketSameLine: false, // 将多行JSX元素的>放在最后一行的末尾
|
||||
arrowParens: 'avoid', // 在唯一的arrow函数参数周围省略括号
|
||||
vueIndentScriptAndStyle: false, // 不缩进Vue文件中的<script>和<style>标记内的代码
|
||||
endOfLine: 'lf', // 仅限换行(\n)
|
||||
printWidth: 120, // 一行120字符数,如果超过会进行换行
|
||||
tabWidth: 2, // tab等2个空格
|
||||
useTabs: false, // 用空格缩进行
|
||||
semi: true, // 行尾使用分号
|
||||
singleQuote: true, // 字符串使用单引号
|
||||
quoteProps: 'as-needed', // 仅在需要时在对象属性添加引号
|
||||
jsxSingleQuote: false, // 在JSX中使用双引号
|
||||
trailingComma: 'es5', // 使用尾逗号(对象、数组等)
|
||||
bracketSpacing: true, // 对象的括号间增加空格
|
||||
bracketSameLine: false, // 将多行JSX元素的>放在最后一行的末尾
|
||||
arrowParens: 'avoid', // 在唯一的arrow函数参数周围省略括号
|
||||
vueIndentScriptAndStyle: false, // 不缩进Vue文件中的<script>和<style>标记内的代码
|
||||
endOfLine: 'lf', // 仅限换行(\n)
|
||||
};
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<meta charset="UTF-8" />
|
||||
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Horizon Antd</title>
|
||||
<title>Inula Antd</title>
|
||||
<script type="module" src="/src/admin/main.jsx"></script>
|
||||
</head>
|
||||
<body></body>
|
||||
|
|
|
@ -17,19 +17,17 @@
|
|||
"classnames": "^2.2.6",
|
||||
"echarts": "^5.0.0",
|
||||
"history": "^5.3.0",
|
||||
"@cloudsop/horizon": "^0.0.58",
|
||||
"lodash": "^4.17.11",
|
||||
"moment": "2.24.0",
|
||||
"nprogress": "^0.2.0",
|
||||
"path-to-regexp": "^6.1.0",
|
||||
"prop-types": "^15.7.0",
|
||||
"qs": "^6.10.0",
|
||||
"react-dom": "17.0.2",
|
||||
"inulajs": "0.0.11",
|
||||
"react-draft-wysiwyg": "^1.13.0",
|
||||
"react-intl": "^6.3.2",
|
||||
"inula-intl": "^0.0.1",
|
||||
"react-perfect-scrollbar": "^1.5.0",
|
||||
"react-router": "^6.10.0",
|
||||
"react-router-dom": "^6.10.0",
|
||||
"inula-router": "^0.0.1",
|
||||
"recharts": "^2.0.0",
|
||||
"store": "^2.0.0"
|
||||
},
|
||||
|
@ -47,8 +45,6 @@
|
|||
"@babel/preset-typescript": "^7.18.6",
|
||||
"@babel/runtime": "7.18.6",
|
||||
"@babel/types": "7.18.6",
|
||||
"@types/react": "^18.0.27",
|
||||
"@types/react-dom": "^18.0.10",
|
||||
"@vitejs/plugin-react": "^3.1.0",
|
||||
"@vitejs/plugin-react-refresh": "^1.3.5",
|
||||
"babel-loader": "8.2.5",
|
||||
|
@ -63,8 +59,6 @@
|
|||
"less-vars-to-js": "^1.3.0",
|
||||
"mockjs": "^1.1.0",
|
||||
"prettier": "^2.0.0",
|
||||
"react-router": "5.2.0",
|
||||
"react-router-dom": "5.0.1",
|
||||
"style-loader": "^3.2.2",
|
||||
"ts-loader": "^9.3.1",
|
||||
"tsconfig-paths-webpack-plugin": "^4.0.1",
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import PropTypes from 'prop-types';
|
||||
import { BarsOutlined, DownOutlined } from '@ant-design/icons';
|
||||
import { Dropdown, Button, Menu } from 'antd';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import { TooltipProps } from 'antd/lib/tooltip';
|
||||
|
||||
export interface EllipsisTooltipProps extends TooltipProps {
|
||||
|
|
|
@ -1,11 +1,8 @@
|
|||
import Inula, { Component } from '@cloudsop/horizon';
|
||||
import Inula, { Component } from 'inulajs';
|
||||
import { Tooltip } from 'antd';
|
||||
import classNames from 'classnames';
|
||||
import styles from './index.module.less';
|
||||
|
||||
/* eslint react/no-did-mount-set-state: 0 */
|
||||
/* eslint no-param-reassign: 0 */
|
||||
|
||||
const isSupportLineClamp = document.body.style.webkitLineClamp !== undefined;
|
||||
|
||||
const TooltipOverlayStyle = {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import PropTypes from 'prop-types';
|
||||
import styles from './FilterItem.module.less';
|
||||
|
||||
|
|
|
@ -1,14 +1,16 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import type { InulaNode, CSSProperties, Component } from 'inulajs';
|
||||
|
||||
export interface GlobalFooterProps {
|
||||
links?: Array<{
|
||||
key?: string;
|
||||
title: Inula.ReactNode;
|
||||
title: InulaNode;
|
||||
href: string;
|
||||
blankTarget?: boolean;
|
||||
}>;
|
||||
copyright?: Inula.ReactNode;
|
||||
style?: Inula.CSSProperties;
|
||||
copyright?: InulaNode;
|
||||
style?: CSSProperties;
|
||||
className?: string;
|
||||
}
|
||||
|
||||
export default class GlobalFooter extends Inula.Component<GlobalFooterProps, any> {}
|
||||
export default class GlobalFooter extends Component<GlobalFooterProps, any> {}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import classNames from 'classnames';
|
||||
import styles from './index.module.less';
|
||||
|
||||
|
|
|
@ -11,5 +11,5 @@ order: 7
|
|||
|
||||
| 参数 | 说明 | 类型 | 默认值 |
|
||||
| --------- | -------- | ---------------------------------------------------------------- | ------ |
|
||||
| links | 链接数据 | array<{ title: ReactNode, href: string, blankTarget?: boolean }> | - |
|
||||
| copyright | 版权信息 | ReactNode | - |
|
||||
| links | 链接数据 | array<{ title: InulaNode, href: string, blankTarget?: boolean }> | - |
|
||||
| copyright | 版权信息 | InulaNode | - |
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
import Inula, { Fragment } from '@cloudsop/horizon';
|
||||
import Inula, { Fragment } from 'inulajs';
|
||||
import { Breadcrumb } from 'antd';
|
||||
import { Link } from 'react-router-dom';
|
||||
import { Link } from 'inula-router';
|
||||
import { t } from 'utils/intl';
|
||||
import iconMap from 'utils/iconMap';
|
||||
|
||||
import { pathToRegexp } from 'path-to-regexp';
|
||||
import { queryAncestors } from 'utils';
|
||||
import styles from './Bread.module.less';
|
||||
import { withRouter } from 'react-router-dom';
|
||||
import { withRouter } from 'inula-router';
|
||||
|
||||
function Bread({ routeList, history }) {
|
||||
const generateBreadcrumbs = paths => {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import { Menu, Layout } from 'antd';
|
||||
import { MenuFoldOutlined, MenuUnfoldOutlined } from '@ant-design/icons';
|
||||
import { Trans } from 'utils/intl';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import { Switch, Layout } from 'antd';
|
||||
import { t } from 'utils/intl';
|
||||
import { Trans } from 'utils/intl';
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
import Inula, { useState, Fragment } from '@cloudsop/horizon';
|
||||
import PropTypes from 'prop-types';
|
||||
import Inula, { useState, Fragment } from 'inulajs';
|
||||
import { Menu } from 'antd';
|
||||
import { NavLink } from 'react-router-dom';
|
||||
import { NavLink, withRouter } from 'inula-router';
|
||||
import { pathToRegexp } from 'path-to-regexp';
|
||||
import { arrayToTree, queryAncestors } from '../../utils';
|
||||
import iconMap from '../../utils/iconMap';
|
||||
import store from 'store';
|
||||
import { getStore } from '../../models/app-model';
|
||||
import { withRouter } from 'react-router-dom';
|
||||
|
||||
const { SubMenu } = Menu;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import PropTypes from 'prop-types';
|
||||
import classNames from 'classnames';
|
||||
import styles from './Loader.module.less';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula, { Component } from '@cloudsop/horizon';
|
||||
import Inula, { Component } from 'inulajs';
|
||||
import PropTypes from 'prop-types';
|
||||
import classnames from 'classnames';
|
||||
import Loader from '../Loader';
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
import Inula, { Fragment } from '@cloudsop/horizon';
|
||||
import Inula, { Fragment } from 'inulajs';
|
||||
import { queryLayout } from 'utils';
|
||||
import config from 'utils/config';
|
||||
|
||||
import PublicLayout from './PublicLayout';
|
||||
import PrimaryLayout from './PrimaryLayout';
|
||||
import { withRouter } from 'react-router-dom';
|
||||
import { withRouter } from 'inula-router';
|
||||
import './BaseLayout.less';
|
||||
|
||||
const LayoutMap = {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula, { useEffect, Fragment } from '@cloudsop/horizon';
|
||||
import Inula, { useEffect, Fragment } from 'inulajs';
|
||||
import PropTypes from 'prop-types';
|
||||
import { MyLayout, GlobalFooter } from '../components';
|
||||
import { BackTop, Layout, Drawer } from 'antd';
|
||||
|
@ -10,7 +10,7 @@ import Error from '../pages/404';
|
|||
import styles from './PrimaryLayout.module.less';
|
||||
import store from 'store';
|
||||
import { getStore } from '../models/app-model';
|
||||
import { withRouter } from 'react-router-dom';
|
||||
import { withRouter } from 'inula-router';
|
||||
|
||||
const { Content } = Layout;
|
||||
const { Header, Bread, Sider } = MyLayout;
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import Inula, { Suspense } from '@cloudsop/horizon';
|
||||
import Inula, { Suspense } from 'inulajs';
|
||||
import { ConfigProvider } from 'antd';
|
||||
import { IntlProvider } from 'react-intl';
|
||||
import { IntlProvider } from 'inula-intl';
|
||||
import { getLocale } from '../utils';
|
||||
import BaseLayout from './BaseLayout';
|
||||
import { Route, withRouter } from 'react-router-dom';
|
||||
import { Route, withRouter } from 'inula-router';
|
||||
import { getRoutes } from '../pages/routes';
|
||||
import { getLangResource } from '../utils/intl';
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import { BrowserRouter } from 'react-router-dom';
|
||||
import Inula from 'inulajs';
|
||||
import { BrowserRouter } from 'inula-router';
|
||||
import config from './utils/config';
|
||||
import 'antd/dist/antd.css';
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ import api from '../services';
|
|||
// @ts-ignore
|
||||
const { queryRouteList, queryUserInfo } = api;
|
||||
|
||||
import { createStore } from '@cloudsop/horizon';
|
||||
import { createStore } from 'inulajs';
|
||||
|
||||
const goDashboard = history => {
|
||||
if (pathToRegexp(['/', '/login']).exec(window.location.pathname)) {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import { FrownOutlined } from '@ant-design/icons';
|
||||
import { Page } from 'components';
|
||||
import styles from './404.module.less';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import PropTypes from 'prop-types';
|
||||
import { Card } from 'antd';
|
||||
import iconMap from 'utils/iconMap';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import PropTypes from 'prop-types';
|
||||
import styles from './quote.module.less';
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import PropTypes from 'prop-types';
|
||||
import classnames from 'classnames';
|
||||
import Color from '../../../utils/theme';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import PropTypes from 'prop-types';
|
||||
import { Spin } from 'antd';
|
||||
import styles from './weather.module.less';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula, { useEffect } from '@cloudsop/horizon';
|
||||
import Inula, { useEffect } from 'inulajs';
|
||||
import { Row, Col, Card } from 'antd';
|
||||
import Color from '../../utils/theme';
|
||||
import { Page, ScrollBar } from '../../components';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { parse } from 'qs';
|
||||
import api from '../../services';
|
||||
import { createStore } from '@cloudsop/horizon';
|
||||
import { createStore } from 'inulajs';
|
||||
|
||||
const { queryDashboard, queryWeather } = api;
|
||||
const avatar = '//cdn.antd-admin.zuiidea.com/bc442cf0cc6f7940dcc567e465048d1a8d634493198c4-sPx5BR_fw236.jpeg';
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import { Redirect } from 'react-router-dom';
|
||||
import Inula from 'inulajs';
|
||||
import { Redirect } from 'inula-router';
|
||||
|
||||
function Index() {
|
||||
return <Redirect to={`/dashboard`} />;
|
||||
return <Redirect to={'/dashboard'} />;
|
||||
}
|
||||
|
||||
export default Index;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula, { lazy } from '@cloudsop/horizon';
|
||||
import Inula, { lazy } from 'inulajs';
|
||||
|
||||
export function getRoutes() {
|
||||
const routes = [
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula, { useRef } from '@cloudsop/horizon';
|
||||
import Inula, { useRef } from 'inulajs';
|
||||
import moment from 'moment';
|
||||
import { FilterItem } from 'components';
|
||||
import { Button, Row, Col, DatePicker, Form, Input, Cascader } from 'antd';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import { Table, Modal } from 'antd';
|
||||
import { DropOption } from 'components';
|
||||
import { t } from 'utils/intl';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula, { useRef } from '@cloudsop/horizon';
|
||||
import Inula, { useRef } from 'inulajs';
|
||||
import { Form, Input, InputNumber, Radio, Modal, Cascader } from 'antd';
|
||||
import { t, Trans } from 'utils/intl';
|
||||
import city from 'utils/city';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula, { PureComponent } from '@cloudsop/horizon';
|
||||
import Inula, { PureComponent } from 'inulajs';
|
||||
import PropTypes from 'prop-types';
|
||||
import { Page } from 'components';
|
||||
import styles from './index.module.less';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula, { useEffect } from '@cloudsop/horizon';
|
||||
import Inula, { useEffect } from 'inulajs';
|
||||
import { Row, Col, Button, Popconfirm } from 'antd';
|
||||
import { Page } from '../../components';
|
||||
import { stringify } from 'qs';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import api from '../../services';
|
||||
import { createStore } from '@cloudsop/horizon';
|
||||
import { createStore } from 'inulajs';
|
||||
|
||||
const { queryUserList, createUser, removeUser, updateUser, removeUserList } = api;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import {
|
||||
PayCircleOutlined,
|
||||
ShoppingCartOutlined,
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
* 国际化,支持按需加载
|
||||
*/
|
||||
|
||||
import Inula from '@cloudsop/horizon';
|
||||
import { createIntl, createIntlCache, FormattedMessage } from 'react-intl';
|
||||
import Inula from 'inulajs';
|
||||
import { createIntl, createIntlCache, FormattedMessage } from 'inula-intl';
|
||||
import zhCN from 'antd/lib/locale-provider/zh_CN';
|
||||
import enUS from 'antd/lib/locale-provider/en_US';
|
||||
import ptBR from 'antd/lib/locale-provider/pt_BR';
|
||||
|
|
|
@ -11,9 +11,9 @@ let alias = {
|
|||
config: path.resolve('src/admin/utils/config'),
|
||||
themes: path.resolve('src/admin/themes'),
|
||||
utils: path.resolve('src/admin/utils'),
|
||||
react: '@cloudsop/horizon', // 新增
|
||||
'react-dom': '@cloudsop/horizon', // 新增
|
||||
'react/jsx-dev-runtime': '@cloudsop/horizon/jsx-dev-runtime',
|
||||
react: 'inulajs', // 新增
|
||||
'react-dom': 'inulajs', // 新增
|
||||
'react/jsx-dev-runtime': 'inulajs/jsx-dev-runtime',
|
||||
};
|
||||
|
||||
// https://vitejs.dev/config/
|
||||
|
@ -23,11 +23,11 @@ export default defineConfig({
|
|||
babel: {
|
||||
plugins: [
|
||||
[
|
||||
"@babel/plugin-transform-react-jsx",
|
||||
{
|
||||
"runtime": "automatic", // 新增
|
||||
"importSource": "@cloudsop/horizon" // 新增
|
||||
}
|
||||
'@babel/plugin-transform-react-jsx',
|
||||
{
|
||||
runtime: 'automatic', // 新增
|
||||
importSource: 'inulajs', // 新增
|
||||
},
|
||||
],
|
||||
'@babel/plugin-proposal-class-properties',
|
||||
'@babel/plugin-syntax-dynamic-import',
|
||||
|
|
|
@ -1,45 +0,0 @@
|
|||
[inula-antd](https://codehub-y.huawei.com/c00486778/horizon-antd/files?ref=master)项目是借鉴[AntD Admin](https://github.com/zuiidea/antd-admin)的一个中控台项目。主要特点是使用了[horizon](https://open.codehub.huawei.com/innersource/shanhai/wutong/horizon/horizon-core/wiki/view/doc/695491)框架,并且使用HorizonX实现状态管理。
|
||||
|
||||
界面如:
|
||||
|
||||

|
||||
|
||||
## 代码特点:
|
||||
|
||||
1、使用了`horizon`开发框架,兼容React的所有接口。
|
||||
|
||||
2、使用`函数式组件`进行开发。
|
||||
|
||||
3、使用TS语言(待完成)。
|
||||
|
||||
4、使用了`horizonX的状态管理`能力,每个page都会有一个store,这样可以保证每个store体积较小,使用方便,性能也更好一些。
|
||||
|
||||
5、使用了`React-router-dom`作为路由,利用Lazy动态加载组件。
|
||||
|
||||
6、使用`less`书写css。
|
||||
|
||||
7、封装了request请求。
|
||||
|
||||
8、使用`react-intl`实现国际化。
|
||||
|
||||
9、支持换肤能力。
|
||||
|
||||
10、使用了antd 作为组件、使用了Echart、HighCharts、ReChart绘制多种图形。
|
||||
|
||||
11、提供简单易用的`数据mock`能力,并使用mockjs进行数据mock。
|
||||
|
||||
## 工程特点:
|
||||
|
||||
1、支持热部署。
|
||||
|
||||
2、支持source-map调试。
|
||||
|
||||
3、提供babel.config.js、.editorconfig、.prettierrc.js、.eslintrc.js 等常用配置。
|
||||
|
||||
## 使用方式:
|
||||
|
||||
1、克隆ssh://git@codehub-dg-y.huawei.com:2222/c00486778/horizon-antd.git
|
||||
|
||||
2、执行 `npm i -f` , 如果@cloudsop/horizon无法下载,请在`.npmrc`配置 @cloudsop:registry=https://cmc.centralrepo.rnd.huawei.com/artifactory/api/npm/product_npm
|
||||
|
||||
3、执行 `npm run dev:admin`
|
|
@ -12,7 +12,7 @@ module.exports = {
|
|||
'@babel/preset-react',
|
||||
{
|
||||
runtime: 'automatic', // 新增
|
||||
importSource: '@cloudsop/horizon', // 新增
|
||||
importSource: 'inulajs', // 新增
|
||||
},
|
||||
],
|
||||
],
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"name": "horizon-antd-fun",
|
||||
"name": "inulajs-antd-fun",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
|
@ -17,8 +17,6 @@
|
|||
"@babel/preset-typescript": "^7.18.6",
|
||||
"@babel/runtime": "7.18.6",
|
||||
"@babel/types": "7.18.6",
|
||||
"@types/react": "16.8.6",
|
||||
"@types/react-dom": "16.9.6",
|
||||
"babel-loader": "^9.0.0",
|
||||
"clean-webpack-plugin": "4.0.0",
|
||||
"css-loader": "^4.3.0",
|
||||
|
@ -42,7 +40,7 @@
|
|||
"dependencies": {
|
||||
"@ant-design/icons": "^5.1.4",
|
||||
"@babel/plugin-proposal-export-default-from": "^7.18.6",
|
||||
"@cloudsop/horizon": "^0.0.58",
|
||||
"inulajs": "^0.0.8",
|
||||
"antd": "^4.0.0",
|
||||
"axios": "^1.4.0",
|
||||
"classnames": "^2.2.6",
|
||||
|
@ -54,10 +52,9 @@
|
|||
"path-to-regexp": "^6.1.0",
|
||||
"prop-types": "^15.7.0",
|
||||
"qs": "^6.10.0",
|
||||
"react-intl": "^6.4.4",
|
||||
"inula-intl": "^0.0.1",
|
||||
"inula-router": "^0.0.1",
|
||||
"react-perfect-scrollbar": "^1.5.0",
|
||||
"react-router": "^6.12.1",
|
||||
"react-router-dom": "^5.0.0",
|
||||
"recharts": "^2.0.0",
|
||||
"redux": "^4.2.1",
|
||||
"redux-thunk": "^2.4.2",
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import { TooltipProps } from 'antd/lib/tooltip';
|
||||
|
||||
export interface EllipsisTooltipProps extends TooltipProps {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula, { Component } from '@cloudsop/horizon';
|
||||
import Inula, { Component } from 'inulajs';
|
||||
import { Tooltip } from 'antd';
|
||||
import classNames from 'classnames';
|
||||
import styles from './index.less';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import PropTypes from 'prop-types';
|
||||
import styles from './FilterItem.less';
|
||||
|
||||
|
|
|
@ -1,14 +1,15 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import type { InulaNode, CSSProperties, Component } from 'inulajs';
|
||||
export interface GlobalFooterProps {
|
||||
links?: Array<{
|
||||
key?: string;
|
||||
title: Inula.ReactNode;
|
||||
title: InulaNode;
|
||||
href: string;
|
||||
blankTarget?: boolean;
|
||||
}>;
|
||||
copyright?: Inula.InulaNode;
|
||||
style?: Inula.CSSProperties;
|
||||
copyright?: InulaNode;
|
||||
style?: CSSProperties;
|
||||
className?: string;
|
||||
}
|
||||
|
||||
export default class GlobalFooter extends Inula.Component<GlobalFooterProps, any> {}
|
||||
export default class GlobalFooter extends Component<GlobalFooterProps, any> {}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import classNames from 'classnames';
|
||||
import styles from './index.less';
|
||||
|
||||
|
|
|
@ -11,5 +11,5 @@ order: 7
|
|||
|
||||
| 参数 | 说明 | 类型 | 默认值 |
|
||||
| --------- | -------- | ---------------------------------------------------------------- | ------ |
|
||||
| links | 链接数据 | array<{ title: ReactNode, href: string, blankTarget?: boolean }> | - |
|
||||
| copyright | 版权信息 | ReactNode | - |
|
||||
| links | 链接数据 | array<{ title: InulaNode, href: string, blankTarget?: boolean }> | - |
|
||||
| copyright | 版权信息 | InulaNode | - |
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
import Inula, { Fragment } from '@cloudsop/horizon';
|
||||
import Inula, { Fragment } from 'inulajs';
|
||||
import { Breadcrumb } from 'antd';
|
||||
import { Link } from 'react-router-dom';
|
||||
import { Link } from 'inula-router';
|
||||
import { t } from 'utils/intl';
|
||||
import iconMap from 'utils/iconMap';
|
||||
|
||||
const { pathToRegexp } = require('path-to-regexp');
|
||||
import { queryAncestors } from 'utils';
|
||||
import styles from './Bread.less';
|
||||
import { withRouter } from 'react-router-dom';
|
||||
import { withRouter } from 'inula-router';
|
||||
|
||||
function Bread({ routeList, history }) {
|
||||
const generateBreadcrumbs = paths => {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import { Menu, Layout } from 'antd';
|
||||
import { MenuFoldOutlined, MenuUnfoldOutlined } from '@ant-design/icons';
|
||||
import { Trans } from 'utils/intl';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import { Switch, Layout } from 'antd';
|
||||
import { t } from 'utils/intl';
|
||||
import { Trans } from 'utils/intl';
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
import Inula, { useState, Fragment } from '@cloudsop/horizon';
|
||||
import Inula, { useState, Fragment } from 'inulajs';
|
||||
import PropTypes from 'prop-types';
|
||||
import { Menu } from 'antd';
|
||||
import { NavLink } from 'react-router-dom';
|
||||
import { NavLink } from 'inula-router';
|
||||
import { pathToRegexp } from 'path-to-regexp';
|
||||
import { arrayToTree, queryAncestors } from '../../utils';
|
||||
import iconMap from '../../utils/iconMap';
|
||||
import store from 'store';
|
||||
import { getStore } from '../../models/app-model';
|
||||
import { withRouter } from 'react-router-dom';
|
||||
import { withRouter } from 'inula-router';
|
||||
|
||||
const { SubMenu } = Menu;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import PropTypes from 'prop-types';
|
||||
import classNames from 'classnames';
|
||||
import styles from './Loader.less';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula, { Component } from '@cloudsop/horizon';
|
||||
import Inula, { Component } from 'inulajs';
|
||||
import PropTypes from 'prop-types';
|
||||
import classnames from 'classnames';
|
||||
import Loader from '../Loader';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import { BrowserRouter } from 'react-router-dom';
|
||||
import Inula from 'inulajs';
|
||||
import { BrowserRouter } from 'inula-router';
|
||||
import config from './utils/config';
|
||||
|
||||
import 'antd/dist/antd.css';
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
import Inula, { Fragment } from '@cloudsop/horizon';
|
||||
import Inula, { Fragment } from 'inulajs';
|
||||
import { queryLayout } from 'utils';
|
||||
import config from 'utils/config';
|
||||
|
||||
import PublicLayout from './PublicLayout';
|
||||
import PrimaryLayout from './PrimaryLayout';
|
||||
import { withRouter } from 'react-router-dom';
|
||||
import { withRouter } from 'inula-router';
|
||||
import './BaseLayout.less';
|
||||
|
||||
const LayoutMap = {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula, { useEffect, Fragment } from '@cloudsop/horizon';
|
||||
import Inula, { useEffect, Fragment } from 'inulajs';
|
||||
import { MyLayout, GlobalFooter } from '../components';
|
||||
import { BackTop, Layout } from 'antd';
|
||||
import { pathToRegexp } from 'path-to-regexp';
|
||||
|
@ -8,7 +8,7 @@ import Error from '../pages/404';
|
|||
import styles from './PrimaryLayout.less';
|
||||
import store from 'store';
|
||||
import { getStore } from '../models/app-model';
|
||||
import { withRouter } from 'react-router-dom';
|
||||
import { withRouter } from 'inula-router';
|
||||
|
||||
const { Content } = Layout;
|
||||
const { Header, Bread, Sider } = MyLayout;
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import Inula, { Suspense } from '@cloudsop/horizon';
|
||||
import Inula, { Suspense } from 'inulajs';
|
||||
import { ConfigProvider } from 'antd';
|
||||
import { IntlProvider } from 'react-intl';
|
||||
import { IntlProvider } from 'inula-intl';
|
||||
import { getLocale } from '../utils';
|
||||
import BaseLayout from './BaseLayout';
|
||||
import { Route, withRouter } from 'react-router-dom';
|
||||
import { Route, withRouter } from 'inula-router';
|
||||
import { getRoutes } from '../pages/routes';
|
||||
import { getLangResource } from '../utils/intl';
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ import api from '../services';
|
|||
// @ts-ignore
|
||||
const { queryRouteList, logoutUser, queryUserInfo } = api;
|
||||
|
||||
import { createStore } from '@cloudsop/horizon';
|
||||
import { createStore } from 'inulajs';
|
||||
|
||||
const goDashboard = history => {
|
||||
if (pathToRegexp(['/', '/login']).exec(window.location.pathname)) {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import { FrownOutlined } from '@ant-design/icons';
|
||||
import { Page } from 'components';
|
||||
import styles from './404.less';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import PropTypes from 'prop-types';
|
||||
import { Card } from 'antd';
|
||||
import iconMap from 'utils/iconMap';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import PropTypes from 'prop-types';
|
||||
import styles from './quote.less';
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import PropTypes from 'prop-types';
|
||||
import classnames from 'classnames';
|
||||
import { Color } from 'utils';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import PropTypes from 'prop-types';
|
||||
import { Spin } from 'antd';
|
||||
import styles from './weather.less';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula, { useEffect } from '@cloudsop/horizon';
|
||||
import Inula, { useEffect } from 'inulajs';
|
||||
import { Row, Col, Card } from 'antd';
|
||||
import { Color } from '../../utils';
|
||||
import { Page, ScrollBar } from '../../components';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { parse } from 'qs';
|
||||
import api from '../../services';
|
||||
import { createStore } from '@cloudsop/horizon';
|
||||
import { createStore } from 'inulajs';
|
||||
|
||||
const { queryDashboard, queryWeather } = api;
|
||||
const avatar = '//cdn.antd-admin.zuiidea.com/bc442cf0cc6f7940dcc567e465048d1a8d634493198c4-sPx5BR_fw236.jpeg';
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import { Redirect } from 'react-router-dom';
|
||||
import Inula from 'inulajs';
|
||||
import { Redirect } from 'inula-router';
|
||||
|
||||
function Index() {
|
||||
return <Redirect to={`/dashboard`} />;
|
||||
return <Redirect to={'/dashboard'} />;
|
||||
}
|
||||
|
||||
export default Index;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula, { lazy } from '@cloudsop/horizon';
|
||||
import Inula, { lazy } from 'inulajs';
|
||||
|
||||
export function getRoutes() {
|
||||
const routes = [
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula, { useRef } from '@cloudsop/horizon';
|
||||
import Inula, { useRef } from 'inulajs';
|
||||
import moment from 'moment';
|
||||
import { FilterItem } from 'components';
|
||||
import { Button, Row, Col, DatePicker, Form, Input, Cascader } from 'antd';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import { Table, Modal } from 'antd';
|
||||
import { DropOption } from 'components';
|
||||
import { t } from 'utils/intl';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula, { useRef } from '@cloudsop/horizon';
|
||||
import Inula, { useRef } from 'inulajs';
|
||||
import { Form, Input, InputNumber, Radio, Modal, Cascader } from 'antd';
|
||||
import { t, Trans } from 'utils/intl';
|
||||
import city from 'utils/city';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula, { PureComponent } from '@cloudsop/horizon';
|
||||
import Inula, { PureComponent } from 'inulajs';
|
||||
import PropTypes from 'prop-types';
|
||||
import { Page } from 'components';
|
||||
import styles from './index.less';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula, { useEffect } from '@cloudsop/horizon';
|
||||
import Inula, { useEffect } from 'inulajs';
|
||||
import { Row, Col, Button, Popconfirm } from 'antd';
|
||||
import { Page } from '../../components';
|
||||
import { stringify } from 'qs';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import api from '../../services';
|
||||
import { createStore } from '@cloudsop/horizon';
|
||||
import { createStore } from 'inulajs';
|
||||
|
||||
const { queryUserList, createUser, removeUser, updateUser, removeUserList } = api;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import {
|
||||
PayCircleOutlined,
|
||||
ShoppingCartOutlined,
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
* 国际化,支持按需加载
|
||||
*/
|
||||
|
||||
import Inula from '@cloudsop/horizon';
|
||||
import { createIntl, createIntlCache, FormattedMessage } from 'react-intl';
|
||||
import Inula from 'inulajs';
|
||||
import { createIntl, createIntlCache, FormattedMessage } from 'inula-intl';
|
||||
import zhCN from 'antd/lib/locale-provider/zh_CN';
|
||||
import enUS from 'antd/lib/locale-provider/en_US';
|
||||
import ptBR from 'antd/lib/locale-provider/pt_BR';
|
||||
|
|
|
@ -14,8 +14,8 @@ module.exports = {
|
|||
themes: path.resolve('src/themes'),
|
||||
utils: path.resolve('src/utils'),
|
||||
|
||||
react: '@cloudsop/horizon', // 新增
|
||||
'react-dom': '@cloudsop/horizon', // 新增
|
||||
react: 'inulajs', // 新增
|
||||
'react-dom': 'inulajs', // 新增
|
||||
},
|
||||
},
|
||||
rules: [
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"name": "horizon-vite-app",
|
||||
"name": "inula-vite-app",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
|
@ -11,7 +11,7 @@
|
|||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@cloudsop/horizon": "^0.0.58"
|
||||
"inulajs": "^0.0.11"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.21.4",
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import './index.css';
|
||||
|
||||
function App() {
|
||||
|
@ -19,7 +19,7 @@ function App() {
|
|||
<h2>了解更多</h2>
|
||||
<p>
|
||||
要了解 Inula,查看{' '}
|
||||
<a href="https://inulajs.org" target="_blank">Inula 官网</a>
|
||||
<a href="https://openinula.com/" target="_blank">Inula 官网</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import react from '@vitejs/plugin-react';
|
||||
|
||||
let alias = {
|
||||
react: '@cloudsop/horizon', // 新增
|
||||
'react-dom': '@cloudsop/horizon', // 新增
|
||||
'react/jsx-dev-runtime': '@cloudsop/horizon/jsx-dev-runtime',
|
||||
react: 'inulajs', // 新增
|
||||
'react-dom': 'inulajs', // 新增
|
||||
'react/jsx-dev-runtime': 'inulajs/jsx-dev-runtime',
|
||||
};
|
||||
|
||||
export default {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"name": "horizon-webpack-app",
|
||||
"name": "inula-webpack-app",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
|
@ -10,7 +10,7 @@
|
|||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@cloudsop/horizon": "^0.0.58"
|
||||
"inulajs": "^0.0.11"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.21.4",
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import './styles.css';
|
||||
|
||||
class App extends Inula.Component {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Inula from '@cloudsop/horizon';
|
||||
import Inula from 'inulajs';
|
||||
import App from './App';
|
||||
|
||||
Inula.render(<App />, document.getElementById('root'));
|
||||
|
|
|
@ -21,7 +21,7 @@ module.exports = {
|
|||
'@babel/preset-react',
|
||||
{
|
||||
runtime: 'automatic', // 新增
|
||||
importSource: '@cloudsop/horizon', // 新增
|
||||
importSource: 'inulajs', // 新增
|
||||
},
|
||||
],
|
||||
],
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"name": "@cloudsop/create-horizon",
|
||||
"name": "create-inula",
|
||||
"version": "1.0.22",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
|
|
Loading…
Reference in New Issue