提供一种技术解决方案

提供一种技术解决方案
提供一个protal.js文件,文件暴露出一个login的公共方法。这个login方法内的逻辑获取各个平台的code换token
要求是这个文件写完后不要改了,比如当前要获取wx的code,那么在加一个获取抖音小程序的code,也不要去更改protal.js这个文件,只能去加一个dy.js去获取抖音小程序的code,再在protal.js里去换token
login方法有两个回调,登录成功的回调,失败的回调

// protal.js
async function login(success,fail){
  const getCode =  ?
  const code = getCode()
  const res = await request(xxxxxx/gettoken,  {
      code
   })
   if (res.code === 0) {
      success()
    } else {
      fail()
    }
}

写一个通用的代码,将不同的代码抽象出来,作为回调函数注入