This repo is archived. You can view files and clone it, but cannot push or open issues or pull requests.
SXS20240115/SRC/iMES_PDA/config/config.js
2024-01-24 16:47:50 +08:00

128 lines
5.5 KiB
JavaScript

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){
//20210428 修正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 = '/mms01_user_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('/mms03_system_home');
} else {
$urlRouterProvider.otherwise(default_program);
}
}]).run(['$urlRouter', '$rootScope', '$state', 'config', function($urlRouter, $rootScope, $state, config){
$urlRouter.sync();
$urlRouter.listen();
}]);
});