runtimegroup / puzzle

刷题
3 stars 0 forks source link

复杂判断的更优雅写法 #9

Open tataqiuqiu opened 4 years ago

tataqiuqiu commented 4 years ago
/**
 * 按钮点击事件
 * @param {number} status 活动状态:1 开团进行中 2 开团失败 3 商品售罄 4 开团成功 5 系统取消
 */
const onButtonClick = (status)=>{
  if(status == 1){
    sendLog('processing')
    jumpTo('IndexPage')
  }else if(status == 2){
    sendLog('fail')
    jumpTo('FailPage')
  }else if(status == 3){
    sendLog('fail')
    jumpTo('FailPage')
  }else if(status == 4){
    sendLog('success')
    jumpTo('SuccessPage')
  }else if(status == 5){
    sendLog('cancel')
    jumpTo('CancelPage')
  }else {
    sendLog('other')
    jumpTo('Index')
  }
}
raozhanping commented 4 years ago

/**

liuguanyu commented 4 years ago
/**
按钮点击事件
@param {number} status 活动状态:1 开团进行中 2 开团失败 3 商品售罄 4 开团成功 5 系统取消
*/
class Vendor {
    static dataMap = [
        ['other', 'Index']
        ['processing', 'IndexPage'],
        ['fail', 'FailPage'],
        ['fail', 'FailPage'],
        ['success', 'SuccessPage'],
        ['cancel', 'CancelPage']
    ]   
    constructor (status){
        status = status | 0
        const dataMap = Vendor.dataMap
        this.dataState = dataMap[status] ? dataMap[status] : dataMap[0]
    }

    run (){
        sendLog(this.dataState[0])
        jumpTo(this.dataState[1])
    }
}

const onButtonClick = status => {
    new Vendor(status).run()
}