main.js 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. import Vue from 'vue'
  2. import uView from "uview-ui";
  3. Vue.use(uView);
  4. import App from './App'
  5. import PermissionHandler from '@/uni_modules/x-perm-apply-instr/js_sdk/index.js'
  6. //数据管理中心
  7. import store from '@/store'
  8. Vue.prototype.$store = store;
  9. // 工具
  10. import '@/plugins/utils.js';
  11. //权限配置中心
  12. import base from '@/config/baseUrl'
  13. Vue.prototype.$base = base;
  14. //挂载全局http请求
  15. import $http from '@/config/requestConfig'
  16. Vue.prototype.$http = $http;
  17. //挂载全局页面跳转
  18. import {
  19. navigate
  20. } from '@/config/utils'
  21. Vue.prototype.navigate = navigate;
  22. // #ifdef MP-WEIXIN
  23. //挂载全局微信分享
  24. import {
  25. wxShare
  26. } from '@/config/utils'
  27. Vue.prototype.wxShare = wxShare;
  28. // #endif
  29. // 挂载全局登录
  30. import {
  31. login
  32. } from '@/config/login';
  33. Vue.prototype.$login = login;
  34. //判断是否登录
  35. import {
  36. judgeLogin
  37. } from '@/config/login';
  38. Vue.prototype.judgeLogin = judgeLogin;
  39. import '@/config/ican-H5Api';
  40. Vue.config.productionTip = false;
  41. // #ifdef H5
  42. //微信SDK
  43. import '@/plugins/wxJsSDK.js';
  44. // #endif
  45. import DB from "@/common/sqlite";
  46. //全局组件
  47. import publicModule from "@/components/common/public-module.vue";
  48. Vue.component("public-module", publicModule);
  49. import serviceWidget from '@/components/common/serviceWidget.vue';
  50. Vue.component("service-widget", serviceWidget);
  51. App.mpType = 'app'
  52. const app = new Vue({
  53. store,
  54. ...App
  55. })
  56. app.$mount();
  57. // #ifdef APP-PLUS
  58. let main = plus.android.runtimeMainActivity();
  59. //为了防止快速点按返回键导致程序退出重写quit方法改为隐藏至后台
  60. plus.runtime.quit = function() {
  61. main.moveTaskToBack(false);
  62. };
  63. //重写toast方法如果内容为 ‘再按一次退出应用’ 就隐藏应用,其他正常toast
  64. plus.nativeUI.toast = (function(str) {
  65. if (str == '再按一次退出應用') {
  66. DB.closeSqlite()
  67. .then(res => {
  68. // this.showToast("数据库已关闭");
  69. })
  70. .catch(error => {
  71. // this.showToast("数据库关闭失败");
  72. });
  73. main.moveTaskToBack(false);
  74. return false;
  75. } else {
  76. uni.showToast({
  77. title: str,
  78. icon: 'none',
  79. })
  80. }
  81. });
  82. // #endif
  83. // 添加权限拦截器
  84. // #ifdef APP-PLUS
  85. PermissionHandler.addPermissionInterceptor('chooseImage');
  86. PermissionHandler.addPermissionInterceptor('chooseVideo');
  87. PermissionHandler.addPermissionInterceptor('saveImageToPhotosAlbum');
  88. PermissionHandler.addPermissionInterceptor('getLocation');
  89. PermissionHandler.addPermissionInterceptor('getRecorderManager');
  90. // #endif