NativeApis.js 1.19 KB
export const NativeMethodNames = {
    AppInfoApi: 'nativeAppInfo',
    AppShare: 'nativeAppShare',
    AppBottomMenu: 'nativeMenu'
}

export const JsMethodNames = {
    PayResult: 'payResult'
}

export const JsInterfaces = objVal2Array(JsMethodNames)


export const NativeMenuApi = {
    nativeMenuStatus: (isShow) => {
        const param = isShow && { type: '1' } || { type: '2' }
        return $api.call(NativeMethodNames.AppBottomMenu, param, false)
    },
    nativeChangeMenu: (param) => {
        const newParam = { ...param, type: '3' }
        return $api.call(NativeMethodNames.AppBottomMenu, newParam, false)
    }
}


export const NativeApi = {
    on: (jsMethodName, callback) => {
        $api.on(jsMethodName, callback)
    },

    call: (nativeMethodName, param, isBack) => {
        return $api.call(nativeMethodName, param, isBack)
    },

    nativeAppInfo: (param) => {
        return $api.call(NativeMethodNames.AppInfoApi, param, true)
    },

    nativeAppShare: (param) => {
        return $api.call(NativeMethodNames.AppShare, param, true)
    }
}



function objVal2Array (obj) {
    const arrays = []
    for (const key in obj) {
        arrays.push(obj[key])
    }
    return arrays
}