Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
T treasure
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 14
    • Issues 14
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • External wiki
    • External wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • FE
  • treasure
  • Issues
  • #19

Closed
Open
Created Nov 11, 2020 by JayChen@JayChenOwner

location-manage 新版接口返回约束

1、列表操作按钮返回按钮格式

   Array<{
     name: ‘’, event: ‘’
   }>

2、分页相关约束

  入参约束:page、per_page
  返回数据meta约束:last_page、total

3、大多数情况下,返回的 数据type,需要同时返回 string

  如:source:1 ,需要同时在详情字段里返回 source和sourceString

4、所有的且或数据,返回格式和保存格式如下

    [
      [
        {
          'id': 37,
          'labels': [
            492,
            466
          ]
        },
        {
          'id': 34,
          'labels': [
            484,
            496
          ]
        }
      ],
      [
        {
          'id': 34,
          'labels': [
            484,
            498,
            487
          ]
        }
      ]
    ]

5、批量操作约束

    背景:在列表操作里,存在批量操作,如果选中的4条数据,有2条是有权限的,2条是无权限或者失败的
    服务端约束:
       2条数据操作成功,但是 http需要报错,指出哪两条报错,并组装成message
    示例:
       订单 A,B,C,D批量删除操作时,A,B有权限,C,D无权限
       后台完成A,B的删除。然后提示”C、D订单无此权限“,使用alert提示报错,需要点击确定才能关闭弹窗。
       ps: alert和toast的提示方式已经与后台达成共识,会统一做在request闸门里,status为 420,大家无需操心,
       只要是needHint模式,会自动判断使用

6、页面/模块/tab 内公共操作按钮显示与否 约定

    背景:在页面内,可能会有各种操作按钮,如 新增案例、批量删除
    服务端约束:
       调取独立的接口,如 /cases/index/permissions 接口,返回操作组格式如下
       data: [
         { name: '新增', event: 'create' },
         { name: '批量删除', event: 'destroy' },
       ]
    前端约束:新增$getJurisList和$getJurisMap 挂在到全局的 vue实例下

示例1:单个按钮

       <ElButton v-show="$getJurisMap(data).create" type="primary">新增案例</ElButton>
       // $getJurisMap(data)格式如下
       {
         create: { event: 'create', name: '新增' }
       }

示例2:批量操作列表

  // computed
  get btns() {
    return this.$getJurisList({
      add_labels: 'primary',
      destroy: 'danger',
    }, this.data);
  }
  // btns结构如下
  [
    { event: 'add_labels', name: '贴标签', type: 'primary' },
    { event: 'destroy', name: '删除', type: 'danger' },
  ]
Edited Nov 11, 2020 by JayChen
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking