vue.config.js 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. module.exports = {
  2. publicPath: process.env.NODE_ENV === 'production' ? '/mobile/' : '/',
  3. outputDir: 'dist',
  4. devServer: {
  5. proxy: {
  6. '/mobile/api': {
  7. target: 'http://localhost:9099/',
  8. changeOrigin: true,
  9. logLevel: 'info',
  10. },
  11. },
  12. },
  13. pwa: {
  14. manifestOptions: {
  15. name: 'SGC Mobile',
  16. short_name: 'SGC Mobile',
  17. start_url: './',
  18. display: 'standalone', // standalone, fullscreen
  19. manifest_version : 3,
  20. version : "0.0.3",
  21. background_color: '#ed1c24',
  22. icons: [
  23. { sizes: '20x20', src: './img/icons/android-chrome-20x20.png', type: 'image/png', purpose: 'any' },
  24. { sizes: '29x29', src: './img/icons/android-chrome-29x29.png', type: 'image/png', purpose: 'any' },
  25. { sizes: '40x40', src: './img/icons/android-chrome-40x40.png', type: 'image/png', purpose: 'any' },
  26. { sizes: '76x76', src: './img/icons/android-chrome-76x76.png', type: 'image/png', purpose: 'any' },
  27. { sizes: '167x167', src: './img/icons/android-chrome-167x167.png', type: 'image/png', purpose: 'any' },
  28. { sizes: '192x192', src: './img/icons/android-chrome-192x192.png', type: 'image/png', purpose: 'any' },
  29. { sizes: '512x512', src: './img/icons/android-chrome-512x512.png', type: 'image/png', purpose: 'any' },
  30. {
  31. sizes: '192x192',
  32. src: './img/icons/android-chrome-maskable-192x192.png',
  33. purpose: 'any maskable',
  34. type: 'image/png',
  35. },
  36. {
  37. sizes: '512x512',
  38. src: './img/icons/android-chrome-maskable-512x512.png',
  39. purpose: 'any maskable',
  40. type: 'image/png',
  41. },
  42. ],
  43. shortcuts: [
  44. {
  45. name: 'Home',
  46. description: 'Home Page',
  47. url: '/#home',
  48. icons: [{ sizes: '96x96', src: './img/icons/menu-home-96x96.png', type: 'image/png', purpose: 'any' }],
  49. },
  50. {
  51. name: '하자처리',
  52. description: '하자처리',
  53. url: '/#/as/defting',
  54. icons: [{ sizes: '96x96', src: './img/icons/menu-defting-96x96.png', type: 'image/png', purpose: 'any' }],
  55. },
  56. {
  57. name: '하자완료조회',
  58. description: '하자완료조회',
  59. url: '/#/as/deftdone',
  60. icons: [{ sizes: '96x96', src: './img/icons/menu-deftdone-96x96.png', type: 'image/png', purpose: 'any' }],
  61. },
  62. {
  63. name: '하자작업지시',
  64. description: '하자작업지시',
  65. url: '/#/po/deftmang',
  66. icons: [{ sizes: '96x96', src: './img/icons/menu-deftmang-96x96.png', type: 'image/png', purpose: 'any' }],
  67. },
  68. {
  69. name: '하자조회및완료처리',
  70. description: '하자조회및완료처리',
  71. url: '/#/po/deftque',
  72. icons: [{ sizes: '96x96', src: './img/icons/menu-deftque-96x96.png', type: 'image/png', purpose: 'any' }],
  73. },
  74. {
  75. name: '회의실예약',
  76. description: '회의실예약',
  77. url: '/#/po/roomrev',
  78. icons: [{ sizes: '96x96', src: './img/icons/menu-roomrev-96x96.png', type: 'image/png', purpose: 'any' }],
  79. },
  80. {
  81. name: '회의실예약승인',
  82. description: '회의실예약승인',
  83. url: '/#/po/roomapp',
  84. icons: [{ sizes: '96x96', src: './img/icons/menu-roomapp-96x96.png', type: 'image/png' , purpose: 'any'}],
  85. },
  86. ],
  87. orientation: 'portrait',
  88. },
  89. msapplicationTileColor : '#000000',
  90. appleMobileWebAppTitle : 'SGC Mobile',
  91. appleMobileWebAppCapable: 'yes',
  92. appleMobileWebAppStatusBarStyle: 'black-translucent',
  93. appleMobileWebAppTitle : 'SGC Mobile',
  94. iconPaths: {
  95. maskicon: null,
  96. favicon32: './img/icons/favicon-32x32.png',
  97. favicon16: './img/icons/favicon-16x16.png',
  98. appleTouchIcon: null,
  99. msTileImage: null,
  100. },
  101. // configure the workbox plugin
  102. workboxPluginMode: 'GenerateSW',
  103. },
  104. };