Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Qmy Api Prms ParseNew to Visual Studio Code? Get it now.
Qmy Api Prms Parse

Qmy Api Prms Parse

Qmy Api Prms Parse

|
9 installs
| (1) | Free
用于解析公司接口权限
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Qmy Api Prms Parse for Visual Studio Code

1、权限配置方式

在所在需要添加权限的api.js中添加权限信息注释:

/**
 * @api
 * @desc 设置项目星标
 * @url /education-management-service/project/setStarMark
 * @method POST
 * @prms w:prms:prms
 * @topLevel true
 * @parentPrms w:prms:parent
 */
export function api(){
    // 请求逻辑
}

属性描述

属性名 属性描述 权限解析对应属性 必填
@desc 接口跟描述 title True
@url 接口地址 url True
@method 接口请求方法(GET、POST、PUT、DELETE) Method True
@prms 权限标识 id True
@topLevel 是否是顶级权限,在引用权限中可表示权限是否直接添加至顶级权限 -- False
@parentPrms 父级权限id,多个父级时逗号相连接,例:w:prms:prms1,w:prms:prms2 -- False
@children 但存在引用权限时该值有效,例如@children projectInfo,gantt,dataReport,files,overview,target,task,这里projectInfo、task为应用权限中的命名名称(在<@importPrms>中注释块声明),如果值使用某个api.js文件中的单个权限以.相连接dataReport.prmsKey,如果是这个文件中的一些权限则使用prmsModuleName.<prms1|prms2|...>,则表示只使用该权限中与此对应的这个权限。

2、引用权限

/**
 * <@importPrms>
 * @mergePrms @/views/projectManage/settings/roles/api.js
 * @gantt @/views/projectManage/projectInfo/gant/api.js
 * @projectInfo @/views/projectManage/projectInfo/api.js
 * @files @/views/projectManage/projectInfo/files/api.js
 * @target @/views/projectManage/projectInfo/target/api.js
 * @task @/views/projectManage/projectInfo/task/api.js
 */
import http from "@/utils/http"
import xxxx from  "xxxxx"
.....

属性说明

属性名 属性描述 属性值 必填 别名
<@importPrms> 必要标识、如果要读取其他权限、必须设置此项 无 True <@imp>、<@import>
@mergePrms 此为固定属性、该属性表示将引入的权限直接合并至当前权限 String False @merge
@其他 除以上固定属性外,其他属性直接用于引用权限命名 String False

引入权限可以通过权限id配置限制引入哪些权限,不会全部解析

例:

/**
 * <@importPrms>
 * @mergePrms @/mergePrms.js
 * @mergePrms @/module2.js w:module2:2,w:module2:3 // 这里只会取出id为w:module2:2,w:module2:3的权限
 * @module @/modulePrms.js
 * @module3 @/module3.js
 */

3、循环引入

子级中去引入父级权限,在解析时只会解析在当前文件中的权限注释描述,不会解析<@importPrms>注释块中的权限,这样是防止解析过程陷入死循环导致堆栈溢出。

例:

a.js

/**
 * <@import>
 * @merge ./b.js
 */

/**
 * @desc a
 * @url /xx/xx
 * @method POST
 * @prms z:a:open
 */

b.js

/**
 * <@import>
 * @merge ./c.js
 */
 
/**
 * @desc m1
 * @url /xx/xx
 * @method POST
 * @prms z:m1:open
 */

c.js

/**
 * <@import>
 * @a ./a.js
 */

/**
 * @desc c
 * @url /training-service/caseCategory/
 * @method POST
 * @prms z:c:open
 * @children a.<z:main3:open>
 */

这样就形成了循环引入,c.js就不会去解析a.js中导入的b.js

4、配置

可在插件配置中配置解析的路径别名aliasPath,导入时会替换路径别名站位符为当前工作区路径。

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft