128 lines
5.5 KiB
JavaScript
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();
|
|
}]);
|
|
});
|