🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# DingTalk > 基于官方 `dingtalk.js` 的一个封装 ## 使用 ~~~ js import { DingTalk } from '@/common/DingTalk'; DingTalk.init(); ~~~ ### 封装规范 > 封装的函数必须包装在 DingTalk.execute 里面,如果函数需要传入2个以上(包括两个)必须定义接口,返回结果也必须定义接口 以下有几个简单的例子: #### 无参数有返回结果的实现 ~~~ js static requestChannelAuthCode () { interface Result { /** 授权码,5分钟有效,且只能使用一次 */ code: string } return DingTalk.execute<Result>('channel.permission.requestAuthCode'); } ~~~ #### 只有一个参数无返回结果的实现 ~~~ js static openLink (url: string) { return DingTalk.execute<{}>('biz.util.openLink', { url }, () => { window.location.href = url }); } ~~~ #### 多参数无返回结果的实现 ~~~ js // statement.ts export interface StorageSetParams { /** 存储信息的key值 */ name: string, /** 存储信息的Value值 */ value: string } // index.ts static setStorageItem (params: StorageSetParams) { return DingTalk.execute<{}>('util.domainStorage.setItem', params); } ~~~