Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
mqttsnet
thinglinks
提交
4bd60718
thinglinks
项目概览
mqttsnet
/
thinglinks
通知
1
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
thinglinks
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
4bd60718
编写于
9月 25, 2021
作者:
xiaonannet
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
版本修复
上级
3a862358
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
221 addition
and
36 deletion
+221
-36
mqtts-ui/src/assets/images/login-background.jpg
mqtts-ui/src/assets/images/login-background.jpg
+0
-0
mqtts-ui/src/utils/ruoyi.js
mqtts-ui/src/utils/ruoyi.js
+216
-0
mqtts-ui/src/views/index.vue
mqtts-ui/src/views/index.vue
+3
-34
mqtts-ui/src/views/login.vue
mqtts-ui/src/views/login.vue
+1
-1
mqtts-ui/src/views/register.vue
mqtts-ui/src/views/register.vue
+1
-1
未找到文件。
mqtts-ui/src/assets/images/login-background.jpg
查看替换文件 @
3a862358
浏览文件 @
4bd60718
509.1 KB
|
W:
|
H:
1.8 MB
|
W:
|
H:
2-up
Swipe
Onion skin
mqtts-ui/src/utils/ruoyi.js
0 → 100644
浏览文件 @
4bd60718
/**
* 通用js方法封装处理
* Copyright (c) 2019 ruoyi
*/
const
baseURL
=
process
.
env
.
VUE_APP_BASE_API
// 日期格式化
export
function
parseTime
(
time
,
pattern
)
{
if
(
arguments
.
length
===
0
||
!
time
)
{
return
null
}
const
format
=
pattern
||
'
{y}-{m}-{d} {h}:{i}:{s}
'
let
date
if
(
typeof
time
===
'
object
'
)
{
date
=
time
}
else
{
if
((
typeof
time
===
'
string
'
)
&&
(
/^
[
0-9
]
+$/
.
test
(
time
)))
{
time
=
parseInt
(
time
)
}
else
if
(
typeof
time
===
'
string
'
)
{
time
=
time
.
replace
(
new
RegExp
(
/-/gm
),
'
/
'
).
replace
(
'
T
'
,
'
'
).
replace
(
new
RegExp
(
/
\.[\d]{3}
/gm
),
''
);
}
if
((
typeof
time
===
'
number
'
)
&&
(
time
.
toString
().
length
===
10
))
{
time
=
time
*
1000
}
date
=
new
Date
(
time
)
}
const
formatObj
=
{
y
:
date
.
getFullYear
(),
m
:
date
.
getMonth
()
+
1
,
d
:
date
.
getDate
(),
h
:
date
.
getHours
(),
i
:
date
.
getMinutes
(),
s
:
date
.
getSeconds
(),
a
:
date
.
getDay
()
}
const
time_str
=
format
.
replace
(
/{
(
y|m|d|h|i|s|a
)
+}/g
,
(
result
,
key
)
=>
{
let
value
=
formatObj
[
key
]
// Note: getDay() returns 0 on Sunday
if
(
key
===
'
a
'
)
{
return
[
'
日
'
,
'
一
'
,
'
二
'
,
'
三
'
,
'
四
'
,
'
五
'
,
'
六
'
][
value
]
}
if
(
result
.
length
>
0
&&
value
<
10
)
{
value
=
'
0
'
+
value
}
return
value
||
0
})
return
time_str
}
// 表单重置
export
function
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
}
// 添加日期范围
export
function
addDateRange
(
params
,
dateRange
,
propName
)
{
let
search
=
params
;
search
.
params
=
typeof
(
search
.
params
)
===
'
object
'
&&
search
.
params
!==
null
&&
!
Array
.
isArray
(
search
.
params
)
?
search
.
params
:
{};
dateRange
=
Array
.
isArray
(
dateRange
)
?
dateRange
:
[];
if
(
typeof
(
propName
)
===
'
undefined
'
)
{
search
.
params
[
'
beginTime
'
]
=
dateRange
[
0
];
search
.
params
[
'
endTime
'
]
=
dateRange
[
1
];
}
else
{
search
.
params
[
'
begin
'
+
propName
]
=
dateRange
[
0
];
search
.
params
[
'
end
'
+
propName
]
=
dateRange
[
1
];
}
return
search
;
}
// 回显数据字典
export
function
selectDictLabel
(
datas
,
value
)
{
var
actions
=
[];
Object
.
keys
(
datas
).
some
((
key
)
=>
{
if
(
datas
[
key
].
value
==
(
''
+
value
))
{
actions
.
push
(
datas
[
key
].
label
);
return
true
;
}
})
return
actions
.
join
(
''
);
}
// 回显数据字典(字符串数组)
export
function
selectDictLabels
(
datas
,
value
,
separator
)
{
var
actions
=
[];
var
currentSeparator
=
undefined
===
separator
?
"
,
"
:
separator
;
var
temp
=
value
.
split
(
currentSeparator
);
Object
.
keys
(
value
.
split
(
currentSeparator
)).
some
((
val
)
=>
{
Object
.
keys
(
datas
).
some
((
key
)
=>
{
if
(
datas
[
key
].
dictValue
==
(
''
+
temp
[
val
]))
{
actions
.
push
(
datas
[
key
].
dictLabel
+
currentSeparator
);
}
})
})
return
actions
.
join
(
''
).
substring
(
0
,
actions
.
join
(
''
).
length
-
1
);
}
// 通用下载方法
export
function
download
(
fileName
)
{
window
.
location
.
href
=
baseURL
+
"
/common/download?fileName=
"
+
encodeURI
(
fileName
)
+
"
&delete=
"
+
true
;
}
// 字符串格式化(%s )
export
function
sprintf
(
str
)
{
var
args
=
arguments
,
flag
=
true
,
i
=
1
;
str
=
str
.
replace
(
/%s/g
,
function
()
{
var
arg
=
args
[
i
++
];
if
(
typeof
arg
===
'
undefined
'
)
{
flag
=
false
;
return
''
;
}
return
arg
;
});
return
flag
?
str
:
''
;
}
// 转换字符串,undefined,null等转化为""
export
function
praseStrEmpty
(
str
)
{
if
(
!
str
||
str
==
"
undefined
"
||
str
==
"
null
"
)
{
return
""
;
}
return
str
;
}
// 数据合并
export
function
mergeRecursive
(
source
,
target
)
{
for
(
var
p
in
target
)
{
try
{
if
(
target
[
p
].
constructor
==
Object
)
{
source
[
p
]
=
mergeRecursive
(
source
[
p
],
target
[
p
]);
}
else
{
source
[
p
]
=
target
[
p
];
}
}
catch
(
e
)
{
source
[
p
]
=
target
[
p
];
}
}
return
source
;
};
/**
* 构造树型结构数据
* @param {*} data 数据源
* @param {*} id id字段 默认 'id'
* @param {*} parentId 父节点字段 默认 'parentId'
* @param {*} children 孩子节点字段 默认 'children'
*/
export
function
handleTree
(
data
,
id
,
parentId
,
children
)
{
let
config
=
{
id
:
id
||
'
id
'
,
parentId
:
parentId
||
'
parentId
'
,
childrenList
:
children
||
'
children
'
};
var
childrenListMap
=
{};
var
nodeIds
=
{};
var
tree
=
[];
for
(
let
d
of
data
)
{
let
parentId
=
d
[
config
.
parentId
];
if
(
childrenListMap
[
parentId
]
==
null
)
{
childrenListMap
[
parentId
]
=
[];
}
nodeIds
[
d
[
config
.
id
]]
=
d
;
childrenListMap
[
parentId
].
push
(
d
);
}
for
(
let
d
of
data
)
{
let
parentId
=
d
[
config
.
parentId
];
if
(
nodeIds
[
parentId
]
==
null
)
{
tree
.
push
(
d
);
}
}
for
(
let
t
of
tree
)
{
adaptToChildrenList
(
t
);
}
function
adaptToChildrenList
(
o
)
{
if
(
childrenListMap
[
o
[
config
.
id
]]
!==
null
)
{
o
[
config
.
childrenList
]
=
childrenListMap
[
o
[
config
.
id
]];
}
if
(
o
[
config
.
childrenList
])
{
for
(
let
c
of
o
[
config
.
childrenList
])
{
adaptToChildrenList
(
c
);
}
}
}
return
tree
;
}
/**
* 参数处理
* @param {*} params 参数
*/
export
function
tansParams
(
params
)
{
let
result
=
''
for
(
const
propName
of
Object
.
keys
(
params
))
{
const
value
=
params
[
propName
];
var
part
=
encodeURIComponent
(
propName
)
+
"
=
"
;
if
(
value
!==
null
&&
typeof
(
value
)
!==
"
undefined
"
)
{
if
(
typeof
value
===
'
object
'
)
{
for
(
const
key
of
Object
.
keys
(
value
))
{
if
(
value
[
key
]
!==
null
&&
typeof
(
value
[
key
])
!==
'
undefined
'
)
{
let
params
=
propName
+
'
[
'
+
key
+
'
]
'
;
var
subPart
=
encodeURIComponent
(
params
)
+
"
=
"
;
result
+=
subPart
+
encodeURIComponent
(
value
[
key
])
+
"
&
"
;
}
}
}
else
{
result
+=
part
+
encodeURIComponent
(
value
)
+
"
&
"
;
}
}
}
return
result
}
mqtts-ui/src/views/index.vue
浏览文件 @
4bd60718
...
...
@@ -112,29 +112,15 @@
<div
class=
"body"
>
<p>
<i
class=
"el-icon-s-promotion"
></i>
官网:
<el-link
href=
"http://www.
ruoyi.vip
"
href=
"http://www.
mqtts.net
"
target=
"_blank"
>
http://www.ruoyi.vip
</el-link
>
</p>
<p>
<i
class=
"el-icon-user-solid"
></i>
QQ群:
<s>
满42799195
</s>
<s>
满170157040
</s>
<s>
满130643120
</s>
<s>
满225920371
</s>
<a
href=
"https://jq.qq.com/?_wv=1027&k=Kg9CdVdx"
target=
"_blank"
>
201705537
</a
>
http://www.mqtts.net
</el-link
>
</p>
<p>
<i
class=
"el-icon-chat-dot-round"
></i>
微信:
<a
href=
"javascript:;"
>
/ *MQTTS
</a
>
</p>
<p>
<i
class=
"el-icon-money"
></i>
支付宝:
<a
href=
"javascript:;"
class=
"支付宝信息"
>
/ *MQTTS
</a
>
/ *xiaonannet
</a
>
</p>
</div>
...
...
@@ -533,23 +519,6 @@
</el-collapse>
</el-card>
</el-col>
<el-col
:xs=
"24"
:sm=
"24"
:md=
"12"
:lg=
"8"
>
<el-card
class=
"update-log"
>
<div
slot=
"header"
class=
"clearfix"
>
<span>
捐赠支持
</span>
</div>
<div
class=
"body"
>
<img
src=
"https://oscimg.oschina.net/oscnet/up-d6695f82666e5018f715c41cb7ee60d3b73.png"
alt=
"donate"
width=
"100%"
/>
<span
style=
"display: inline-block; height: 30px; line-height: 30px"
>
你可以请作者喝杯咖啡表示鼓励
</span
>
</div>
</el-card>
</el-col>
</el-row>
</div>
</
template
>
...
...
mqtts-ui/src/views/login.vue
浏览文件 @
4bd60718
...
...
@@ -51,7 +51,7 @@
</el-form>
<!-- 底部 -->
<div
class=
"el-login-footer"
>
<span>
Copyright © 20
18-2021 ruoyi.vip
All Rights Reserved.
</span>
<span>
Copyright © 20
21-2025 mqtts.net
All Rights Reserved.
</span>
</div>
</div>
</
template
>
...
...
mqtts-ui/src/views/register.vue
浏览文件 @
4bd60718
...
...
@@ -61,7 +61,7 @@
</el-form>
<!-- 底部 -->
<div
class=
"el-register-footer"
>
<span>
Copyright © 20
18-2021 ruoyi.vip
All Rights Reserved.
</span>
<span>
Copyright © 20
21-2025 mqtts.net
All Rights Reserved.
</span>
</div>
</div>
</
template
>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录