Skip to content

全局对象状态管理

属性说明
Menu系统菜单,包含菜单的源信息,路径icon配置
Page页面对象,包含页面的URL参数。页面绑定的数据等
User用户对象,包含用户登录信息权限等
Dater是对dayjs工具函数的引用,可以处理各种时间相关的问题,详细使用文档可以官网查看dayjs官网
Tools包含了预置的各种工具函数。
Loadingelement-plus中loading服务的引用。
Messageelement-plus中message服务的引用。
RouteVue路由。
Company可以获取当前公司配置的所有信息。
TurnToPage跳转页面,第一个参数为对象,formId 必传,可以设置 title 也可以添加其他属性,
第二个参数可以为路由指定查询参数。

G.Menu 菜单对象

内置属性说明
current当前菜单页数据。
opened已访问驻留的菜单页面。

G.Page 页面对象

内置属性说明
current当前页面数据。
opened已访问且驻留在内存的页面对象。

G.Loading 加载状态

js
//显示弹窗
const loading = this.G.Loading.service({
    lock: true,
    text: 'Loading',
    background: 'rgba(0, 0, 0, 0.7)',
})
setTimeout(() => {
    //关闭弹窗
    loading.close()
}, 2000)
//显示弹窗
const loading = this.G.Loading.service({
    lock: true,
    text: 'Loading',
    background: 'rgba(0, 0, 0, 0.7)',
})
setTimeout(() => {
    //关闭弹窗
    loading.close()
}, 2000)

其中 options参数为 Loading 的配置项,具体见下表。 LoadingService 会返回一个 Loading 实例,可通过调用该实例的 close 方法来关闭它。 详情请看 elLoading

G.Message 消息提示

js
  //一般提示
  this.G.Message('this is a message.')

  //完成提示
  this.G.Message({
    message: 'Congrats, this is a success message.',
    type: 'success',
  })
  //警告提示
  this.G.Message({
    message: 'Warning, this is a warning message.',
    type: 'warning',
  })
  //错误提示
  this.G.Message.error('Oops, this is a error message.')
  //一般提示
  this.G.Message('this is a message.')

  //完成提示
  this.G.Message({
    message: 'Congrats, this is a success message.',
    type: 'success',
  })
  //警告提示
  this.G.Message({
    message: 'Warning, this is a warning message.',
    type: 'warning',
  })
  //错误提示
  this.G.Message.error('Oops, this is a error message.')

详情请看 elMessage

G.TurnToPage 页面跳转方法

G.TurnToPage(params,query)

  • params 跳转到新页面并传递过去的数据
  • query 地址参数

params 中必须有 formId 属性(就是跳转页面的pageId),params 参数的数据最终可在 G.Page.current 中获得。 params 中的 title 属性代表跳转过去后显示页面 tab 的标题文字,最多支持显示6个字符。 params 中的 detail 属性能设定跳转页面的 URL,值为一个数组。可按数组元素顺序生成 URL。比如值为 ['a','b','c'] 生成的 URL 就为 a/b/c

下面以列表的 link 组件 on_click 事件为例:

js
function(){
   this.sopeData.row.title = this.sopeData.row.biaoTi.slice(0,6)
   this.sopeData.row.detail = ['page','formId',this.sopeData.row.formId]
   this.G.TurnToPage(this.sopeData.row,{t:new Date().getTime()})
}
function(){
   this.sopeData.row.title = this.sopeData.row.biaoTi.slice(0,6)
   this.sopeData.row.detail = ['page','formId',this.sopeData.row.formId]
   this.G.TurnToPage(this.sopeData.row,{t:new Date().getTime()})
}

G.Tool 工具

内置方法方法说明参数调用方式返回
SM4国密4加密解密---
SM4.encode加密param1:Stringb64.encode(""明文"")String
SM4.decode解密param1:Stringb64.decode(""密文"")String
b64base64加密解密---
b64.encode加密param1:Stringb64.encode(""明文"")String
b64.decode解密param1:Stringb64.decode(""密文"")String
arrayToMapByKey
camelCase连字符转驼峰param1:StringcamelCase('el-table')String
camelCaseObj转换带下划线的key为驼峰形式的key,param1为对象,param2表示是否为纯净版,即是否保留原来的参数值(key|value对)param1:Object
param2:any
camelCaseObj({""a_b"":100},1)Object
causeError抛出错误param1:stringcauseError(""抛出错误"")Error
connectorCase驼峰转连字符param1:StringconnectorCase('elTable')String
dater
emptyObject清空对象param1:ObjectemptyObject(param1)void
filterANotInB返回对象1中没有对象2里的属性的内容param1:Object
param2:Object
filterANotInB({a:1,b:2,c:3},{c:42})Object
filterObjExclude
filterObjInclude
findIndex返回元素的数组下标param1:Array
param2:string | number
findIndex([1,2,3,4],3)Number
getContext
getGlobalProperties
getQueryObject将url参数解析成对象param1:StringgetQueryObject(""?a=1&b=2&t=23321"")Object
getQueryVariable
getRandomStr生成随机字符串param1:NumbergetRandomStr(7)String
getSuffixName解析文件名与后缀param1:StringgetSuffixName(""bg.jpg"")String
getToken获取tokengetToken()String
getTypeStr
interchange
isArray是否是数组param1:anyisArray(param1)Boolean
isBoolean是否是布尔值param1:anyisBoolean(param1)Boolean
isCustom是否包含customparam1:anyisCustom(param1)Boolean
isDate是否是Dateparam1:anyisDate(param1)Boolean
isEmptyArray是否是空数组param1:ArrayisEmptyArray(param1)Boolean
isEmptyObject是否是空对象param1:ObjectisEmptyObject(param1)Boolean
isExternal是否是链接地址param1:StringisExternal(param1)Boolean
isFunction是否是函数param1:anyisFunction(param1)Boolean
isIcon字符是否包含icon-param1:StringisIcon(param1)Boolean
isLocal取非isExternal并且非isCustomparam1:StringisLocal(param1)Boolean
isNumber是否是数字param1:anyisNumber(param1)Boolean
isObject是否是对象param1:anyisObject(param1)Boolean
isRegExp是否是正则param1:anyisRegExp(param1)Boolean
isString是否是字符串param1:anyisString(param1)Boolean
isSymbol是否是symbolparam1:anyisSymbol(param1)Boolean
loadJS动态加载外部JS文件
lowerCaseObj
mapToArray对象转数组param1:ObjectmapToArray({a:1,b:2,c:3})Array
pathCompile
removeArrayValue删除数组中的元素param1:Array
param2:any
removeArrayValue([1,2,3],3)Array
removeSurplusSpace删除字符多余的空格param1:StringremoveSurplusSpace("abc d")String
removeToken
resetToken
setToken
setTokens
turnToString
underlineCase驼峰转连字符param1:StringunderlineCase("abc")String
upperFirst首字母大写param1:StringupperFirst("abc")String
validAlphabets验证是否是没有特殊符号的字符param1:StringvalidAlphabets("abc")Boolean
validEmail验证邮箱地址param1:StringvalidEmail("liti@163.com")Boolean
validLowerCase验证是否全小写param1:StringvalidLowerCase("abc")Boolean
validURL验证是否是URLparam1:StringvalidURL("http://xxx.xxx.xx")Boolean
validUpperCase验证是否全大写param1:StringvalidUpperCase("ABC")Boolean
validUsername