@@ -205,13 +205,19 @@ function formatToVueApi(api, params) {
205205 r . event_input = baseName ? `\`${ baseName } \`` : '' ;
206206 interfaceDescription = interfaceDescription . concat ( interfaceDesc ) ;
207207 interfaceDesc . length && ( hasComplicatedType = true ) ;
208+ // 记录 event 输入类型的基本字符串,后面用于检测是否包含通用全局类型
209+ if ( ! r . _eventTypeBases ) r . _eventTypeBases = [ ] ;
210+ r . _eventTypeBases . push ( baseName || api . event_input ) ;
208211 }
209212 // 格式化 event_output
210213 if ( api . event_output ) {
211214 const { baseName, interfaceDesc } = moveTsTypeToDesc ( api . event_output ) ;
212215 r . event_output = baseName ? `\`${ baseName } \`` : '' ;
213216 interfaceDescription = interfaceDescription . concat ( interfaceDesc ) ;
214217 interfaceDesc . length && ( hasComplicatedType = true ) ;
218+ // 记录 event 输出类型的基本字符串
219+ if ( ! r . _eventTypeBases ) r . _eventTypeBases = [ ] ;
220+ r . _eventTypeBases . push ( baseName || api . event_output ) ;
215221 }
216222 // 如果有复杂类型定义就添加超链接指向具体的 TS 类型定义链接地址
217223 if ( hasComplicatedType ) {
@@ -220,6 +226,15 @@ function formatToVueApi(api, params) {
220226 const text = languageConfig [ LANGUAGE ] ;
221227 desc = desc . concat ( `[${ text . detailDefineText } ]${ v } ` ) ;
222228 }
229+ // 如果事件的输入/输出中包含通用类型,则也显示「查看通用类型定义」链接
230+ if ( r . _eventTypeBases && r . _eventTypeBases . length ) {
231+ const eventBasesStr = r . _eventTypeBases . join ( ' ' ) ;
232+ const filters = TDESIGN_GLOBALS . filter ( global => eventBasesStr . indexOf ( global ) !== - 1 ) ;
233+ if ( filters . length ) {
234+ const text = languageConfig [ LANGUAGE ] . commonDefineText ;
235+ desc . push ( `[${ text } ](${ config . commonTypePath } )` ) ;
236+ }
237+ }
223238 r . field_required = r . field_required ? 'Y' : 'N' ;
224239 r . field_default_value = r . field_default_value || '-' ;
225240 // 非受控属性名称
0 commit comments