選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

82 行
2.4 KiB

  1. // 全局函数/变量
  2. export default {
  3. install(Vue, options) {
  4. Vue.prototype.getData = function () {
  5. console.log('我是插件中的方法')
  6. }
  7. // Vue.prototype.DocConfig = {
  8. // "server":'http://127.0.0.1/showdoc.cc/server/index.php?s=',
  9. // "server":'../server/index.php?s=',
  10. // }
  11. Vue.prototype.request = function () {
  12. }
  13. Vue.prototype.getRootPath = function () {
  14. return window.location.protocol + '//' + window.location.host + window.location.pathname
  15. }
  16. /* 判断是否是移动设备 */
  17. Vue.prototype.isMobile = function () {
  18. return !!navigator.userAgent.match(/iPhone|iPad|iPod|Android|android|BlackBerry|IEMobile/i)
  19. }
  20. Vue.prototype.get_user_info = function (callback) {
  21. var that = this
  22. var url = DocConfig.server + '/api/user/info'
  23. var params = new URLSearchParams()
  24. params.append('redirect_login', false)
  25. that.axios.post(url, params)
  26. .then(function (response) {
  27. if (callback) { callback(response) };
  28. })
  29. }
  30. Vue.prototype.get_notice = function (callback) {
  31. var that = this
  32. var url = DocConfig.server + '/api/notice/getList'
  33. var params = new URLSearchParams()
  34. params.append('notice_type', 'unread')
  35. params.append('count', '1')
  36. that.axios.post(url, params)
  37. .then(function (response) {
  38. if (callback) { callback(response) };
  39. })
  40. }
  41. Vue.prototype.set_bg_grey = function () {
  42. /* 给body添加类,设置背景色 */
  43. document.getElementsByTagName('body')[0].className = 'grey-bg'
  44. }
  45. Vue.prototype.unset_bg_grey = function () {
  46. /* 去掉添加的背景色 */
  47. document.body.removeAttribute('class', 'grey-bg')
  48. }
  49. // json格式化与压缩
  50. // compress=false的时候表示美化json,compress=true的时候表示将美化过的json压缩还原
  51. Vue.prototype.formatJson = function (txt, compress = false) {
  52. if (compress === false) {
  53. try {
  54. if (typeof txt === 'string') {
  55. txt = JSON.parse(txt)
  56. }
  57. return JSON.stringify(txt, null, 2)
  58. } catch (e) {
  59. // 非json数据直接显示
  60. return txt
  61. }
  62. }
  63. // 将美化过的json压缩还原
  64. try {
  65. const obj = JSON.parse(txt);
  66. return JSON.stringify(obj);
  67. } catch (e) {
  68. // 非json数据直接显示
  69. return txt;
  70. }
  71. }
  72. }
  73. }