//window.rootUrl=window.location.host;
window.rootUrl='muchang.bbscodes.com';
define(['angularAMD', 'angular-ui-router', 'angular-resource'], function (angularAMD) {
'use strict';
var app = angular.module("webApp", ['ui.router', 'ngResource']);
app.run(function ($rootScope) {
/**
* @return {null}
*/
var GetQueryString = function (name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r !== null){
return unescape(r[2]);
}
return null;
};
var token = GetQueryString("token");
if(token !== null){
try{
var tempStorage=localStorage.getItem('user')|| '';
if(tempStorage){
localStorage.removeItem('user')
}
localStorage.setItem("user", token);
}catch(e) {
alert('IOS用户需要退出浏览器隐私模式,重新打开才能访问,苹果官方要求,敬请谅解!');
window.close();
return false;
}
}
// window.tokenTemp=window.location.search;
// var tempLength=window.tokenTemp.indexOf("=");
// var tempName=window.tokenTemp.substr(1,tempLength-1);
// window.tokenTemp=window.tokenTemp.substr(tempLength+1,window.tokenTemp.length-tempLength-1);
// if(tempName==="token"){
// localStorage.setItem("user",window.tokenTemp);
// }
$rootScope.loadingStr="

";
$rootScope.rootUser = false;
$rootScope.curState = 'root.home';//首页显示当前页
// 监听路由变化
$rootScope.$on('$stateChangeStart', function (event, toState) {
$rootScope.curState = toState.name;
// var noNeedLogin = ['auth.login', 'auth.register', 'auth.resetPsd', 'oneLogin'];
// if (noNeedLogin.indexOf(toState.name) < 0 && !User.checkAuth()) {
// $state.go("auth.login");//跳转到登录页
// event.preventDefault(); //阻止默认事件,即原本页面的加载
// }
});
$rootScope.verifyUrl = "http://"+rootUrl+"/wapi/util/getVerify";
});
//常量设置
app.constant('ENV', {
'REGULAR_MONEY': /^\d*(\.\d{1,2}){0,1}$/,
'REGULAR_MOBILE': /^1\d{10}$/,
'REGULAR_IDCARD': /(^\d{15}$)|(^\d{17}(\d|[X,x])$)/,
'imgSrc':'http://'+rootUrl,
// 'API_URL': 'http://localhost:3000/wapi',//http://localhost:3000
'API_URL': "http://"+rootUrl+"/home/web/index.php?r=",
'default_avatar': 'img/nav.png'
}
);
app.config(function ($stateProvider, $urlRouterProvider) {
var ver = '0.1.23';
$stateProvider
.state('root', {
abstract: true,
url: '',
views: {
'header': angularAMD.route({
templateUrl: 'templates/home/header.html?ver=' + ver,
controller: 'HeaderCtrl',
controllerUrl: 'controller/homeCtrl'
}),
'footer': angularAMD.route({
templateUrl: 'templates/home/footer.html?ver=' + ver,
controller: 'HeaderCtrl',
controllerUrl: 'controller/homeCtrl'
})
}
})
.state('root.home', {
url: "/home",
views: {
'@': angularAMD.route({
templateUrl: 'templates/home/home.html?ver=' + ver,
controller: 'homeCtrl',
controllerUrl: 'controller/homeCtrl'
})
}
})
.state('root.market', {
url: "/market",
views: {
'@': angularAMD.route({
templateUrl: 'templates/market/list.html?ver=' + ver,
controller: 'marketListCtrl',
controllerUrl: 'controller/marketCtrl'
})
}
})
.state('root.market.detail', {
url: "/detail/:pid/:title/:imgSrc",
params: {pid: null,title:null,imgSrc:null},
views: {
'@': angularAMD.route({
templateUrl: 'templates/market/detail.html?ver=' + ver,
controller: 'marketDetailCtrl',
controllerUrl: 'controller/marketCtrl'
})
}
})
.state('root.news', {
url: "/news/:passNum",
views: {
'@': angularAMD.route({
templateUrl: 'templates/news/notice.html?ver=' + ver,
controller: 'newsCtrl',
controllerUrl: 'controller/homeCtrl'
})
}
})
.state('root.news.detail', {
url: "/detail/:id/:type",
params: {id: null},
views: {
'@': angularAMD.route({
templateUrl: 'templates/news/detail.html?ver=' + ver,
controller: 'detailCtrl',
controllerUrl: 'controller/homeCtrl'
})
}
})
//攻略资料
.state('root.strategy', {
url: "/strategy/:currentTap/:introValue/:id",
views: {
'@': angularAMD.route({
templateUrl: 'templates/strategy/introduce.html?ver=' + ver,
controller: 'strategyCtrl',
controllerUrl: 'controller/homeCtrl'
})
}
})
//用户信息-注册
.state('root.register', {
url: "/register/:ref",
views: {
'@': angularAMD.route({
templateUrl: 'templates/auth/register.html?ver=' + ver,
controller: 'registerCtrl',
controllerUrl: 'controller/homeCtrl'
})
}
})
//用户信息-登陆
.state('root.auth', {
url: "/auth/:token",
views: {
'@': angularAMD.route({
templateUrl: 'templates/auth/login.html?ver=' + ver,
controller: 'loginCtrl',
controllerUrl: 'controller/homeCtrl'
})
}
})
//用户信息-个人中心
.state('root.userCenter', {
url: "/userCenter:openAuth/:childCurrent",
views: {
'@': angularAMD.route({
templateUrl: 'templates/auth/userCenter.html?ver=' + ver,
controller: 'userCenterCtrl',
controllerUrl: 'controller/userCtrl'
})
}
})
//帮助中心
.state('root.help', {
url: "/help/:currentTap",
views: {
'@': angularAMD.route({
templateUrl: 'templates/help/home.html?ver=' + ver,
controller: 'helpCtrl',
controllerUrl: 'controller/homeCtrl'
})
}
})
//关于我们
.state('root.about', {
url: "/about/:curTabs/:title",
views: {
'@': angularAMD.route({
templateUrl: 'templates/about/home.html?ver=' + ver,
controller: 'aboutCtrl',
controllerUrl: 'controller/homeCtrl'
})
}
})
;
$urlRouterProvider.otherwise('/home');
});
app.config(function ($httpProvider) {
$httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8';
$httpProvider.defaults.headers.put['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8';
var param = function (obj) {
var query = '', name, value, fullSubName, subName, subValue, innerObj, i;
for (name in obj) {
value = obj[name];
if (value instanceof Array) {
for (i = 0; i < value.length; ++i) {
subValue = value[i];
fullSubName = name + '[' + i + ']';
innerObj = {};
innerObj[fullSubName] = subValue;
query += param(innerObj) + '&';
}
}
else if (value instanceof Object) {
for (subName in value) {
subValue = value[subName];
fullSubName = name + '[' + subName + ']';
innerObj = {};
innerObj[fullSubName] = subValue;
query += param(innerObj) + '&';
}
}
else if (value !== undefined && value !== null)
query += encodeURIComponent(name) + '=' + encodeURIComponent(value) + '&';
}
return query.length ? query.substr(0, query.length - 1) : query;
};
$httpProvider.defaults.transformRequest = [function (data) {
return angular.isObject(data) && String(data) !== '[object File]' ? param(data) : data;
}];
/*$httpProvider.defaults.headers.post['X-CSRFToken'] = 11;*/
// $httpProvider.interceptors.push('TokenAuth');
});
return angularAMD.bootstrap(app);
});