You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

82 lines
2.4 KiB

// 全局函数/变量
export default {
install(Vue, options) {
Vue.prototype.getData = function () {
console.log('我是插件中的方法')
}
// Vue.prototype.DocConfig = {
// "server":'http://127.0.0.1/showdoc.cc/server/index.php?s=',
// "server":'../server/index.php?s=',
// }
Vue.prototype.request = function () {
}
Vue.prototype.getRootPath = function () {
return window.location.protocol + '//' + window.location.host + window.location.pathname
}
/* 判断是否是移动设备 */
Vue.prototype.isMobile = function () {
return !!navigator.userAgent.match(/iPhone|iPad|iPod|Android|android|BlackBerry|IEMobile/i)
}
Vue.prototype.get_user_info = function (callback) {
var that = this
var url = DocConfig.server + '/api/user/info'
var params = new URLSearchParams()
params.append('redirect_login', false)
that.axios.post(url, params)
.then(function (response) {
if (callback) { callback(response) };
})
}
Vue.prototype.get_notice = function (callback) {
var that = this
var url = DocConfig.server + '/api/notice/getList'
var params = new URLSearchParams()
params.append('notice_type', 'unread')
params.append('count', '1')
that.axios.post(url, params)
.then(function (response) {
if (callback) { callback(response) };
})
}
Vue.prototype.set_bg_grey = function () {
/* 给body添加类,设置背景色 */
document.getElementsByTagName('body')[0].className = 'grey-bg'
}
Vue.prototype.unset_bg_grey = function () {
/* 去掉添加的背景色 */
document.body.removeAttribute('class', 'grey-bg')
}
// json格式化与压缩
// compress=false的时候表示美化json,compress=true的时候表示将美化过的json压缩还原
Vue.prototype.formatJson = function (txt, compress = false) {
if (compress === false) {
try {
if (typeof txt === 'string') {
txt = JSON.parse(txt)
}
return JSON.stringify(txt, null, 2)
} catch (e) {
// 非json数据直接显示
return txt
}
}
// 将美化过的json压缩还原
try {
const obj = JSON.parse(txt);
return JSON.stringify(obj);
} catch (e) {
// 非json数据直接显示
return txt;
}
}
}
}