ts随手记 - 20220207

402 阅读1分钟

interface Plugin {
  cemMember: {
    checkMember: (p: PluginCheckMemberParams) => any
  }
}

interface PluginCheckMemberParams {
  sellerId?: string,
  success?: (r: any) => any,
  fail?: (e: any) => any
}

function requirePlugin<PluginName extends 'cemMember'>(pluginName: PluginName): Plugin[PluginName] {
  // todo
  return <any>0
}

var memberPlugin = requirePlugin("cemMember")

memberPlugin.checkMember({
  sellerId: '12345',
  success(v) {
    console.info('checkMember', v)
  },
  fail(v) {
    console.info('checkMember fail', v)
  }
});