main.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. import Vue from 'vue'
  2. import uView from "uview-ui";
  3. Vue.use(uView);
  4. import App from './App'
  5. //数据管理中心
  6. import store from '@/store'
  7. Vue.prototype.$store = store;
  8. // 工具
  9. import '@/plugins/utils.js';
  10. //权限配置中心
  11. import base from '@/config/baseUrl'
  12. Vue.prototype.$base = base;
  13. //挂载全局http请求
  14. import $http from '@/config/requestConfig'
  15. Vue.prototype.$http = $http;
  16. //挂载全局页面跳转
  17. import {
  18. navigate
  19. } from '@/config/utils'
  20. Vue.prototype.navigate = navigate;
  21. // #ifdef MP-WEIXIN
  22. //挂载全局微信分享
  23. import {
  24. wxShare
  25. } from '@/config/utils'
  26. Vue.prototype.wxShare = wxShare;
  27. // #endif
  28. // 挂载全局登录
  29. import {
  30. login
  31. } from '@/config/login';
  32. Vue.prototype.$login = login;
  33. //判断是否登录
  34. import {
  35. judgeLogin
  36. } from '@/config/login';
  37. Vue.prototype.judgeLogin = judgeLogin;
  38. import '@/config/ican-H5Api';
  39. Vue.config.productionTip = false;
  40. // #ifdef H5
  41. //微信SDK
  42. import '@/plugins/wxJsSDK.js';
  43. // #endif
  44. import DB from "@/common/sqlite";
  45. //全局组件
  46. import publicModule from "@/components/common/public-module.vue";
  47. Vue.component("public-module", publicModule);
  48. App.mpType = 'app'
  49. const app = new Vue({
  50. store,
  51. ...App
  52. })
  53. app.$mount();
  54. // #ifdef APP-PLUS
  55. let main = plus.android.runtimeMainActivity();
  56. //为了防止快速点按返回键导致程序退出重写quit方法改为隐藏至后台
  57. plus.runtime.quit = function() {
  58. main.moveTaskToBack(false);
  59. };
  60. //重写toast方法如果内容为 ‘再按一次退出应用’ 就隐藏应用,其他正常toast
  61. plus.nativeUI.toast = (function(str) {
  62. if (str == '再按一次退出應用') {
  63. DB.closeSqlite()
  64. .then(res => {
  65. // this.showToast("数据库已关闭");
  66. })
  67. .catch(error => {
  68. // this.showToast("数据库关闭失败");
  69. });
  70. main.moveTaskToBack(false);
  71. return false;
  72. } else {
  73. uni.showToast({
  74. title: str,
  75. icon: 'none',
  76. })
  77. }
  78. });
  79. // #endif
  80. //在main.js中配置
  81. // function sizeFun() {
  82. // // 宽屏字体大小适配
  83. // let n = 1920;
  84. // // 循环运算判断,共9次,最小屏幕192,最大屏幕3640,以下,n是当前预设屏幕宽,i是循环计算次数
  85. // for (let i = 0; i < 9; i++) {
  86. // // 如果当前屏幕宽就是设计稿屏幕(1920),就不进行缩放
  87. // if (uni.getSystemInfoSync().windowWidth == n) {
  88. // return 1;
  89. // }
  90. // // 如果当前屏幕宽小于1920
  91. // if (uni.getSystemInfoSync().windowWidth < n) {
  92. // // 那就进入循环,预设屏幕大小减去192,再判断当前屏幕是否大于1920-192
  93. // n -= 192;
  94. // // 如果当前屏幕大于预设屏幕,就赋值
  95. // if (uni.getSystemInfoSync().windowWidth > n) {
  96. // // i+1:因为i从零开始
  97. // // 10-i+1:因为要算出当前是倒数第几次循环
  98. // // 10-i+1/10:因为要取1以下的小数
  99. // return (10 - (i + 1)) / 10;
  100. // }
  101. // }
  102. // // 如果当前屏幕宽大于1920
  103. // if (uni.getSystemInfoSync().windowWidth > n) {
  104. // // 那就进入循环,预设屏幕大小加上192,再判断当前屏幕是否大于1920+192
  105. // n += 192;
  106. // // 如果当前屏幕小于预设屏幕,就赋值
  107. // if (uni.getSystemInfoSync().windowWidth < n) {
  108. // // i+1:因为i从零开始
  109. // //(i+1)/10:因为要算出当前是第几次循环,得出小数,
  110. // // 1+i+1/10:取1以上的小数
  111. // // 结束循环
  112. // return 1 + ((i + 1) / 10);
  113. // }
  114. // }
  115. // }
  116. // }
  117. // //配置到全局方便使用
  118. // Vue.prototype.$pageSize = sizeFun();