# 扩展全局函数
平台内置了一些全局JS对象,包括request、 utils等。 在表达式窗口可以这样使用: utils.lodash 、utils.config、 utils.dayjs 。这些常用的JS函数对象用于辅助页面开发。当这些内置的功能函数不满足的情况下,我们需要扩展自定义的JS函数。例如,要进行字符串加密,会用到 crypyo-js ,接下来演示如何将里面的加密方法暴露出来,使得在表达式里面可以使用。
# 扩展全局函数
- 在
ui/module/plugins/index.ts中实现插件,编写内容如下,应根据实际情况自行修改:
import {
LcdpRendererPlugin,
LcdpRendererPluginContext,
LcdpRendererPluginRegistry
} from '@fly-vue/lcdp-engine'
import sha256 from 'crypto-js/sha256'
// 定义插件 cryptoPlugin
const _plugin: LcdpRendererPlugin = {
id: 'cryptoPlugin',
install(context: LcdpRendererPluginContext) {
// 注册 crypto加密函数
context.pageContextRegistry.register('crypto', {
sha256: (message) => {
return sha256(message)
}
})
}
}
export async function registerPlugins() {
await LcdpRendererPluginRegistry.register(_plugin)
}
2.代码编写完成后,需要在 ui 目录下执行下面两个命令:
npm run pack
npm run copyModule
3.最后重启后台服务,就可以在表达式中使用刚才扩展的函数了。
