1.0.0-alpha.63 • Published 6 months ago

ginv v1.0.0-alpha.63

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

ginv

ginv backend

Quick Start

npm install ginv

Import ginv in man.ts

import { createApp } from 'vue'
import { createPinia } from 'pinia'
import ArcoVue, { Message } from '@arco-design/web-vue'
import ArcoVueIcon from '@arco-design/web-vue/es/icon'
import ginv, { type Config } from 'ginv'
import App from 'ginv/App.vue'

import '@arco-design/web-vue/dist/arco.css'
import 'ginv/index.css'
import iconfont from './assets/font/iconfont.js?url'
import { authenticate, authorize, getGlobalOptions, logout } from '@/api/auth'

export const ossConfig = {
  default: {
    bucket: 'default',
    domain: '//assets.ginv.com/'
  }
}

const config: Config = {
  systemCode: 'ginv',
  systemName: 'Ginv管理后台',
  iconfont,
  gallery: false
  authFn: auth
  logoutFn: logout
  // globalFn: getGlobalOptions
}

const pinia = createPinia()
const app = createApp(App)
ginv.bootstrap(router).use(router).use(pinia).use(ArcoVue).use(ArcoVueIcon).mount('#app')

support route params

async import rules will remove the route params.

example:

path: /user/:userId
components file: views/user.vue

path: /user/:userId/info
components file: views/user/info.vue

path: /book/:bookId/:lang
components file: views/book.vue

authFn

example

/**
 * @description 为用户设置多个用户组
 */
export function auth() {
  const user: User = {
    name: '超管',
    avatar: '',
    department: '总经办'
  }
  const theme: Theme = {
    layout: 'default',
    primaryColor: 'default'
  }

  /**
   * menu是路由的name, 值是路由所在页面的按钮的权限值
   */
  const permissions: { [menu: string]: number } = {
    foo: 2,
    bar: 8,
    subBar: 0,
    otherSubBar: 4
  }

  const routers: Menu[] = [
    {
      n: 'foo', // 路由命名
      p: '/foo', // 路由路径
      m: {
        t: '菜单一',
        i: 'icon-foo',
        s: 1,
        v: 1
      }, // 路由meta
      c: [] // 路由children
    },
    {
      n: 'bar', // 路由命名
      p: '/bar', // 路由路径
      m: {
        t: '菜单二',
        i: 'icon-bar',
        s: 1,
        v: 1
      }, // 路由meta
      c: [
        {
          n: 'subBar', // 路由命名
          p: '/sub-bar', // 路由路径
          m: {
            t: '子菜单',
            i: 'icon-foo',
            s: 1,
            v: 1
          }, // 路由meta
          c: [] // 路由children
        },
        {
          n: 'otherSubBar', // 路由命名
          p: '/other-sub-bar', // 路由路径
          m: {
            t: '另一个子菜单',
            i: 'icon-foo',
            s: 1,
            v: 1
          }, // 路由meta
          c: [] // 路由children
        },
      ] // 路由children
    }
  ]

  return Promise.resolve({ user, theme, menus: routers, permissions })
  // return request<types.SessionReply>(`/authorization/auth/session`, req)
}

when visit `/test`, we'll get 403 error responese
when visit `/test1`, we'll get 404 error responese
when visit `/app`, we'll get success response

globalFn

export function getGlobalOptions() {
  const globalOptions = [
    { label: '默认', value: 1 },
    { label: '自定义1', value: 2 }
  ]

  const globalValue = 1

  return Promise.resolve({ globalOptions, globalValue })
  // return request<types.globalReply>(`/serviceName/rpcName/methodName`, req)
}

now you can get a global select components on siderbar, and it's default value is: 1
1.0.0-alpha.59

8 months ago

1.0.0-alpha.63

6 months ago

1.0.0-alpha.62

6 months ago

1.0.0-alpha.61

8 months ago

1.0.0-alpha.60

8 months ago

1.0.0-alpha.58

10 months ago

1.0.0-alpha.52

11 months ago

1.0.0-alpha.51

12 months ago

1.0.0-alpha.54

11 months ago

1.0.0-alpha.53

11 months ago

1.0.0-alpha.50

12 months ago

1.0.0-alpha.56

11 months ago

1.0.0-alpha.55

11 months ago

1.0.0-alpha.57

11 months ago

1.0.0-alpha.43

1 year ago

1.0.0-alpha.42

1 year ago

1.0.0-alpha.49

12 months ago

1.0.0-alpha.48

12 months ago

1.0.0-alpha.45

12 months ago

1.0.0-alpha.44

12 months ago

1.0.0-alpha.47

12 months ago

1.0.0-alpha.46

12 months ago

1.0.0-alpha.41

1 year ago

1.0.0-alpha.40

1 year ago

1.0.0-alpha.39

1 year ago

1.0.0-alpha.38

1 year ago

1.0.0-alpha.37

1 year ago

1.0.0-alpha.36

1 year ago

1.0.0-alpha.35

1 year ago

1.0.0-alpha.34

2 years ago

1.0.0-alpha.19

2 years ago

1.0.0-alpha.9

2 years ago

1.0.0-alpha.30

2 years ago

1.0.0-alpha.7

2 years ago

1.0.0-alpha.6

2 years ago

1.0.0-alpha.32

2 years ago

1.0.0-alpha.10

2 years ago

1.0.0-alpha.5

2 years ago

1.0.0-alpha.3

2 years ago

1.0.0-alpha.2

2 years ago

1.0.0-alpha.1

2 years ago

1.0.0-alpha.16

2 years ago

1.0.0-alpha.15

2 years ago

1.0.0-alpha.18

2 years ago

1.0.0-alpha.17

2 years ago

1.0.0-alpha.12

2 years ago

1.0.0-alpha.11

2 years ago

1.0.0-alpha.14

2 years ago

1.0.0-alpha.13

2 years ago

1.0.0-beta.2

2 years ago

1.0.0-beta.3

2 years ago

1.0.0-beta.4

2 years ago

1.0.0-beta.5

2 years ago

1.0.0-alpha.21

2 years ago

1.0.0-alpha.20

2 years ago

1.0.0-alpha.27

2 years ago

1.0.0-alpha.26

2 years ago

1.0.0-alpha.29

2 years ago

1.0.0-alpha.28

2 years ago

1.0.0-alpha.23

2 years ago

1.0.0-alpha.22

2 years ago

1.0.0-alpha.25

2 years ago

1.0.0-alpha.24

2 years ago

1.0.0-beta.1

3 years ago

1.0.0-alpha.4

4 years ago