main.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. import Vue from 'vue'
  2. import App from './App'
  3. Vue.config.productionTip = false
  4. App.mpType = 'app'
  5. const app = new Vue({
  6. ...App
  7. })
  8. import cuCustom from './lib/colorui/components/cu-custom.vue'
  9. Vue.component('cu-custom',cuCustom)
  10. document.body.addEventListener('touchstart', () => {}, {
  11. passive: false
  12. })
  13. // 引入文件
  14. import Dever from './lib/dever'
  15. // 绑定全局的组件
  16. import ourLoading from '@/lib/our-loading/our-loading.vue'
  17. Vue.component('ourLoading', ourLoading)
  18. Vue.prototype.pageLoading = true;
  19. Vue.prototype.pageLoadingText = '加载中...';
  20. // 绑定弹窗
  21. import layer from '@/static/layer/layer.js';
  22. Dever.layer = layer;
  23. // 绑定到 Vue 的实例上
  24. Vue.prototype.Dever = Dever;
  25. // 载入全局配置 默认配置,防止第一次载入报错的,系统会自动从后台更新最新的配置
  26. var defaultConfig = {
  27. 'system_name' : '合小记',
  28. 'system_info' : '合小记',
  29. 'system_logo' : '../../static/logo.png',
  30. //自动更新时间间隔
  31. 'set_update' : 86400,
  32. //本次更新时间
  33. 'update_time' : false,
  34. };
  35. Vue.prototype.Dever.init('main/?l=api.config', Vue, defaultConfig);
  36. //自定义get的loading效果,设置全屏loading
  37. Vue.prototype.Dever.setGetLoading(function(self) {
  38. self.vue.prototype.pageLoading = true;
  39. }, function(self) {
  40. self.vue.prototype.pageLoading = false;
  41. self.btnFinish();
  42. });
  43. //自定义post的loading
  44. Vue.prototype.Dever.setPostLoading(function(self) {
  45. self.btnLoad();
  46. uni.showLoading({title: '加载中', mask: true});
  47. }, function(self) {
  48. self.btnFinish();
  49. uni.hideLoading();
  50. });
  51. //自定义page的loading效果,设置全屏loading
  52. Vue.prototype.Dever.setPageLoading(function(self) {
  53. self.vue.prototype.pageLoading = true;
  54. }, function(self) {
  55. self.vue.prototype.pageLoading = false;
  56. self.btnFinish();
  57. });
  58. //设置switchTab
  59. Vue.prototype.Dever.switchTab = [];
  60. Vue.prototype.Dever.web_view = '/pages/tool/web_view';
  61. //自定义switchTab页面回调,因为switchTab执行后不会自动刷新页面,这里需要做个回调
  62. Vue.prototype.Dever.switchTabCall = {
  63. 'index/index' : function(self, e) {
  64. var page = self.getPage();
  65. if (!page) return;
  66. if ('getInfo' in page) {
  67. page.getInfo();
  68. }
  69. }
  70. };
  71. //载入一些通用的方法
  72. Vue.prototype.Dever.common({
  73. // 载入人工客服
  74. 'callPhone' : function() {
  75. uni.makePhoneCall({
  76. phoneNumber: Vue.prototype.$config.system_phone
  77. });
  78. },
  79. // 跳转到页面
  80. 'location' : function(e) {
  81. Vue.prototype.Dever.viewLocation(e);
  82. },
  83. // 提示
  84. 'alert' : function(e) {
  85. Vue.prototype.Dever.viewAlert(e);
  86. },
  87. })
  88. app.$mount()