UNPKG

ifui

Version:

95 lines (79 loc) 3.23 kB
'use strict'; exports.__esModule = true; var _create = require('../utils/create'); var _create2 = _interopRequireDefault(_create); var _utils = require('../utils/utils'); var utils = _interopRequireWildcard(_utils); var _device = require('../utils/device'); var _device2 = _interopRequireDefault(_device); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = (0, _create2.default)({ render: function render() { var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('header', { class: [_vm.b(), { "__isApp": _vm.isApp, "__isIphoneX": _vm.isIphoneX, "__fixed": _vm.isFixedTop }], style: _vm.bgColor }, [_c('div', { class: _vm.b('left'), on: { "click": _vm.onClickBack } }, [_c('ifu-icon', { directives: [{ name: "show", rawName: "v-show", value: !_vm.$slots.leftBtn, expression: "!$slots.leftBtn" }], attrs: { "name": "fanhui" } }), _vm.$slots.leftBtn ? _vm._t("leftBtn") : _vm._e()], 2), _c('div', { class: _vm.b('center') }, [_vm.$slots.name ? _vm._t("name") : _vm._e(), !_vm.$slots.name ? _c('div', { staticClass: "ifui_header__title" }, [_vm._v(_vm._s(_vm.$route.meta.name))]) : _vm._e()], 2), _c('div', { class: _vm.b('right') }, [_vm._t("rightBtn")], 2)]); }, name: 'nav-bar', props: { bgColor: { type: Object, default: function _default() { return { background: '#fafafa', boxShadow: '0px 1px 0px 0px #ebebeb', color: '#333' }; } }, // 内容是否从顶部开始 isFixedTop: { type: Boolean, default: false }, preventGoBack: { type: Boolean, default: false } }, computed: { isApp: function isApp() { return utils.isApp(); }, isIphoneX: function isIphoneX() { if (utils.queryParse().channel === '30') { return _device2.default.isIPhoneX(); } else { return false; } } }, created: function created() { if (window.history.length <= 1) { if (location.href.indexOf('?') === -1) { window.location.href = location.href + '?goindex=true'; } else if (location.href.indexOf('?') !== -1 && location.href.indexOf('goindex') === -1) { window.location.href = location.href + '&goindex=true'; } } }, methods: { onClickBack: function onClickBack() { if (this.preventGoBack) { this.$emit('on-click-back'); } else { if (this.isApp) { if (this.$route.query.goindex === 'true') { // todo app Back function } else { this.$router ? this.$router.back() : window.history.back(); } } else { if (this.$route.query.goindex === 'true') { window.location.href = window.location.origin; } else { this.$router ? this.$rotuer.back() : window.location.back(); } } } } } });