Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
saasio
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
reyun
saasio
Commits
159549da
Commit
159549da
authored
Mar 02, 2018
by
manxiaoqiang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
reged
parent
66a27b62
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
63 additions
and
48 deletions
+63
-48
IONotice.java
src/main/java/com/reyun/model/IONotice.java
+11
-0
NoticeRepository.java
src/main/java/com/reyun/repository/NoticeRepository.java
+1
-1
NoticeService.java
src/main/java/com/reyun/service/NoticeService.java
+2
-1
NoticeServiceImpl.java
src/main/java/com/reyun/service/impl/NoticeServiceImpl.java
+6
-5
activation.html
src/main/webapp/activation.html
+4
-4
demo.html
src/main/webapp/demo.html
+2
-2
failure.html
src/main/webapp/failure.html
+4
-4
forget.html
src/main/webapp/forget.html
+4
-4
home1.html
src/main/webapp/home1.html
+4
-4
index.html
src/main/webapp/index.html
+5
-5
login.html
src/main/webapp/login.html
+4
-4
olduser.html
src/main/webapp/olduser.html
+4
-4
resetpwd.html
src/main/webapp/resetpwd.html
+4
-4
lgcom4.js
src/main/webapp/scripts/lgcom4.js
+2
-0
lgui.js
src/main/webapp/scripts/lgui.js
+2
-2
success.html
src/main/webapp/success.html
+4
-4
No files found.
src/main/java/com/reyun/model/IONotice.java
View file @
159549da
...
...
@@ -40,6 +40,8 @@ public class IONotice {
private
Boolean
release
;
private
boolean
isRead
;
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
public
Long
getId
()
{
...
...
@@ -220,4 +222,13 @@ public class IONotice {
public
void
setRelease
(
Boolean
release
)
{
this
.
release
=
release
;
}
@Transient
public
boolean
getIsRead
()
{
return
isRead
;
}
public
void
setIsRead
(
boolean
isRead
)
{
this
.
isRead
=
isRead
;
}
}
src/main/java/com/reyun/repository/NoticeRepository.java
View file @
159549da
...
...
@@ -13,7 +13,7 @@ import java.util.List;
@Transactional
public
interface
NoticeRepository
extends
JpaRepository
<
IONotice
,
Long
>
{
@Query
(
value
=
"select * from notice n where n.isdeploy is true and (io_account = ?1 or io_account = -1) order by id desc"
,
nativeQuery
=
true
)
@Query
(
value
=
"select * from
io
notice n where n.isdeploy is true and (io_account = ?1 or io_account = -1) order by id desc"
,
nativeQuery
=
true
)
List
<
IONotice
>
listRecentDeployNotice
(
Long
account
);
...
...
src/main/java/com/reyun/service/NoticeService.java
View file @
159549da
package
com
.
reyun
.
service
;
import
com.reyun.model.IONotice
;
import
com.reyun.model.Notice
;
import
com.reyun.model.UserNoticeLog
;
...
...
@@ -15,7 +16,7 @@ public interface NoticeService {
* @param accountId
* @return
*/
List
<
Notice
>
listRecentDeployNotice
(
Long
accountId
);
List
<
IO
Notice
>
listRecentDeployNotice
(
Long
accountId
);
/**
* 存储用户已读公告数据
...
...
src/main/java/com/reyun/service/impl/NoticeServiceImpl.java
View file @
159549da
...
...
@@ -2,6 +2,7 @@ package com.reyun.service.impl;
import
com.google.common.base.Function
;
import
com.google.common.collect.Lists
;
import
com.reyun.model.IONotice
;
import
com.reyun.model.Notice
;
import
com.reyun.model.UserNoticeLog
;
import
com.reyun.repository.NoticeRepository
;
...
...
@@ -27,15 +28,15 @@ public class NoticeServiceImpl implements NoticeService {
private
UserNoticeLogRepository
userNoticeLogRepository
;
@Override
public
List
<
Notice
>
listRecentDeployNotice
(
Long
accountId
)
{
public
List
<
IO
Notice
>
listRecentDeployNotice
(
Long
accountId
)
{
List
<
Notice
>
recentDeployNoticeList
=
noticeRepository
.
listRecentDeployNotice
(
accountId
);
List
<
IO
Notice
>
recentDeployNoticeList
=
noticeRepository
.
listRecentDeployNotice
(
accountId
);
if
(!
CollectionUtils
.
isEmpty
(
recentDeployNoticeList
))
{
List
<
Long
>
noticeIdList
=
Lists
.
transform
(
recentDeployNoticeList
,
new
Function
<
Notice
,
Long
>()
{
List
<
Long
>
noticeIdList
=
Lists
.
transform
(
recentDeployNoticeList
,
new
Function
<
IO
Notice
,
Long
>()
{
@Override
public
Long
apply
(
Notice
notice
)
{
public
Long
apply
(
IO
Notice
notice
)
{
return
notice
.
getId
();
}
});
...
...
@@ -43,7 +44,7 @@ public class NoticeServiceImpl implements NoticeService {
for
(
UserNoticeLog
userNoticeLog
:
userNoticeLogList
)
{
for
(
Notice
notice
:
recentDeployNoticeList
)
{
for
(
IO
Notice
notice
:
recentDeployNoticeList
)
{
if
(
notice
.
getId
().
equals
(
userNoticeLog
.
getNoticeid
()))
{
notice
.
setIsRead
(
true
);
...
...
src/main/webapp/activation.html
View file @
159549da
...
...
@@ -7,10 +7,10 @@
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge,chrome=1"
>
<meta
content=
"width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0"
name=
"viewport"
>
<link
rel=
"shortcut icon"
href=
"favicon.ico"
type=
"image/x-icon"
>
<link
rel=
"stylesheet"
href=
"styles/login.css?r=0.1
149984700605273
2"
>
<script
src=
"scripts/change.js?r=0.
5983042535372078
"
></script>
<script
src=
"scripts/regcom1.js?r=0.
30919134919531643
"
></script>
<script
src=
"scripts/regui.js?r=0.
5395845742896199
"
></script>
<link
rel=
"stylesheet"
href=
"styles/login.css?r=0.1
737791448831558
2"
>
<script
src=
"scripts/change.js?r=0.
038060850696638227
"
></script>
<script
src=
"scripts/regcom1.js?r=0.
22607403295114636
"
></script>
<script
src=
"scripts/regui.js?r=0.
01922464300878346
"
></script>
</head>
<body
ng-app=
"app"
ng-controller=
"acvitationCtrl"
>
...
...
src/main/webapp/demo.html
View file @
159549da
...
...
@@ -7,8 +7,8 @@
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge,chrome=1"
>
<meta
content=
"width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0"
name=
"viewport"
>
<link
rel=
"shortcut icon"
href=
"favicon.ico"
type=
"image/x-icon"
>
<script
src=
"scripts/change.js?r=0.
309689408866688
6"
></script>
<script
src=
"scripts/demo.js?r=0.
4911098645534366
4"
></script>
<script
src=
"scripts/change.js?r=0.
172010500216856
6"
></script>
<script
src=
"scripts/demo.js?r=0.
1410575499758124
4"
></script>
<script
type=
"text/javascript"
>
$
.
get
(
"/api/demo"
,
function
(
data
)
{
...
...
src/main/webapp/failure.html
View file @
159549da
...
...
@@ -7,10 +7,10 @@
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge,chrome=1"
>
<meta
content=
"width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0"
name=
"viewport"
>
<link
rel=
"shortcut icon"
href=
"favicon.ico"
type=
"image/x-icon"
>
<link
rel=
"stylesheet"
href=
"styles/login.css?r=0.
7820607058238238
"
>
<script
src=
"scripts/change.js?r=0.
457934606820344
9"
></script>
<script
src=
"scripts/regcom2.js?r=0.
05364771769382059
6"
></script>
<script
src=
"scripts/failure.js?r=0.
984398903790861
4"
></script>
<link
rel=
"stylesheet"
href=
"styles/login.css?r=0.
5653473353013396
"
>
<script
src=
"scripts/change.js?r=0.
0327852861955761
9"
></script>
<script
src=
"scripts/regcom2.js?r=0.
862185413949191
6"
></script>
<script
src=
"scripts/failure.js?r=0.
2947881179861724
4"
></script>
</head>
<body
ng-app=
"app"
ng-controller=
"failureCtrl"
>
...
...
src/main/webapp/forget.html
View file @
159549da
...
...
@@ -7,10 +7,10 @@
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge,chrome=1"
>
<meta
content=
"width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0"
name=
"viewport"
>
<link
rel=
"shortcut icon"
href=
"favicon.ico"
type=
"image/x-icon"
>
<link
rel=
"stylesheet"
href=
"styles/login.css?r=0.
16757301287725568
"
>
<script
src=
"scripts/change.js?r=0.
8997952970676124
"
></script>
<script
src=
"scripts/regcom3.js?r=0.
05138346133753657
"
></script>
<script
src=
"scripts/forget.js?r=0.
5629009127151221
"
></script>
<link
rel=
"stylesheet"
href=
"styles/login.css?r=0.
6822654716670513
"
>
<script
src=
"scripts/change.js?r=0.
657221358967945
"
></script>
<script
src=
"scripts/regcom3.js?r=0.
84271992999129
"
></script>
<script
src=
"scripts/forget.js?r=0.
2713923347182572
"
></script>
</head>
<body
ng-app=
"app"
ng-controller=
"forgetCtrl"
>
...
...
src/main/webapp/home1.html
View file @
159549da
...
...
@@ -7,11 +7,11 @@
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge,chrome=1"
>
<meta
content=
"width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0"
name=
"viewport"
>
<link
rel=
"shortcut icon"
href=
"favicon.ico"
type=
"image/x-icon"
>
<link
rel=
"stylesheet"
href=
"styles/home.css?r=0.
4897955828346312
"
>
<link
rel=
"stylesheet"
href=
"styles/home.css?r=0.
7975225732661784
"
>
<script
src=
"scripts/change.js?r=0.3
161861866246909
"
></script>
<script
src=
"scripts/home.js?r=0.
4197241072542965
4"
></script>
<script
src=
"scripts/homectrl.js?r=0.
3761741151101887
"
></script>
<script
src=
"scripts/change.js?r=0.3
572810667101294
"
></script>
<script
src=
"scripts/home.js?r=0.
00555816804990172
4"
></script>
<script
src=
"scripts/homectrl.js?r=0.
6156439066398889
"
></script>
<script>
var
_hmt
=
_hmt
||
[];
...
...
src/main/webapp/index.html
View file @
159549da
...
...
@@ -8,12 +8,12 @@
<meta
content=
"width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0"
name=
"viewport"
>
<link
rel=
"shortcut icon"
href=
"favicon.ico"
type=
"image/x-icon"
>
<link
rel=
"stylesheet"
href=
"styles/index.css?r=0.
1538209819700569
"
>
<script
src=
"scripts/change.js?r=0.7
190487270709127
"
></script>
<script
src=
"scripts/com.js?r=0.
1410635078791529
"
></script>
<script
src=
"scripts/app.js?r=0.
5087753545958549
"
></script>
<link
rel=
"stylesheet"
href=
"styles/index.css?r=0.
5801727620419115
"
>
<script
src=
"scripts/change.js?r=0.7
636903643142432
"
></script>
<script
src=
"scripts/com.js?r=0.
22119453037157655
"
></script>
<script
src=
"scripts/app.js?r=0.
4161588044371456
"
></script>
<script
src=
"scripts/ui.js?r=0.
08424989180639386
"
></script>
<script
src=
"scripts/ui.js?r=0.
7564062932506204
"
></script>
</head>
<body
ng-app=
"app"
ng-controller=
"indexCtrl"
ng-class=
"{'noreport':backReport}"
>
...
...
src/main/webapp/login.html
View file @
159549da
...
...
@@ -7,11 +7,11 @@
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge,chrome=1"
>
<meta
content=
"width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0"
name=
"viewport"
>
<link
rel=
"shortcut icon"
href=
"favicon.ico"
type=
"image/x-icon"
>
<link
rel=
"stylesheet"
href=
"styles/login.css?r=0.
9707226229365915
"
>
<link
rel=
"stylesheet"
href=
"styles/login.css?r=0.
24616998224519193
"
>
<script
src=
"scripts/change.js?r=0.
7923258431255817
"
></script>
<script
src=
"scripts/lgcom4.js?r=0.
473345436854288
"
></script>
<script
src=
"scripts/lgui.js?r=0.
598888747626915
6"
></script>
<script
src=
"scripts/change.js?r=0.
12761787860654294
"
></script>
<script
src=
"scripts/lgcom4.js?r=0.
1754848170094192
"
></script>
<script
src=
"scripts/lgui.js?r=0.
0916606662794947
6"
></script>
<script>
var
_hmt
=
_hmt
||
[];
...
...
src/main/webapp/olduser.html
View file @
159549da
...
...
@@ -7,10 +7,10 @@
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge,chrome=1"
>
<meta
content=
"width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0"
name=
"viewport"
>
<link
rel=
"shortcut icon"
href=
"favicon.ico"
type=
"image/x-icon"
>
<link
rel=
"stylesheet"
href=
"styles/login.css?r=0.
6317339739762247
"
>
<script
src=
"scripts/change.js?r=0.
765358435688540
3"
></script>
<script
src=
"scripts/regcom5.js?r=0.
603286042576655
7"
></script>
<script
src=
"scripts/olduser.js?r=0.
24770011520013213
"
></script>
<link
rel=
"stylesheet"
href=
"styles/login.css?r=0.
5256118897814304
"
>
<script
src=
"scripts/change.js?r=0.
1949496595188975
3"
></script>
<script
src=
"scripts/regcom5.js?r=0.
703047844115644
7"
></script>
<script
src=
"scripts/olduser.js?r=0.
805714696412906
"
></script>
</head>
<body
ng-app=
"app"
ng-controller=
"olduserCtrl"
>
...
...
src/main/webapp/resetpwd.html
View file @
159549da
...
...
@@ -7,10 +7,10 @@
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge,chrome=1"
>
<meta
content=
"width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0"
name=
"viewport"
>
<link
rel=
"shortcut icon"
href=
"favicon.ico"
type=
"image/x-icon"
>
<link
rel=
"stylesheet"
href=
"styles/login.css?r=0.
7661028518341482
"
>
<script
src=
"scripts/change.js?r=0.
2717249090783298
"
></script>
<script
src=
"scripts/regcom7.js?r=0.
21323158033192158
"
></script>
<script
src=
"scripts/resetpwd.js?r=0.
5238363628741354
"
></script>
<link
rel=
"stylesheet"
href=
"styles/login.css?r=0.
16613134928047657
"
>
<script
src=
"scripts/change.js?r=0.
36895587225444615
"
></script>
<script
src=
"scripts/regcom7.js?r=0.
7115389341488481
"
></script>
<script
src=
"scripts/resetpwd.js?r=0.
39234541240148246
"
></script>
</head>
<body
ng-app=
"app"
ng-controller=
"resetpwdCtrl"
>
...
...
src/main/webapp/scripts/lgcom4.js
View file @
159549da
...
...
@@ -338,3 +338,5 @@ show:!0,x:5,y:12,textStyle:{align:"left",color:"#000",fontFamily:"Arial",fontSiz
;
/*! jquery.cookie v1.4.1 | MIT */
!
function
(
a
){
"function"
==
typeof
define
&&
define
.
amd
?
define
([
"jquery"
],
a
):
"object"
==
typeof
exports
?
a
(
require
(
"jquery"
)):
a
(
jQuery
)}(
function
(
a
){
function
b
(
a
){
return
h
.
raw
?
a
:
encodeURIComponent
(
a
)}
function
c
(
a
){
return
h
.
raw
?
a
:
decodeURIComponent
(
a
)}
function
d
(
a
){
return
b
(
h
.
json
?
JSON
.
stringify
(
a
):
String
(
a
))}
function
e
(
a
){
0
===
a
.
indexOf
(
'"'
)
&&
(
a
=
a
.
slice
(
1
,
-
1
).
replace
(
/
\\
"/g
,
'"'
).
replace
(
/
\\\\
/g
,
"
\
\"
));try{return a=decodeURIComponent(a.replace(g,"
")),h.json?JSON.parse(a):a}catch(b){}}function f(b,c){var d=h.raw?b:e(b);return a.isFunction(c)?c(d):d}var g=/
\
+/g,h=a.cookie=function(e,g,i){if(void 0!==g&&!a.isFunction(g)){if(i=a.extend({},h.defaults,i),"
number
"==typeof i.expires){var j=i.expires,k=i.expires=new Date;k.setTime(+k+864e5*j)}return document.cookie=[b(e),"
=
",d(g),i.expires?"
;
expires
=
"+i.expires.toUTCString():"",i.path?"
;
path
=
"+i.path:"",i.domain?"
;
domain
=
"+i.domain:"",i.secure?"
;
secure
":""].join("")}for(var l=e?void 0:{},m=document.cookie?document.cookie.split("
;
"):[],n=0,o=m.length;o>n;n++){var p=m[n].split("
=
"),q=c(p.shift()),r=p.join("
=
");if(e&&e===q){l=f(r,g);break}e||void 0===(r=f(r))||(l[q]=r)}return l};h.defaults={},a.removeCookie=function(b,c){return void 0===a.cookie(b)?!1:(a.cookie(b,"",a.extend({},c,{expires:-1})),!a.cookie(b))}});
;
(function(){String.prototype.trim=function(){return this.replace(/(^
\
s*)|(
\
s*$)/g,"")};var t={chrsz:8,hexcase:0,binl2hex:function(t){var i=this.hexcase?"
0123456789
ABCDEF
":"
0123456789
abcdef
";var e="";for(var s=0;s<t.length*4;s++){e+=i.charAt(t[s>>2]>>s%4*8+4&15)+i.charAt(t[s>>2]>>s%4*8&15)}return e},str2binl:function(t){var i=Array();var e=(1<<this.chrsz)-1;for(var s=0;s<t.length*this.chrsz;s+=this.chrsz)i[s>>5]|=(t.charCodeAt(s/this.chrsz)&e)<<s%32;return i},md5_cmn:function(t,i,e,s,n,r){return this.safe_add(this.bit_rol(this.safe_add(this.safe_add(i,t),this.safe_add(s,r)),n),e)},md5_ff:function(t,i,e,s,n,r,h){return this.md5_cmn(i&e|~i&s,t,i,n,r,h)},md5_gg:function(t,i,e,s,n,r,h){return this.md5_cmn(i&s|e&~s,t,i,n,r,h)},md5_hh:function(t,i,e,s,n,r,h){return this.md5_cmn(i^e^s,t,i,n,r,h)},md5_ii:function(t,i,e,s,n,r,h){return this.md5_cmn(e^(i|~s),t,i,n,r,h)},safe_add:function(t,i){var e=(t&65535)+(i&65535);var s=(t>>16)+(i>>16)+(e>>16);return s<<16|e&65535},bit_rol:function(t,i){return t<<i|t>>>32-i},core_md5:function(t,i){t[i>>5]|=128<<i%32;t[(i+64>>>9<<4)+14]=i;var e=1732584193;var s=-271733879;var n=-1732584194;var r=271733878;for(var h=0;h<t.length;h+=16){var a=e;var d=s;var m=n;var o=r;e=this.md5_ff(e,s,n,r,t[h+0],7,-680876936);r=this.md5_ff(r,e,s,n,t[h+1],12,-389564586);n=this.md5_ff(n,r,e,s,t[h+2],17,606105819);s=this.md5_ff(s,n,r,e,t[h+3],22,-1044525330);e=this.md5_ff(e,s,n,r,t[h+4],7,-176418897);r=this.md5_ff(r,e,s,n,t[h+5],12,1200080426);n=this.md5_ff(n,r,e,s,t[h+6],17,-1473231341);s=this.md5_ff(s,n,r,e,t[h+7],22,-45705983);e=this.md5_ff(e,s,n,r,t[h+8],7,1770035416);r=this.md5_ff(r,e,s,n,t[h+9],12,-1958414417);n=this.md5_ff(n,r,e,s,t[h+10],17,-42063);s=this.md5_ff(s,n,r,e,t[h+11],22,-1990404162);e=this.md5_ff(e,s,n,r,t[h+12],7,1804603682);r=this.md5_ff(r,e,s,n,t[h+13],12,-40341101);n=this.md5_ff(n,r,e,s,t[h+14],17,-1502002290);s=this.md5_ff(s,n,r,e,t[h+15],22,1236535329);e=this.md5_gg(e,s,n,r,t[h+1],5,-165796510);r=this.md5_gg(r,e,s,n,t[h+6],9,-1069501632);n=this.md5_gg(n,r,e,s,t[h+11],14,643717713);s=this.md5_gg(s,n,r,e,t[h+0],20,-373897302);e=this.md5_gg(e,s,n,r,t[h+5],5,-701558691);r=this.md5_gg(r,e,s,n,t[h+10],9,38016083);n=this.md5_gg(n,r,e,s,t[h+15],14,-660478335);s=this.md5_gg(s,n,r,e,t[h+4],20,-405537848);e=this.md5_gg(e,s,n,r,t[h+9],5,568446438);r=this.md5_gg(r,e,s,n,t[h+14],9,-1019803690);n=this.md5_gg(n,r,e,s,t[h+3],14,-187363961);s=this.md5_gg(s,n,r,e,t[h+8],20,1163531501);e=this.md5_gg(e,s,n,r,t[h+13],5,-1444681467);r=this.md5_gg(r,e,s,n,t[h+2],9,-51403784);n=this.md5_gg(n,r,e,s,t[h+7],14,1735328473);s=this.md5_gg(s,n,r,e,t[h+12],20,-1926607734);e=this.md5_hh(e,s,n,r,t[h+5],4,-378558);r=this.md5_hh(r,e,s,n,t[h+8],11,-2022574463);n=this.md5_hh(n,r,e,s,t[h+11],16,1839030562);s=this.md5_hh(s,n,r,e,t[h+14],23,-35309556);e=this.md5_hh(e,s,n,r,t[h+1],4,-1530992060);r=this.md5_hh(r,e,s,n,t[h+4],11,1272893353);n=this.md5_hh(n,r,e,s,t[h+7],16,-155497632);s=this.md5_hh(s,n,r,e,t[h+10],23,-1094730640);e=this.md5_hh(e,s,n,r,t[h+13],4,681279174);r=this.md5_hh(r,e,s,n,t[h+0],11,-358537222);n=this.md5_hh(n,r,e,s,t[h+3],16,-722521979);s=this.md5_hh(s,n,r,e,t[h+6],23,76029189);e=this.md5_hh(e,s,n,r,t[h+9],4,-640364487);r=this.md5_hh(r,e,s,n,t[h+12],11,-421815835);n=this.md5_hh(n,r,e,s,t[h+15],16,530742520);s=this.md5_hh(s,n,r,e,t[h+2],23,-995338651);e=this.md5_ii(e,s,n,r,t[h+0],6,-198630844);r=this.md5_ii(r,e,s,n,t[h+7],10,1126891415);n=this.md5_ii(n,r,e,s,t[h+14],15,-1416354905);s=this.md5_ii(s,n,r,e,t[h+5],21,-57434055);e=this.md5_ii(e,s,n,r,t[h+12],6,1700485571);r=this.md5_ii(r,e,s,n,t[h+3],10,-1894986606);n=this.md5_ii(n,r,e,s,t[h+10],15,-1051523);s=this.md5_ii(s,n,r,e,t[h+1],21,-2054922799);e=this.md5_ii(e,s,n,r,t[h+8],6,1873313359);r=this.md5_ii(r,e,s,n,t[h+15],10,-30611744);n=this.md5_ii(n,r,e,s,t[h+6],15,-1560198380);s=this.md5_ii(s,n,r,e,t[h+13],21,1309151649);e=this.md5_ii(e,s,n,r,t[h+4],6,-145523070);r=this.md5_ii(r,e,s,n,t[h+11],10,-1120210379);n=this.md5_ii(n,r,e,s,t[h+2],15,718787259);s=this.md5_ii(s,n,r,e,t[h+9],21,-343485551);e=this.safe_add(e,a);s=this.safe_add(s,d);n=this.safe_add(n,m);r=this.safe_add(r,o)}return Array(e,s,n,r)},getMD5Str:function(t){return this.binl2hex(this.core_md5(this.str2binl(t),t.length*this.chrsz))}};function i(){this._getInstance=function(){var t;if(window.ActiveXObject){var i=["
MSXML2
.
XMLHTTP
.
5.0
","
MSXML2
.
XMLHTTP
.
4.0
","
MSXML2
.
XMLHTTP
.
3.0
","
MSXML2
.
XMLHTTP
","
Microsoft
.
XMLHTTP
"];for(var e=0;e<i.length;e++){try{t=new ActiveXObject(i[e]);return t}catch(t){}}}else if(window.XMLHttpRequest){t=new XMLHttpRequest;return t}else{return null}};this._ins=this._getInstance();this.sendURL=function(t,i,e){var s=this._ins;s.open("
post
",t,true);s.onreadystatechange=function(){if(s.readyState==4&&(s.status==200||s.status==304)){if(typeof e=="
function
"){e(s.response)}}};s.setRequestHeader("
Content
-
type
","
application
/
x
-
www
-
form
-
urlencoded
;
charset
=
UTF
-
8
");s.send(JSON.stringify(i))};this.quit=function(){this._ins.abort()}}var e={};var s={locationurl:"",preurl:"
https
:
//log.reyun.com/receive/tkio/",getSessionId:function(){var i=s.getItem("ryh5_sessionid");if(i&&i!=""){return i}var e=document.cookie,n=e.split(";"),r="";for(var h=0;h<n.length;h++){var a=n[h],d=a.split("=");if(d[0].trim()==="JSESSIONID"){r=d[1];break}}if(r==""){r=t.getMD5Str(navigator.userAgent+String((new Date).getTime()+Math.random()));s.setItem("ryh5_sessionid",r)}else{r=t.getMD5Str(r+String((new Date).getTime()+Math.random()))}return r},getItem:function(t){try{localStorage.setItem("rmdkk",111);localStorage.removeItem("rmdkk");var i=localStorage.getItem(t);return i==null?"":i}catch(s){var i=e[t];return i==undefined?"":i}},setItem:function(t,i){try{localStorage.setItem(t,i)}catch(s){e[t]=i}},getValue:function(i){var e="";switch(i){case"who":e=s.getItem("ryh5_usid");if(e==""){e=this.getSessionId()}break;case"deviceid":e=s.getItem("ryh5_usid");if(e==""){e=this.getSessionId()}else{e=t.getMD5Str(e)}break;default:e=this.getItem(i);break}return e},getCommonParams:function(t){var i={appid:this.getItem("ryh5_appid"),who:this.getValue("who"),context:{_deviceid:this.getValue("deviceid"),_cid:this.getItem("ryh5_cid"),_campaignid:this.getItem("ryh5_campid"),_apptype:"wap",_ua:navigator.userAgent}};if(t&&typeof t==="object"){for(var e in t){i.context[e]=t[e]}}return i},send:function(t,e,s){var n=this.preurl+t;var r=new i;r.sendURL(n,e,s)}};var n=new function(){this.version="v1.1.0";var t=function(){setTimeout(function(){var t=document.location.href;if(s.locationurl==t){return false}var i=s.getCommonParams();s.locationurl=i.context._url=t;i.what="pageview";s.send("event",i)},200)};this.init=function(i){s.setItem("ryh5_appid",i);var e=window.location.href,n=e.substring(e.indexOf("?")+1),r=n.split("&");var h=s.getItem("ryh5_cid"),a=s.getItem("ryh5_campid"),d=s.getItem("ryh5_sessionid");h=h==""?"-1":h;a=a==""?"_default_":a;d=d==""?s.getSessionId():d;for(var m=0;m<r.length;m++){var o=r[m].split("=");if(o[0]=="cid"){h=o[1]}if(o[0]=="campaignid"){a=o[1]}}if(!/^-?\d+$/.test(h)){h=-1}s.setItem("ryh5_cid",h);s.setItem("ryh5_campid",a);s.setItem("ryh5_sessionid",d);t();};this.register=function(t,i){var e=s.getCommonParams(i);e.who=t;s.send("register",e)};this.loggedin=function(i,e){var n=s.getCommonParams(e);n.who=i;s.setItem("ryh5_usid",i);s.send("loggedin",n);t()};this.download=function(t){var i=s.getCommonParams(t);i.what="download";s.send("event",i)};this.order=function(t,i){var e=s.getCommonParams(i);e.what="order";e.context._transactionid=t;s.send("event",e)};this.payment=function(t,i,e,n,r){var h=s.getCommonParams(r);h.context._transactionid=t;h.context._currencyamount=i;h.context._currencytype=e;h.context._paymenttype=n;s.send("payment",h)};this.event=function(t,i){var i=s.getCommonParams(i);i.what=t;s.send("event",i)}};window["TrackingIO"]=n})();
src/main/webapp/scripts/lgui.js
View file @
159549da
!
function
(){
var
a
=
{
isNull
:
"必填"
,
errorLetter
:
"含特殊字符或过长"
,
errorLength
:
"40字符以内"
,
errorFormat
:
"格式不对"
,
lowLetter
:
"输入小写字母"
,
errorEmail
:
"请输入48位以内的正确邮箱"
,
errorNum
:
"输入数字"
,
errorPwd
:
"仅支持数字,大小写字母,且至少包含其中2种,长度限制为6-18位"
,
errorQQ
:
"请输入正确QQ号码"
,
errorCrm
:
"两次密码不一致,请重新输入"
,
errorCompany
:
"公司名称,支持48位内汉字或96位内字母数字"
,
errorUsername
:
"您的姓名,支持16位内汉字或32位内字母数字"
,
errorWechat
:
"6-20位数字,字母,下划线或中划线,须以数字或字母开头"
,
errorUrl
:
"以http://或https://开头的合法url"
,
errorName
:
"名称不合法或过长"
},
b
=
function
(
a
){
if
(
!
a
.
val
)
return
a
.
nullTxt
||
"必填"
;
var
b
=
a
.
val
.
replace
(
/
[^\x
00-
\x
ff
]
/g
,
"00"
);
return
a
.
min
&&
b
.
length
<
a
.
min
||
a
.
max
&&
b
.
length
>
a
.
max
?
a
.
regTxt
:
a
.
regFlag
&&
a
.
reg
.
test
(
a
.
val
)?
a
.
regTxt
:
a
.
regFlag
||!
a
.
reg
||
a
.
reg
.
test
(
a
.
val
)?
"succ"
:
a
.
regTxt
},
c
=
{
isNull
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
name
:
c
.
txt
||
a
.
isNull
};
return
b
(
d
)},
nameLen
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
max
:
c
.
max
||
40
,
min
:
c
.
min
||
2
,
regTxt
:
c
.
txt
||
a
.
errorLength
};
return
b
(
d
)},
isMaxLen
:
function
(
a
){
var
c
=
{
val
:
a
.
val
,
max
:
a
.
max
||
40
,
min
:
a
.
min
||
2
,
regTxt
:
a
.
txt
};
return
b
(
c
)},
name
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
max
:
c
.
max
||
40
,
min
:
c
.
min
||
2
,
reg
:
/
[
`~!@#
\$
%
\^\&\*\(\)\+
<>
\?
:"
\{\}
,
\.\\\/
;'
\[\]]
/im
,
regFlag
:
!
0
,
regTxt
:
c
.
txt
||
a
.
errorLetter
};
return
b
(
d
)},
nameFormat
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
max
:
c
.
max
||
40
,
min
:
c
.
min
||
1
,
reg
:
/^
[
!"#$%&'()*+,-.
/
:;<=>?@[
\]
^_`{|}~
\\
!(
\)
《》?:·“ ”,。、;`‘’【】——……¥「」/a-zA-Z0-9
\u
4E00-
\u
9FA5
]
+$/
,
regFlag
:
!
1
,
regTxt
:
c
.
txt
||
a
.
errorName
};
return
b
(
d
)},
spcname
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
max
:
c
.
max
||
40
,
min
:
c
.
min
||
1
,
reg
:
/^
[
a-zA-Z0-9_
\-\u
4E00-
\u
9FA5
]
+$/
,
regFlag
:
!
1
,
regTxt
:
c
.
txt
||
a
.
errorLetter
};
return
b
(
d
)},
spcname1
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
max
:
c
.
max
||
40
,
min
:
c
.
min
||
1
,
reg
:
/^
[
a-zA-Z0-9_
\-\·\u
4E00-
\u
9FA5
]
+$/
,
regFlag
:
!
1
,
regTxt
:
c
.
txt
||
a
.
errorLetter
};
return
b
(
d
)},
spcname2
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
max
:
c
.
max
||
40
,
min
:
c
.
min
||
1
,
reg
:
/^
[
a-zA-Z0-9_
\u
4E00-
\u
9FA5
]
+$/
,
regFlag
:
!
1
,
regTxt
:
c
.
txt
||
a
.
errorLetter
};
return
b
(
d
)},
keyword
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
max
:
c
.
max
||
40
,
min
:
c
.
min
||
1
,
reg
:
/^
[
a-zA-Z0-9
\.\-\u
4E00-
\u
9FA5
]
+$/
,
regFlag
:
!
1
,
regTxt
:
c
.
txt
||
a
.
errorLetter
};
return
b
(
d
)},
companyname
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
max
:
c
.
max
||
96
,
reg
:
/^
[
a-zA-Z0-9_
\-\u
4E00-
\u
9FA5
]
+$/
,
regFlag
:
!
1
,
regTxt
:
c
.
txt
||
a
.
errorCompany
};
return
b
(
d
)},
username
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
max
:
c
.
max
||
32
,
reg
:
/^
[
a-zA-Z0-9_
\-\u
4E00-
\u
9FA5
]
+$/
,
regFlag
:
!
1
,
regTxt
:
c
.
txt
||
a
.
errorUsername
};
return
b
(
d
)},
numLetter
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
max
:
c
.
max
||
32
,
reg
:
/^
[
a-zA-Z0-9
\u
4E00-
\u
9FA5
]
+$/
,
regFlag
:
!
1
,
regTxt
:
c
.
txt
||
a
.
errorUsername
,
nullTxt
:
c
.
nullTxt
};
return
b
(
d
)},
onelink
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
max
:
c
.
max
||
40
,
reg
:
/^
[
a-zA-Z0-9_
\_\-\u
4E00-
\u
9FA5
]
+$/
,
regFlag
:
!
1
,
regTxt
:
c
.
txt
||
a
.
errorUsername
};
return
b
(
d
)},
wechat
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
reg
:
/^
[
a-zA-Z0-9
]{1}[
a-zA-Z
\d
_
\d
-
]{5,19}
$/
,
regFlag
:
!
1
,
regTxt
:
c
.
txt
||
a
.
errorWechat
,
nullTxt
:
c
.
nullTxt
};
return
b
(
d
)},
email
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
max
:
c
.
max
||
48
,
reg
:
/^
([
a-zA-Z0-9
]
+
[
_|
\_
|
\.
|
\-]?)
*
[
a-zA-Z0-9
]
+@
([
a-zA-Z0-9
]
+
[
_|
\_
|
\.
|
\-]?)
*
[
a-zA-Z0-9
]
+
\.[
a-zA-Z
]{1,63}
$/
,
regFlag
:
!
1
,
regTxt
:
c
.
txt
||
a
.
errorEmail
,
nullTxt
:
c
.
nullTxt
};
return
b
(
d
)},
url
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
reg
:
/
(
http|https
)
:
\/\/[^\s]
+/
,
regFlag
:
!
1
,
regTxt
:
c
.
txt
||
a
.
errorUrl
,
nullTxt
:
c
.
nullTxt
};
return
b
(
d
)},
num
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
reg
:
/
\D
/g
,
max
:
c
.
max
||
64
,
min
:
c
.
min
||
1
,
regFlag
:
!
0
,
regTxt
:
c
.
txt
||
a
.
errorNum
,
nullTxt
:
c
.
nullTxt
};
return
b
(
d
)},
qq
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
reg
:
/
\D
/g
,
max
:
c
.
max
||
12
,
min
:
c
.
min
||
6
,
regFlag
:
!
0
,
regTxt
:
c
.
txt
||
a
.
errorQQ
};
return
b
(
d
)},
numFloat
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
reg
:
/^
\d
+
(\.\d{1,2})?
$/
,
regFlag
:
!
1
,
regTxt
:
c
.
txt
||
a
.
errorFormat
};
return
b
(
d
)},
isLowLetter
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
reg
:
/^
[
a-z
]
+$/
,
regFlag
:
!
1
,
regTxt
:
c
.
txt
||
a
.
lowLetter
};
return
b
(
d
)},
pwd
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
reg
:
/^
(?![
0-9
]
+$
)(?![
a-z
]
+$
)(?![
A-Z
]
+$
)(?![\-
_
]
+$
)[
0-9A-Za-z
]{6,18}
$/
,
regFlag
:
!
1
,
regTxt
:
c
.
txt
||
a
.
errorPwd
};
return
b
(
d
)},
cellphone
:
function
(
a
){
var
c
=
{
val
:
a
.
val
,
reg
:
/^
((\d{3,4}
-
\d{7,14}))
|
(
^1
(
3|4|5|7|8
)\d{9})
$/
,
regFlag
:
!
1
,
regTxt
:
a
.
txt
||
"号码有误"
};
return
b
(
c
)},
ipError
:
function
(
a
){
var
c
=
{
val
:
a
.
val
,
reg
:
/^
(\d{1,2}
|1
\d\d
|2
[
0-4
]\d
|25
[
0-5
])\.(\d{1,2}
|1
\d\d
|2
[
0-4
]\d
|25
[
0-5
])\.(\d{1,2}
|1
\d\d
|2
[
0-4
]\d
|25
[
0-5
])\.(\d{1,2}
|1
\d\d
|2
[
0-4
]\d
|25
[
0-5
])
$/
,
regFlag
:
!
1
,
regTxt
:
a
.
txt
||
"支持数字和“.”"
};
return
b
(
c
)}};
formJudge
=
function
(
a
){
var
b
=
[],
d
=
{};
for
(
x
in
a
){
var
e
=
a
[
x
];
info
=
c
[
a
[
x
].
key
](
e
),
status
=!
1
,
"succ"
!=
info
&&
(
b
.
push
(
info
),
status
=!
0
,
d
[
x
]
=
{
status
:
status
,
txt
:
info
})}
if
(
b
.
length
>
0
){
d
.
succ
=!
1
;
for
(
i
in
d
)
if
(
"succ"
!=
d
[
i
].
txt
&&
(
d
[
i
].
status
=!
0
),
"true"
==
d
[
i
].
status
){
document
.
getElementById
(
i
).
focus
();
var
f
=
document
.
getElementById
(
i
).
offsetTop
;
document
.
documentElement
.
scrollTop
=
f
-
70
;
break
}}
else
d
=
{
succ
:
!
0
};
return
d
}}(),
function
(){
"use strict"
;
angular
.
module
(
"app"
,[
"app.login"
]),
angular
.
module
(
"app.login"
,[])}(),
function
(){
function
a
(
a
,
b
,
c
){
var
d
=
{};
return
d
.
loginTimeout
=
function
(
a
){
null
!=
a
&&
a
.
code
&&-
1002
==
a
.
code
&&
d
.
logOutCookie
()},
d
.
noLogin
=
function
(
a
){
if
(
angular
.
isUndefined
(
a
)
||-
1
==
a
.
indexOf
(
"login"
)){
var
b
=
c
.
getCookie
(
"ryioUid"
);
c
.
isNullStr
(
b
)
&&
d
.
logOutCookie
()}},
d
.
logOutCookie
=
function
(){
c
.
setCookie
(
"ryioUid"
,
""
),
window
.
localStorage
.
setItem
(
"ryioUauth"
,
""
),
c
.
setCookie
(
"ryioToken"
,
""
),
c
.
setCookie
(
"ryioIsSuper"
,
""
),
window
.
location
.
href
=
"/login.html"
},
d
.
getInfo
=
function
(
c
,
e
,
f
){
f
||
d
.
noLogin
(
c
);
var
g
=
b
.
defer
(),
h
=
""
;
for
(
var
i
in
e
)
h
+=
"&"
+
i
+
"="
+
e
[
i
];
-
1
==
c
.
indexOf
(
"?"
)?
c
+=
"?r="
+
Math
.
random
():
c
+=
"&r="
+
Math
.
random
(),
c
+=
h
;
a
.
get
(
"/api/"
+
c
).
success
(
function
(
a
){
d
.
loginTimeout
(
a
),
a
.
code
&&
200
!=
a
.
code
?
g
.
reject
(
a
):
g
.
resolve
(
a
.
content
||
a
)}).
error
(
function
(
a
){
d
.
loginTimeout
(
a
),
g
.
reject
(
a
)});
return
g
.
promise
},
d
.
getInfoByUrl
=
function
(
c
){
d
.
noLogin
();
var
e
=
b
.
defer
();
a
.
get
(
c
).
success
(
function
(
a
){
d
.
loginTimeout
(
a
),
e
.
resolve
(
a
.
content
||
a
)}).
error
(
function
(
a
){
d
.
loginTimeout
(
a
),
e
.
reject
(
a
)});
return
e
.
promise
},
d
.
getReportData
=
function
(
e
,
f
){
d
.
noLogin
();
var
g
=
b
.
defer
(),
h
=
c
.
cloneJSON
(
f
),
i
=
h
.
appid
;
delete
h
.
appid
;
var
j
=
"?r="
+
Math
.
random
();
for
(
var
k
in
h
)
j
+=
"&"
+
k
+
"="
+
h
[
k
];
a
.
get
(
"/api/report/"
+
i
+
"/"
+
e
+
j
).
success
(
function
(
a
){
d
.
loginTimeout
(
a
),
a
.
code
&&
200
!=
a
.
code
?
g
.
reject
(
a
):
g
.
resolve
(
a
.
content
||
a
)}).
error
(
function
(
a
){
d
.
loginTimeout
(
a
),
g
.
reject
(
a
)});
return
g
.
promise
},
d
.
postInfo
=
function
(
c
,
e
,
f
){
f
||
d
.
noLogin
(
c
);
var
g
=
b
.
defer
();
-
1
==
c
.
indexOf
(
"?"
)?
c
+=
"?r="
+
Math
.
random
():
c
+=
"&r="
+
Math
.
random
();
a
.
post
(
"/api/"
+
c
,
e
).
success
(
function
(
a
,
b
){
d
.
loginTimeout
(
a
),
a
.
status
=
b
,
a
.
code
&&-
5
e3
==
a
.
code
?
g
.
resolve
(
a
):
a
.
code
&&-
6001
==
a
.
code
?
g
.
resolve
(
a
):
g
.
resolve
(
a
.
content
||
a
)}).
error
(
function
(
a
){
d
.
loginTimeout
(
a
),
g
.
reject
(
a
)});
return
g
.
promise
},
d
.
postInfoByUrl
=
function
(
c
,
e
){
d
.
noLogin
();
var
f
=
b
.
defer
();
-
1
==
c
.
indexOf
(
"?"
)?
c
+=
"?r="
+
Math
.
random
():
c
+=
"&r="
+
Math
.
random
();
a
.
post
(
c
,
e
).
success
(
function
(
a
){
f
.
resolve
(
a
.
content
||
a
)}).
error
(
function
(
a
){
d
.
loginTimeout
(
a
),
f
.
reject
(
a
)});
return
f
.
promise
},
d
.
putInfo
=
function
(
c
,
e
){
d
.
noLogin
(
c
);
var
f
=
b
.
defer
();
-
1
==
c
.
indexOf
(
"?"
)?
c
+=
"?r="
+
Math
.
random
():
c
+=
"&r="
+
Math
.
random
();
a
.
put
(
"/api/"
+
c
,
e
).
success
(
function
(
a
,
b
){
d
.
loginTimeout
(
a
),
a
.
status
=
b
,
a
.
code
&&
a
.
code
<
0
?
f
.
reject
(
a
):
f
.
resolve
(
a
.
content
||
a
)}).
error
(
function
(
a
){
d
.
loginTimeout
(
a
),
f
.
reject
(
a
)});
return
f
.
promise
},
d
.
deleteInfo
=
function
(
c
){
d
.
noLogin
();
var
e
=
b
.
defer
();
-
1
==
c
.
indexOf
(
"?"
)?
c
+=
"?r="
+
Math
.
random
():
c
+=
"&r="
+
Math
.
random
();
a
.
delete
(
"/api/"
+
c
).
success
(
function
(
a
,
b
){
d
.
loginTimeout
(
a
),
a
.
status
=
b
,
e
.
resolve
(
a
.
content
||
a
)}).
error
(
function
(
a
){
d
.
loginTimeout
(
a
),
e
.
reject
(
a
)});
return
e
.
promise
},
d
.
downFile
=
function
(
c
,
d
){
var
e
=
b
.
defer
();
return
-
1
==
c
.
indexOf
(
"api"
)
&&
(
c
=
"/api/"
+
c
),
a
({
method
:
"GET"
,
url
:
c
,
params
:
d
,
responseType
:
"arraybuffer"
}).
success
(
function
(
a
,
b
,
c
){
if
(
204
==
b
)
return
e
.
resolve
({
code
:
-
1
}),
!
1
;
e
.
resolve
({
code
:
1
}),
c
=
c
();
var
d
=
c
.
filename
,
f
=
c
[
"content-type"
],
g
=
document
.
createElement
(
"a"
);
try
{
var
h
=
new
Blob
([
a
],{
type
:
f
}),
i
=
window
.
URL
.
createObjectURL
(
h
);
g
.
setAttribute
(
"href"
,
i
),
g
.
setAttribute
(
"download"
,
decodeURIComponent
(
d
));
var
j
=
new
MouseEvent
(
"click"
,{
view
:
window
,
bubbles
:
!
0
,
cancelable
:
!
1
});
g
.
dispatchEvent
(
j
)}
catch
(
k
){}}).
error
(
function
(
a
){}),
e
.
promise
},
d
}
angular
.
module
(
"app"
).
factory
(
"HttpService"
,[
"$http"
,
"$q"
,
"UtilService"
,
a
])}(),
function
(){
"use strict"
;
function
a
(){
var
a
=
{};
return
a
.
randRange
=
function
(
a
,
b
){
return
Math
.
floor
(
Math
.
random
()
*
(
b
-
a
+
1
))
+
a
},
a
.
sortArray
=
function
(
a
,
b
){
return
"desc"
==
b
?
a
.
sort
(
function
(
a
,
b
){
return
a
==
b
?
0
:
a
>
b
?
-
1
:
1
}):
a
.
sort
(
function
(
a
,
b
){
return
a
==
b
?
0
:
a
>
b
?
1
:
-
1
})},
a
.
getMaxByArray
=
function
(
b
){
var
c
=
a
.
cloneJSON
(
b
);
return
c
=
c
.
sort
(
function
(
a
,
b
){
return
a
==
b
?
0
:
a
>
b
?
-
1
:
1
}),
c
[
0
]},
a
.
sortArray2
=
function
(
a
,
b
,
c
,
d
){
var
e
=
[],
f
=
a
.
length
;
f
>
0
&&
(
b
.
filter
(
function
(
b
,
c
){
for
(
var
d
=
[],
g
=
0
;
g
<
f
;
g
++
)
d
.
push
(
a
[
g
][
c
]);
d
.
push
(
b
),
e
.
push
(
d
)}),
"desc"
==
d
?
e
.
sort
(
function
(
a
,
b
){
return
a
[
c
]
==
b
[
c
]?
0
:
a
[
c
]
>
b
[
c
]?
-
1
:
1
}):
e
.
sort
(
function
(
a
,
b
){
return
a
[
c
]
==
b
[
c
]?
0
:
a
[
c
]
>
b
[
c
]?
1
:
-
1
}),
e
.
filter
(
function
(
c
,
d
){
b
[
d
]
=
c
.
pop
();
for
(
var
e
=
0
;
e
<
f
;
e
++
)
a
[
e
][
d
]
=
c
[
e
]}))},
a
.
sumArray
=
function
(
a
){
for
(
var
b
=
0
,
c
=
0
;
c
<
a
.
length
;
c
++
)
null
!=
a
[
c
]
&&
(
b
+=
a
[
c
]);
return
b
},
a
.
decimal2
=
function
(
a
,
b
){
b
=
b
||
2
;
for
(
var
c
=
"1"
,
d
=
1
,
e
=
0
;
e
<
b
;
e
++
)
c
+=
"0"
;
d
=
parseInt
(
c
);
var
f
=
Math
.
round
(
a
*
d
)
/
d
,
g
=
f
+
""
,
h
=
g
.
indexOf
(
"."
);
return
h
>
0
&&
g
.
substring
(
h
,
g
.
length
)
>
2
&&
(
g
=
g
.
substring
(
0
,
g
.
length
-
2
),
f
=
parseFloat
(
g
)),
f
},
a
.
getDay
=
function
(
a
){
var
b
=
new
Date
,
c
=
function
(
a
){
var
b
=
a
.
getFullYear
(),
c
=
a
.
getMonth
()
+
1
,
d
=
a
.
getDate
();
return
c
<
10
&&
(
c
=
"0"
+
c
),
d
<
10
&&
(
d
=
"0"
+
d
),
b
+
"-"
+
c
+
"-"
+
d
},
d
=
b
.
getTime
()
+
864
e5
*
a
;
return
b
.
setTime
(
d
),
c
(
b
)},
a
.
getLastMonthsDate
=
function
(
a
,
b
){
var
c
=
new
Date
(
a
);
return
c
.
setMonth
(
c
.
getMonth
()
-
Number
(
b
)),
c
.
Format
(
"yyyy-MM-dd"
)},
a
.
getYearWeekList
=
function
(
a
){
if
(
void
0
===
a
){
a
=
(
new
Date
).
getFullYear
()}
var
b
=
[],
c
=
new
Date
(
a
,
0
,
1
),
d
=
c
.
getDay
(),
e
=
new
Date
(
a
,
11
,
31
);
d
=
0
==
d
?
7
:
d
;
var
f
=
c
.
clone
().
addDays
(
7
-
d
),
g
=
0
;
for
(
d
>
0
&&
d
<
5
&&
(
g
=
1
,
b
.
push
({
week
:
g
,
date
:
f
,
year
:
a
}));
f
<
e
&&!
e
.
isSameDay
(
f
);)
g
++
,
f
=
f
.
clone
().
addDays
(
7
),
b
.
push
({
week
:
g
,
date
:
f
,
year
:
a
});
var
h
=
new
Date
(
a
,
11
,
31
),
i
=
h
.
getDay
();
return
i
>
0
&&
i
<
4
&&
b
.
pop
(),
b
},
a
.
getYearWeekCount
=
function
(
b
){
return
a
.
getYearWeekList
(
b
).
length
},
a
.
getNowWeekNum
=
function
(){
var
a
=
Date
.
today
(),
b
=
new
Date
(
a
.
getFullYear
(),
0
,
1
),
c
=
b
.
getDay
(),
d
=
b
.
clone
(),
e
=
0
;
c
>
0
&&
(
d
=
d
.
addDays
(
8
-
c
),
e
=
1
);
var
f
=
diffDate
(
d
,
a
);
return
Math
.
ceil
(
f
/
7
)
+
e
},
a
.
cloneJSON
=
function
(
a
){
var
b
=
Object
.
prototype
.
toString
.
call
(
a
);
return
b
.
indexOf
(
"Object"
)
>-
1
?
jQuery
.
extend
(
!
0
,{},
a
):
b
.
indexOf
(
"Array"
)
>
0
?
a
.
concat
():
a
},
a
.
splitString
=
function
(
a
,
b
){
for
(
var
c
=
""
,
d
=
0
,
e
=
new
RegExp
(
/
[^\x
00-
\x
ff
]
/
),
f
=
0
;
f
<
a
.
length
;
f
++
){
var
g
=
a
.
charAt
(
f
);
d
+=
e
.
test
(
g
)?
2
:
1
,
d
<=
b
&&
(
c
+=
g
)}
return
{
str
:
c
,
len
:
d
}},
a
.
merge
=
function
(){
return
Array
.
prototype
.
concat
.
apply
([],
arguments
)},
a
.
isNullStr
=
function
(
a
){
return
!
(
!
angular
.
isUndefined
(
a
)
&&
""
!=
a
&&
null
!=
a
&&
"null"
!=
a
)},
a
.
getStr
=
function
(
a
){
return
a
<
10
?
"0"
+
a
:
a
+
""
},
a
.
setCookie
=
function
(
a
,
b
,
c
){
$
.
cookie
(
a
,
b
,{
expires
:
c
,
path
:
"/"
,
secure
:
!
1
,
raw
:
!
1
})},
a
.
getCookie
=
function
(
a
){
return
$
.
cookie
(
a
)},
a
.
setItem
=
function
(
a
,
b
){
window
.
localStorage
.
setItem
(
a
,
b
)},
a
.
getItem
=
function
(
a
){
return
window
.
localStorage
.
getItem
(
a
)},
a
.
copyTxt
=
function
(
a
){
$
(
a
).
select
();
var
b
=!
1
;
try
{
b
=
document
.
execCommand
(
"Copy"
,
"false"
,
null
)}
catch
(
c
){
b
=!
1
}
return
b
},
a
.
randRangeId
=
function
(){
if
(
a
.
getCookie
(
"tkRmdId"
))
return
a
.
getCookie
(
"tkRmdId"
);
var
b
=
(
new
Date
).
getTime
()
+
a
.
randRange
(
3
,
5
);
return
a
.
setCookie
(
"tkRmdId"
,
b
,
1095
),
b
},
a
.
randDeviceId
=
function
(){
if
(
localStorage
.
getItem
(
"rmdDeviceId"
))
return
localStorage
.
getItem
(
"rmdDeviceId"
);
var
b
=
(
new
Date
).
getTime
()
+
a
.
randRange
(
3
,
10
);
return
localStorage
.
setItem
(
"rmdDeviceId"
,
b
),
b
},
a
.
getAppkey
=
function
(){
return
"0d401839250deff23daf62fd49a444cb"
},
a
.
getTKAppkey
=
function
(){
return
"f0f251af10e66a0c94d2e923d8863105"
},
a
.
getLogRoot
=
function
(){
return
"http://log.reyun.com"
},
a
.
deviceInfo
=
function
(){
return
{
versions
:
function
(){
var
a
=
navigator
.
userAgent
;
navigator
.
appVersion
;
return
{
trident
:
a
.
indexOf
(
"Trident"
)
>-
1
,
presto
:
a
.
indexOf
(
"Presto"
)
>-
1
,
webKit
:
a
.
indexOf
(
"AppleWebKit"
)
>-
1
,
gecko
:
a
.
indexOf
(
"Gecko"
)
>-
1
&&-
1
==
a
.
indexOf
(
"KHTML"
),
mobile
:
!!
a
.
match
(
/AppleWebKit.*Mobile.*/
),
ios
:
!!
a
.
match
(
/
\(
i
[^
;
]
+;
(
U;
)?
CPU.+Mac OS X/
),
android
:
a
.
indexOf
(
"Android"
)
>-
1
||
a
.
indexOf
(
"Linux"
)
>-
1
,
iPhone
:
a
.
indexOf
(
"iPhone"
)
>-
1
,
iPad
:
a
.
indexOf
(
"iPad"
)
>-
1
,
webApp
:
-
1
==
a
.
indexOf
(
"Safari"
)}}(),
language
:(
navigator
.
browserLanguage
||
navigator
.
language
).
toLowerCase
()}},
a
.
operatorSystem
=
function
(){
var
a
=
navigator
.
userAgent
,
b
=
"Win32"
==
navigator
.
platform
||
"Windows"
==
navigator
.
platform
,
c
=
"Mac68K"
==
navigator
.
platform
||
"MacPPC"
==
navigator
.
platform
||
"Macintosh"
==
navigator
.
platform
||
"MacIntel"
==
navigator
.
platform
;
if
(
c
)
return
"Mac"
;
if
(
"ipad"
==
a
.
match
(
/ipad/i
))
return
"ipad"
;
if
(
"iPhone"
==
navigator
.
platform
)
return
"iPhone"
;
if
(
"X11"
==
navigator
.
platform
&&!
b
&&!
c
)
return
"Unix"
;
var
d
=
String
(
navigator
.
platform
).
indexOf
(
"Linux"
)
>-
1
,
e
=
"android"
==
a
.
toLowerCase
().
match
(
/android/i
);
if
(
d
)
return
e
?
"Android"
:
"Linux"
;
if
(
b
){
if
(
a
.
indexOf
(
"Windows NT 5.0"
)
>-
1
||
a
.
indexOf
(
"Windows 2000"
)
>-
1
)
return
"Win2000"
;
if
(
a
.
indexOf
(
"Windows NT 5.1"
)
>-
1
||
a
.
indexOf
(
"Windows XP"
)
>-
1
)
return
"WinXP"
;
if
(
a
.
indexOf
(
"Windows NT 5.2"
)
>-
1
||
a
.
indexOf
(
"Windows 2003"
)
>-
1
)
return
"Win2003"
;
if
(
a
.
indexOf
(
"Windows NT 6.0"
)
>-
1
||
a
.
indexOf
(
"Windows Vista"
)
>-
1
)
return
"WinVista"
;
if
(
a
.
indexOf
(
"Windows NT 6.1"
)
>-
1
||
a
.
indexOf
(
"Windows 7"
)
>-
1
)
return
"Win7"
;
if
(
a
.
indexOf
(
"Windows NT 6.2"
)
>-
1
||
a
.
indexOf
(
"Windows 8"
)
>-
1
)
return
"Win8"
}
return
"other"
},
a
.
getBrowser
=
function
(
a
){
var
b
=
window
.
navigator
.
userAgent
,
c
=
""
,
d
=
""
;
b
.
toLowerCase
().
indexOf
(
"micromessenger"
)
>-
1
?
c
=
"wechat"
:
/Firefox/g
.
test
(
b
)?(
b
=
b
.
split
(
" "
),
c
=
"Firefox"
,
d
=
b
[
b
.
length
-
1
].
split
(
"/"
)[
1
]):
/MSIE/g
.
test
(
b
)?(
c
=
"IE"
,
b
.
indexOf
(
"QQBrowser"
)
>-
1
&&
(
c
=
"QQBrowser"
),
b
=
b
.
split
(
";"
),
d
=
b
[
1
].
split
(
" "
)[
2
]):
/Opera/g
.
test
(
b
)?(
b
=
b
.
split
(
" "
),
c
=
"Opera"
,
d
=
b
[
b
.
length
-
1
].
split
(
"/"
)[
1
]):
/Chrome/g
.
test
(
b
)?(
b
=
b
.
split
(
" "
),
c
=
"Chrome"
,
d
=
b
[
b
.
length
-
2
].
split
(
"/"
)[
1
]):
/^apple
\s
+/i
.
test
(
navigator
.
vendor
)?(
b
=
b
.
split
(
" "
),
c
=
"Safair"
,
d
=
b
[
b
.
length
-
2
].
split
(
"/"
)[
1
]):
c
=
"others"
;
var
e
=
d
.
split
(
"."
);
return
e
.
length
>
1
&&
(
d
=
e
[
0
]
+
"."
+
e
[
1
]),
a
?
c
+
d
:
c
},
a
}
angular
.
module
(
"app"
).
factory
(
"UtilService"
,
a
)}(),
function
(){
function
a
(
a
,
c
){
var
d
=
{},
e
=
{
line
:
1
,
column
:
2
,
columnstack
:
3
,
bar
:
4
,
area
:
5
,
areastack
:
6
,
arealiner
:
7
,
pie
:
8
,
funnel
:
9
,
columnline
:
10
,
barY
:
11
};
d
.
getOption
=
function
(
d
,
f
,
g
){
var
h
=
new
b
(
c
,
g
,
a
),
i
=
h
.
init
(
d
,
g
),
j
=
[];
if
(
e
[
f
]
==
e
.
line
)
j
=
h
.
lineChart
();
else
if
(
e
[
f
]
==
e
.
area
)
j
=
h
.
areaChart
();
else
if
(
e
[
f
]
==
e
.
areastack
)
j
=
h
.
areaChart
(
!
0
,
!
1
);
else
if
(
e
[
f
]
==
e
.
arealiner
)
j
=
h
.
areaChart
(
!
1
,
!
0
);
else
if
(
e
[
f
]
==
e
.
column
)
j
=
h
.
columnChart
(
!
1
),
i
.
yAxis
[
0
].
axisTick
=
i
.
xAxis
[
0
].
axisTick
,
i
.
yAxis
[
0
].
axisLine
=
i
.
xAxis
[
0
].
axisLine
;
else
if
(
e
[
f
]
==
e
.
columnstack
)
j
=
h
.
columnChart
(
!
0
,
g
.
flag
),
i
.
yAxis
[
0
].
axisTick
=
i
.
xAxis
[
0
].
axisTick
,
i
.
yAxis
[
0
].
axisLine
=
i
.
xAxis
[
0
].
axisLine
;
else
if
(
e
[
f
]
==
e
.
bar
)
j
=
h
.
barChart
(),
i
.
yAxis
[
0
]
=
h
.
getXaxis2
(),
i
.
xAxis
[
0
]
=
h
.
getYaxis2
(),
i
.
grid
.
right
=
20
;
else
if
(
e
[
f
]
==
e
.
funnel
)
j
=
h
.
funnelChart
(),
i
.
tooltip
=
h
.
funnelTooltip
();
else
if
(
e
[
f
]
==
e
.
columnline
)
j
=
h
.
columnLineChart
(),
i
.
yAxis
[
0
].
axisTick
=
i
.
xAxis
[
0
].
axisTick
,
i
.
yAxis
[
0
].
axisLine
=
i
.
xAxis
[
0
].
axisLine
,
i
.
yAxis
.
push
(
h
.
getYaxis
(
!
0
));
else
if
(
e
[
f
]
==
e
.
barY
){
j
=
h
.
barChart
(
!
0
),
i
.
yAxis
[
0
]
=
h
.
getXaxis2
(),
i
.
xAxis
[
0
]
=
h
.
getYaxis2
(),
i
.
grid
.
right
=
20
,
i
.
grid
.
top
=
0
;
for
(
var
k
=
d
.
name
,
l
=
k
.
length
-
1
,
m
=
0
;
m
<
l
;
m
++
)
i
.
xAxis
.
push
(
h
.
getYaxis2
()),
i
.
xAxis
[
m
+
1
].
show
=!
1
}
return
i
.
series
=
j
,
angular
.
isDefined
(
g
.
color
)
&&
(
i
.
color
=
g
.
color
),
angular
.
isDefined
(
g
.
legend
)
&&
(
i
.
legend
.
show
=
g
.
legend
),
i
};
var
f
=
new
b
(
c
);
return
d
.
getPieOption
=
function
(
a
,
b
,
c
){
return
f
.
pieChart
(
a
,
c
)},
d
.
getMapOption
=
function
(
a
,
b
,
c
){
return
f
.
mapChart
(
a
,
c
)},
d
.
getLoginMapOption
=
function
(
a
,
b
,
c
){
return
f
.
loginMapChart
(
a
,
c
)},
d
}
function
b
(
a
,
b
,
d
){
var
e
=
"#666666"
,
f
=
"#d5d7d8"
,
g
=
"SimHei,Arial"
,
h
=
"#666666"
,
i
=
12
;
this
.
UtilService
=
a
,
this
.
init
=
function
(
a
,
b
){
this
.
data
=
a
.
val
,
this
.
name
=
a
.
name
,
this
.
key
=
a
.
key
,
this
.
chartData
=
a
,
this
.
config
=
b
;
var
c
=
this
.
commonOptions
();
return
c
.
xAxis
=
[
this
.
getXaxis
()],
c
.
yAxis
=
[
this
.
getYaxis
()],
c
},
this
.
commonOptions
=
function
(
a
){
var
c
=
""
;
this
.
config
.
ispercent
&&
1
==
this
.
config
.
ispercent
&&
(
c
+=
"%"
);
var
e
=
[],
j
=
0
,
k
=
{};
if
(
this
.
name
&&
this
.
name
.
length
>
0
){
for
(
var
l
=
0
;
l
<
this
.
name
.
length
;
l
++
){
var
m
=
this
.
name
[
l
].
lastIndexOf
(
"_"
);
e
.
push
({
name
:
b
.
flag
?
this
.
name
[
l
].
slice
(
0
,
-
1
==
m
?
this
.
name
[
l
].
length
-
1
:
m
):
this
.
name
[
l
],
icon
:
"rect"
})}
if
(
this
.
config
.
hidelast
)
for
(
var
l
=
this
.
config
.
hidelast
;
l
>
0
;
l
--
){
var
n
=
this
.
name
.
slice
(
0
-
l
)[
0
];
k
[
n
]
=!
1
}}
var
o
=
""
,
p
=
this
;
return
this
.
config
.
title
&&
(
o
=
this
.
config
.
title
,
0
!=
this
.
config
.
legend
&&
(
j
=
30
)),{
title
:{
text
:
o
,
textStyle
:{
color
:
h
,
fontSize
:
i
,
fontFamily
:
g
},
left
:
"center"
},
legend
:{
data
:
e
,
top
:
j
,
textStyle
:{
color
:
h
,
fontSize
:
i
,
fontFamily
:
g
},
itemWidth
:
10
,
itemHeight
:
10
,
formatter
:
function
(
a
){
return
e
.
length
>
2
?
echarts
.
format
.
truncateText
(
a
,
80
,
"14px Microsoft Yahei"
,
"…"
):
a
},
tooltip
:{
show
:
!
0
},
selected
:
k
},
grid
:{
left
:
10
,
top
:
j
+
40
,
bottom
:
10
,
right
:
0
,
containLabel
:
!
0
},
tooltip
:{
trigger
:
b
.
flag
&&
"hasGro"
!=
b
.
flag
&&
"nohasGro"
!=
b
.
flag
?
"item"
:
"axis"
,
formatter
:
function
(
a
){
var
e
,
f
=
a
.
length
,
g
=
""
;
if
(
b
.
flag
&&
"hasGro"
!=
b
.
flag
&&
"nohasGro"
!=
b
.
flag
){
var
h
=
a
.
seriesName
;
return
null
!=
a
.
value
&&
"-"
!=
a
.
value
&&
(
g
+=
'<span style="color:'
+
a
.
color
+
'">●</span>'
+
h
+
" : "
+
p
.
UtilService
.
decimal2
(
a
.
value
,
2
)
+
c
,
p
.
config
.
lastprecent
&&
(
g
+=
"%"
),
p
.
config
.
namesub
&&
p
.
config
.
namesub
.
length
>
0
&&
p
.
config
.
namesub
[
a
.
seriesIndex
]
&&
(
g
+=
p
.
config
.
namesub
[
a
.
seriesIndex
]),
g
+=
"<br/>"
),
g
=
a
.
name
+
"<br/>"
+
g
}
for
(
var
i
=
0
;
i
<
f
;
i
++
){
e
=
a
[
i
];
var
h
=
e
.
seriesName
;
null
!=
e
.
value
&&
"-"
!=
e
.
value
&&
(
g
+=
'<span style="color:'
+
e
.
color
+
'">●</span>'
+
h
+
" : "
+
p
.
UtilService
.
decimal2
(
e
.
value
,
2
)
+
c
,
p
.
config
.
lastprecent
&&
i
==
f
-
1
&&
(
g
+=
"%"
),
p
.
config
.
namesub
&&
p
.
config
.
namesub
.
length
>
0
&&
p
.
config
.
namesub
[
i
]
&&
(
g
+=
p
.
config
.
namesub
[
i
]),
g
+=
"<br/>"
)}
return
g
=
e
.
name
+
"<br/>"
+
g
,
b
.
id
?(
d
.
$emit
(
"tooltipObj"
,{
objs
:
a
,
id
:
b
.
id
,
flag
:
b
.
flag
}),
""
):
g
},
axisPointer
:{
type
:
"hasGro"
==
b
.
flag
||
"nohasGro"
==
b
.
flag
?
"shadow"
:
"line"
,
lineStyle
:{
color
:
f
}}},
toolbox
:{
show
:
!
0
,
feature
:{
mark
:{
show
:
!
1
},
dataView
:{
show
:
!
1
,
readOnly
:
!
1
},
saveAsImage
:{
show
:
!
1
}}},
calculable
:
!
1
,
color
:[
"#e8340e"
,
"#0088cc"
,
"#61a0a8"
,
"#d48265"
,
"#91c7ae"
,
"#749f83"
,
"#ca8622"
,
"#bda29a"
,
"#6e7074"
,
"#546570"
,
"#2f4554"
,
"#006000"
,
"#642100"
,
"#6c3365"
,
"#484891"
,
"#844200"
,
"#006030"
,
"#003e3e"
,
"#584b00"
,
"#336666"
]}},
this
.
getXaxis
=
function
(
a
){
var
b
=
this
;
return
{
type
:
"category"
,
data
:
this
.
key
,
splitLine
:{
show
:
!
1
},
axisLabel
:{
textStyle
:{
color
:
e
,
fontSize
:
i
,
fontFamily
:
g
},
formatter
:
function
(
a
){
if
(
a
){
var
c
=
b
.
UtilService
.
splitString
(
a
,
12
);
return
b
.
config
.
issmart
&&
c
.
len
>
12
?
c
.
str
+
"..."
:
a
}}},
axisTick
:{
lineStyle
:{
color
:
f
}},
axisLine
:{
lineStyle
:{
color
:
f
}}}},
this
.
getXaxis2
=
function
(
a
){
var
b
=
this
;
return
{
type
:
"category"
,
data
:
this
.
key
,
splitLine
:{
show
:
!
1
},
axisLabel
:{
textStyle
:{
color
:
e
,
fontSize
:
i
,
fontFamily
:
g
},
formatter
:
function
(
a
){
if
(
angular
.
isUndefined
(
a
))
return
""
;
var
c
=
b
.
UtilService
.
splitString
(
a
,
12
);
return
c
.
len
>
12
?
c
.
str
+
"..."
:
a
}},
axisTick
:{
lineStyle
:{
color
:
f
}},
axisLine
:{
lineStyle
:{
color
:
f
}},
inverse
:
!
0
}},
this
.
getYaxis
=
function
(
a
){
var
b
=
""
;
return
(
this
.
config
.
ispercent
&&
1
==
this
.
config
.
ispercent
||
a
)
&&
(
b
+=
"%"
),{
type
:
"value"
,
axisLabel
:{
textStyle
:{
color
:
e
,
fontSize
:
i
,
fontFamily
:
g
},
formatter
:
function
(
a
){
return
c
(
a
)
+
b
}},
axisTick
:{
show
:
!
1
,
lineStyle
:{
opacity
:
0
}},
axisLine
:{
show
:
!
1
},
splitLine
:{
show
:
!
0
,
lineStyle
:{
color
:
f
,
type
:
"dashed"
}},
min
:
0
,
splitNumber
:
4
}},
this
.
getYaxis2
=
function
(){
var
a
=
""
;
return
this
.
config
.
ispercent
&&
1
==
this
.
config
.
ispercent
&&
(
a
+=
"%"
),{
type
:
"value"
,
axisLabel
:{
textStyle
:{
color
:
e
,
fontSize
:
i
,
fontFamily
:
g
},
formatter
:
function
(
b
){
return
c
(
b
)
+
a
}},
axisTick
:{
lineStyle
:{
color
:
f
}},
axisLine
:{
lineStyle
:{
color
:
f
}},
splitLine
:{
show
:
!
1
},
min
:
0
,
splitNumber
:
3
}},
this
.
lineChart
=
function
(){
for
(
var
a
=
[],
b
=
0
;
b
<
this
.
name
.
length
;
b
++
){
var
c
=
{};
c
.
name
=
this
.
name
[
b
],
c
.
type
=
"line"
,
c
.
lineStyle
=
{
normal
:{
width
:
1.2
}},
c
.
smooth
=!
0
,
c
.
data
=
this
.
data
[
b
],
a
[
b
]
=
c
}
return
a
},
this
.
areaChart
=
function
(
a
,
b
){
var
c
=
[],
d
=
.
25
;
this
.
config
.
opacity
&&
(
d
=
this
.
config
.
opacity
);
for
(
var
e
=
0
;
e
<
this
.
name
.
length
;
e
++
){
var
f
=
{};
f
.
name
=
this
.
name
[
e
],
f
.
type
=
"line"
,
f
.
data
=
this
.
data
[
e
],
a
&&
(
f
.
stack
=
"总量"
),
f
.
smooth
=!
0
,
f
.
areaStyle
=
{
normal
:{
opacity
:
d
}},
b
&&
(
f
.
areaStyle
.
normal
.
color
=
new
echarts
.
graphic
.
LinearGradient
(
0
,
0
,
0
,
1
,[{
offset
:
0
,
color
:
this
.
config
.
color
[
e
]},{
offset
:
1
,
color
:
"#fff"
}])),
f
.
lineStyle
=
{
normal
:{
width
:
1.2
}},
c
[
e
]
=
f
}
return
c
},
this
.
columnChart
=
function
(
a
,
b
){
for
(
var
c
=
[],
d
=
[],
e
=
0
;
e
<
this
.
name
.
length
;
e
++
){
var
f
=
{},
g
=
this
.
name
[
e
].
lastIndexOf
(
"_"
);
f
.
name
=
b
?
this
.
name
[
e
].
slice
(
0
,
-
1
==
g
?
this
.
name
[
e
].
length
:
g
):
this
.
name
[
e
],
f
.
type
=
"bar"
,
f
.
barMaxWidth
=
18
,
f
.
barGap
=
0
,
f
.
data
=
this
.
data
[
e
],
a
&&
(
f
.
stack
=
"总量"
+
(
b
?
this
.
name
[
e
].
slice
(
-
1
==
g
?
0
:
g
):
""
));
var
h
=
""
;
h
=
d
.
indexOf
(
f
.
name
)
>-
1
?
c
[
e
-
1
].
itemStyle
.
normal
.
color
:
this
.
config
.
color
[
e
],
f
.
itemStyle
=
{
normal
:{
color
:
h
}},
b
||
(
f
.
itemStyle
.
emphasis
=
{
color
:
this
.
config
.
color
[
e
]}),
d
.
push
(
f
.
name
),
c
[
e
]
=
f
}
return
c
},
this
.
barChart
=
function
(
a
){
for
(
var
b
=
[],
d
=
0
;
d
<
this
.
name
.
length
;
d
++
){
var
e
=
{};
e
.
name
=
this
.
name
[
d
],
e
.
type
=
"bar"
,
this
.
config
.
barwidth
?
e
.
barMaxWidth
=
this
.
config
.
barwidth
:(
e
.
barMaxWidth
=
18
,
e
.
barGap
=
0
),
a
&&
(
e
.
xAxisIndex
=
d
),
e
.
data
=
this
.
data
[
d
],
this
.
config
.
isbartext
&&
1
==
this
.
config
.
isbartext
&&
(
e
.
label
=
{
normal
:{
show
:
!
0
,
position
:
"right"
,
formatter
:
function
(
a
){
var
b
=
a
.
data
;
return
b
>
0
?
c
(
b
):
""
}}}),
b
[
d
]
=
e
}
return
b
},
this
.
pieChart
=
function
(
a
,
b
){
var
c
=
a
.
name
,
d
=
a
.
key
,
e
=
a
.
val
[
0
],
f
=
[];
return
e
&&
d
.
filter
(
function
(
b
,
d
){
var
g
=
[];
c
.
filter
(
function
(
a
,
c
){
g
.
push
({
value
:
e
[
b
][
c
],
name
:
a
})});
var
h
=
{
type
:
"pie"
,
clockwise
:
!
1
,
label
:{
normal
:{
show
:
!
(
c
.
length
>
20
)}},
radius
:[
0
,
120
],
center
:
1
==
a
.
key
.
length
?[
"50%"
,
"50%"
]:
0
==
d
?[
"25%"
,
"50%"
]:[
"75%"
,
"50%"
],
selectedOffset
:
5
,
data
:
g
};
f
.
push
(
h
)}),{
tooltip
:{
trigger
:
"item"
,
formatter
:
"{b}: {c} ({d}%)"
},
legend
:{
show
:
!
1
},
color
:
b
.
color
,
series
:
f
}},
this
.
funnelTooltip
=
function
(){
var
a
=
this
,
b
=
"用户"
;
return
0
==
this
.
config
.
isdevice
&&
(
b
=
"用户"
),{
trigger
:
"axis"
,
formatter
:
function
(
c
){
if
(
"markPoint"
==
c
.
componentType
)
return
"转化率"
+
c
.
value
;
c
.
length
>
0
&&
(
c
=
c
[
0
]);
var
d
=
c
.
dataIndex
;
if
(
d
>
0
){
var
e
=
""
;
return
c
?(
e
=
c
.
name
+
"的"
+
b
+
"个数:"
+
a
.
data
[
2
][
d
]
+
"<br/>"
,
e
+=
a
.
key
[
0
]
+
"到"
+
c
.
name
+
"的"
+
b
+
"转化成功率:"
+
a
.
data
[
0
][
d
]
+
"%"
):
e
=
""
,
e
}
return
c
.
name
+
"的"
+
b
+
"个数:"
+
a
.
data
[
2
][
0
]}}},
this
.
funnelChart
=
function
(){
var
a
=
this
,
b
=
this
.
config
.
barwidth
,
c
=
[],
d
=
[],
e
=
"image:///images/chartarrow.png"
,
f
=
[
54
,
26
],
h
=
this
.
key
.
length
;
if
(
h
>
0
){
var
i
=
(
b
-
70
)
/
h
,
j
=
80
,
k
=
"insideTop"
,
l
=
"#ffffff"
;
if
(
h
>
5
&&
(
j
=
40
),
1
==
this
.
config
.
issmart
)
h
>
5
?(
e
=
"image:///images/chartarrow2.png"
,
f
=
[
10
,
10
],
i
=
(
b
-
20
)
/
h
,
j
=
30
,
k
=
"insideTop"
,
l
=
"#666"
):
j
=
45
;
else
for
(
var
m
=
this
.
chartData
.
trans4last
,
n
=
0
;
n
<
m
.
length
;
n
++
)
c
.
push
({
value
:
m
[
n
]
+
"%"
,
x
:
40
+
5
*
n
+
i
*
(
n
+
1
)
+
"px"
,
y
:
"50%"
});
for
(
var
n
=
0
;
n
<
2
;
n
++
){
var
o
=
{};
o
.
type
=
"bar"
,
o
.
stack
=
"转化率"
,
o
.
barMaxWidth
=
j
,
o
.
barGap
=
0
,
o
.
data
=
this
.
data
[
n
],
0
==
n
&&
(
o
.
label
=
{
normal
:{
show
:
!
0
,
position
:
k
,
formatter
:
function
(
b
){
return
0
==
b
.
value
&&
0
==
a
.
data
[
2
][
b
.
dataIndex
]
||
b
.
value
<
10
?
""
:
a
.
UtilService
.
decimal2
(
b
.
value
)
+
"%"
},
textStyle
:{
color
:
l
,
fontFamily
:
g
}}},
o
.
itemStyle
=
{
normal
:{
color
:
this
.
config
.
color
[
0
],
textStyle
:{
color
:
"#ffffff"
,
fontFamily
:
g
}}}),
1
==
n
&&
(
o
.
itemStyle
=
{
normal
:{
color
:
this
.
config
.
color
[
1
]},
emphasis
:{
color
:
this
.
config
.
color
[
1
]}}),
o
.
markPoint
=
{
show
:
!
0
,
symbol
:
e
,
symbolSize
:
f
,
label
:{
normal
:{
formatter
:
function
(
b
){
return
h
>
5
&&
1
==
a
.
config
.
issmart
?
""
:
b
.
value
},
textStyle
:{
color
:
"#ffffff"
,
fontFamily
:
g
}},
emphasis
:{
formatter
:
function
(
a
){
return
a
.
value
}}},
data
:
c
},
d
[
n
]
=
o
}}
return
d
},
this
.
mapChart
=
function
(
a
,
b
){
var
c
=
a
.
name
,
d
=
a
.
key
,
f
=
a
.
val
[
0
],
h
=
[],
i
=
0
;
if
(
f
&&
f
.
length
>
0
){
var
i
=
this
.
UtilService
.
getMaxByArray
(
f
);
i
=
100
*
Math
.
ceil
(
i
/
100
),
d
.
filter
(
function
(
a
,
b
){
h
.
push
({
value
:
f
[
b
],
name
:
a
})})}
return
{
tooltip
:{
trigger
:
"item"
,
formatter
:
function
(
a
){
return
isNaN
(
a
.
value
)?
a
.
name
:
a
.
name
+
"<br/>"
+
a
.
seriesName
+
":"
+
a
.
value
}},
visualMap
:{
min
:
0
,
max
:
i
,
color
:[
"#7ec3f2"
,
"#dcebf4"
]},
series
:[{
name
:
c
[
0
],
type
:
"map"
,
mapType
:
"china"
,
selectedMode
:
"multiple"
,
top
:
20
,
bottom
:
20
,
label
:{
normal
:{
show
:
!
0
,
textStyle
:{
fontSize
:
4
,
color
:
e
,
fontFamily
:
g
}},
emphasis
:{
show
:
!
0
}},
itemStyle
:{
normal
:{
areaColor
:
"#eeeeee"
,
borderColor
:
"#858585"
},
emphasis
:{
areaColor
:
"#1fb9e9"
}},
data
:
h
}]}},
this
.
loginMapChart
=
function
(
a
,
b
){
var
c
=
a
.
name
,
d
=
a
.
key
,
f
=
a
.
val
[
0
],
h
=
[],
i
=
0
;
if
(
f
&&
f
.
length
>
0
){
var
i
=
this
.
UtilService
.
getMaxByArray
(
f
);
i
=
100
*
Math
.
ceil
(
i
/
100
),
d
.
filter
(
function
(
a
,
b
){
h
.
push
({
value
:
f
[
b
],
name
:
a
})})}
return
{
tooltip
:{
trigger
:
"item"
,
show
:
!
1
,
formatter
:
function
(
a
){
return
isNaN
(
a
.
value
)?
a
.
name
:
a
.
name
+
"<br/>"
+
a
.
seriesName
+
":"
+
a
.
value
}},
series
:[{
name
:
c
[
0
],
type
:
"map"
,
mapType
:
"china"
,
selectedMode
:
"multiple"
,
top
:
20
,
bottom
:
20
,
label
:{
normal
:{
show
:
!
1
,
textStyle
:{
fontSize
:
4
,
color
:
e
,
fontFamily
:
g
}},
emphasis
:{
show
:
!
0
}},
itemStyle
:{
normal
:{
areaColor
:
"#424250"
,
borderColor
:
"#1e1e26"
},
emphasis
:{
areaColor
:
"#3c3c4a"
}},
data
:
h
}]}},
this
.
columnLineChart
=
function
(){
for
(
var
a
=
[],
b
=
this
.
name
.
length
,
c
=
0
;
c
<
b
;
c
++
){
var
d
=
{};
d
.
name
=
this
.
name
[
c
],
d
.
barMaxWidth
=
18
,
d
.
barGap
=
0
,
d
.
data
=
this
.
data
[
c
],
c
==
b
-
1
?(
d
.
type
=
"line"
,
d
.
yAxisIndex
=
1
):
d
.
type
=
"bar"
,
d
.
itemStyle
=
{
normal
:{
color
:
this
.
config
.
color
[
c
]},
emphasis
:{
color
:
this
.
config
.
color
[
c
]}},
a
[
c
]
=
d
}
return
a
}}
function
c
(
a
){
return
a
>
999
&
a
<
1
e4
?(
a
/
1
e3
).
toFixed
(
1
).
toString
()
+
"k"
:
a
>=
1
e4
&&
a
<
1
e6
?(
a
/
1
e4
).
toFixed
(
1
).
toString
()
+
"w"
:
a
>=
1
e6
&&
a
<
1
e9
?(
a
/
1
e6
).
toFixed
(
1
).
toString
()
+
"m"
:
a
>=
1
e9
?(
a
/
1
e9
).
toFixed
(
1
).
toString
()
+
"b"
:
a
}
angular
.
module
(
"app"
).
factory
(
"OptionService"
,[
"$rootScope"
,
"UtilService"
,
a
])}(),
function
(){
"use strict"
;
function
a
(){
var
a
=
{};
return
a
.
getDay
=
function
(
a
){
var
b
=
new
Date
,
c
=
function
(
a
){
var
b
=
a
.
getFullYear
(),
c
=
a
.
getMonth
()
+
1
,
d
=
a
.
getDate
();
return
c
<
10
&&
(
c
=
"0"
+
c
),
d
<
10
&&
(
d
=
"0"
+
d
),
b
+
"-"
+
c
+
"-"
+
d
},
d
=
b
.
getTime
()
+
864
e5
*
a
;
return
b
.
setTime
(
d
),
c
(
b
)},
a
.
getYearWeekList
=
function
(
a
){
if
(
void
0
===
a
){
a
=
(
new
Date
).
getFullYear
()}
var
b
=
[],
c
=
new
Date
(
a
,
0
,
1
),
d
=
c
.
getDay
(),
e
=
new
Date
(
a
,
11
,
31
);
d
=
0
==
d
?
7
:
d
;
var
f
=
c
.
clone
().
addDays
(
7
-
d
),
g
=
0
;
for
(
d
>
0
&&
d
<
5
&&
(
g
=
1
,
b
.
push
({
week
:
g
,
date
:
f
,
year
:
a
}));
f
<
e
&&!
e
.
isSameDay
(
f
);)
g
++
,
f
=
f
.
clone
().
addDays
(
7
),
b
.
push
({
week
:
g
,
date
:
f
,
year
:
a
});
var
h
=
new
Date
(
a
,
11
,
31
),
i
=
h
.
getDay
();
return
i
>
0
&&
i
<
4
&&
b
.
pop
(),
b
},
a
.
getYearWeekCount
=
function
(
b
){
return
a
.
getYearWeekList
(
b
).
length
},
a
.
getNowWeekNum
=
function
(){
var
a
=
Date
.
today
(),
b
=
new
Date
(
a
.
getFullYear
(),
0
,
1
),
c
=
b
.
getDay
(),
d
=
b
.
clone
(),
e
=
0
;
c
>
0
&&
(
d
=
d
.
addDays
(
8
-
c
),
e
=
1
);
var
f
=
diffDate
(
d
,
a
);
return
Math
.
ceil
(
f
/
7
)
+
e
},
a
.
getToday
=
function
(){
return
{
startDate
:
a
.
getDay
(
0
),
endDate
:
a
.
getDay
(
0
)}},
a
.
getYesDay
=
function
(){
return
{
startDate
:
a
.
getDay
(
-
1
),
endDate
:
a
.
getDay
(
-
1
)}},
a
.
getLastDays
=
function
(
b
,
c
){
return
angular
.
isUndefined
(
c
)
&&
(
c
=-
1
),
0
==
c
&&
b
<
0
&&
(
b
+=
1
),
0
==
c
&&
b
>
0
&&
(
b
-=
1
),{
startDate
:
a
.
getDay
(
b
),
endDate
:
a
.
getDay
(
c
)}},
a
.
getLastWeeks
=
function
(
b
){
var
c
=
a
.
getNowWeekNum
(),
d
=
new
Date
,
e
=
d
.
getFullYear
(),
f
=
{
end
:
e
+
a
.
getStr
(
c
)},
g
=
b
+
c
+
1
;
if
(
g
>
0
)
f
.
start
=
e
+
a
.
getStr
(
g
);
else
{
var
h
=
a
.
getYearWeekCount
(
e
-
1
);
f
.
start
=
e
-
1
+
a
.
getStr
(
h
+
g
)}
return
f
},
a
.
getLastMonths
=
function
(
b
){
var
c
=
new
Date
,
d
=
c
.
getFullYear
(),
e
=
c
.
getMonth
()
+
1
,
f
=
{
end
:
d
+
a
.
getStr
(
e
)},
g
=
e
+
b
+
1
;
return
f
.
start
=
g
>
0
?
d
+
a
.
getStr
(
g
):
d
-
1
+
a
.
getStr
(
12
+
g
),
f
},
a
.
getStr
=
function
(
a
){
return
a
<
10
?
"0"
+
a
:
a
+
""
},
a
.
getWeekRangeDate
=
function
(
a
,
b
){
a
=
a
||
0
;
var
c
=
new
Date
,
d
=
c
.
getDay
();
d
=
0
==
d
?
7
:
d
;
var
e
=
c
.
clone
().
addDays
(
1
-
d
),
f
=
c
;
return
a
>
0
?(
e
=
e
.
clone
().
addDays
(
7
*
a
),
f
=
e
.
clone
().
addDays
(
6
)):
a
<
0
&&
(
f
=
e
.
clone
().
addDays
(
7
*
(
a
+
1
)
-
1
),
e
=
e
.
clone
().
addDays
(
7
*
a
)),
b
&&-
1
==
b
&&
Date
.
isSameDay
(
f
,
Date
.
today
())
&&
(
e
==
f
?
e
=
f
=
f
.
clone
().
addDays
(
-
1
):
f
=
f
.
clone
().
addDays
(
-
1
)),{
startDate
:
e
.
Format
(
"yyyy-MM-dd"
),
endDate
:
f
.
Format
(
"yyyy-MM-dd"
)}},
a
.
getMonthRangeDate
=
function
(
a
,
b
){
a
=
a
||
0
;
var
c
=
new
Date
,
d
=
c
.
getFullYear
(),
e
=
c
.
getMonth
(),
f
=
c
.
getDate
(),
g
=
null
,
h
=
null
;
return
0
!=
a
?(
e
+=
a
,
e
<
0
&&
(
e
+=
11
,
--
d
),
f
=
Date
.
getDaysInMonth
(
d
,
e
),
h
=
new
Date
(
d
,
e
,
f
),
g
=
h
.
clone
(),
g
.
setDate
(
1
)):(
b
&&-
1
==
b
&&
(
f
+=-
1
),
g
=
c
.
clone
(),
h
=
c
,
g
.
setDate
(
1
),
h
.
setDate
(
f
)),{
startDate
:
g
.
Format
(
"yyyy-MM-dd"
),
endDate
:
h
.
Format
(
"yyyy-MM-dd"
)}},
a
.
getDaysNum
=
function
(
a
,
b
){
var
c
,
d
,
e
=
"-"
;
c
=
a
.
split
(
e
),
d
=
b
.
split
(
e
);
var
f
=
new
Date
(
c
[
0
],
c
[
1
]
-
1
,
c
[
2
]),
g
=
new
Date
(
d
[
0
],
d
[
1
]
-
1
,
d
[
2
]);
return
parseInt
(
Math
.
abs
(
f
-
g
)
/
1
e3
/
60
/
60
/
24
)},
a
}
angular
.
module
(
"app"
).
factory
(
"DateService"
,
a
)}(),
function
(){
function
a
(
a
,
b
,
c
,
d
,
e
,
f
){
a
.
now
=
c
.
getYesDay
().
startDate
,
a
.
reportDate
=
c
.
getYesDay
().
startDate
,
a
.
isrember
=!
1
,
a
.
isonline
=!
0
;
var
g
=
e
.
getCookie
(
"ryioUname"
),
h
=
e
.
getCookie
(
"ryioUpass"
);
e
.
isNullStr
(
g
)
||
(
a
.
name
=
g
),
e
.
isNullStr
(
h
)
||
(
a
.
password
=
h
);
var
i
=
""
;
a
.
getImgInfo
=
function
(){
var
a
=
new
Array
(
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
"a"
,
"b"
,
"c"
,
"d"
,
"e"
,
"f"
,
"g"
,
"h"
,
"j"
,
"k"
,
"l"
,
"m"
,
"n"
,
"p"
,
"q"
,
"r"
,
"s"
,
"t"
,
"u"
,
"v"
,
"w"
,
"x"
,
"y"
,
"z"
,
"A"
,
"B"
,
"C"
,
"D"
,
"E"
,
"F"
,
"G"
,
"H"
,
"J"
,
"K"
,
"L"
,
"M"
,
"N"
,
"P"
,
"Q"
,
"R"
,
"S"
,
"T"
,
"U"
,
"V"
,
"W"
,
"X"
,
"Y"
,
"Z"
);
i
=
""
;
for
(
var
b
=
a
.
length
,
c
=
0
;
c
<
4
;
c
++
){
var
d
=
Math
.
floor
(
Math
.
random
()
*
b
);
i
+=
a
[
d
]}
document
.
getElementById
(
"imgMa"
).
src
=
"api/login/getvalidcode?code="
+
i
},
a
.
getImgInfo
(),
a
.
doLogin
=
function
(){
var
b
=
{
email
:
a
.
name
,
password
:
a
.
password
,
autologin
:
a
.
isonline
,
isrember
:
a
.
isrember
},
c
=
{
name
:{
key
:
"isNull"
,
val
:
b
.
email
},
password
:{
key
:
"isNull"
,
val
:
b
.
password
},
yema
:{
key
:
"isNull"
,
val
:
a
.
yema
}};
return
a
.
tip
=
formJudge
(
c
),
1
==
a
.
tip
.
succ
&&
(
angular
.
uppercase
(
a
.
yema
)
!=
angular
.
uppercase
(
i
)?(
a
.
tip
=
{
yema
:{
status
:
!
0
,
txt
:
"验证码错误"
}},
a
.
getImgInfo
(),
!
1
):
void
f
.
getInfo
(
"login/loginweb"
,
b
).
then
(
function
(
b
){
if
(
200
==
b
.
code
){
var
c
=
b
.
account
,
d
=
b
.
token
;
if
(
-
3
==
c
.
status
)
a
.
noActive
=
1
,
a
.
registerId
=
c
.
id
,
e
.
setCookie
(
"regId"
,
c
.
id
,
7
),
e
.
setCookie
(
"regEmail"
,
a
.
name
,
7
),
e
.
setCookie
(
"regFlag"
,
0
,
7
);
else
{
e
.
setCookie
(
"ryioUid"
,
c
.
id
,
7
),
e
.
setCookie
(
"ryioUname"
,
c
.
email
,
7
),
window
.
localStorage
.
setItem
(
"ry_user"
,
JSON
.
stringify
(
c
)),
e
.
setCookie
(
"ryioToken"
,
d
,
7
),
e
.
setCookie
(
"ryioPastDate"
,
c
.
pastDate
,
7
),
e
.
setCookie
(
"ryioStatus"
,
c
.
status
,
7
),
e
.
setCookie
(
"ryioActiveStatus"
,
c
.
activeStatus
,
7
),
e
.
setCookie
(
"ryioIcon"
,
0
,
7
);
var
f
=
1
==
c
.
isSuperUser
&&
1
!=
c
.
isChannelPerson
;
e
.
setCookie
(
"ryioIsSuper"
,
f
,
7
),
e
.
setCookie
(
"ryioRole"
,
c
.
roleCategory
,
7
),
1
!=
b
.
account
.
activeStatus
&&
1
==
b
.
account
.
status
&&
1
==
f
?(
e
.
setCookie
(
"regId"
,
c
.
id
,
7
),
e
.
setCookie
(
"regEmail"
,
a
.
name
,
7
),
e
.
setCookie
(
"regFlag"
,
1
,
7
),
window
.
location
.
href
=
"olduser.html"
):
1
==
b
.
account
.
status
?
1
==
c
.
roleCategory
||
f
?
window
.
location
.
href
=
"index.html#/manage/app"
:
window
.
location
.
href
=
"index.html"
:
window
.
location
.
href
=
"index.html#/active/product"
}}
else
a
.
tip
=
{
password
:{
status
:
!
0
,
txt
:
b
.
msg
}}}))},
a
.
noActive
=
0
,
a
.
closeWin
=
function
(){
a
.
noActive
=
0
,
a
.
loginSend
=
"yes"
},
a
.
loginSend
=
"yes"
,
a
.
sendAgain
=
function
(){
a
.
loginSend
=
"no"
,
f
.
getInfo
(
"reged/sendeactivemail/"
+
a
.
registerId
+
"/0"
).
then
(
function
(
a
){
window
.
location
.
href
=
"activation.html"
})},
a
.
keyEvt
=
function
(
b
){
13
==
b
.
keyCode
&&
a
.
doLogin
()}}
angular
.
module
(
"app.login"
).
controller
(
"loginCtrl"
,[
"$scope"
,
"OptionService"
,
"DateService"
,
"$filter"
,
"UtilService"
,
"HttpService"
,
a
])}();
\ No newline at end of file
!
function
(){
var
a
=
{
isNull
:
"必填"
,
errorLetter
:
"含特殊字符或过长"
,
errorLength
:
"40字符以内"
,
errorFormat
:
"格式不对"
,
lowLetter
:
"输入小写字母"
,
errorEmail
:
"请输入48位以内的正确邮箱"
,
errorNum
:
"输入数字"
,
errorPwd
:
"仅支持数字,大小写字母,且至少包含其中2种,长度限制为6-18位"
,
errorQQ
:
"请输入正确QQ号码"
,
errorCrm
:
"两次密码不一致,请重新输入"
,
errorCompany
:
"公司名称,支持48位内汉字或96位内字母数字"
,
errorUsername
:
"您的姓名,支持16位内汉字或32位内字母数字"
,
errorWechat
:
"6-20位数字,字母,下划线或中划线,须以数字或字母开头"
,
errorUrl
:
"以http://或https://开头的合法url"
,
errorName
:
"名称不合法或过长"
},
b
=
function
(
a
){
if
(
!
a
.
val
)
return
a
.
nullTxt
||
"必填"
;
var
b
=
a
.
val
.
replace
(
/
[^\x
00-
\x
ff
]
/g
,
"00"
);
return
a
.
min
&&
b
.
length
<
a
.
min
||
a
.
max
&&
b
.
length
>
a
.
max
?
a
.
regTxt
:
a
.
regFlag
&&
a
.
reg
.
test
(
a
.
val
)?
a
.
regTxt
:
a
.
regFlag
||!
a
.
reg
||
a
.
reg
.
test
(
a
.
val
)?
"succ"
:
a
.
regTxt
},
c
=
{
isNull
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
name
:
c
.
txt
||
a
.
isNull
};
return
b
(
d
)},
nameLen
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
max
:
c
.
max
||
40
,
min
:
c
.
min
||
2
,
regTxt
:
c
.
txt
||
a
.
errorLength
};
return
b
(
d
)},
isMaxLen
:
function
(
a
){
var
c
=
{
val
:
a
.
val
,
max
:
a
.
max
||
40
,
min
:
a
.
min
||
2
,
regTxt
:
a
.
txt
};
return
b
(
c
)},
name
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
max
:
c
.
max
||
40
,
min
:
c
.
min
||
2
,
reg
:
/
[
`~!@#
\$
%
\^\&\*\(\)\+
<>
\?
:"
\{\}
,
\.\\\/
;'
\[\]]
/im
,
regFlag
:
!
0
,
regTxt
:
c
.
txt
||
a
.
errorLetter
};
return
b
(
d
)},
nameFormat
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
max
:
c
.
max
||
40
,
min
:
c
.
min
||
1
,
reg
:
/^
[
!"#$%&'()*+,-.
/
:;<=>?@[
\]
^_`{|}~
\\
!(
\)
《》?:·“ ”,。、;`‘’【】——……¥「」/a-zA-Z0-9
\u
4E00-
\u
9FA5
]
+$/
,
regFlag
:
!
1
,
regTxt
:
c
.
txt
||
a
.
errorName
};
return
b
(
d
)},
spcname
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
max
:
c
.
max
||
40
,
min
:
c
.
min
||
1
,
reg
:
/^
[
a-zA-Z0-9_
\-\u
4E00-
\u
9FA5
]
+$/
,
regFlag
:
!
1
,
regTxt
:
c
.
txt
||
a
.
errorLetter
};
return
b
(
d
)},
spcname1
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
max
:
c
.
max
||
40
,
min
:
c
.
min
||
1
,
reg
:
/^
[
a-zA-Z0-9_
\-\·\u
4E00-
\u
9FA5
]
+$/
,
regFlag
:
!
1
,
regTxt
:
c
.
txt
||
a
.
errorLetter
};
return
b
(
d
)},
spcname2
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
max
:
c
.
max
||
40
,
min
:
c
.
min
||
1
,
reg
:
/^
[
a-zA-Z0-9_
\u
4E00-
\u
9FA5
]
+$/
,
regFlag
:
!
1
,
regTxt
:
c
.
txt
||
a
.
errorLetter
};
return
b
(
d
)},
keyword
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
max
:
c
.
max
||
40
,
min
:
c
.
min
||
1
,
reg
:
/^
[
a-zA-Z0-9
\.\-\u
4E00-
\u
9FA5
]
+$/
,
regFlag
:
!
1
,
regTxt
:
c
.
txt
||
a
.
errorLetter
};
return
b
(
d
)},
companyname
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
max
:
c
.
max
||
96
,
reg
:
/^
[
a-zA-Z0-9_
\-\u
4E00-
\u
9FA5
]
+$/
,
regFlag
:
!
1
,
regTxt
:
c
.
txt
||
a
.
errorCompany
};
return
b
(
d
)},
username
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
max
:
c
.
max
||
32
,
reg
:
/^
[
a-zA-Z0-9_
\-\u
4E00-
\u
9FA5
]
+$/
,
regFlag
:
!
1
,
regTxt
:
c
.
txt
||
a
.
errorUsername
};
return
b
(
d
)},
numLetter
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
max
:
c
.
max
||
32
,
reg
:
/^
[
a-zA-Z0-9
\u
4E00-
\u
9FA5
]
+$/
,
regFlag
:
!
1
,
regTxt
:
c
.
txt
||
a
.
errorUsername
,
nullTxt
:
c
.
nullTxt
};
return
b
(
d
)},
onelink
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
max
:
c
.
max
||
40
,
reg
:
/^
[
a-zA-Z0-9_
\_\-\u
4E00-
\u
9FA5
]
+$/
,
regFlag
:
!
1
,
regTxt
:
c
.
txt
||
a
.
errorUsername
};
return
b
(
d
)},
wechat
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
reg
:
/^
[
a-zA-Z0-9
]{1}[
a-zA-Z
\d
_
\d
-
]{5,19}
$/
,
regFlag
:
!
1
,
regTxt
:
c
.
txt
||
a
.
errorWechat
,
nullTxt
:
c
.
nullTxt
};
return
b
(
d
)},
email
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
max
:
c
.
max
||
48
,
reg
:
/^
([
a-zA-Z0-9
]
+
[
_|
\_
|
\.
|
\-]?)
*
[
a-zA-Z0-9
]
+@
([
a-zA-Z0-9
]
+
[
_|
\_
|
\.
|
\-]?)
*
[
a-zA-Z0-9
]
+
\.[
a-zA-Z
]{1,63}
$/
,
regFlag
:
!
1
,
regTxt
:
c
.
txt
||
a
.
errorEmail
,
nullTxt
:
c
.
nullTxt
};
return
b
(
d
)},
url
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
reg
:
/
(
http|https
)
:
\/\/[^\s]
+/
,
regFlag
:
!
1
,
regTxt
:
c
.
txt
||
a
.
errorUrl
,
nullTxt
:
c
.
nullTxt
};
return
b
(
d
)},
num
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
reg
:
/
\D
/g
,
max
:
c
.
max
||
64
,
min
:
c
.
min
||
1
,
regFlag
:
!
0
,
regTxt
:
c
.
txt
||
a
.
errorNum
,
nullTxt
:
c
.
nullTxt
};
return
b
(
d
)},
qq
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
reg
:
/
\D
/g
,
max
:
c
.
max
||
12
,
min
:
c
.
min
||
6
,
regFlag
:
!
0
,
regTxt
:
c
.
txt
||
a
.
errorQQ
};
return
b
(
d
)},
numFloat
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
reg
:
/^
\d
+
(\.\d{1,2})?
$/
,
regFlag
:
!
1
,
regTxt
:
c
.
txt
||
a
.
errorFormat
};
return
b
(
d
)},
isLowLetter
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
reg
:
/^
[
a-z
]
+$/
,
regFlag
:
!
1
,
regTxt
:
c
.
txt
||
a
.
lowLetter
};
return
b
(
d
)},
pwd
:
function
(
c
){
var
d
=
{
val
:
c
.
val
,
reg
:
/^
(?![
0-9
]
+$
)(?![
a-z
]
+$
)(?![
A-Z
]
+$
)(?![\-
_
]
+$
)[
0-9A-Za-z
]{6,18}
$/
,
regFlag
:
!
1
,
regTxt
:
c
.
txt
||
a
.
errorPwd
};
return
b
(
d
)},
cellphone
:
function
(
a
){
var
c
=
{
val
:
a
.
val
,
reg
:
/^
((\d{3,4}
-
\d{7,14}))
|
(
^1
(
3|4|5|7|8
)\d{9})
$/
,
regFlag
:
!
1
,
regTxt
:
a
.
txt
||
"号码有误"
};
return
b
(
c
)},
ipError
:
function
(
a
){
var
c
=
{
val
:
a
.
val
,
reg
:
/^
(\d{1,2}
|1
\d\d
|2
[
0-4
]\d
|25
[
0-5
])\.(\d{1,2}
|1
\d\d
|2
[
0-4
]\d
|25
[
0-5
])\.(\d{1,2}
|1
\d\d
|2
[
0-4
]\d
|25
[
0-5
])\.(\d{1,2}
|1
\d\d
|2
[
0-4
]\d
|25
[
0-5
])
$/
,
regFlag
:
!
1
,
regTxt
:
a
.
txt
||
"支持数字和“.”"
};
return
b
(
c
)}};
formJudge
=
function
(
a
){
var
b
=
[],
d
=
{};
for
(
x
in
a
){
var
e
=
a
[
x
];
info
=
c
[
a
[
x
].
key
](
e
),
status
=!
1
,
"succ"
!=
info
&&
(
b
.
push
(
info
),
status
=!
0
,
d
[
x
]
=
{
status
:
status
,
txt
:
info
})}
if
(
b
.
length
>
0
){
d
.
succ
=!
1
;
for
(
i
in
d
)
if
(
"succ"
!=
d
[
i
].
txt
&&
(
d
[
i
].
status
=!
0
),
"true"
==
d
[
i
].
status
){
document
.
getElementById
(
i
).
focus
();
var
f
=
document
.
getElementById
(
i
).
offsetTop
;
document
.
documentElement
.
scrollTop
=
f
-
70
;
break
}}
else
d
=
{
succ
:
!
0
};
return
d
}}(),
function
(){
"use strict"
;
angular
.
module
(
"app"
,[
"app.login"
]),
angular
.
module
(
"app.login"
,[])}(),
function
(){
function
a
(
a
,
b
,
c
){
var
d
=
{};
return
d
.
loginTimeout
=
function
(
a
){
null
!=
a
&&
a
.
code
&&-
1002
==
a
.
code
&&
d
.
logOutCookie
()},
d
.
noLogin
=
function
(
a
){
if
(
angular
.
isUndefined
(
a
)
||-
1
==
a
.
indexOf
(
"login"
)){
var
b
=
c
.
getCookie
(
"ryioUid"
);
c
.
isNullStr
(
b
)
&&
d
.
logOutCookie
()}},
d
.
logOutCookie
=
function
(){
c
.
setCookie
(
"ryioUid"
,
""
),
window
.
localStorage
.
setItem
(
"ryioUauth"
,
""
),
c
.
setCookie
(
"ryioToken"
,
""
),
c
.
setCookie
(
"ryioIsSuper"
,
""
),
window
.
location
.
href
=
"/login.html"
},
d
.
getInfo
=
function
(
c
,
e
,
f
){
f
||
d
.
noLogin
(
c
);
var
g
=
b
.
defer
(),
h
=
""
;
for
(
var
i
in
e
)
h
+=
"&"
+
i
+
"="
+
e
[
i
];
-
1
==
c
.
indexOf
(
"?"
)?
c
+=
"?r="
+
Math
.
random
():
c
+=
"&r="
+
Math
.
random
(),
c
+=
h
;
a
.
get
(
"/api/"
+
c
).
success
(
function
(
a
){
d
.
loginTimeout
(
a
),
a
.
code
&&
200
!=
a
.
code
?
g
.
reject
(
a
):
g
.
resolve
(
a
.
content
||
a
)}).
error
(
function
(
a
){
d
.
loginTimeout
(
a
),
g
.
reject
(
a
)});
return
g
.
promise
},
d
.
getInfoByUrl
=
function
(
c
){
d
.
noLogin
();
var
e
=
b
.
defer
();
a
.
get
(
c
).
success
(
function
(
a
){
d
.
loginTimeout
(
a
),
e
.
resolve
(
a
.
content
||
a
)}).
error
(
function
(
a
){
d
.
loginTimeout
(
a
),
e
.
reject
(
a
)});
return
e
.
promise
},
d
.
getReportData
=
function
(
e
,
f
){
d
.
noLogin
();
var
g
=
b
.
defer
(),
h
=
c
.
cloneJSON
(
f
),
i
=
h
.
appid
;
delete
h
.
appid
;
var
j
=
"?r="
+
Math
.
random
();
for
(
var
k
in
h
)
j
+=
"&"
+
k
+
"="
+
h
[
k
];
a
.
get
(
"/api/report/"
+
i
+
"/"
+
e
+
j
).
success
(
function
(
a
){
d
.
loginTimeout
(
a
),
a
.
code
&&
200
!=
a
.
code
?
g
.
reject
(
a
):
g
.
resolve
(
a
.
content
||
a
)}).
error
(
function
(
a
){
d
.
loginTimeout
(
a
),
g
.
reject
(
a
)});
return
g
.
promise
},
d
.
postInfo
=
function
(
c
,
e
,
f
){
f
||
d
.
noLogin
(
c
);
var
g
=
b
.
defer
();
-
1
==
c
.
indexOf
(
"?"
)?
c
+=
"?r="
+
Math
.
random
():
c
+=
"&r="
+
Math
.
random
();
a
.
post
(
"/api/"
+
c
,
e
).
success
(
function
(
a
,
b
){
d
.
loginTimeout
(
a
),
a
.
status
=
b
,
a
.
code
&&-
5
e3
==
a
.
code
?
g
.
resolve
(
a
):
a
.
code
&&-
6001
==
a
.
code
?
g
.
resolve
(
a
):
g
.
resolve
(
a
.
content
||
a
)}).
error
(
function
(
a
){
d
.
loginTimeout
(
a
),
g
.
reject
(
a
)});
return
g
.
promise
},
d
.
postInfoByUrl
=
function
(
c
,
e
){
d
.
noLogin
();
var
f
=
b
.
defer
();
-
1
==
c
.
indexOf
(
"?"
)?
c
+=
"?r="
+
Math
.
random
():
c
+=
"&r="
+
Math
.
random
();
a
.
post
(
c
,
e
).
success
(
function
(
a
){
f
.
resolve
(
a
.
content
||
a
)}).
error
(
function
(
a
){
d
.
loginTimeout
(
a
),
f
.
reject
(
a
)});
return
f
.
promise
},
d
.
putInfo
=
function
(
c
,
e
){
d
.
noLogin
(
c
);
var
f
=
b
.
defer
();
-
1
==
c
.
indexOf
(
"?"
)?
c
+=
"?r="
+
Math
.
random
():
c
+=
"&r="
+
Math
.
random
();
a
.
put
(
"/api/"
+
c
,
e
).
success
(
function
(
a
,
b
){
d
.
loginTimeout
(
a
),
a
.
status
=
b
,
a
.
code
&&
a
.
code
<
0
?
f
.
reject
(
a
):
f
.
resolve
(
a
.
content
||
a
)}).
error
(
function
(
a
){
d
.
loginTimeout
(
a
),
f
.
reject
(
a
)});
return
f
.
promise
},
d
.
deleteInfo
=
function
(
c
){
d
.
noLogin
();
var
e
=
b
.
defer
();
-
1
==
c
.
indexOf
(
"?"
)?
c
+=
"?r="
+
Math
.
random
():
c
+=
"&r="
+
Math
.
random
();
a
.
delete
(
"/api/"
+
c
).
success
(
function
(
a
,
b
){
d
.
loginTimeout
(
a
),
a
.
status
=
b
,
e
.
resolve
(
a
.
content
||
a
)}).
error
(
function
(
a
){
d
.
loginTimeout
(
a
),
e
.
reject
(
a
)});
return
e
.
promise
},
d
.
downFile
=
function
(
c
,
d
){
var
e
=
b
.
defer
();
return
-
1
==
c
.
indexOf
(
"api"
)
&&
(
c
=
"/api/"
+
c
),
a
({
method
:
"GET"
,
url
:
c
,
params
:
d
,
responseType
:
"arraybuffer"
}).
success
(
function
(
a
,
b
,
c
){
if
(
204
==
b
)
return
e
.
resolve
({
code
:
-
1
}),
!
1
;
e
.
resolve
({
code
:
1
}),
c
=
c
();
var
d
=
c
.
filename
,
f
=
c
[
"content-type"
],
g
=
document
.
createElement
(
"a"
);
try
{
var
h
=
new
Blob
([
a
],{
type
:
f
}),
i
=
window
.
URL
.
createObjectURL
(
h
);
g
.
setAttribute
(
"href"
,
i
),
g
.
setAttribute
(
"download"
,
decodeURIComponent
(
d
));
var
j
=
new
MouseEvent
(
"click"
,{
view
:
window
,
bubbles
:
!
0
,
cancelable
:
!
1
});
g
.
dispatchEvent
(
j
)}
catch
(
k
){}}).
error
(
function
(
a
){}),
e
.
promise
},
d
}
angular
.
module
(
"app"
).
factory
(
"HttpService"
,[
"$http"
,
"$q"
,
"UtilService"
,
a
])}(),
function
(){
"use strict"
;
function
a
(){
var
a
=
{};
return
a
.
randRange
=
function
(
a
,
b
){
return
Math
.
floor
(
Math
.
random
()
*
(
b
-
a
+
1
))
+
a
},
a
.
sortArray
=
function
(
a
,
b
){
return
"desc"
==
b
?
a
.
sort
(
function
(
a
,
b
){
return
a
==
b
?
0
:
a
>
b
?
-
1
:
1
}):
a
.
sort
(
function
(
a
,
b
){
return
a
==
b
?
0
:
a
>
b
?
1
:
-
1
})},
a
.
getMaxByArray
=
function
(
b
){
var
c
=
a
.
cloneJSON
(
b
);
return
c
=
c
.
sort
(
function
(
a
,
b
){
return
a
==
b
?
0
:
a
>
b
?
-
1
:
1
}),
c
[
0
]},
a
.
sortArray2
=
function
(
a
,
b
,
c
,
d
){
var
e
=
[],
f
=
a
.
length
;
f
>
0
&&
(
b
.
filter
(
function
(
b
,
c
){
for
(
var
d
=
[],
g
=
0
;
g
<
f
;
g
++
)
d
.
push
(
a
[
g
][
c
]);
d
.
push
(
b
),
e
.
push
(
d
)}),
"desc"
==
d
?
e
.
sort
(
function
(
a
,
b
){
return
a
[
c
]
==
b
[
c
]?
0
:
a
[
c
]
>
b
[
c
]?
-
1
:
1
}):
e
.
sort
(
function
(
a
,
b
){
return
a
[
c
]
==
b
[
c
]?
0
:
a
[
c
]
>
b
[
c
]?
1
:
-
1
}),
e
.
filter
(
function
(
c
,
d
){
b
[
d
]
=
c
.
pop
();
for
(
var
e
=
0
;
e
<
f
;
e
++
)
a
[
e
][
d
]
=
c
[
e
]}))},
a
.
sumArray
=
function
(
a
){
for
(
var
b
=
0
,
c
=
0
;
c
<
a
.
length
;
c
++
)
null
!=
a
[
c
]
&&
(
b
+=
a
[
c
]);
return
b
},
a
.
decimal2
=
function
(
a
,
b
){
b
=
b
||
2
;
for
(
var
c
=
"1"
,
d
=
1
,
e
=
0
;
e
<
b
;
e
++
)
c
+=
"0"
;
d
=
parseInt
(
c
);
var
f
=
Math
.
round
(
a
*
d
)
/
d
,
g
=
f
+
""
,
h
=
g
.
indexOf
(
"."
);
return
h
>
0
&&
g
.
substring
(
h
,
g
.
length
)
>
2
&&
(
g
=
g
.
substring
(
0
,
g
.
length
-
2
),
f
=
parseFloat
(
g
)),
f
},
a
.
getDay
=
function
(
a
){
var
b
=
new
Date
,
c
=
function
(
a
){
var
b
=
a
.
getFullYear
(),
c
=
a
.
getMonth
()
+
1
,
d
=
a
.
getDate
();
return
c
<
10
&&
(
c
=
"0"
+
c
),
d
<
10
&&
(
d
=
"0"
+
d
),
b
+
"-"
+
c
+
"-"
+
d
},
d
=
b
.
getTime
()
+
864
e5
*
a
;
return
b
.
setTime
(
d
),
c
(
b
)},
a
.
getLastMonthsDate
=
function
(
a
,
b
){
var
c
=
new
Date
(
a
);
return
c
.
setMonth
(
c
.
getMonth
()
-
Number
(
b
)),
c
.
Format
(
"yyyy-MM-dd"
)},
a
.
getYearWeekList
=
function
(
a
){
if
(
void
0
===
a
){
a
=
(
new
Date
).
getFullYear
()}
var
b
=
[],
c
=
new
Date
(
a
,
0
,
1
),
d
=
c
.
getDay
(),
e
=
new
Date
(
a
,
11
,
31
);
d
=
0
==
d
?
7
:
d
;
var
f
=
c
.
clone
().
addDays
(
7
-
d
),
g
=
0
;
for
(
d
>
0
&&
d
<
5
&&
(
g
=
1
,
b
.
push
({
week
:
g
,
date
:
f
,
year
:
a
}));
f
<
e
&&!
e
.
isSameDay
(
f
);)
g
++
,
f
=
f
.
clone
().
addDays
(
7
),
b
.
push
({
week
:
g
,
date
:
f
,
year
:
a
});
var
h
=
new
Date
(
a
,
11
,
31
),
i
=
h
.
getDay
();
return
i
>
0
&&
i
<
4
&&
b
.
pop
(),
b
},
a
.
getYearWeekCount
=
function
(
b
){
return
a
.
getYearWeekList
(
b
).
length
},
a
.
getNowWeekNum
=
function
(){
var
a
=
Date
.
today
(),
b
=
new
Date
(
a
.
getFullYear
(),
0
,
1
),
c
=
b
.
getDay
(),
d
=
b
.
clone
(),
e
=
0
;
c
>
0
&&
(
d
=
d
.
addDays
(
8
-
c
),
e
=
1
);
var
f
=
diffDate
(
d
,
a
);
return
Math
.
ceil
(
f
/
7
)
+
e
},
a
.
cloneJSON
=
function
(
a
){
var
b
=
Object
.
prototype
.
toString
.
call
(
a
);
return
b
.
indexOf
(
"Object"
)
>-
1
?
jQuery
.
extend
(
!
0
,{},
a
):
b
.
indexOf
(
"Array"
)
>
0
?
a
.
concat
():
a
},
a
.
splitString
=
function
(
a
,
b
){
for
(
var
c
=
""
,
d
=
0
,
e
=
new
RegExp
(
/
[^\x
00-
\x
ff
]
/
),
f
=
0
;
f
<
a
.
length
;
f
++
){
var
g
=
a
.
charAt
(
f
);
d
+=
e
.
test
(
g
)?
2
:
1
,
d
<=
b
&&
(
c
+=
g
)}
return
{
str
:
c
,
len
:
d
}},
a
.
merge
=
function
(){
return
Array
.
prototype
.
concat
.
apply
([],
arguments
)},
a
.
isNullStr
=
function
(
a
){
return
!
(
!
angular
.
isUndefined
(
a
)
&&
""
!=
a
&&
null
!=
a
&&
"null"
!=
a
)},
a
.
getStr
=
function
(
a
){
return
a
<
10
?
"0"
+
a
:
a
+
""
},
a
.
setCookie
=
function
(
a
,
b
,
c
){
$
.
cookie
(
a
,
b
,{
expires
:
c
,
path
:
"/"
,
secure
:
!
1
,
raw
:
!
1
})},
a
.
getCookie
=
function
(
a
){
return
$
.
cookie
(
a
)},
a
.
setItem
=
function
(
a
,
b
){
window
.
localStorage
.
setItem
(
a
,
b
)},
a
.
getItem
=
function
(
a
){
return
window
.
localStorage
.
getItem
(
a
)},
a
.
copyTxt
=
function
(
a
){
$
(
a
).
select
();
var
b
=!
1
;
try
{
b
=
document
.
execCommand
(
"Copy"
,
"false"
,
null
)}
catch
(
c
){
b
=!
1
}
return
b
},
a
.
randRangeId
=
function
(){
if
(
a
.
getCookie
(
"tkRmdId"
))
return
a
.
getCookie
(
"tkRmdId"
);
var
b
=
(
new
Date
).
getTime
()
+
a
.
randRange
(
3
,
5
);
return
a
.
setCookie
(
"tkRmdId"
,
b
,
1095
),
b
},
a
.
randDeviceId
=
function
(){
if
(
localStorage
.
getItem
(
"rmdDeviceId"
))
return
localStorage
.
getItem
(
"rmdDeviceId"
);
var
b
=
(
new
Date
).
getTime
()
+
a
.
randRange
(
3
,
10
);
return
localStorage
.
setItem
(
"rmdDeviceId"
,
b
),
b
},
a
.
getAppkey
=
function
(){
return
"0d401839250deff23daf62fd49a444cb"
},
a
.
getTKAppkey
=
function
(){
return
"f0f251af10e66a0c94d2e923d8863105"
},
a
.
getLogRoot
=
function
(){
return
"http://log.reyun.com"
},
a
.
deviceInfo
=
function
(){
return
{
versions
:
function
(){
var
a
=
navigator
.
userAgent
;
navigator
.
appVersion
;
return
{
trident
:
a
.
indexOf
(
"Trident"
)
>-
1
,
presto
:
a
.
indexOf
(
"Presto"
)
>-
1
,
webKit
:
a
.
indexOf
(
"AppleWebKit"
)
>-
1
,
gecko
:
a
.
indexOf
(
"Gecko"
)
>-
1
&&-
1
==
a
.
indexOf
(
"KHTML"
),
mobile
:
!!
a
.
match
(
/AppleWebKit.*Mobile.*/
),
ios
:
!!
a
.
match
(
/
\(
i
[^
;
]
+;
(
U;
)?
CPU.+Mac OS X/
),
android
:
a
.
indexOf
(
"Android"
)
>-
1
||
a
.
indexOf
(
"Linux"
)
>-
1
,
iPhone
:
a
.
indexOf
(
"iPhone"
)
>-
1
,
iPad
:
a
.
indexOf
(
"iPad"
)
>-
1
,
webApp
:
-
1
==
a
.
indexOf
(
"Safari"
)}}(),
language
:(
navigator
.
browserLanguage
||
navigator
.
language
).
toLowerCase
()}},
a
.
operatorSystem
=
function
(){
var
a
=
navigator
.
userAgent
,
b
=
"Win32"
==
navigator
.
platform
||
"Windows"
==
navigator
.
platform
,
c
=
"Mac68K"
==
navigator
.
platform
||
"MacPPC"
==
navigator
.
platform
||
"Macintosh"
==
navigator
.
platform
||
"MacIntel"
==
navigator
.
platform
;
if
(
c
)
return
"Mac"
;
if
(
"ipad"
==
a
.
match
(
/ipad/i
))
return
"ipad"
;
if
(
"iPhone"
==
navigator
.
platform
)
return
"iPhone"
;
if
(
"X11"
==
navigator
.
platform
&&!
b
&&!
c
)
return
"Unix"
;
var
d
=
String
(
navigator
.
platform
).
indexOf
(
"Linux"
)
>-
1
,
e
=
"android"
==
a
.
toLowerCase
().
match
(
/android/i
);
if
(
d
)
return
e
?
"Android"
:
"Linux"
;
if
(
b
){
if
(
a
.
indexOf
(
"Windows NT 5.0"
)
>-
1
||
a
.
indexOf
(
"Windows 2000"
)
>-
1
)
return
"Win2000"
;
if
(
a
.
indexOf
(
"Windows NT 5.1"
)
>-
1
||
a
.
indexOf
(
"Windows XP"
)
>-
1
)
return
"WinXP"
;
if
(
a
.
indexOf
(
"Windows NT 5.2"
)
>-
1
||
a
.
indexOf
(
"Windows 2003"
)
>-
1
)
return
"Win2003"
;
if
(
a
.
indexOf
(
"Windows NT 6.0"
)
>-
1
||
a
.
indexOf
(
"Windows Vista"
)
>-
1
)
return
"WinVista"
;
if
(
a
.
indexOf
(
"Windows NT 6.1"
)
>-
1
||
a
.
indexOf
(
"Windows 7"
)
>-
1
)
return
"Win7"
;
if
(
a
.
indexOf
(
"Windows NT 6.2"
)
>-
1
||
a
.
indexOf
(
"Windows 8"
)
>-
1
)
return
"Win8"
}
return
"other"
},
a
.
getBrowser
=
function
(
a
){
var
b
=
window
.
navigator
.
userAgent
,
c
=
""
,
d
=
""
;
b
.
toLowerCase
().
indexOf
(
"micromessenger"
)
>-
1
?
c
=
"wechat"
:
/Firefox/g
.
test
(
b
)?(
b
=
b
.
split
(
" "
),
c
=
"Firefox"
,
d
=
b
[
b
.
length
-
1
].
split
(
"/"
)[
1
]):
/MSIE/g
.
test
(
b
)?(
c
=
"IE"
,
b
.
indexOf
(
"QQBrowser"
)
>-
1
&&
(
c
=
"QQBrowser"
),
b
=
b
.
split
(
";"
),
d
=
b
[
1
].
split
(
" "
)[
2
]):
/Opera/g
.
test
(
b
)?(
b
=
b
.
split
(
" "
),
c
=
"Opera"
,
d
=
b
[
b
.
length
-
1
].
split
(
"/"
)[
1
]):
/Chrome/g
.
test
(
b
)?(
b
=
b
.
split
(
" "
),
c
=
"Chrome"
,
d
=
b
[
b
.
length
-
2
].
split
(
"/"
)[
1
]):
/^apple
\s
+/i
.
test
(
navigator
.
vendor
)?(
b
=
b
.
split
(
" "
),
c
=
"Safair"
,
d
=
b
[
b
.
length
-
2
].
split
(
"/"
)[
1
]):
c
=
"others"
;
var
e
=
d
.
split
(
"."
);
return
e
.
length
>
1
&&
(
d
=
e
[
0
]
+
"."
+
e
[
1
]),
a
?
c
+
d
:
c
},
a
}
angular
.
module
(
"app"
).
factory
(
"UtilService"
,
a
)}(),
function
(){
function
a
(
a
,
c
){
var
d
=
{},
e
=
{
line
:
1
,
column
:
2
,
columnstack
:
3
,
bar
:
4
,
area
:
5
,
areastack
:
6
,
arealiner
:
7
,
pie
:
8
,
funnel
:
9
,
columnline
:
10
,
barY
:
11
};
d
.
getOption
=
function
(
d
,
f
,
g
){
var
h
=
new
b
(
c
,
g
,
a
),
i
=
h
.
init
(
d
,
g
),
j
=
[];
if
(
e
[
f
]
==
e
.
line
)
j
=
h
.
lineChart
();
else
if
(
e
[
f
]
==
e
.
area
)
j
=
h
.
areaChart
();
else
if
(
e
[
f
]
==
e
.
areastack
)
j
=
h
.
areaChart
(
!
0
,
!
1
);
else
if
(
e
[
f
]
==
e
.
arealiner
)
j
=
h
.
areaChart
(
!
1
,
!
0
);
else
if
(
e
[
f
]
==
e
.
column
)
j
=
h
.
columnChart
(
!
1
),
i
.
yAxis
[
0
].
axisTick
=
i
.
xAxis
[
0
].
axisTick
,
i
.
yAxis
[
0
].
axisLine
=
i
.
xAxis
[
0
].
axisLine
;
else
if
(
e
[
f
]
==
e
.
columnstack
)
j
=
h
.
columnChart
(
!
0
,
g
.
flag
),
i
.
yAxis
[
0
].
axisTick
=
i
.
xAxis
[
0
].
axisTick
,
i
.
yAxis
[
0
].
axisLine
=
i
.
xAxis
[
0
].
axisLine
;
else
if
(
e
[
f
]
==
e
.
bar
)
j
=
h
.
barChart
(),
i
.
yAxis
[
0
]
=
h
.
getXaxis2
(),
i
.
xAxis
[
0
]
=
h
.
getYaxis2
(),
i
.
grid
.
right
=
20
;
else
if
(
e
[
f
]
==
e
.
funnel
)
j
=
h
.
funnelChart
(),
i
.
tooltip
=
h
.
funnelTooltip
();
else
if
(
e
[
f
]
==
e
.
columnline
)
j
=
h
.
columnLineChart
(),
i
.
yAxis
[
0
].
axisTick
=
i
.
xAxis
[
0
].
axisTick
,
i
.
yAxis
[
0
].
axisLine
=
i
.
xAxis
[
0
].
axisLine
,
i
.
yAxis
.
push
(
h
.
getYaxis
(
!
0
));
else
if
(
e
[
f
]
==
e
.
barY
){
j
=
h
.
barChart
(
!
0
),
i
.
yAxis
[
0
]
=
h
.
getXaxis2
(),
i
.
xAxis
[
0
]
=
h
.
getYaxis2
(),
i
.
grid
.
right
=
20
,
i
.
grid
.
top
=
0
;
for
(
var
k
=
d
.
name
,
l
=
k
.
length
-
1
,
m
=
0
;
m
<
l
;
m
++
)
i
.
xAxis
.
push
(
h
.
getYaxis2
()),
i
.
xAxis
[
m
+
1
].
show
=!
1
}
return
i
.
series
=
j
,
angular
.
isDefined
(
g
.
color
)
&&
(
i
.
color
=
g
.
color
),
angular
.
isDefined
(
g
.
legend
)
&&
(
i
.
legend
.
show
=
g
.
legend
),
i
};
var
f
=
new
b
(
c
);
return
d
.
getPieOption
=
function
(
a
,
b
,
c
){
return
f
.
pieChart
(
a
,
c
)},
d
.
getMapOption
=
function
(
a
,
b
,
c
){
return
f
.
mapChart
(
a
,
c
)},
d
.
getLoginMapOption
=
function
(
a
,
b
,
c
){
return
f
.
loginMapChart
(
a
,
c
)},
d
}
function
b
(
a
,
b
,
d
){
var
e
=
"#666666"
,
f
=
"#d5d7d8"
,
g
=
"SimHei,Arial"
,
h
=
"#666666"
,
i
=
12
;
this
.
UtilService
=
a
,
this
.
init
=
function
(
a
,
b
){
this
.
data
=
a
.
val
,
this
.
name
=
a
.
name
,
this
.
key
=
a
.
key
,
this
.
chartData
=
a
,
this
.
config
=
b
;
var
c
=
this
.
commonOptions
();
return
c
.
xAxis
=
[
this
.
getXaxis
()],
c
.
yAxis
=
[
this
.
getYaxis
()],
c
},
this
.
commonOptions
=
function
(
a
){
var
c
=
""
;
this
.
config
.
ispercent
&&
1
==
this
.
config
.
ispercent
&&
(
c
+=
"%"
);
var
e
=
[],
j
=
0
,
k
=
{};
if
(
this
.
name
&&
this
.
name
.
length
>
0
){
for
(
var
l
=
0
;
l
<
this
.
name
.
length
;
l
++
){
var
m
=
this
.
name
[
l
].
lastIndexOf
(
"_"
);
e
.
push
({
name
:
b
.
flag
?
this
.
name
[
l
].
slice
(
0
,
-
1
==
m
?
this
.
name
[
l
].
length
-
1
:
m
):
this
.
name
[
l
],
icon
:
"rect"
})}
if
(
this
.
config
.
hidelast
)
for
(
var
l
=
this
.
config
.
hidelast
;
l
>
0
;
l
--
){
var
n
=
this
.
name
.
slice
(
0
-
l
)[
0
];
k
[
n
]
=!
1
}}
var
o
=
""
,
p
=
this
;
return
this
.
config
.
title
&&
(
o
=
this
.
config
.
title
,
0
!=
this
.
config
.
legend
&&
(
j
=
30
)),{
title
:{
text
:
o
,
textStyle
:{
color
:
h
,
fontSize
:
i
,
fontFamily
:
g
},
left
:
"center"
},
legend
:{
data
:
e
,
top
:
j
,
textStyle
:{
color
:
h
,
fontSize
:
i
,
fontFamily
:
g
},
itemWidth
:
10
,
itemHeight
:
10
,
formatter
:
function
(
a
){
return
e
.
length
>
2
?
echarts
.
format
.
truncateText
(
a
,
80
,
"14px Microsoft Yahei"
,
"…"
):
a
},
tooltip
:{
show
:
!
0
},
selected
:
k
},
grid
:{
left
:
10
,
top
:
j
+
40
,
bottom
:
10
,
right
:
0
,
containLabel
:
!
0
},
tooltip
:{
trigger
:
b
.
flag
&&
"hasGro"
!=
b
.
flag
&&
"nohasGro"
!=
b
.
flag
?
"item"
:
"axis"
,
formatter
:
function
(
a
){
var
e
,
f
=
a
.
length
,
g
=
""
;
if
(
b
.
flag
&&
"hasGro"
!=
b
.
flag
&&
"nohasGro"
!=
b
.
flag
){
var
h
=
a
.
seriesName
;
return
null
!=
a
.
value
&&
"-"
!=
a
.
value
&&
(
g
+=
'<span style="color:'
+
a
.
color
+
'">●</span>'
+
h
+
" : "
+
p
.
UtilService
.
decimal2
(
a
.
value
,
2
)
+
c
,
p
.
config
.
lastprecent
&&
(
g
+=
"%"
),
p
.
config
.
namesub
&&
p
.
config
.
namesub
.
length
>
0
&&
p
.
config
.
namesub
[
a
.
seriesIndex
]
&&
(
g
+=
p
.
config
.
namesub
[
a
.
seriesIndex
]),
g
+=
"<br/>"
),
g
=
a
.
name
+
"<br/>"
+
g
}
for
(
var
i
=
0
;
i
<
f
;
i
++
){
e
=
a
[
i
];
var
h
=
e
.
seriesName
;
null
!=
e
.
value
&&
"-"
!=
e
.
value
&&
(
g
+=
'<span style="color:'
+
e
.
color
+
'">●</span>'
+
h
+
" : "
+
p
.
UtilService
.
decimal2
(
e
.
value
,
2
)
+
c
,
p
.
config
.
lastprecent
&&
i
==
f
-
1
&&
(
g
+=
"%"
),
p
.
config
.
namesub
&&
p
.
config
.
namesub
.
length
>
0
&&
p
.
config
.
namesub
[
i
]
&&
(
g
+=
p
.
config
.
namesub
[
i
]),
g
+=
"<br/>"
)}
return
g
=
e
.
name
+
"<br/>"
+
g
,
b
.
id
?(
d
.
$emit
(
"tooltipObj"
,{
objs
:
a
,
id
:
b
.
id
,
flag
:
b
.
flag
}),
""
):
g
},
axisPointer
:{
type
:
"hasGro"
==
b
.
flag
||
"nohasGro"
==
b
.
flag
?
"shadow"
:
"line"
,
lineStyle
:{
color
:
f
}}},
toolbox
:{
show
:
!
0
,
feature
:{
mark
:{
show
:
!
1
},
dataView
:{
show
:
!
1
,
readOnly
:
!
1
},
saveAsImage
:{
show
:
!
1
}}},
calculable
:
!
1
,
color
:[
"#e8340e"
,
"#0088cc"
,
"#61a0a8"
,
"#d48265"
,
"#91c7ae"
,
"#749f83"
,
"#ca8622"
,
"#bda29a"
,
"#6e7074"
,
"#546570"
,
"#2f4554"
,
"#006000"
,
"#642100"
,
"#6c3365"
,
"#484891"
,
"#844200"
,
"#006030"
,
"#003e3e"
,
"#584b00"
,
"#336666"
]}},
this
.
getXaxis
=
function
(
a
){
var
b
=
this
;
return
{
type
:
"category"
,
data
:
this
.
key
,
splitLine
:{
show
:
!
1
},
axisLabel
:{
textStyle
:{
color
:
e
,
fontSize
:
i
,
fontFamily
:
g
},
formatter
:
function
(
a
){
if
(
a
){
var
c
=
b
.
UtilService
.
splitString
(
a
,
12
);
return
b
.
config
.
issmart
&&
c
.
len
>
12
?
c
.
str
+
"..."
:
a
}}},
axisTick
:{
lineStyle
:{
color
:
f
}},
axisLine
:{
lineStyle
:{
color
:
f
}}}},
this
.
getXaxis2
=
function
(
a
){
var
b
=
this
;
return
{
type
:
"category"
,
data
:
this
.
key
,
splitLine
:{
show
:
!
1
},
axisLabel
:{
textStyle
:{
color
:
e
,
fontSize
:
i
,
fontFamily
:
g
},
formatter
:
function
(
a
){
if
(
angular
.
isUndefined
(
a
))
return
""
;
var
c
=
b
.
UtilService
.
splitString
(
a
,
12
);
return
c
.
len
>
12
?
c
.
str
+
"..."
:
a
}},
axisTick
:{
lineStyle
:{
color
:
f
}},
axisLine
:{
lineStyle
:{
color
:
f
}},
inverse
:
!
0
}},
this
.
getYaxis
=
function
(
a
){
var
b
=
""
;
return
(
this
.
config
.
ispercent
&&
1
==
this
.
config
.
ispercent
||
a
)
&&
(
b
+=
"%"
),{
type
:
"value"
,
axisLabel
:{
textStyle
:{
color
:
e
,
fontSize
:
i
,
fontFamily
:
g
},
formatter
:
function
(
a
){
return
c
(
a
)
+
b
}},
axisTick
:{
show
:
!
1
,
lineStyle
:{
opacity
:
0
}},
axisLine
:{
show
:
!
1
},
splitLine
:{
show
:
!
0
,
lineStyle
:{
color
:
f
,
type
:
"dashed"
}},
min
:
0
,
splitNumber
:
4
}},
this
.
getYaxis2
=
function
(){
var
a
=
""
;
return
this
.
config
.
ispercent
&&
1
==
this
.
config
.
ispercent
&&
(
a
+=
"%"
),{
type
:
"value"
,
axisLabel
:{
textStyle
:{
color
:
e
,
fontSize
:
i
,
fontFamily
:
g
},
formatter
:
function
(
b
){
return
c
(
b
)
+
a
}},
axisTick
:{
lineStyle
:{
color
:
f
}},
axisLine
:{
lineStyle
:{
color
:
f
}},
splitLine
:{
show
:
!
1
},
min
:
0
,
splitNumber
:
3
}},
this
.
lineChart
=
function
(){
for
(
var
a
=
[],
b
=
0
;
b
<
this
.
name
.
length
;
b
++
){
var
c
=
{};
c
.
name
=
this
.
name
[
b
],
c
.
type
=
"line"
,
c
.
lineStyle
=
{
normal
:{
width
:
1.2
}},
c
.
smooth
=!
0
,
c
.
data
=
this
.
data
[
b
],
a
[
b
]
=
c
}
return
a
},
this
.
areaChart
=
function
(
a
,
b
){
var
c
=
[],
d
=
.
25
;
this
.
config
.
opacity
&&
(
d
=
this
.
config
.
opacity
);
for
(
var
e
=
0
;
e
<
this
.
name
.
length
;
e
++
){
var
f
=
{};
f
.
name
=
this
.
name
[
e
],
f
.
type
=
"line"
,
f
.
data
=
this
.
data
[
e
],
a
&&
(
f
.
stack
=
"总量"
),
f
.
smooth
=!
0
,
f
.
areaStyle
=
{
normal
:{
opacity
:
d
}},
b
&&
(
f
.
areaStyle
.
normal
.
color
=
new
echarts
.
graphic
.
LinearGradient
(
0
,
0
,
0
,
1
,[{
offset
:
0
,
color
:
this
.
config
.
color
[
e
]},{
offset
:
1
,
color
:
"#fff"
}])),
f
.
lineStyle
=
{
normal
:{
width
:
1.2
}},
c
[
e
]
=
f
}
return
c
},
this
.
columnChart
=
function
(
a
,
b
){
for
(
var
c
=
[],
d
=
[],
e
=
0
;
e
<
this
.
name
.
length
;
e
++
){
var
f
=
{},
g
=
this
.
name
[
e
].
lastIndexOf
(
"_"
);
f
.
name
=
b
?
this
.
name
[
e
].
slice
(
0
,
-
1
==
g
?
this
.
name
[
e
].
length
:
g
):
this
.
name
[
e
],
f
.
type
=
"bar"
,
f
.
barMaxWidth
=
18
,
f
.
barGap
=
0
,
f
.
data
=
this
.
data
[
e
],
a
&&
(
f
.
stack
=
"总量"
+
(
b
?
this
.
name
[
e
].
slice
(
-
1
==
g
?
0
:
g
):
""
));
var
h
=
""
;
h
=
d
.
indexOf
(
f
.
name
)
>-
1
?
c
[
e
-
1
].
itemStyle
.
normal
.
color
:
this
.
config
.
color
[
e
],
f
.
itemStyle
=
{
normal
:{
color
:
h
}},
b
||
(
f
.
itemStyle
.
emphasis
=
{
color
:
this
.
config
.
color
[
e
]}),
d
.
push
(
f
.
name
),
c
[
e
]
=
f
}
return
c
},
this
.
barChart
=
function
(
a
){
for
(
var
b
=
[],
d
=
0
;
d
<
this
.
name
.
length
;
d
++
){
var
e
=
{};
e
.
name
=
this
.
name
[
d
],
e
.
type
=
"bar"
,
this
.
config
.
barwidth
?
e
.
barMaxWidth
=
this
.
config
.
barwidth
:(
e
.
barMaxWidth
=
18
,
e
.
barGap
=
0
),
a
&&
(
e
.
xAxisIndex
=
d
),
e
.
data
=
this
.
data
[
d
],
this
.
config
.
isbartext
&&
1
==
this
.
config
.
isbartext
&&
(
e
.
label
=
{
normal
:{
show
:
!
0
,
position
:
"right"
,
formatter
:
function
(
a
){
var
b
=
a
.
data
;
return
b
>
0
?
c
(
b
):
""
}}}),
b
[
d
]
=
e
}
return
b
},
this
.
pieChart
=
function
(
a
,
b
){
var
c
=
a
.
name
,
d
=
a
.
key
,
e
=
a
.
val
[
0
],
f
=
[];
return
e
&&
d
.
filter
(
function
(
b
,
d
){
var
g
=
[];
c
.
filter
(
function
(
a
,
c
){
g
.
push
({
value
:
e
[
b
][
c
],
name
:
a
})});
var
h
=
{
type
:
"pie"
,
clockwise
:
!
1
,
label
:{
normal
:{
show
:
!
(
c
.
length
>
20
)}},
radius
:[
0
,
120
],
center
:
1
==
a
.
key
.
length
?[
"50%"
,
"50%"
]:
0
==
d
?[
"25%"
,
"50%"
]:[
"75%"
,
"50%"
],
selectedOffset
:
5
,
data
:
g
};
f
.
push
(
h
)}),{
tooltip
:{
trigger
:
"item"
,
formatter
:
"{b}: {c} ({d}%)"
},
legend
:{
show
:
!
1
},
color
:
b
.
color
,
series
:
f
}},
this
.
funnelTooltip
=
function
(){
var
a
=
this
,
b
=
"用户"
;
return
0
==
this
.
config
.
isdevice
&&
(
b
=
"用户"
),{
trigger
:
"axis"
,
formatter
:
function
(
c
){
if
(
"markPoint"
==
c
.
componentType
)
return
"转化率"
+
c
.
value
;
c
.
length
>
0
&&
(
c
=
c
[
0
]);
var
d
=
c
.
dataIndex
;
if
(
d
>
0
){
var
e
=
""
;
return
c
?(
e
=
c
.
name
+
"的"
+
b
+
"个数:"
+
a
.
data
[
2
][
d
]
+
"<br/>"
,
e
+=
a
.
key
[
0
]
+
"到"
+
c
.
name
+
"的"
+
b
+
"转化成功率:"
+
a
.
data
[
0
][
d
]
+
"%"
):
e
=
""
,
e
}
return
c
.
name
+
"的"
+
b
+
"个数:"
+
a
.
data
[
2
][
0
]}}},
this
.
funnelChart
=
function
(){
var
a
=
this
,
b
=
this
.
config
.
barwidth
,
c
=
[],
d
=
[],
e
=
"image:///images/chartarrow.png"
,
f
=
[
54
,
26
],
h
=
this
.
key
.
length
;
if
(
h
>
0
){
var
i
=
(
b
-
70
)
/
h
,
j
=
80
,
k
=
"insideTop"
,
l
=
"#ffffff"
;
if
(
h
>
5
&&
(
j
=
40
),
1
==
this
.
config
.
issmart
)
h
>
5
?(
e
=
"image:///images/chartarrow2.png"
,
f
=
[
10
,
10
],
i
=
(
b
-
20
)
/
h
,
j
=
30
,
k
=
"insideTop"
,
l
=
"#666"
):
j
=
45
;
else
for
(
var
m
=
this
.
chartData
.
trans4last
,
n
=
0
;
n
<
m
.
length
;
n
++
)
c
.
push
({
value
:
m
[
n
]
+
"%"
,
x
:
40
+
5
*
n
+
i
*
(
n
+
1
)
+
"px"
,
y
:
"50%"
});
for
(
var
n
=
0
;
n
<
2
;
n
++
){
var
o
=
{};
o
.
type
=
"bar"
,
o
.
stack
=
"转化率"
,
o
.
barMaxWidth
=
j
,
o
.
barGap
=
0
,
o
.
data
=
this
.
data
[
n
],
0
==
n
&&
(
o
.
label
=
{
normal
:{
show
:
!
0
,
position
:
k
,
formatter
:
function
(
b
){
return
0
==
b
.
value
&&
0
==
a
.
data
[
2
][
b
.
dataIndex
]
||
b
.
value
<
10
?
""
:
a
.
UtilService
.
decimal2
(
b
.
value
)
+
"%"
},
textStyle
:{
color
:
l
,
fontFamily
:
g
}}},
o
.
itemStyle
=
{
normal
:{
color
:
this
.
config
.
color
[
0
],
textStyle
:{
color
:
"#ffffff"
,
fontFamily
:
g
}}}),
1
==
n
&&
(
o
.
itemStyle
=
{
normal
:{
color
:
this
.
config
.
color
[
1
]},
emphasis
:{
color
:
this
.
config
.
color
[
1
]}}),
o
.
markPoint
=
{
show
:
!
0
,
symbol
:
e
,
symbolSize
:
f
,
label
:{
normal
:{
formatter
:
function
(
b
){
return
h
>
5
&&
1
==
a
.
config
.
issmart
?
""
:
b
.
value
},
textStyle
:{
color
:
"#ffffff"
,
fontFamily
:
g
}},
emphasis
:{
formatter
:
function
(
a
){
return
a
.
value
}}},
data
:
c
},
d
[
n
]
=
o
}}
return
d
},
this
.
mapChart
=
function
(
a
,
b
){
var
c
=
a
.
name
,
d
=
a
.
key
,
f
=
a
.
val
[
0
],
h
=
[],
i
=
0
;
if
(
f
&&
f
.
length
>
0
){
var
i
=
this
.
UtilService
.
getMaxByArray
(
f
);
i
=
100
*
Math
.
ceil
(
i
/
100
),
d
.
filter
(
function
(
a
,
b
){
h
.
push
({
value
:
f
[
b
],
name
:
a
})})}
return
{
tooltip
:{
trigger
:
"item"
,
formatter
:
function
(
a
){
return
isNaN
(
a
.
value
)?
a
.
name
:
a
.
name
+
"<br/>"
+
a
.
seriesName
+
":"
+
a
.
value
}},
visualMap
:{
min
:
0
,
max
:
i
,
color
:[
"#7ec3f2"
,
"#dcebf4"
]},
series
:[{
name
:
c
[
0
],
type
:
"map"
,
mapType
:
"china"
,
selectedMode
:
"multiple"
,
top
:
20
,
bottom
:
20
,
label
:{
normal
:{
show
:
!
0
,
textStyle
:{
fontSize
:
4
,
color
:
e
,
fontFamily
:
g
}},
emphasis
:{
show
:
!
0
}},
itemStyle
:{
normal
:{
areaColor
:
"#eeeeee"
,
borderColor
:
"#858585"
},
emphasis
:{
areaColor
:
"#1fb9e9"
}},
data
:
h
}]}},
this
.
loginMapChart
=
function
(
a
,
b
){
var
c
=
a
.
name
,
d
=
a
.
key
,
f
=
a
.
val
[
0
],
h
=
[],
i
=
0
;
if
(
f
&&
f
.
length
>
0
){
var
i
=
this
.
UtilService
.
getMaxByArray
(
f
);
i
=
100
*
Math
.
ceil
(
i
/
100
),
d
.
filter
(
function
(
a
,
b
){
h
.
push
({
value
:
f
[
b
],
name
:
a
})})}
return
{
tooltip
:{
trigger
:
"item"
,
show
:
!
1
,
formatter
:
function
(
a
){
return
isNaN
(
a
.
value
)?
a
.
name
:
a
.
name
+
"<br/>"
+
a
.
seriesName
+
":"
+
a
.
value
}},
series
:[{
name
:
c
[
0
],
type
:
"map"
,
mapType
:
"china"
,
selectedMode
:
"multiple"
,
top
:
20
,
bottom
:
20
,
label
:{
normal
:{
show
:
!
1
,
textStyle
:{
fontSize
:
4
,
color
:
e
,
fontFamily
:
g
}},
emphasis
:{
show
:
!
0
}},
itemStyle
:{
normal
:{
areaColor
:
"#424250"
,
borderColor
:
"#1e1e26"
},
emphasis
:{
areaColor
:
"#3c3c4a"
}},
data
:
h
}]}},
this
.
columnLineChart
=
function
(){
for
(
var
a
=
[],
b
=
this
.
name
.
length
,
c
=
0
;
c
<
b
;
c
++
){
var
d
=
{};
d
.
name
=
this
.
name
[
c
],
d
.
barMaxWidth
=
18
,
d
.
barGap
=
0
,
d
.
data
=
this
.
data
[
c
],
c
==
b
-
1
?(
d
.
type
=
"line"
,
d
.
yAxisIndex
=
1
):
d
.
type
=
"bar"
,
d
.
itemStyle
=
{
normal
:{
color
:
this
.
config
.
color
[
c
]},
emphasis
:{
color
:
this
.
config
.
color
[
c
]}},
a
[
c
]
=
d
}
return
a
}}
function
c
(
a
){
return
a
>
999
&
a
<
1
e4
?(
a
/
1
e3
).
toFixed
(
1
).
toString
()
+
"k"
:
a
>=
1
e4
&&
a
<
1
e6
?(
a
/
1
e4
).
toFixed
(
1
).
toString
()
+
"w"
:
a
>=
1
e6
&&
a
<
1
e9
?(
a
/
1
e6
).
toFixed
(
1
).
toString
()
+
"m"
:
a
>=
1
e9
?(
a
/
1
e9
).
toFixed
(
1
).
toString
()
+
"b"
:
a
}
angular
.
module
(
"app"
).
factory
(
"OptionService"
,[
"$rootScope"
,
"UtilService"
,
a
])}(),
function
(){
"use strict"
;
function
a
(){
var
a
=
{};
return
a
.
getDay
=
function
(
a
){
var
b
=
new
Date
,
c
=
function
(
a
){
var
b
=
a
.
getFullYear
(),
c
=
a
.
getMonth
()
+
1
,
d
=
a
.
getDate
();
return
c
<
10
&&
(
c
=
"0"
+
c
),
d
<
10
&&
(
d
=
"0"
+
d
),
b
+
"-"
+
c
+
"-"
+
d
},
d
=
b
.
getTime
()
+
864
e5
*
a
;
return
b
.
setTime
(
d
),
c
(
b
)},
a
.
getYearWeekList
=
function
(
a
){
if
(
void
0
===
a
){
a
=
(
new
Date
).
getFullYear
()}
var
b
=
[],
c
=
new
Date
(
a
,
0
,
1
),
d
=
c
.
getDay
(),
e
=
new
Date
(
a
,
11
,
31
);
d
=
0
==
d
?
7
:
d
;
var
f
=
c
.
clone
().
addDays
(
7
-
d
),
g
=
0
;
for
(
d
>
0
&&
d
<
5
&&
(
g
=
1
,
b
.
push
({
week
:
g
,
date
:
f
,
year
:
a
}));
f
<
e
&&!
e
.
isSameDay
(
f
);)
g
++
,
f
=
f
.
clone
().
addDays
(
7
),
b
.
push
({
week
:
g
,
date
:
f
,
year
:
a
});
var
h
=
new
Date
(
a
,
11
,
31
),
i
=
h
.
getDay
();
return
i
>
0
&&
i
<
4
&&
b
.
pop
(),
b
},
a
.
getYearWeekCount
=
function
(
b
){
return
a
.
getYearWeekList
(
b
).
length
},
a
.
getNowWeekNum
=
function
(){
var
a
=
Date
.
today
(),
b
=
new
Date
(
a
.
getFullYear
(),
0
,
1
),
c
=
b
.
getDay
(),
d
=
b
.
clone
(),
e
=
0
;
c
>
0
&&
(
d
=
d
.
addDays
(
8
-
c
),
e
=
1
);
var
f
=
diffDate
(
d
,
a
);
return
Math
.
ceil
(
f
/
7
)
+
e
},
a
.
getToday
=
function
(){
return
{
startDate
:
a
.
getDay
(
0
),
endDate
:
a
.
getDay
(
0
)}},
a
.
getYesDay
=
function
(){
return
{
startDate
:
a
.
getDay
(
-
1
),
endDate
:
a
.
getDay
(
-
1
)}},
a
.
getLastDays
=
function
(
b
,
c
){
return
angular
.
isUndefined
(
c
)
&&
(
c
=-
1
),
0
==
c
&&
b
<
0
&&
(
b
+=
1
),
0
==
c
&&
b
>
0
&&
(
b
-=
1
),{
startDate
:
a
.
getDay
(
b
),
endDate
:
a
.
getDay
(
c
)}},
a
.
getLastWeeks
=
function
(
b
){
var
c
=
a
.
getNowWeekNum
(),
d
=
new
Date
,
e
=
d
.
getFullYear
(),
f
=
{
end
:
e
+
a
.
getStr
(
c
)},
g
=
b
+
c
+
1
;
if
(
g
>
0
)
f
.
start
=
e
+
a
.
getStr
(
g
);
else
{
var
h
=
a
.
getYearWeekCount
(
e
-
1
);
f
.
start
=
e
-
1
+
a
.
getStr
(
h
+
g
)}
return
f
},
a
.
getLastMonths
=
function
(
b
){
var
c
=
new
Date
,
d
=
c
.
getFullYear
(),
e
=
c
.
getMonth
()
+
1
,
f
=
{
end
:
d
+
a
.
getStr
(
e
)},
g
=
e
+
b
+
1
;
return
f
.
start
=
g
>
0
?
d
+
a
.
getStr
(
g
):
d
-
1
+
a
.
getStr
(
12
+
g
),
f
},
a
.
getStr
=
function
(
a
){
return
a
<
10
?
"0"
+
a
:
a
+
""
},
a
.
getWeekRangeDate
=
function
(
a
,
b
){
a
=
a
||
0
;
var
c
=
new
Date
,
d
=
c
.
getDay
();
d
=
0
==
d
?
7
:
d
;
var
e
=
c
.
clone
().
addDays
(
1
-
d
),
f
=
c
;
return
a
>
0
?(
e
=
e
.
clone
().
addDays
(
7
*
a
),
f
=
e
.
clone
().
addDays
(
6
)):
a
<
0
&&
(
f
=
e
.
clone
().
addDays
(
7
*
(
a
+
1
)
-
1
),
e
=
e
.
clone
().
addDays
(
7
*
a
)),
b
&&-
1
==
b
&&
Date
.
isSameDay
(
f
,
Date
.
today
())
&&
(
e
==
f
?
e
=
f
=
f
.
clone
().
addDays
(
-
1
):
f
=
f
.
clone
().
addDays
(
-
1
)),{
startDate
:
e
.
Format
(
"yyyy-MM-dd"
),
endDate
:
f
.
Format
(
"yyyy-MM-dd"
)}},
a
.
getMonthRangeDate
=
function
(
a
,
b
){
a
=
a
||
0
;
var
c
=
new
Date
,
d
=
c
.
getFullYear
(),
e
=
c
.
getMonth
(),
f
=
c
.
getDate
(),
g
=
null
,
h
=
null
;
return
0
!=
a
?(
e
+=
a
,
e
<
0
&&
(
e
+=
11
,
--
d
),
f
=
Date
.
getDaysInMonth
(
d
,
e
),
h
=
new
Date
(
d
,
e
,
f
),
g
=
h
.
clone
(),
g
.
setDate
(
1
)):(
b
&&-
1
==
b
&&
(
f
+=-
1
),
g
=
c
.
clone
(),
h
=
c
,
g
.
setDate
(
1
),
h
.
setDate
(
f
)),{
startDate
:
g
.
Format
(
"yyyy-MM-dd"
),
endDate
:
h
.
Format
(
"yyyy-MM-dd"
)}},
a
.
getDaysNum
=
function
(
a
,
b
){
var
c
,
d
,
e
=
"-"
;
c
=
a
.
split
(
e
),
d
=
b
.
split
(
e
);
var
f
=
new
Date
(
c
[
0
],
c
[
1
]
-
1
,
c
[
2
]),
g
=
new
Date
(
d
[
0
],
d
[
1
]
-
1
,
d
[
2
]);
return
parseInt
(
Math
.
abs
(
f
-
g
)
/
1
e3
/
60
/
60
/
24
)},
a
}
angular
.
module
(
"app"
).
factory
(
"DateService"
,
a
)}(),
function
(){
function
a
(
a
,
b
,
c
,
d
,
e
,
f
){
TrackingIO
.
init
(
e
.
getTKAppkey
()),
a
.
now
=
c
.
getYesDay
().
startDate
,
a
.
reportDate
=
c
.
getYesDay
().
startDate
,
a
.
isrember
=!
1
,
a
.
isonline
=!
0
;
var
g
=
e
.
getCookie
(
"ryioUname"
),
h
=
e
.
getCookie
(
"ryioUpass"
);
e
.
isNullStr
(
g
)
||
(
a
.
name
=
g
),
e
.
isNullStr
(
h
)
||
(
a
.
password
=
h
);
var
i
=
""
;
a
.
getImgInfo
=
function
(){
var
a
=
new
Array
(
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
"a"
,
"b"
,
"c"
,
"d"
,
"e"
,
"f"
,
"g"
,
"h"
,
"j"
,
"k"
,
"l"
,
"m"
,
"n"
,
"p"
,
"q"
,
"r"
,
"s"
,
"t"
,
"u"
,
"v"
,
"w"
,
"x"
,
"y"
,
"z"
,
"A"
,
"B"
,
"C"
,
"D"
,
"E"
,
"F"
,
"G"
,
"H"
,
"J"
,
"K"
,
"L"
,
"M"
,
"N"
,
"P"
,
"Q"
,
"R"
,
"S"
,
"T"
,
"U"
,
"V"
,
"W"
,
"X"
,
"Y"
,
"Z"
);
i
=
""
;
for
(
var
b
=
a
.
length
,
c
=
0
;
c
<
4
;
c
++
){
var
d
=
Math
.
floor
(
Math
.
random
()
*
b
);
i
+=
a
[
d
]}
document
.
getElementById
(
"imgMa"
).
src
=
"api/login/getvalidcode?code="
+
i
},
a
.
getImgInfo
(),
a
.
doLogin
=
function
(){
var
b
=
{
email
:
a
.
name
,
password
:
a
.
password
,
autologin
:
a
.
isonline
,
isrember
:
a
.
isrember
},
c
=
{
name
:{
key
:
"isNull"
,
val
:
b
.
email
},
password
:{
key
:
"isNull"
,
val
:
b
.
password
},
yema
:{
key
:
"isNull"
,
val
:
a
.
yema
}};
return
a
.
tip
=
formJudge
(
c
),
1
==
a
.
tip
.
succ
&&
(
angular
.
uppercase
(
a
.
yema
)
!=
angular
.
uppercase
(
i
)?(
a
.
tip
=
{
yema
:{
status
:
!
0
,
txt
:
"验证码错误"
}},
a
.
getImgInfo
(),
!
1
):
void
f
.
getInfo
(
"login/loginweb"
,
b
).
then
(
function
(
b
){
if
(
200
==
b
.
code
){
var
c
=
b
.
account
,
d
=
b
.
token
;
if
(
-
3
==
c
.
status
)
a
.
noActive
=
1
,
a
.
registerId
=
c
.
id
,
e
.
setCookie
(
"regId"
,
c
.
id
,
7
),
e
.
setCookie
(
"regEmail"
,
a
.
name
,
7
),
e
.
setCookie
(
"regFlag"
,
0
,
7
);
else
{
TrackingIO
.
loggedin
(
c
.
email
),
e
.
setCookie
(
"ryioUid"
,
c
.
id
,
7
),
e
.
setCookie
(
"ryioUname"
,
c
.
email
,
7
),
window
.
localStorage
.
setItem
(
"ry_user"
,
JSON
.
stringify
(
c
)),
e
.
setCookie
(
"ryioToken"
,
d
,
7
),
e
.
setCookie
(
"ryioPastDate"
,
c
.
pastDate
,
7
),
e
.
setCookie
(
"ryioStatus"
,
c
.
status
,
7
),
e
.
setCookie
(
"ryioActiveStatus"
,
c
.
activeStatus
,
7
),
e
.
setCookie
(
"ryioIcon"
,
0
,
7
);
var
f
=
1
==
c
.
isSuperUser
&&
1
!=
c
.
isChannelPerson
;
e
.
setCookie
(
"ryioIsSuper"
,
f
,
7
),
e
.
setCookie
(
"ryioRole"
,
c
.
roleCategory
,
7
),
1
!=
b
.
account
.
activeStatus
&&
1
==
b
.
account
.
status
&&
1
==
f
?(
e
.
setCookie
(
"regId"
,
c
.
id
,
7
),
e
.
setCookie
(
"regEmail"
,
a
.
name
,
7
),
e
.
setCookie
(
"regFlag"
,
1
,
7
),
window
.
location
.
href
=
"olduser.html"
):
1
==
b
.
account
.
status
?
1
==
c
.
roleCategory
||
f
?
window
.
location
.
href
=
"index.html#/manage/app"
:
window
.
location
.
href
=
"index.html"
:
window
.
location
.
href
=
"index.html#/active/product"
}}
else
a
.
tip
=
{
password
:{
status
:
!
0
,
txt
:
b
.
msg
}}}))},
a
.
noActive
=
0
,
a
.
closeWin
=
function
(){
a
.
noActive
=
0
,
a
.
loginSend
=
"yes"
},
a
.
loginSend
=
"yes"
,
a
.
sendAgain
=
function
(){
a
.
loginSend
=
"no"
,
f
.
getInfo
(
"reged/sendeactivemail/"
+
a
.
registerId
+
"/0"
).
then
(
function
(
a
){
window
.
location
.
href
=
"activation.html"
})},
a
.
keyEvt
=
function
(
b
){
13
==
b
.
keyCode
&&
a
.
doLogin
()}}
angular
.
module
(
"app.login"
).
controller
(
"loginCtrl"
,[
"$scope"
,
"OptionService"
,
"DateService"
,
"$filter"
,
"UtilService"
,
"HttpService"
,
a
])}();
\ No newline at end of file
src/main/webapp/success.html
View file @
159549da
...
...
@@ -7,10 +7,10 @@
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge,chrome=1"
>
<meta
content=
"width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0"
name=
"viewport"
>
<link
rel=
"shortcut icon"
href=
"favicon.ico"
type=
"image/x-icon"
>
<link
rel=
"stylesheet"
href=
"styles/login.css?r=0.
8155621050391346
"
>
<script
src=
"scripts/change.js?r=0.
48537470446899533
"
></script>
<script
src=
"scripts/regcom8.js?r=0.
015657729003578424
"
></script>
<script
src=
"scripts/success.js?r=0.
23272478976286948
"
></script>
<link
rel=
"stylesheet"
href=
"styles/login.css?r=0.
9278655003290623
"
>
<script
src=
"scripts/change.js?r=0.
08022567885927856
"
></script>
<script
src=
"scripts/regcom8.js?r=0.
8265951636712998
"
></script>
<script
src=
"scripts/success.js?r=0.
4393018090631813
"
></script>
</head>
<body
ng-app=
"app"
ng-controller=
"successCtrl"
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment