index.js 1.35 KB
/**
 * 全局公有方法
 */

/**
 * 请不要把原有 yohobuy 项目的代码复制过来!
 * 请不要把原有 yohobuy 项目的代码复制过来!
 * 请不要把原有 yohobuy 项目的代码复制过来!
 *
 * 所有与业务无关,复用多的代码尽量模块化
 * 除非万不得已,不要声明全局变量
 * 这一块的代码很少
 *
 * 1. cookie 操作请使用 yoho-cookie 文档:https://github.com/florian/cookie.js
 * 2. 查询字符串读取 请使用 yoho-qs
 */
const $ = require('jquery');
const yoho = require('yoho');
const Vue = require('vue');
const interceptClick = require('common/intercept-click');
const bus = require('common/vue-bus');

// 隐藏 App 默认显示的 loading
Vue.mixin({
    ready() {
        if (this === this.$root && location.pathname !== '/sidebar') {
            yoho.showLoading(false);
        }
    }
});

$(() => {
    const $body = $('body');

    if ($body.hasClass('no-local-js')) {
        yoho.showLoading(false); // 隐藏 App 默认显示的 loading
    }

    $body.on('click', 'a[href]', function() {
        // 拦截跳转
        if (!$(this).hasClass('no-intercept')) {
            interceptClick.intercept($(this).attr('href'));
            return false;
        }
    });

    yoho.addNativeMethod('triggerH5Event', (eventName) => {
        alert(eventName);
        bus.$emit(eventName);
    });
});