This repo is archived. You can view files and clone it, but cannot push or open issues or pull requests.
SXS20240115/SRC/iMES_PAD/config/config.js

128 lines
5.7 KiB
JavaScript
Raw Permalink Normal View History

2024-01-24 16:47:50 +08:00
define(['app', 'angularAMD', 'fastClick', 'text!config/config.json'], function (app, angularAMD, FastClick, config) {
'use strict';
app.config(['$httpProvider', '$provide', '$translateProvider', '$touchProvider', 'config',
function ($httpProvider, $provide, $translateProvider, $touchProvider, config) {
//$httpProvider.defaults.useXDomain = true; //allow cross domain
//$httpProvider. defaults.withCredentials = true; //allow cross domain Cookie
try {
//ionic config
//$ionicConfigProvider.templates.maxPrefetch(0);
//Get Config.json and menu.json
$touchProvider.ngClickOverrideEnabled(true);
if (typeof (Storage) !== 'undefined') {
//載入設定
config.setting = angular.merge(config.setting, JSON.parse(localStorage.getItem(config.appName + '_setting')));
if (!config.setting.fullScreen) {
config.setting.fullScreen = 'Y';
}
if (!config.setting.virtualKeyboard) {
config.setting.virtualKeyboard = 'N';
}
//20201023 雋辰,新增WS設定
config.serverList = angular.merge(config.serverList, JSON.parse(localStorage.getItem(config.appName + '_serverList')));
//載入Server設定
config.server = angular.merge({}, config.serverList[config.setting.environment]);//取出預設的Server資訊
var LocalServerConfig = JSON.parse(localStorage.getItem(config.appName + '_server'));//取出本地端儲存的Server資訊
angular.merge(config.server, LocalServerConfig);
if (config.server.name == '') {
config.server.name = 'MES_Production_MESws_STD';
}
if (config.server.eainame == '') {
config.server.eainame = 'MES_Production_MESws_EAI';
}
var login_string = localStorage.getItem(config.appName + '_login');
if (login_string)
config.login = JSON.parse(login_string);
if (window.cordova) {
//20201223 雋辰,修正APK版初始版號被暫存值(空值)蓋掉
var storageVer = localStorage.getItem(config.appName + '_version');
if (storageVer && storageVer != '')
config.appVersion = storageVer;
}
config.cache.platform = localStorage.getItem(config.appName + "_servicePlatform");
if (!config.cache.platform) {
config.cache.platform = 'MES';
}
}
//Get App Infomation
try {
cordova.getAppVersion.getPackageName().then(function (packageName) {
config.packageName = packageName;
});
} catch (e) { }
// Localization Config
var localizationSettings = [];
for (var index in config.module) {
localizationSettings.push({
prefix: 'module/' + config.module[index] + '/localization/localization-',
suffix: '.json'
});
}
$translateProvider.useStaticFilesLoader({ files: localizationSettings });
$translateProvider.preferredLanguage(config.setting.lang);
FastClick.attach(document.body);
try {
//設定全螢幕
AndroidFullScreen.immersiveMode(function () {
console.info('It worked!');
}, function (error) {
alert(error);
});
//綁定橫向螢幕
//screen.lockOrientation('landscape');
//關閉狀態列
StatusBar.hide();
//override Android返回鍵
document.addEventListener('backbutton', function onBackKeyDown(e) {
e.preventDefault();
}, false);
} catch (e) { };
try {
//for ios 設定鍵盤出現時,畫面不可滑動
cordova.plugins.Keyboard.disableScroll(true);
window.navigationbar.setUp(true);
window.addEventListener('native.keyboardhide', function () {
window.navigationbar.hide();
});
} catch (e) { }
} catch (e) {
console.log(e);
}
}
]).config(['$stateProvider', '$urlRouterProvider', 'config', function ($stateProvider, $urlRouterProvider, config) {
// Don't sync the url till we're ready
$urlRouterProvider.deferIntercept();
var login_string = localStorage.getItem('KMI_login'),
default_program = '/login';
angular.forEach(config.program, function (value) {
var state = angularAMD.route(value);
if (state.default == true) {
default_program = value.url;
}
$stateProvider.state(value.name, state);
});
if (login_string) {
$urlRouterProvider.otherwise('/home');
} else {
$urlRouterProvider.otherwise(default_program);
}
}]).run(['$urlRouter', '$rootScope', '$state', 'config', function ($urlRouter, $rootScope, $state, config) {
$urlRouter.sync();
$urlRouter.listen();
}]);
});