ifui
Version:
95 lines (79 loc) • 3.23 kB
JavaScript
'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();
}
}
}
}
}
});