diff --git a/.eslintrc.js b/.eslintrc.js index 2aec88b..4cad823 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -24,6 +24,7 @@ module.exports = defineConfig({ 'plugin:prettier/recommended' ], rules: { + 'vue/no-setup-props-destructure': 'off', 'vue/script-setup-uses-vars': 'error', 'vue/no-reserved-component-names': 'off', '@typescript-eslint/ban-ts-ignore': 'off', diff --git a/.github/workflows/auto-merge.yml b/.github/workflows/auto-merge.yml deleted file mode 100644 index 33b6e00..0000000 --- a/.github/workflows/auto-merge.yml +++ /dev/null @@ -1,130 +0,0 @@ -name: Automerge - -on: - pull_request: - types: - - labeled - - unlabeled - - synchronize - - opened - - edited - - ready_for_review - - reopened - - unlocked - pull_request_review: - types: - - submitted - status: {} - -jobs: - # 合并发布版本的 pr 到 master - auto-merge: - runs-on: ubuntu-latest - steps: - - name: Automerge - uses: 'pascalgn/automerge-action@v0.14.3' - env: - GITHUB_TOKEN: '${{ secrets.TOKEN }}' - MERGE_LABELS: '' - MERGE_FILTER_AUTHOR: 'kailong321200875' - - push-to-gh-pages: - needs: [auto-merge] - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Setup Pnpm - uses: pnpm/action-setup@v2 - with: - version: latest - - - name: use Node.js 16 - uses: actions/setup-node@v2.1.2 - with: - node-version: '16.x' - - - name: Set SSH Environment - env: - DOCS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }} - run: | - mkdir -p ~/.ssh/ - echo "$ACTIONS_DEPLOY_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - ssh-keyscan github.com > ~/.ssh/known_hosts - chmod 700 ~/.ssh && chmod 600 ~/.ssh/* - git config --local user.email "321200875@qq.com" - git config --local user.name "kailong321200875" - - # 发布到 github - - name: Build Github - run: | - pnpm install --no-frozen-lockfile - pnpm run build:pro - - - name: Deploy Github - uses: peaceiris/actions-gh-pages@v3 - with: - deploy_key: ${{secrets.ACTIONS_DEPLOY_KEY}} - publish_branch: gh-pages - publish_dir: ./dist-pro - force_orphan: true - cname: element-plus-admin.cn - - push-to-gh-pages-gitee: - needs: [auto-merge] - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Setup Pnpm - uses: pnpm/action-setup@v2 - with: - version: latest - - - name: use Node.js 16 - uses: actions/setup-node@v2.1.2 - with: - node-version: '16.x' - - - name: Set SSH Environment - env: - DOCS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }} - run: | - mkdir -p ~/.ssh/ - echo "$ACTIONS_DEPLOY_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - ssh-keyscan github.com > ~/.ssh/known_hosts - chmod 700 ~/.ssh && chmod 600 ~/.ssh/* - git config --local user.email "321200875@qq.com" - git config --local user.name "kailong321200875" - - - name: Build Gitee - run: | - pnpm install --no-frozen-lockfile - pnpm run build:gitee - - # 发布到 gitee - - name: Deploy Gitee - uses: peaceiris/actions-gh-pages@v3 - with: - deploy_key: ${{secrets.ACTIONS_DEPLOY_KEY}} - publish_branch: gh-pages-gitee - publish_dir: ./dist-pro - force_orphan: true - - - name: Sync Github Repos To Gitee # 名字随便起 - uses: Yikun/hub-mirror-action@v1.1 # 使用Yikun/hub-mirror-action - with: - src: github/kailong321200875 # 源端账户名(github) - dst: gitee/kailong110120130 # 目的端账户名(gitee) - dst_key: ${{ secrets.ACTIONS_DEPLOY_KEY }} # SSH密钥对中的私钥 - dst_token: ${{ secrets.GITEE_TOKEN }} # Gitee账户的私人令牌 - account_type: user # 账户类型 - clone_style: 'https' # 使用https方式进行clone,也可以使用ssh - debug: true # 启用后会显示所有执行命令 - force_update: true # 启用后,强制同步,即强制覆盖目的端仓库 - static_list: 'vue-element-plus-admin' # 静态同步列表,在此填写需要同步的仓库名称,可填写多个 - timeout: '600s' # git超时设置,超时后会自动重试git操作 diff --git a/.github/workflows/reademe-contributors.yml b/.github/workflows/reademe-contributors.yml deleted file mode 100644 index 519dbeb..0000000 --- a/.github/workflows/reademe-contributors.yml +++ /dev/null @@ -1,25 +0,0 @@ -# on: -# push: -# branches: -# - master - -# jobs: -# contrib-readme-en-job: -# runs-on: ubuntu-latest -# name: A job to automate contrib in readme -# steps: -# - name: Contribute List -# uses: akhilmhdh/contributors-readme-action@v2.3.4 -# env: -# GITHUB_TOKEN: ${{ secrets.CONTRIBUTORS_TOKEN }} - -# contrib-readme-job: -# runs-on: ubuntu-latest -# name: A job to automate contrib in readme.zh-CN -# steps: -# - name: Contribute List -# uses: akhilmhdh/contributors-readme-action@v2.3.4 -# with: -# readme_path: README.zh-CN.md -# env: -# GITHUB_TOKEN: ${{ secrets.CONTRIBUTORS_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index 4367b1c..0000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,18 +0,0 @@ -on: - push: - branches: - - release - -name: Release - -jobs: - release-please: - runs-on: ubuntu-latest - steps: - - uses: GoogleCloudPlatform/release-please-action@v3 - id: release - with: - token: ${{ secrets.TOKEN }} - release-type: node - package-name: standard-version - changelog-types: '[{"type": "types", "section":"Types", "hidden": false},{"type": "revert", "section":"Reverts", "hidden": false},{"type": "feat", "section": "Features", "hidden": false},{"type": "fix", "section": "Bug Fixes", "hidden": false},{"type": "improvement", "section": "Feature Improvements", "hidden": false},{"type": "docs", "section":"Docs", "hidden": false},{"type": "style", "section":"Styling", "hidden": false},{"type": "refactor", "section":"Code Refactoring", "hidden": false},{"type": "perf", "section":"Performance Improvements", "hidden": false},{"type": "test", "section":"Tests", "hidden": false},{"type": "build", "section":"Build System", "hidden": false},{"type": "ci", "section":"CI", "hidden":false}]' diff --git a/mock/analysis/index.ts b/mock/analysis/index.ts deleted file mode 100644 index bfb89fd..0000000 --- a/mock/analysis/index.ts +++ /dev/null @@ -1,97 +0,0 @@ -import config from '@/config/axios/config' -import { MockMethod } from 'vite-plugin-mock' - -const { code } = config - -const timeout = 1000 - -export default [ - // 分析页统计接口 - { - url: '/analysis/total', - method: 'get', - timeout, - response: () => { - return { - data: { - code: code, - data: { - users: 102400, - messages: 81212, - moneys: 9280, - shoppings: 13600 - } - } - } - } - }, - // 用户来源 - { - url: '/analysis/userAccessSource', - method: 'get', - timeout, - response: () => { - return { - data: { - code: code, - data: [ - { value: 1000, name: 'analysis.directAccess' }, - { value: 310, name: 'analysis.mailMarketing' }, - { value: 234, name: 'analysis.allianceAdvertising' }, - { value: 135, name: 'analysis.videoAdvertising' }, - { value: 1548, name: 'analysis.searchEngines' } - ] - } - } - } - }, - // 每周用户活跃量 - { - url: '/analysis/weeklyUserActivity', - method: 'get', - timeout, - response: () => { - return { - data: { - code: code, - data: [ - { value: 13253, name: 'analysis.monday' }, - { value: 34235, name: 'analysis.tuesday' }, - { value: 26321, name: 'analysis.wednesday' }, - { value: 12340, name: 'analysis.thursday' }, - { value: 24643, name: 'analysis.friday' }, - { value: 1322, name: 'analysis.saturday' }, - { value: 1324, name: 'analysis.sunday' } - ] - } - } - } - }, - // 每月销售额 - { - url: '/analysis/monthlySales', - method: 'get', - timeout, - response: () => { - return { - data: { - code: code, - data: [ - { estimate: 100, actual: 120, name: 'analysis.january' }, - { estimate: 120, actual: 82, name: 'analysis.february' }, - { estimate: 161, actual: 91, name: 'analysis.march' }, - { estimate: 134, actual: 154, name: 'analysis.april' }, - { estimate: 105, actual: 162, name: 'analysis.may' }, - { estimate: 160, actual: 140, name: 'analysis.june' }, - { estimate: 165, actual: 145, name: 'analysis.july' }, - { estimate: 114, actual: 250, name: 'analysis.august' }, - { estimate: 163, actual: 134, name: 'analysis.september' }, - { estimate: 185, actual: 56, name: 'analysis.october' }, - { estimate: 118, actual: 99, name: 'analysis.november' }, - { estimate: 123, actual: 123, name: 'analysis.december' } - ] - } - } - } - } -] as MockMethod[] diff --git a/mock/department/index.ts b/mock/department/index.ts deleted file mode 100644 index 34b5341..0000000 --- a/mock/department/index.ts +++ /dev/null @@ -1,219 +0,0 @@ -import config from '@/config/axios/config' -import { MockMethod } from 'vite-plugin-mock' -import { toAnyString } from '@/utils' -import Mock from 'mockjs' - -const { code } = config - -const departmentList: any = [] - -const citys = ['厦门总公司', '北京分公司', '上海分公司', '福州分公司', '深圳分公司', '杭州分公司'] - -for (let i = 0; i < 5; i++) { - departmentList.push({ - // 部门名称 - departmentName: citys[i], - id: toAnyString(), - createTime: '@datetime', - // 状态 - status: Mock.Random.integer(0, 1), - // 备注 - remark: '@cword(10, 15)', - children: [ - { - // 部门名称 - departmentName: '研发部', - createTime: '@datetime', - // 状态 - status: Mock.Random.integer(0, 1), - id: toAnyString(), - remark: '@cword(10, 15)' - }, - { - // 部门名称 - departmentName: '产品部', - createTime: '@datetime', - // 状态 - status: Mock.Random.integer(0, 1), - id: toAnyString(), - remark: '@cword(10, 15)' - }, - { - // 部门名称 - departmentName: '运营部', - createTime: '@datetime', - // 状态 - status: Mock.Random.integer(0, 1), - id: toAnyString(), - remark: '@cword(10, 15)' - }, - { - // 部门名称 - departmentName: '市场部', - createTime: '@datetime', - // 状态 - status: Mock.Random.integer(0, 1), - id: toAnyString(), - remark: '@cword(10, 15)' - }, - { - // 部门名称 - departmentName: '销售部', - createTime: '@datetime', - // 状态 - status: Mock.Random.integer(0, 1), - id: toAnyString(), - remark: '@cword(10, 15)' - }, - { - // 部门名称 - departmentName: '客服部', - createTime: '@datetime', - // 状态 - status: Mock.Random.integer(0, 1), - id: toAnyString(), - remark: '@cword(10, 15)' - } - ] - }) -} - -export default [ - // 列表接口 - { - url: '/department/list', - method: 'get', - response: () => { - return { - data: { - code: code, - data: { - list: departmentList - } - } - } - } - }, - { - url: '/department/table/list', - method: 'get', - response: () => { - return { - data: { - code: code, - data: { - list: departmentList, - total: 5 - } - } - } - } - }, - { - url: '/department/users', - method: 'get', - timeout: 1000, - response: ({ query }) => { - const { pageSize } = query - // 根据pageSize来创建数据 - const mockList: any = [] - for (let i = 0; i < pageSize; i++) { - mockList.push( - Mock.mock({ - // 用户名 - username: '@cname', - // 账号 - account: '@first', - // 邮箱 - email: '@EMAIL', - // 创建时间 - createTime: '@datetime', - // 角色 - role: '@first', - // 用户id - id: toAnyString() - }) - ) - } - return { - data: { - code: code, - data: { - total: 100, - list: mockList - } - } - } - } - }, - // 保存接口 - { - url: '/department/user/save', - method: 'post', - timeout: 1000, - response: () => { - return { - data: { - code: code, - data: 'success' - } - } - } - }, - // 删除接口 - { - url: '/department/user/delete', - method: 'post', - response: ({ body }) => { - const ids = body.ids - if (!ids) { - return { - code: '500', - message: '请选择需要删除的数据' - } - } else { - return { - data: { - code: code, - data: 'success' - } - } - } - } - }, - // 保存接口 - { - url: '/department/save', - method: 'post', - timeout: 1000, - response: () => { - return { - data: { - code: code, - data: 'success' - } - } - } - }, - // 删除接口 - { - url: '/department/delete', - method: 'post', - response: ({ body }) => { - const ids = body.ids - if (!ids) { - return { - code: '500', - message: '请选择需要删除的数据' - } - } else { - return { - data: { - code: code, - data: 'success' - } - } - } - } - } -] as MockMethod[] diff --git a/mock/dict/index.ts b/mock/dict/index.ts deleted file mode 100644 index d27ab9e..0000000 --- a/mock/dict/index.ts +++ /dev/null @@ -1,67 +0,0 @@ -import config from '@/config/axios/config' -import { MockMethod } from 'vite-plugin-mock' - -const { 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: '/dict/list', - method: 'get', - timeout, - response: () => { - return { - data: { - code: code, - data: dictObj - } - } - } - }, - // 获取某个字典 - { - url: '/dict/one', - method: 'get', - timeout, - response: () => { - return { - data: { - code: code, - data: [ - { - label: 'test1', - value: 0 - }, - { - label: 'test2', - value: 1 - }, - { - label: 'test3', - value: 2 - } - ] - } - } - } - } -] as MockMethod[] diff --git a/mock/menu/index.ts b/mock/menu/index.ts deleted file mode 100644 index d5958e9..0000000 --- a/mock/menu/index.ts +++ /dev/null @@ -1,246 +0,0 @@ -import config from '@/config/axios/config' -import { MockMethod } from 'vite-plugin-mock' -import Mock from 'mockjs' -import { toAnyString } from '@/utils' - -const { code } = config - -const timeout = 1000 - -export default [ - // 列表接口 - { - url: '/menu/list', - method: 'get', - timeout, - response: () => { - return { - data: { - code: code, - data: { - list: [ - { - path: '/dashboard', - component: '#', - redirect: '/dashboard/analysis', - name: 'Dashboard', - status: Mock.Random.integer(0, 1), - id: toAnyString(), - meta: { - title: '首页', - icon: 'ant-design:dashboard-filled', - alwaysShow: true - }, - children: [ - { - path: 'analysis', - component: 'views/Dashboard/Analysis', - name: 'Analysis', - status: Mock.Random.integer(0, 1), - id: toAnyString(), - meta: { - title: '分析页', - noCache: true - } - }, - { - path: 'workplace', - component: 'views/Dashboard/Workplace', - name: 'Workplace', - status: Mock.Random.integer(0, 1), - id: toAnyString(), - meta: { - title: '工作台', - noCache: true - } - } - ] - }, - { - path: '/external-link', - component: '#', - meta: { - title: '文档', - icon: 'clarity:document-solid' - }, - name: 'ExternalLink', - status: Mock.Random.integer(0, 1), - id: toAnyString(), - children: [ - { - path: 'https://element-plus-admin-doc.cn/', - name: 'DocumentLink', - status: Mock.Random.integer(0, 1), - id: toAnyString(), - meta: { - title: '文档' - } - } - ] - }, - { - path: '/level', - component: '#', - redirect: '/level/menu1/menu1-1/menu1-1-1', - name: 'Level', - status: Mock.Random.integer(0, 1), - id: toAnyString(), - meta: { - title: '菜单', - icon: 'carbon:skill-level-advanced' - }, - children: [ - { - path: 'menu1', - name: 'Menu1', - component: '##', - status: Mock.Random.integer(0, 1), - id: toAnyString(), - redirect: '/level/menu1/menu1-1/menu1-1-1', - meta: { - title: '菜单1' - }, - children: [ - { - path: 'menu1-1', - name: 'Menu11', - component: '##', - status: Mock.Random.integer(0, 1), - id: toAnyString(), - redirect: '/level/menu1/menu1-1/menu1-1-1', - meta: { - title: '菜单1-1', - alwaysShow: true - }, - children: [ - { - path: 'menu1-1-1', - name: 'Menu111', - component: 'views/Level/Menu111', - status: Mock.Random.integer(0, 1), - id: toAnyString(), - meta: { - title: '菜单1-1-1', - permission: ['edit', 'add'] - } - } - ] - }, - { - path: 'menu1-2', - name: 'Menu12', - component: 'views/Level/Menu12', - status: Mock.Random.integer(0, 1), - id: toAnyString(), - meta: { - title: '菜单1-2', - permission: ['edit', 'add'] - } - } - ] - }, - { - path: 'menu2', - name: 'Menu2Demo', - component: 'views/Level/Menu2', - status: Mock.Random.integer(0, 1), - id: toAnyString(), - meta: { - title: '菜单2', - permission: ['edit', 'add'] - } - } - ] - }, - { - path: '/example', - component: '#', - redirect: '/example/example-dialog', - name: 'Example', - status: Mock.Random.integer(0, 1), - id: toAnyString(), - meta: { - title: '综合示例', - icon: 'ep:management', - alwaysShow: true - }, - children: [ - { - path: 'example-dialog', - component: 'views/Example/Dialog/ExampleDialog', - name: 'ExampleDialog', - status: Mock.Random.integer(0, 1), - id: toAnyString(), - meta: { - title: '综合示例-弹窗', - permission: ['edit', 'add', 'delete'] - } - }, - { - path: 'example-page', - component: 'views/Example/Page/ExamplePage', - name: 'ExamplePage', - status: Mock.Random.integer(0, 1), - id: toAnyString(), - meta: { - title: '综合示例-页面', - permission: ['edit', 'add', 'delete'] - } - }, - { - path: 'example-add', - component: 'views/Example/Page/ExampleAdd', - name: 'ExampleAdd', - status: Mock.Random.integer(0, 1), - id: toAnyString(), - meta: { - title: '综合示例-新增', - noTagsView: true, - noCache: true, - hidden: true, - showMainRoute: true, - activeMenu: '/example/example-page', - permission: ['edit', 'add', 'delete'] - } - }, - { - path: 'example-edit', - component: 'views/Example/Page/ExampleEdit', - name: 'ExampleEdit', - status: Mock.Random.integer(0, 1), - id: toAnyString(), - meta: { - title: '综合示例-编辑', - noTagsView: true, - noCache: true, - hidden: true, - showMainRoute: true, - activeMenu: '/example/example-page', - permission: ['edit', 'add', 'delete'] - } - }, - { - path: 'example-detail', - component: 'views/Example/Page/ExampleDetail', - name: 'ExampleDetail', - status: Mock.Random.integer(0, 1), - id: toAnyString(), - meta: { - title: '综合示例-详情', - noTagsView: true, - noCache: true, - hidden: true, - showMainRoute: true, - activeMenu: '/example/example-page', - permission: ['edit', 'add', 'delete'] - } - } - ] - } - ] - } - } - } - } - } -] as MockMethod[] diff --git a/mock/table/index.ts b/mock/table/index.ts deleted file mode 100644 index 04a3d78..0000000 --- a/mock/table/index.ts +++ /dev/null @@ -1,268 +0,0 @@ -import config from '@/config/axios/config' -import { MockMethod } from 'vite-plugin-mock' -import { toAnyString } from '@/utils' -import Mock from 'mockjs' - -const { code } = config - -const timeout = 1000 - -const count = 100 - -const baseContent = - '
I am testing data, I am testing data.