fun.js
3.98 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
/**
* Created by DEV005 on 2017/8/15.
*/
const fs = require("fs");
// const MD5=require("vender/md5");
const electron = require('electron'); // 控制应用生命周期的模块。
const BrowserWindow = electron.BrowserWindow; // 创建原生浏览器窗口的模块
const config = require('../config.js');
/**
* 启动一个Window
*/
let createWindow = function (url) {
/*frame Boolean - 指定 false 来创建一个 Frameless Window. 默认为 true。 是否有边框
* useContentSize 使用web网页size, 这意味着实际窗口的size应该包括窗口框架的size,
* center 居中
* resizable 改变窗口大小
* transparent : 背景透明
*
* 启动服务为了存储Cookie
* */
if(config.isDebug){
var window = new BrowserWindow({frame: false, useContentSize:true,center:true, resizable:false, transparent:true,width:12000, height:1000});//
}else {
var window = new BrowserWindow({frame: false, useContentSize:true,center:true, resizable:false, transparent:true,width:960, height:600});//
}
window.loadURL(url);
if(config.isDebug){
window.openDevTools();
}
return window;
};
/**
* 获取版本号
*/
let getPackage=function () {
fs.readFile(config.dirname+ "/package.json",{encoding:'utf8',flag:'r'},function readData(err, data) {
if(err){
console.log(err);
}else {
return JSON.parse(data);
}
});
};
/**
* 传递的参数设置
* @param request
* @returns {{}}
*/
let getPostParameter=function (request) {
//读取cookies
function readCookie(name) {
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
if(arr=document.cookie.match(reg)){
return unescape(arr[2]);
}else{
return null;
}
}
var post_data = '';
var param_array = new Object();
var session = readCookie('xn_session')||0;
if(session != undefined && session != null && session > 0)
{
param_array.session = session;
}
param_array.format='json';
param_array.sign_method='md5';
param_array.timestamp = Date.parse(new Date());
param_array.app_key = config.app_key;
param_array.v = '1.0';
for ( var p in request ){ // 方法
if ( request [ p ] != null && request [ p ] != undefined && typeof ( request [ p ]) != "function" ){
param_array[p] = request [ p ];
}
}
{
var param_sign;
var arrayKey = [];
var strTemp;
var arrayKeyTemp = [];
for ( var p in param_array ){ // 方法
if ( typeof ( param_array [ p ]) != "function" ){
arrayKeyTemp.push(p);
// console.log(param_array [ p ] );
}
} // 最后显示所有的属性
arrayKeyTemp.sort();
var strTemp = config.secret;
for(var i=0; i<arrayKeyTemp.length; i++)
{
if(Array.isArray( param_array[arrayKeyTemp[i]])){
strTemp = strTemp + arrayKeyTemp[i] + JSON.stringify( param_array[arrayKeyTemp[i]] ) ;
}else{
strTemp = strTemp + arrayKeyTemp[i] + param_array[arrayKeyTemp[i]] ;
}
}
strTemp = strTemp + config.secret;
param_sign = MD5(strTemp).toUpperCase();
post_data = 'sign=' + param_sign.toUpperCase();
for(var i=0; i<arrayKeyTemp.length; i++)
{
if(Array.isArray( param_array[arrayKeyTemp[i]]))
{
post_data = post_data + '&' + arrayKeyTemp[i] + '=' + encodeURI(JSON.stringify( param_array[arrayKeyTemp[i]] )) ;
}
else
{
post_data = post_data + '&' + arrayKeyTemp[i] + '=' + encodeURI(param_array[arrayKeyTemp[i]]) ;
}
}
}
return {
url:config.serveUrl,
data:post_data
};
};
module.exports={
createWindow:createWindow,
getPackage:getPackage,
getPostParameter:getPostParameter
};