common.js
7.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
//获取地址栏中的某个查询参数
function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) {
return r[2];
}
return null;
}
//解析url中的guid在localStorage中的值 返回参数的js对象形式
function getUrlQueryString(){
var jy = getQueryString('jy');
if(jy!=null&&jy!=""&&jy!=undefined){
if(jy=="jiyao"){
var guidKey = getQueryString('guid');
var guidInfo = (new GlobalLocalCache()).GetCacheResult(guidKey,'','');
var paramInfo = decodeURI(guidInfo['paramUrl']);
var ftokenInfo = guidInfo['ftoken'];
var paramObj = {'ftoken':ftokenInfo};
var itemString = paramInfo.split('&');
for(var i=0,l=itemString.length;i<l;i++){
var currItemString = itemString[i];
var itemArr = currItemString.split("=");
var errorStringArr = ['null','undefined',"''"];
if(errorStringArr.indexOf(itemArr[1]) == -1){
paramObj[itemArr[0]] = itemArr[1];
}
}
}
}else{
var guidKey = getQueryString('guid');
var guidInfo = (new GlobalLocalCache()).GetCacheResult(guidKey,'','');
if(!guidInfo){
$("body").html("您无权访问该页面!");
throw new Error('url过期');
}
var paramInfo = decodeURI(guidInfo['paramUrl']);
var ftokenInfo = guidInfo['ftoken'];
var paramObj = {'ftoken':ftokenInfo};
var itemString = paramInfo.split('&');
for(var i=0,l=itemString.length;i<l;i++){
var currItemString = itemString[i];
var itemArr = currItemString.split("=");
var errorStringArr = ['null','undefined',"''"];
if(errorStringArr.indexOf(itemArr[1]) == -1){
paramObj[itemArr[0]] = itemArr[1];
}
}
}
return paramObj;
}
//处理原本使用window.location.search的地方 如locationSearchConverter(window.location.search)
function locationSearchConverter(windowLocationSearch){
var reg = new RegExp("(^|&)" + 'guid' + "=([^&]*)(&|$)", "i");
var r = windowLocationSearch.substr(1).match(reg);
var originUrl = '';
if (r != null) {
originUrl = '?' + (new GlobalLocalCache()).GetCacheResult(r[2],'','')['paramUrl'];
}
return originUrl;
}
//前端验证token合法
function validateFtoken(paramFtoken){
var currFtoken = $.cookie('ftoken');
if(currFtoken !== paramFtoken){
throw new Error('url过期');
}
}
function S4() {
return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
}
function guid() {
return (S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4());
}
function updateHandleJumpUrl(url){
var tempArr = url.split("?");
var locationUrl=location.search.split("=");
var returnStr = tempArr[1];
var cacheUrlValue = null;
var data = {
paramUrl:returnStr,
ftoken:$.cookie('ftoken')
}
if(window.globalLocalCache){
cacheUrlValue = window.globalLocalCache.AddCache(locationUrl[1],"","",data);
}
return returnStr;
}
//打开新窗口前处理url
function handleJumpUrl(url){
var myid = "guid" + guid();
var tempArr = url.split("?");
var returnStr = tempArr[0] + "?guid=" + myid;
var urlValue = tempArr[1];
var cacheUrlValue = null;
var data = {
paramUrl:urlValue,
ftoken:$.cookie('ftoken')
}
if(window.globalLocalCache){
cacheUrlValue = window.globalLocalCache.AddCache(myid,"","",data);
}
return returnStr;
}
function initializeData(){
var queryParams=getUrlQueryString();
var keys=Object.keys(queryParams);
for(var i=0;i<keys.length;i++) {
$("#"+keys[i]+"").val(queryParams[keys[i]]);
}
return queryParams;
}
//设置头部logo
$(function() {
var HEADERLOGO = $("#HEADERLOGO");
if(HEADERLOGO.length > 0 && HEADERLOGO.children().length < 1) {
var logoimg = $('<img>');
logoimg.addClass('div-head-title');
// logoimg.css('width', 'auto').css('height', '34px').css('margin-top','4px').css('margin-left','26px');
// logoimg.css('width', 'auto').css('height', '30px').css('margin-top','6px').css('margin-left','26px'); //修改logo样式
logoimg.css('width', 'auto').css('height', '30px').css('margin-top','12px').css('margin-left','26px'); //修改logo样式 0616
logoimg.attr('src', CONF_FRONT_SERVERURL + "/image/index/logo20200609.svg");
HEADERLOGO.empty();
HEADERLOGO.append(logoimg);
return;
//LOGO固定不表之后 写死 暂不需要发请求
$.ajax({
type:"POST",
url: CONF_BACK_SERVERURL+'/mvc/resource/findAll.do',
dataType:"json",
async:true,
data:"",
success:function (data) {
for(var i=0;i<data.length;i++){
if(data[i]['identification']=='F' && data[i]['alias'] == "前端Logo"){
var logoimg = $('<img>');
logoimg.addClass('div-head-title');
logoimg.css('width', 'auto').css('height', '55px').css('margin-top','0px');
logoimg.attr('src', window.location.origin + data[i]['iconCls']);
HEADERLOGO.empty();
HEADERLOGO.append(logoimg);
break;
}
}
},
error: function(e){
console.log("获取logo路径出错:" + e);
}
})
}
})
//yxt 20190326 更新url 参数
function updateHandleJumpUrl(uid,urlValue){
var data = {
paramUrl:urlValue,
ftoken:$.cookie('ftoken')
}
if(window.globalLocalCache){
window.globalLocalCache.removeLocalCache(uid);
window.globalLocalCache.AddCache(uid,"","",data);
}
return ;
}
function spUpdateHandleJumpUrl(url){
var tempArr = url.split("?");
var locationUrl=location.search.split("=");
var returnStr = tempArr[1];
var cacheUrlValue = null;
var data = {
paramUrl:returnStr,
ftoken:$.cookie('ftoken')
}
if(window.globalLocalCache){
cacheUrlValue = window.globalLocalCache.AddCache(locationUrl[1],"","",data);
}
return returnStr;
}
function getUnitRemark() {
var unitnameArray = [],
cookieuser = $.cookie('cookieuser');
if(cookieuser) {
var userinfo = JSON.parse(cookieuser);
userinfo.units.forEach( function (value) {
if(value.remark === '西安市自然资源和规划局') {
unitnameArray.push(value.name);
} else {
unitnameArray.push(value.remark || value.name);
}
});
return unitnameArray.toString();
}
}
/**
* 获取用户真实姓名
* @returns {string}
*/
function getUserRealname() {
var cookieuser = $.cookie('cookieuser');
if(!cookieuser) {
return "";
}
var userinfo = JSON.parse(cookieuser);
return userinfo.user ? userinfo.user.realname : '' ;
}
function exportCoord() {
var projectname = $('#projectName').text();
var projectid = $("#projectId").val() || $("#mpId").val();
if (!projectid || !projectname) {
console.error("项目标识或项目名称为空!");
return layer.msg("导出失败!");
}
var url = CONF_GIS_ONEMAP + "/projectMap/exportTxt?projectCode=" + projectid;
// 开始请求
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = "blob";
xhr.onload = function () {
if (this.status === 200) {
var blob = this.response;
if (blob.size === 0) {
return layer.msg("坐标信息为空!");
}
var aelm = document.createElement('a');
aelm.href = URL.createObjectURL(blob);
aelm.download = projectname + '.txt';
$("body").append(aelm);
aelm.click();
$(aelm).remove();
} else {
layer.msg("导出失败!");
}
};
xhr.send();
}