diff --git a/README.md b/README.md index 0f306a3..ebf4d9b 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ Kinit 是一套全部开源的快速开发平台,毫无保留给个人及企 ## 在线体验 -👩‍👧‍👦演示地址:正在部署中。。。。。 +👩‍👧‍👦演示地址:http://kinit.ktianc.top/ - 账号:admin - 密码:123456 diff --git a/kinit-admin/.env.base b/kinit-admin/.env.base index a0f0f80..71f37f1 100644 --- a/kinit-admin/.env.base +++ b/kinit-admin/.env.base @@ -8,4 +8,4 @@ VITE_API_BASEPATH=base VITE_BASE_PATH=/ # 标题 -VITE_APP_TITLE=KInit +VITE_APP_TITLE=Kinit diff --git a/kinit-admin/.env.dev b/kinit-admin/.env.dev index 5dd7ac3..e6876bf 100644 --- a/kinit-admin/.env.dev +++ b/kinit-admin/.env.dev @@ -20,4 +20,4 @@ VITE_SOURCEMAP=true VITE_OUT_DIR=dist-dev # 标题 -VITE_APP_TITLE=KInit +VITE_APP_TITLE=Kinit diff --git a/kinit-admin/.env.gitee b/kinit-admin/.env.gitee index 90e1b80..0b509d8 100644 --- a/kinit-admin/.env.gitee +++ b/kinit-admin/.env.gitee @@ -20,4 +20,4 @@ VITE_SOURCEMAP=false VITE_OUT_DIR=dist-pro # 标题 -VITE_APP_TITLE=KInit +VITE_APP_TITLE=Kinit diff --git a/kinit-admin/.env.pro b/kinit-admin/.env.pro index 99a9480..8b687fe 100644 --- a/kinit-admin/.env.pro +++ b/kinit-admin/.env.pro @@ -20,4 +20,4 @@ VITE_SOURCEMAP=false VITE_OUT_DIR=dist-pro # 标题 -VITE_APP_TITLE=ElementAdmin +VITE_APP_TITLE=Kinit diff --git a/kinit-admin/.env.test b/kinit-admin/.env.test index 3f6ebe1..47fc83d 100644 --- a/kinit-admin/.env.test +++ b/kinit-admin/.env.test @@ -20,4 +20,4 @@ VITE_SOURCEMAP=true VITE_OUT_DIR=dist-test # 标题 -VITE_APP_TITLE=ElementAdmin +VITE_APP_TITLE=Kinit diff --git a/kinit-admin/.gitignore b/kinit-admin/.gitignore index 0b05e6a..76f7e73 100644 --- a/kinit-admin/.gitignore +++ b/kinit-admin/.gitignore @@ -3,6 +3,5 @@ node_modules dist dist-ssr *.local -/dist* *-lock.* pnpm-debug diff --git a/kinit-admin/README.md b/kinit-admin/README.md index f3f8f10..aa8d6d9 100644 --- a/kinit-admin/README.md +++ b/kinit-admin/README.md @@ -1,5 +1,4 @@


- [![license](https://img.shields.io/github/license/kailong321200875/vue-element-plus-admin.svg)](LICENSE)

vue-element-plus-admin

@@ -68,7 +67,6 @@ git clone https://github.com/kailong321200875/vue-element-plus-admin.git cd vue-element-plus-admin pnpm install - ``` - 运行 diff --git a/kinit-admin/mock/dict/index.ts b/kinit-admin/mock/dict/index.ts deleted file mode 100644 index 56f732c..0000000 --- a/kinit-admin/mock/dict/index.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { config } from '@/config/axios/config' -import { MockMethod } from 'vite-plugin-mock' - -const { result_code } = config - -const timeout = 1000 - -const dictObj: Recordable = { - importance: [ - { - value: 0, - label: 'tableDemo.commonly' - }, - { - value: 1, - label: 'tableDemo.good' - }, - { - value: 2, - label: 'tableDemo.important' - } - ] -} - -export default [ - // 字典接口 - { - url: '/api/dict/list', - method: 'get', - timeout, - response: () => { - return { - code: result_code, - data: dictObj - } - } - }, - // 获取某个字典 - { - url: '/api/dict/one', - method: 'get', - timeout, - response: () => { - return { - code: result_code, - data: [ - { - label: 'test1', - value: 0 - }, - { - label: 'test2', - value: 1 - }, - { - label: 'test3', - value: 2 - } - ] - } - } - } -] as MockMethod[] diff --git a/kinit-admin/mock/role/index.ts b/kinit-admin/mock/role/index.ts deleted file mode 100644 index 4688da9..0000000 --- a/kinit-admin/mock/role/index.ts +++ /dev/null @@ -1,534 +0,0 @@ -import { config } from '@/config/axios/config' -import { MockMethod } from 'vite-plugin-mock' - -const { result_code } = config - -const timeout = 1000 - -const adminList = [ - { - path: '/dashboard', - component: '#', - redirect: '/dashboard/analysis', - name: 'Dashboard', - meta: { - title: 'router.dashboard', - icon: 'ant-design:dashboard-filled', - alwaysShow: true - }, - children: [ - { - path: 'analysis', - component: 'views/Dashboard/Analysis', - name: 'Analysis', - meta: { - title: 'router.analysis', - noCache: true - } - }, - { - path: 'workplace', - component: 'views/Dashboard/Workplace', - name: 'Workplace', - meta: { - title: 'router.workplace', - noCache: true - } - } - ] - }, - { - path: '/external-link', - component: '#', - meta: {}, - name: 'ExternalLink', - children: [ - { - path: 'https://element-plus-admin-doc.cn/', - name: 'DocumentLink', - meta: { - title: 'router.document', - icon: 'clarity:document-solid' - } - } - ] - }, - { - path: '/guide', - component: '#', - name: 'Guide', - meta: {}, - children: [ - { - path: 'index', - component: 'views/Guide/Guide', - name: 'GuideDemo', - meta: { - title: 'router.guide', - icon: 'cib:telegram-plane' - } - } - ] - }, - { - path: '/components', - component: '#', - redirect: '/components/form/default-form', - name: 'ComponentsDemo', - meta: { - title: 'router.component', - icon: 'bx:bxs-component', - alwaysShow: true - }, - children: [ - { - path: 'form', - component: '##', - name: 'Form', - meta: { - title: 'router.form', - alwaysShow: true - }, - children: [ - { - path: 'default-form', - component: 'views/Components/Form/DefaultForm', - name: 'DefaultForm', - meta: { - title: 'router.defaultForm' - } - }, - { - path: 'use-form', - component: 'views/Components/Form/UseFormDemo', - name: 'UseForm', - meta: { - title: 'UseForm' - } - }, - { - path: 'ref-form', - component: 'views/Components/Form/RefForm', - name: 'RefForm', - meta: { - title: 'RefForm' - } - } - ] - }, - { - path: 'table', - component: '##', - redirect: '/components/table/default-table', - name: 'TableDemo', - meta: { - title: 'router.table', - alwaysShow: true - }, - children: [ - { - path: 'default-table', - component: 'views/Components/Table/DefaultTable', - name: 'DefaultTable', - meta: { - title: 'router.defaultTable' - } - }, - { - path: 'use-table', - component: 'views/Components/Table/UseTableDemo', - name: 'UseTable', - meta: { - title: 'UseTable' - } - }, - { - path: 'ref-table', - component: 'views/Components/Table/RefTable', - name: 'RefTable', - meta: { - title: 'RefTable' - } - } - ] - }, - { - path: 'editor-demo', - component: '##', - redirect: '/components/editor-demo/editor', - name: 'EditorDemo', - meta: { - title: 'router.editor', - alwaysShow: true - }, - children: [ - { - path: 'editor', - component: 'views/Components/Editor/Editor', - name: 'Editor', - meta: { - title: 'router.richText' - } - } - ] - }, - { - path: 'search', - component: 'views/Components/Search', - name: 'Search', - meta: { - title: 'router.search' - } - }, - { - path: 'descriptions', - component: 'views/Components/Descriptions', - name: 'Descriptions', - meta: { - title: 'router.descriptions' - } - }, - { - path: 'image-viewer', - component: 'views/Components/ImageViewer', - name: 'ImageViewer', - meta: { - title: 'router.imageViewer' - } - }, - { - path: 'dialog', - component: 'views/Components/Dialog', - name: 'Dialog', - meta: { - title: 'router.dialog' - } - }, - { - path: 'icon', - component: 'views/Components/Icon', - name: 'Icon', - meta: { - title: 'router.icon' - } - }, - { - path: 'echart', - component: 'views/Components/Echart', - name: 'Echart', - meta: { - title: 'router.echart' - } - }, - { - path: 'count-to', - component: 'views/Components/CountTo', - name: 'CountTo', - meta: { - title: 'router.countTo' - } - }, - { - path: 'qrcode', - component: 'views/Components/Qrcode', - name: 'Qrcode', - meta: { - title: 'router.qrcode' - } - }, - { - path: 'highlight', - component: 'views/Components/Highlight', - name: 'Highlight', - meta: { - title: 'router.highlight' - } - }, - { - path: 'infotip', - component: 'views/Components/Infotip', - name: 'Infotip', - meta: { - title: 'router.infotip' - } - }, - { - path: 'input-password', - component: 'views/Components/InputPassword', - name: 'InputPassword', - meta: { - title: 'router.inputPassword' - } - }, - { - path: 'sticky', - component: 'views/Components/Sticky', - name: 'Sticky', - meta: { - title: 'router.sticky' - } - } - ] - }, - { - path: '/hooks', - component: '#', - redirect: '/hooks/useWatermark', - name: 'Hooks', - meta: { - title: 'hooks', - icon: 'ic:outline-webhook', - alwaysShow: true - }, - children: [ - { - path: 'useWatermark', - component: 'views/hooks/useWatermark', - name: 'UseWatermark', - meta: { - title: 'useWatermark' - } - }, - { - path: 'useCrudSchemas', - component: 'views/hooks/useCrudSchemas', - name: 'UseCrudSchemas', - meta: { - title: 'useCrudSchemas' - } - } - ] - }, - { - path: '/level', - component: '#', - redirect: '/level/menu1/menu1-1/menu1-1-1', - name: 'Level', - meta: { - title: 'router.level', - icon: 'carbon:skill-level-advanced' - }, - children: [ - { - path: 'menu1', - name: 'Menu1', - component: '##', - redirect: '/level/menu1/menu1-1/menu1-1-1', - meta: { - title: 'router.menu1' - }, - children: [ - { - path: 'menu1-1', - name: 'Menu11', - component: '##', - redirect: '/level/menu1/menu1-1/menu1-1-1', - meta: { - title: 'router.menu11', - alwaysShow: true - }, - children: [ - { - path: 'menu1-1-1', - name: 'Menu111', - component: 'views/Level/Menu111', - meta: { - title: 'router.menu111' - } - } - ] - }, - { - path: 'menu1-2', - name: 'Menu12', - component: 'views/Level/Menu12', - meta: { - title: 'router.menu12' - } - } - ] - }, - { - path: 'menu2', - name: 'Menu2Demo', - component: 'views/Level/Menu2', - meta: { - title: 'router.menu2' - } - } - ] - }, - { - path: '/example', - component: '#', - redirect: '/example/example-dialog', - name: 'Example', - meta: { - title: 'router.example', - icon: 'ep:management', - alwaysShow: true - }, - children: [ - { - path: 'example-dialog', - component: 'views/Example/Dialog/ExampleDialog', - name: 'ExampleDialog', - meta: { - title: 'router.exampleDialog' - } - }, - { - path: 'example-page', - component: 'views/Example/Page/ExamplePage', - name: 'ExamplePage', - meta: { - title: 'router.examplePage' - } - }, - { - path: 'example-add', - component: 'views/Example/Page/ExampleAdd', - name: 'ExampleAdd', - meta: { - title: 'router.exampleAdd', - noTagsView: true, - noCache: true, - hidden: true, - showMainRoute: true, - activeMenu: '/example/example-page' - } - }, - { - path: 'example-edit', - component: 'views/Example/Page/ExampleEdit', - name: 'ExampleEdit', - meta: { - title: 'router.exampleEdit', - noTagsView: true, - noCache: true, - hidden: true, - showMainRoute: true, - activeMenu: '/example/example-page' - } - }, - { - path: 'example-detail', - component: 'views/Example/Page/ExampleDetail', - name: 'ExampleDetail', - meta: { - title: 'router.exampleDetail', - noTagsView: true, - noCache: true, - hidden: true, - showMainRoute: true, - activeMenu: '/example/example-page' - } - } - ] - }, - { - path: '/error', - component: '#', - redirect: '/error/404', - name: 'Error', - meta: { - title: 'router.errorPage', - icon: 'ci:error', - alwaysShow: true - }, - children: [ - { - path: '404-demo', - component: 'views/Error/404', - name: '404Demo', - meta: { - title: '404' - } - }, - { - path: '403-demo', - component: 'views/Error/403', - name: '403Demo', - meta: { - title: '403' - } - }, - { - path: '500-demo', - component: 'views/Error/500', - name: '500Demo', - meta: { - title: '500' - } - } - ] - } -] - -const testList: string[] = [ - '/dashboard', - '/dashboard/analysis', - '/dashboard/workplace', - 'external-link', - 'https://element-plus-admin-doc.cn/', - '/guide', - '/guide/index', - '/components', - '/components/form', - '/components/form/default-form', - '/components/form/use-form', - '/components/form/ref-form', - '/components/table', - '/components/table/default-table', - '/components/table/use-table', - '/components/table/ref-table', - '/components/editor-demo', - '/components/editor-demo/editor', - '/components/search', - '/components/descriptions', - '/components/image-viewer', - '/components/dialog', - '/components/icon', - '/components/echart', - '/components/count-to', - '/components/qrcode', - '/components/highlight', - '/components/infotip', - '/Components/InputPassword', - '/Components/Sticky', - '/hooks', - '/hooks/useWatermark', - '/hooks/useCrudSchemas', - '/level', - '/level/menu1', - '/level/menu1/menu1-1', - '/level/menu1/menu1-1/menu1-1-1', - '/level/menu1/menu1-2', - '/level/menu2', - '/example', - '/example/example-dialog', - '/example/example-page', - '/example/example-add', - '/example/example-edit', - '/example/example-detail', - '/error', - '/error/404-demo', - '/error/403-demo', - '/error/500-demo' -] - -export default [ - // 列表接口 - // { - // url: '/role/list', - // method: 'get', - // timeout, - // response: ({ query }) => { - // const { roleName } = query - // return { - // code: result_code, - // data: roleName === 'admin' ? adminList : testList - // } - // } - // } -] as MockMethod[] diff --git a/kinit-admin/mock/table/index.ts b/kinit-admin/mock/table/index.ts deleted file mode 100644 index 85855a0..0000000 --- a/kinit-admin/mock/table/index.ts +++ /dev/null @@ -1,137 +0,0 @@ -import { config } from '@/config/axios/config' -import { MockMethod } from 'vite-plugin-mock' -import { toAnyString } from '@/utils' -import Mock from 'mockjs' - -const { result_code } = config - -const timeout = 1000 - -const count = 100 - -const baseContent = - '

I am testing data, I am testing data.

' - -let List: { - id: string - author: string - title: string - content: string - importance: number - display_time: string - pageviews: number -}[] = [] - -for (let i = 0; i < count; i++) { - List.push( - Mock.mock({ - id: toAnyString(), - // timestamp: +Mock.Random.date('T'), - author: '@first', - title: '@title(5, 10)', - content: baseContent, - importance: '@integer(1, 3)', - display_time: '@datetime', - pageviews: '@integer(300, 5000)' - // image_uri - }) - ) -} - -export default [ - // 列表接口 - { - url: '/api/example/list', - method: 'get', - timeout, - response: ({ query }) => { - const { title, pageIndex, pageSize } = query - const mockList = List.filter((item) => { - if (title && item.title.indexOf(title) < 0) return false - return true - }) - const pageList = mockList.filter( - (_, index) => index < pageSize * pageIndex && index >= pageSize * (pageIndex - 1) - ) - return { - code: result_code, - data: { - total: mockList.length, - list: pageList - } - } - } - }, - // 保存接口 - { - url: '/example/save', - method: 'post', - timeout, - response: ({ body }) => { - if (!body.id) { - List = [ - Object.assign(body, { - id: toAnyString() - }) - ].concat(List) - return { - code: result_code, - data: 'success' - } - } else { - List.map((item) => { - if (item.id === body.id) { - for (const key in item) { - item[key] = body[key] - } - } - }) - return { - code: result_code, - data: 'success' - } - } - } - }, - // 详情接口 - { - url: '/example/detail', - method: 'get', - response: ({ query }) => { - const { id } = query - for (const example of List) { - if (example.id === id) { - return { - code: result_code, - data: example - } - } - } - } - }, - // 删除接口 - { - url: '/example/delete', - method: 'post', - response: ({ body }) => { - const ids = body.ids - if (!ids) { - return { - code: '500', - message: '请选择需要删除的数据' - } - } else { - let i = List.length - while (i--) { - if (ids.indexOf(List[i].id) !== -1) { - List.splice(i, 1) - } - } - return { - code: result_code, - data: 'success' - } - } - } - } -] as MockMethod[] diff --git a/kinit-admin/mock/user/index.ts b/kinit-admin/mock/user/index.ts deleted file mode 100644 index a6e64f4..0000000 --- a/kinit-admin/mock/user/index.ts +++ /dev/null @@ -1,93 +0,0 @@ -import { config } from '@/config/axios/config' -import { MockMethod } from 'vite-plugin-mock' - -const { result_code } = config - -const timeout = 1000 - -const List: { - username: string - password: string - role: string - roleId: string - permissions: string | string[] -}[] = [ - { - username: 'admin', - password: 'admin', - role: 'admin', - roleId: '1', - permissions: ['*.*.*'] - }, - { - username: 'test', - password: 'test', - role: 'test', - roleId: '2', - permissions: ['example:dialog:create', 'example:dialog:delete'] - } -] - -export default [ - // 列表接口 - { - url: '/user/list', - method: 'get', - response: ({ query }) => { - const { username, pageIndex, pageSize } = query - - const mockList = List.filter((item) => { - if (username && item.username.indexOf(username) < 0) return false - return true - }) - const pageList = mockList.filter( - (_, index) => index < pageSize * pageIndex && index >= pageSize * (pageIndex - 1) - ) - - return { - code: result_code, - data: { - total: mockList.length, - list: pageList - } - } - } - }, - // 登录接口 - // { - // url: '/user/login', - // method: 'post', - // timeout, - // response: ({ body }) => { - // const data = body - // let hasUser = false - // for (const user of List) { - // if (user.username === data.username && user.password === data.password) { - // hasUser = true - // return { - // code: result_code, - // data: user - // } - // } - // } - // if (!hasUser) { - // return { - // code: '500', - // message: '手机号或密码错误' - // } - // } - // } - // }, - // 退出接口 - { - url: '/user/loginOut', - method: 'get', - timeout, - response: () => { - return { - code: result_code, - data: null - } - } - } -] as MockMethod[] diff --git a/kinit-admin/src/api/common/index.ts b/kinit-admin/src/api/common/index.ts deleted file mode 100644 index 3f78a52..0000000 --- a/kinit-admin/src/api/common/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -import request from '@/config/axios' - -// 获取所有字典 -export const getDictApi = (): Promise => { - return request.get({ url: '/dict/list' }) -} - -// 模拟获取某个字典 -export const getDictOneApi = async (): Promise => { - return request.get({ url: '/dict/one' }) -} diff --git a/kinit-admin/src/api/login/index.ts b/kinit-admin/src/api/login/index.ts index 3bdb23f..7b5fef5 100644 --- a/kinit-admin/src/api/login/index.ts +++ b/kinit-admin/src/api/login/index.ts @@ -1,21 +1,10 @@ import request from '@/config/axios' -import type { UserLoginType, UserType } from './types' +import type { UserLoginType } from './types' export const loginApi = (data: UserLoginType): Promise => { return request.post({ url: '/auth/login/', data }) } -export const loginOutApi = (): Promise => { - return request.get({ url: '/user/loginOut' }) -} - -export const getUserListApi = ({ params }: AxiosConfig) => { - return request.get<{ - total: number - list: UserType[] - }>({ url: '/user/list', params }) -} - export const getRoleMenusApi = (): Promise> => { return request.get({ url: '/auth/getMenuList/' }) } diff --git a/kinit-admin/src/api/table/index.ts b/kinit-admin/src/api/table/index.ts deleted file mode 100644 index bd4f0b9..0000000 --- a/kinit-admin/src/api/table/index.ts +++ /dev/null @@ -1,18 +0,0 @@ -import request from '@/config/axios' -import type { TableData } from './types' - -export const getTableListApi = (params: any): Promise => { - return request.get({ url: '/example/list', params }) -} - -export const saveTableApi = (data: Partial): Promise => { - return request.post({ url: '/example/save', data }) -} - -export const getTableDetApi = (id: string): Promise> => { - return request.get({ url: '/example/detail', params: { id } }) -} - -export const delTableListApi = (ids: string[] | number[]): Promise => { - return request.post({ url: '/example/delete', data: { ids } }) -} diff --git a/kinit-admin/src/api/table/types.ts b/kinit-admin/src/api/table/types.ts deleted file mode 100644 index 876c111..0000000 --- a/kinit-admin/src/api/table/types.ts +++ /dev/null @@ -1,9 +0,0 @@ -export type TableData = { - id: string - author: string - title: string - content: string - importance: number - display_time: string - pageviews: number -} diff --git a/kinit-admin/src/hooks/web/useForm.ts b/kinit-admin/src/hooks/web/useForm.ts index 402cdb8..66654d2 100644 --- a/kinit-admin/src/hooks/web/useForm.ts +++ b/kinit-admin/src/hooks/web/useForm.ts @@ -51,6 +51,8 @@ export const useForm = (props?: FormProps) => { */ setSchema: async (schemaProps: FormSetPropsType[]) => { const form = await getForm() + console.log(1111111111, schemaProps) + console.log(222222, form) form?.setSchema(schemaProps) }, diff --git a/kinit-admin/src/router/index.ts b/kinit-admin/src/router/index.ts index b65c985..5407471 100644 --- a/kinit-admin/src/router/index.ts +++ b/kinit-admin/src/router/index.ts @@ -16,23 +16,6 @@ export const constantRouterMap: AppRouteRecordRaw[] = [ hidden: true } }, - { - path: '/redirect', - component: Layout, - name: 'Redirect', - children: [ - { - path: '/redirect/:path(.*)', - name: 'Redirect', - component: () => import('@/views/Redirect/Redirect.vue'), - meta: {} - } - ], - meta: { - hidden: true, - noTagsView: true - } - }, { path: '/login', component: () => import('@/views/Login/Login.vue'), diff --git a/kinit-admin/src/views/Dashboard/components/PanelGroup.vue b/kinit-admin/src/views/Dashboard/components/PanelGroup.vue deleted file mode 100644 index da9c278..0000000 --- a/kinit-admin/src/views/Dashboard/components/PanelGroup.vue +++ /dev/null @@ -1,200 +0,0 @@ - - - - - diff --git a/kinit-admin/src/views/Dashboard/echarts-data.ts b/kinit-admin/src/views/Dashboard/echarts-data.ts deleted file mode 100644 index dead29c..0000000 --- a/kinit-admin/src/views/Dashboard/echarts-data.ts +++ /dev/null @@ -1,310 +0,0 @@ -import { EChartsOption } from 'echarts' -import { EChartsOption as EChartsWordOption } from 'echarts-wordcloud' -import { useI18n } from '@/hooks/web/useI18n' - -const { t } = useI18n() - -export const lineOptions: EChartsOption = { - title: { - text: t('analysis.monthlySales'), - left: 'center' - }, - xAxis: { - data: [ - t('analysis.january'), - t('analysis.february'), - t('analysis.march'), - t('analysis.april'), - t('analysis.may'), - t('analysis.june'), - t('analysis.july'), - t('analysis.august'), - t('analysis.september'), - t('analysis.october'), - t('analysis.november'), - t('analysis.december') - ], - boundaryGap: false, - axisTick: { - show: false - } - }, - grid: { - left: 20, - right: 20, - bottom: 20, - top: 80, - containLabel: true - }, - tooltip: { - trigger: 'axis', - axisPointer: { - type: 'cross' - }, - padding: [5, 10] - }, - yAxis: { - axisTick: { - show: false - } - }, - legend: { - data: [t('analysis.estimate'), t('analysis.actual')], - top: 50 - }, - series: [ - { - name: t('analysis.estimate'), - smooth: true, - type: 'line', - data: [100, 120, 161, 134, 105, 160, 165, 114, 163, 185, 118, 123], - animationDuration: 2800, - animationEasing: 'cubicInOut' - }, - { - name: t('analysis.actual'), - smooth: true, - type: 'line', - itemStyle: {}, - data: [120, 82, 91, 154, 162, 140, 145, 250, 134, 56, 99, 123], - animationDuration: 2800, - animationEasing: 'quadraticOut' - } - ] -} - -export const pieOptions: EChartsOption = { - title: { - text: t('analysis.userAccessSource'), - left: 'center' - }, - tooltip: { - trigger: 'item', - formatter: '{a}
{b} : {c} ({d}%)' - }, - legend: { - orient: 'vertical', - left: 'left', - data: [ - t('analysis.directAccess'), - t('analysis.mailMarketing'), - t('analysis.allianceAdvertising'), - t('analysis.videoAdvertising'), - t('analysis.searchEngines') - ] - }, - series: [ - { - name: t('analysis.userAccessSource'), - type: 'pie', - radius: '55%', - center: ['50%', '60%'], - data: [ - { value: 335, name: t('analysis.directAccess') }, - { value: 310, name: t('analysis.mailMarketing') }, - { value: 234, name: t('analysis.allianceAdvertising') }, - { value: 135, name: t('analysis.videoAdvertising') }, - { value: 1548, name: t('analysis.searchEngines') } - ] - } - ] -} - -export const barOptions: EChartsOption = { - title: { - text: t('analysis.weeklyUserActivity'), - left: 'center' - }, - tooltip: { - trigger: 'axis', - axisPointer: { - type: 'shadow' - } - }, - grid: { - left: 50, - right: 20, - bottom: 20 - }, - xAxis: { - type: 'category', - data: [ - t('analysis.monday'), - t('analysis.tuesday'), - t('analysis.wednesday'), - t('analysis.thursday'), - t('analysis.friday'), - t('analysis.saturday'), - t('analysis.sunday') - ], - axisTick: { - alignWithLabel: true - } - }, - yAxis: { - type: 'value' - }, - series: [ - { - name: t('analysis.activeQuantity'), - data: [13253, 34235, 26321, 12340, 24643, 1322, 1324], - type: 'bar' - } - ] -} - -export const radarOption: EChartsOption = { - legend: { - data: [t('workplace.personal'), t('workplace.team')] - }, - radar: { - // shape: 'circle', - indicator: [ - { name: t('workplace.quote'), max: 65 }, - { name: t('workplace.contribution'), max: 160 }, - { name: t('workplace.hot'), max: 300 }, - { name: t('workplace.yield'), max: 130 }, - { name: t('workplace.follow'), max: 100 } - ] - }, - series: [ - { - name: `xxx${t('workplace.index')}`, - type: 'radar', - data: [ - { - value: [42, 30, 20, 35, 80], - name: t('workplace.personal') - }, - { - value: [50, 140, 290, 100, 90], - name: t('workplace.team') - } - ] - } - ] -} - -export const wordOptions: EChartsWordOption = { - series: [ - { - type: 'wordCloud', - gridSize: 2, - sizeRange: [12, 50], - rotationRange: [-90, 90], - shape: 'pentagon', - width: 600, - height: 400, - drawOutOfBound: true, - textStyle: { - color: function () { - return ( - 'rgb(' + - [ - Math.round(Math.random() * 160), - Math.round(Math.random() * 160), - Math.round(Math.random() * 160) - ].join(',') + - ')' - ) - } - }, - emphasis: { - textStyle: { - shadowBlur: 10, - shadowColor: '#333' - } - }, - data: [ - { - name: 'Sam S Club', - value: 10000, - textStyle: { - color: 'black' - }, - emphasis: { - textStyle: { - color: 'red' - } - } - }, - { - name: 'Macys', - value: 6181 - }, - { - name: 'Amy Schumer', - value: 4386 - }, - { - name: 'Jurassic World', - value: 4055 - }, - { - name: 'Charter Communications', - value: 2467 - }, - { - name: 'Chick Fil A', - value: 2244 - }, - { - name: 'Planet Fitness', - value: 1898 - }, - { - name: 'Pitch Perfect', - value: 1484 - }, - { - name: 'Express', - value: 1112 - }, - { - name: 'Home', - value: 965 - }, - { - name: 'Johnny Depp', - value: 847 - }, - { - name: 'Lena Dunham', - value: 582 - }, - { - name: 'Lewis Hamilton', - value: 555 - }, - { - name: 'KXAN', - value: 550 - }, - { - name: 'Mary Ellen Mark', - value: 462 - }, - { - name: 'Farrah Abraham', - value: 366 - }, - { - name: 'Rita Ora', - value: 360 - }, - { - name: 'Serena Williams', - value: 282 - }, - { - name: 'NCAA baseball tournament', - value: 273 - }, - { - name: 'Point Break', - value: 265 - } - ] - } - ] -} diff --git a/kinit-admin/src/views/Login/Login.vue b/kinit-admin/src/views/Login/Login.vue index 25170cb..615d12c 100644 --- a/kinit-admin/src/views/Login/Login.vue +++ b/kinit-admin/src/views/Login/Login.vue @@ -1,12 +1,11 @@