mirror of
https://gitee.com/ThingsGateway/ThingsGateway.git
synced 2025-10-25 04:33:09 +08:00
Compare commits
756 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a533286658 | ||
|
|
e59f91cd82 | ||
|
|
5f8b85d8a4 | ||
|
|
47c7b88436 | ||
|
|
90006782f2 | ||
|
|
c3d49cbe70 | ||
|
|
112323a360 | ||
|
|
9d08c90fda | ||
|
|
602d24deec | ||
|
|
a2b9f66785 | ||
|
|
7cbf289b50 | ||
|
|
4097da79a5 | ||
|
|
91b7ae554f | ||
|
|
3121aa2542 | ||
|
|
4bf895e6e1 | ||
|
|
0c5489e920 | ||
|
|
d63c3aaa80 | ||
|
|
4f188ea6cc | ||
|
|
acb17018ae | ||
|
|
2affe2988d | ||
|
|
4174dd2206 | ||
|
|
e1c492f238 | ||
|
|
fb08e34fa3 | ||
|
|
a1793a0afe | ||
|
|
4da9763b49 | ||
|
|
81e0918bd0 | ||
|
|
c1e064f06d | ||
|
|
1c52be8b47 | ||
|
|
bcd82055ca | ||
|
|
c47d95d170 | ||
|
|
3e62f1ad51 | ||
|
|
8dcae973ef | ||
|
|
4cf35f7294 | ||
|
|
94c77d151b | ||
|
|
7f600e2b4b | ||
|
|
c809d0ba87 | ||
|
|
50f038ec89 | ||
|
|
9199a255a2 | ||
|
|
d324537b47 | ||
|
|
d0c05685f7 | ||
|
|
1063c930b5 | ||
|
|
79cbd44366 | ||
|
|
7fdac1c5cb | ||
|
|
0c0cf72ebb | ||
|
|
8e2fe175ed | ||
|
|
d1cff037c9 | ||
|
|
fc88a2fafa | ||
|
|
45fcceb056 | ||
|
|
7043477038 | ||
|
|
7dd685cf54 | ||
|
|
5f5e4969c0 | ||
|
|
8a53fd19e9 | ||
|
|
baf4714c36 | ||
|
|
7ba9ac7a5b | ||
|
|
85b8f26e8e | ||
|
|
594a0f1410 | ||
|
|
d317d757d7 | ||
|
|
fdf0ba6318 | ||
|
|
15bf7de5fa | ||
|
|
d3402b058e | ||
|
|
e7dfdd4031 | ||
|
|
b2dd7b6364 | ||
|
|
9bd6d9abbf | ||
|
|
cd14428fea | ||
|
|
19d9f03c2b | ||
|
|
0d57e72bbf | ||
|
|
329516a61b | ||
|
|
d566869589 | ||
|
|
9cb8d8e6c7 | ||
|
|
9de3c57e5d | ||
|
|
f32ff92b0b | ||
|
|
88d71e271e | ||
|
|
fd9c14612a | ||
|
|
e26e5a160f | ||
|
|
b836bfed22 | ||
|
|
a4b598c6d0 | ||
|
|
c9ab755839 | ||
|
|
9920edba53 | ||
|
|
12bd7280d1 | ||
|
|
d30ea7f63b | ||
|
|
ebd3390db6 | ||
|
|
9a374a9ebc | ||
|
|
b1bc22cb08 | ||
|
|
4930d53890 | ||
|
|
c31327b5bc | ||
|
|
3f2aa1f1e1 | ||
|
|
6e78c00a96 | ||
|
|
c27dde085e | ||
|
|
d26cc308c0 | ||
|
|
fb1efdf290 | ||
|
|
3c99f2a472 | ||
|
|
affe9a44e0 | ||
|
|
43730fa519 | ||
|
|
d39aa22b09 | ||
|
|
e232a6b6ea | ||
|
|
71ebb36fe9 | ||
|
|
78a0b86327 | ||
|
|
2636c16a97 | ||
|
|
fd77c0242d | ||
|
|
e74819a900 | ||
|
|
9b7f696c9b | ||
|
|
0230d614e7 | ||
|
|
252d99ad78 | ||
|
|
1ffc200350 | ||
|
|
807d89b2b2 | ||
|
|
4013afa1f1 | ||
|
|
a580927ceb | ||
|
|
bf2cf52034 | ||
|
|
81bb8b7c31 | ||
|
|
a825007fb5 | ||
|
|
988124d96a | ||
|
|
f0de815296 | ||
|
|
0e2d58c887 | ||
|
|
b155382626 | ||
|
|
f362d740af | ||
|
|
4a85e31a4f | ||
|
|
302c270ad5 | ||
|
|
3c1517d0f3 | ||
|
|
f9fb222044 | ||
|
|
e8edc02ba3 | ||
|
|
95a44e3053 | ||
|
|
74a9fe9a87 | ||
|
|
4d03f9ea1a | ||
|
|
67c96ca991 | ||
|
|
88fb793c68 | ||
|
|
d6d02d8cc5 | ||
|
|
c5a3f8e2e3 | ||
|
|
27e8653a1a | ||
|
|
863beda82c | ||
|
|
bac84c3ecd | ||
|
|
2fca2ad9f8 | ||
|
|
dd75286fe0 | ||
|
|
7f91792cf1 | ||
|
|
0e0ccad311 | ||
|
|
0691f72e67 | ||
|
|
7e38a51720 | ||
|
|
34ca8243a3 | ||
|
|
112fea7632 | ||
|
|
378763e4ee | ||
|
|
517bd0394d | ||
|
|
70adb97fb5 | ||
|
|
623d44cabe | ||
|
|
0d479ca00b | ||
|
|
8bc49ef437 | ||
|
|
f83fcec786 | ||
|
|
93690ce40d | ||
|
|
f82c5f2f27 | ||
|
|
a83c1c3899 | ||
|
|
91d6aed109 | ||
|
|
db8f8fe51d | ||
|
|
4596004b17 | ||
|
|
d5540906cb | ||
|
|
90796a979d | ||
|
|
2190a87772 | ||
|
|
c5953b83f8 | ||
|
|
24bc60abf0 | ||
|
|
31eee6b009 | ||
|
|
c5da565a8f | ||
|
|
947cd712e1 | ||
|
|
edc208f96b | ||
|
|
1fb0296ee7 | ||
|
|
6488d3df87 | ||
|
|
56189d78e0 | ||
|
|
bff18127b8 | ||
|
|
363206e0ba | ||
|
|
fd3e378501 | ||
|
|
4ba2fe4c9d | ||
|
|
2c499626ad | ||
|
|
2b581a03c3 | ||
|
|
450c15210a | ||
|
|
65fed8cc93 | ||
|
|
4b64771ea2 | ||
|
|
f39977a6ff | ||
|
|
933b535caa | ||
|
|
8abc5d2f20 | ||
|
|
d8783cd994 | ||
|
|
d5d087feb5 | ||
|
|
6ba3399df7 | ||
|
|
65124b3aa8 | ||
|
|
98597f4726 | ||
|
|
e7981f0d8e | ||
|
|
cf654427c3 | ||
|
|
ff2f628282 | ||
|
|
ae818ca265 | ||
|
|
0f2aed458e | ||
|
|
d486c44ff6 | ||
|
|
ca7b9980bf | ||
|
|
3c71e6a8e3 | ||
|
|
542442864c | ||
|
|
5edb64fa85 | ||
|
|
8dc1c898a3 | ||
|
|
1ed35726b0 | ||
|
|
27fae9ebaa | ||
|
|
b103f25c94 | ||
|
|
abff450274 | ||
|
|
c260736a11 | ||
|
|
166ac2307a | ||
|
|
b21a4e1a4d | ||
|
|
f7dc943fa3 | ||
|
|
bfbd2693ec | ||
|
|
819e71c993 | ||
|
|
9fd0b489a2 | ||
|
|
f5fe9f8dae | ||
|
|
f9ffc18145 | ||
|
|
08db5b983a | ||
|
|
5b3b4c8c50 | ||
|
|
73f914ffc4 | ||
|
|
d6bdd73ed6 | ||
|
|
7370ee7349 | ||
|
|
4574596bac | ||
|
|
4d16855e36 | ||
|
|
13a0d4d282 | ||
|
|
b9cd06b829 | ||
|
|
5b460e8fa2 | ||
|
|
41087edf17 | ||
|
|
2afcc38e38 | ||
|
|
e59ccce25f | ||
|
|
d7425890e8 | ||
|
|
a989a837fb | ||
|
|
db1221da50 | ||
|
|
cf794569ed | ||
|
|
51e5bbab0d | ||
|
|
2c197ed2b2 | ||
|
|
d8fc6665b3 | ||
|
|
c671a79822 | ||
|
|
9d93ce4c41 | ||
|
|
a6d99fe227 | ||
|
|
923b8bca31 | ||
|
|
e2c30d1c88 | ||
|
|
b6d9f2a04e | ||
|
|
57306ea664 | ||
|
|
cd7f3fd02f | ||
|
|
0482e077a8 | ||
|
|
5f986a45ca | ||
|
|
ca7b49c0d5 | ||
|
|
52dd555e6c | ||
|
|
579b1a59f9 | ||
|
|
5299c5c4be | ||
|
|
f7756bccef | ||
|
|
a6b874d160 | ||
|
|
3e5fb3ddcf | ||
|
|
5e6bcb12d3 | ||
|
|
14303f1429 | ||
|
|
96711ba022 | ||
|
|
cbfc0fdbdc | ||
|
|
6e81886c0e | ||
|
|
2d976bc132 | ||
|
|
57f6a476af | ||
|
|
8491ed296e | ||
|
|
cd1288afdc | ||
|
|
ec6c830cb0 | ||
|
|
2f86ccc4bf | ||
|
|
8ca445aec0 | ||
|
|
1e1f27c8a5 | ||
|
|
2b84bde367 | ||
|
|
b52e58551d | ||
|
|
9aceed00bf | ||
|
|
58814f7f74 | ||
|
|
6a70ef9f31 | ||
|
|
82cc4ca500 | ||
|
|
4567fa04ed | ||
|
|
8b98b5d818 | ||
|
|
176d0351af | ||
|
|
d63dc3384b | ||
|
|
1ccd704e30 | ||
|
|
f5d23dbe79 | ||
|
|
75bfe53ac3 | ||
|
|
3308f916dd | ||
|
|
e7140279ca | ||
|
|
1034719f5e | ||
|
|
2c00043a7f | ||
|
|
65c695d9ce | ||
|
|
57253fe46a | ||
|
|
4e5c443440 | ||
|
|
0b3b73d8ec | ||
|
|
921eabc134 | ||
|
|
0faa428751 | ||
|
|
f71a2fdd63 | ||
|
|
4eb9ed8aba | ||
|
|
d7b549abb8 | ||
|
|
95d723c578 | ||
|
|
2fcd853e86 | ||
|
|
07eef7c812 | ||
|
|
b01e0757fa | ||
|
|
32844a20c6 | ||
|
|
5b6532c601 | ||
|
|
2c5b4b4027 | ||
|
|
72d7ecf195 | ||
|
|
2cfa6b4306 | ||
|
|
6f6ffde0ab | ||
|
|
1694739a16 | ||
|
|
95d1e8bfca | ||
|
|
60dec08e3c | ||
|
|
a99d71be93 | ||
|
|
f1331b6a0c | ||
|
|
10d66b642b | ||
|
|
cd2310e4a8 | ||
|
|
1b399cf6b0 | ||
|
|
877445bc0a | ||
|
|
9a5b345bde | ||
|
|
fc9e8ea7b3 | ||
|
|
32be6fcfc1 | ||
|
|
49847236c2 | ||
|
|
d8424443e6 | ||
|
|
f3b571ec3f | ||
|
|
99318bb5d7 | ||
|
|
1aa154c9aa | ||
|
|
c65d8a445b | ||
|
|
80f4f85570 | ||
|
|
5beee43a6b | ||
|
|
8d6ae203a0 | ||
|
|
4353479a5c | ||
|
|
34d7687f9e | ||
|
|
b1dc3cf4af | ||
|
|
6a58b95933 | ||
|
|
d3badfd02b | ||
|
|
0098be057b | ||
|
|
6f972aa515 | ||
|
|
7407ba6313 | ||
|
|
1c79de207b | ||
|
|
257c79db92 | ||
|
|
9d1934a308 | ||
|
|
d70f959902 | ||
|
|
e4d810222f | ||
|
|
bc1af4ae07 | ||
|
|
6e688ef43f | ||
|
|
f0fe1b23dc | ||
|
|
aaf2006401 | ||
|
|
b821e26935 | ||
|
|
7ae4287157 | ||
|
|
c6fcc38a65 | ||
|
|
ab2d5c8853 | ||
|
|
5e557ff0bc | ||
|
|
918ca449a1 | ||
|
|
8e73368008 | ||
|
|
f3c1faf672 | ||
|
|
d6df04dd6a | ||
|
|
b1b9e51ab6 | ||
|
|
e49d4770ac | ||
|
|
8fa1075511 | ||
|
|
9a70169b94 | ||
|
|
fefb928237 | ||
|
|
ad7e700d0d | ||
|
|
1699c69147 | ||
|
|
1695f7cece | ||
|
|
052c27f907 | ||
|
|
dc46c32b30 | ||
|
|
fa63349bb2 | ||
|
|
ffe26448a6 | ||
|
|
4af51e8a84 | ||
|
|
1e453cf5a5 | ||
|
|
591282b87d | ||
|
|
e87528d520 | ||
|
|
d79eb0411d | ||
|
|
ac1e0a4cf7 | ||
|
|
9525eab130 | ||
|
|
89b317496c | ||
|
|
13be91e78b | ||
|
|
f68c1437f3 | ||
|
|
4c64c969bb | ||
|
|
b4bf3b5138 | ||
|
|
083bc4b400 | ||
|
|
e8683c5bcc | ||
|
|
80e0d1de91 | ||
|
|
dbe841037e | ||
|
|
bdd537c33c | ||
|
|
c0c3846094 | ||
|
|
9e8710e7d2 | ||
|
|
475553fdf6 | ||
|
|
9d570f5b45 | ||
|
|
af7fafd34f | ||
|
|
d43130f4fc | ||
|
|
7500194620 | ||
|
|
eb27c29144 | ||
|
|
43260b3e24 | ||
|
|
f80713f0aa | ||
|
|
0c4bdc7ad1 | ||
|
|
811cff7bd0 | ||
|
|
30269aa75c | ||
|
|
e345ef7083 | ||
|
|
f559c9b8f7 | ||
|
|
f4af0916b2 | ||
|
|
f15f14f28d | ||
|
|
834f44f58d | ||
|
|
b36f45dcf4 | ||
|
|
11ba21c9a8 | ||
|
|
b045557ce1 | ||
|
|
0dd251a3f6 | ||
|
|
793acb1725 | ||
|
|
921243e8bd | ||
|
|
bd9d7a90d9 | ||
|
|
cc444a4cea | ||
|
|
38ca1fa168 | ||
|
|
7a552b87ec | ||
|
|
36923d3190 | ||
|
|
a9d3017123 | ||
|
|
313acd4976 | ||
|
|
a4c91bb268 | ||
|
|
f9b566984b | ||
|
|
8dd261854d | ||
|
|
7351e62d87 | ||
|
|
0593ae720b | ||
|
|
a0a7b08e08 | ||
|
|
9a3bc6b8b3 | ||
|
|
5acae17f71 | ||
|
|
f1e5b76ef2 | ||
|
|
53c628fde9 | ||
|
|
baca0a70c0 | ||
|
|
3e8d0af404 | ||
|
|
cf9a91d9d5 | ||
|
|
02b9e282c6 | ||
|
|
9ce87f235f | ||
|
|
e329bea1b2 | ||
|
|
8086e7b54d | ||
|
|
f7a875606e | ||
|
|
196eaf85f4 | ||
|
|
876a55668e | ||
|
|
05bd21bdd5 | ||
|
|
fb51a08cc6 | ||
|
|
dd83d7f4d3 | ||
|
|
842a56f7ce | ||
|
|
9246a6e797 | ||
|
|
8ad693f717 | ||
|
|
f4c2ee7cc4 | ||
|
|
6043441faa | ||
|
|
4a065c3710 | ||
|
|
0ef800bdd7 | ||
|
|
56eaa1910d | ||
|
|
201788e286 | ||
|
|
506e0f144f | ||
|
|
72f68bfdd9 | ||
|
|
2f9869b11d | ||
|
|
8ffcf6498c | ||
|
|
d224ae1923 | ||
|
|
fed2063a19 | ||
|
|
db2810cdd7 | ||
|
|
4f1a6781ef | ||
|
|
beffa5d5a4 | ||
|
|
7a20f1de07 | ||
|
|
cd25cf726b | ||
|
|
d6b1bc3842 | ||
|
|
a4385fb9bb | ||
|
|
7045f2b8ea | ||
|
|
07ca1a4de8 | ||
|
|
24f289e692 | ||
|
|
01bcdaae2d | ||
|
|
55890008d1 | ||
|
|
5ab9b01879 | ||
|
|
e4abb333b3 | ||
|
|
09f476c745 | ||
|
|
8806e68dce | ||
|
|
2ef1e25cd8 | ||
|
|
10e7f202aa | ||
|
|
ccd7000c09 | ||
|
|
8ee7b798cf | ||
|
|
7733cf5bf0 | ||
|
|
a05ce86dd7 | ||
|
|
91f51c32e8 | ||
|
|
f910202bba | ||
|
|
6d77194a8f | ||
|
|
9deb89c15f | ||
|
|
4b62a092b4 | ||
|
|
81c8f626f9 | ||
|
|
3e846c42fb | ||
|
|
63ad7fd766 | ||
|
|
9ff1e9aa34 | ||
|
|
8d162b6f3d | ||
|
|
9844d10bef | ||
|
|
b908fa8489 | ||
|
|
15a10643a7 | ||
|
|
299617aca1 | ||
|
|
45647d697a | ||
|
|
48f5105d38 | ||
|
|
fe1c741d68 | ||
|
|
fa42cc1f00 | ||
|
|
42cf5e7a81 | ||
|
|
47905e1aa1 | ||
|
|
9a8e907df3 | ||
|
|
106fe85582 | ||
|
|
4b3571bd57 | ||
|
|
96b537401a | ||
|
|
721c9eb057 | ||
|
|
51701bf6d6 | ||
|
|
dbde68bd56 | ||
|
|
ad2c9f585a | ||
|
|
562093c468 | ||
|
|
b0295584a3 | ||
|
|
208c54de98 | ||
|
|
63e2d941a1 | ||
|
|
3956838e9c | ||
|
|
abeee58bb0 | ||
|
|
d5b1b49722 | ||
|
|
564ed03ff8 | ||
|
|
70db4c76b4 | ||
|
|
d059f7975b | ||
|
|
4e74e6dc2d | ||
|
|
b6deb96658 | ||
|
|
3839e966be | ||
|
|
3dd035849c | ||
|
|
3d6532b5d6 | ||
|
|
bf7c175ee7 | ||
|
|
f84af35ed6 | ||
|
|
99063b3eb1 | ||
|
|
3bec18f28d | ||
|
|
15de7a7894 | ||
|
|
e20e04e677 | ||
|
|
5fc6ae2835 | ||
|
|
7d281b8c96 | ||
|
|
4880b801a7 | ||
|
|
74e354456a | ||
|
|
af2e03aa36 | ||
|
|
d8fa660ab6 | ||
|
|
1a62d48297 | ||
|
|
7ba01be13d | ||
|
|
1a83d64db7 | ||
|
|
5b53014c40 | ||
|
|
83685340af | ||
|
|
31e0cc4dec | ||
|
|
56b87fc1f5 | ||
|
|
6b956a2dd7 | ||
|
|
1937623d7d | ||
|
|
3b60b10945 | ||
|
|
7173acd350 | ||
|
|
6310d87338 | ||
|
|
49a1ed7c18 | ||
|
|
d426e280d9 | ||
|
|
6154fb29f1 | ||
|
|
97d48ef9d6 | ||
|
|
88992625c4 | ||
|
|
bc6eb44218 | ||
|
|
cf9ccd799d | ||
|
|
ffa0e4e771 | ||
|
|
60fa9c196c | ||
|
|
df860d22fb | ||
|
|
cb46ff326c | ||
|
|
f277a853ef | ||
|
|
9ae34f67c3 | ||
|
|
c9223218cc | ||
|
|
c0dd645aba | ||
|
|
2e948eb5b6 | ||
|
|
c3276889cf | ||
|
|
a76ca8282d | ||
|
|
8ce6b8362f | ||
|
|
842fb12f05 | ||
|
|
d63e1511af | ||
|
|
278783b8e0 | ||
|
|
d24e3c922d | ||
|
|
1d02cd2283 | ||
|
|
8edeb82a87 | ||
|
|
146e9279de | ||
|
|
47105f50a9 | ||
|
|
16c9c80f37 | ||
|
|
8e7e4bc95a | ||
|
|
0aa3d2f930 | ||
|
|
ce77755a1e | ||
|
|
0f31f20c87 | ||
|
|
ee6da2aaa5 | ||
|
|
a35f087cd9 | ||
|
|
6e029b44dd | ||
|
|
973c0cff34 | ||
|
|
2027eea6ac | ||
|
|
2f43692f33 | ||
|
|
6d24992f88 | ||
|
|
b4388a58d6 | ||
|
|
158aa05fac | ||
|
|
f2731bf55e | ||
|
|
7304e99fce | ||
|
|
02700b83eb | ||
|
|
676b25acf9 | ||
|
|
556359ea2d | ||
|
|
b72923e0f5 | ||
|
|
115ac9f75e | ||
|
|
32e36f6708 | ||
|
|
d949b7a4f9 | ||
|
|
eae1171ff5 | ||
|
|
76a1b75a51 | ||
|
|
8882c0daea | ||
|
|
07ebc16d59 | ||
|
|
0ceb109964 | ||
|
|
118b0d0038 | ||
|
|
5e87067792 | ||
|
|
c946a252e8 | ||
|
|
f9ad2ba1dd | ||
|
|
0d0ecd33bd | ||
|
|
e4b98fd05b | ||
|
|
95a5933303 | ||
|
|
da3b55fa64 | ||
|
|
fbbabfb90e | ||
|
|
f13da6830d | ||
|
|
f560a8e2f8 | ||
|
|
56f1139c2f | ||
|
|
773bdfc1e2 | ||
|
|
f449666628 | ||
|
|
3f282de0ab | ||
|
|
440dd8d22f | ||
|
|
dcff9de2f7 | ||
|
|
a192866543 | ||
|
|
10081416de | ||
|
|
e2bed618f9 | ||
|
|
03ab1f3823 | ||
|
|
ac8aeb63d9 | ||
|
|
2e16d822fa | ||
|
|
e407d873fa | ||
|
|
fd712a1dbe | ||
|
|
e9028b40ce | ||
|
|
c9da3dee7c | ||
|
|
c8c224e202 | ||
|
|
f34559daaf | ||
|
|
9fefbf4c27 | ||
|
|
1af9fd73ea | ||
|
|
75ef394eff | ||
|
|
ec6cc2c63e | ||
|
|
06bc2e192b | ||
|
|
78701ec7c1 | ||
|
|
c925fab7e4 | ||
|
|
42fd72c164 | ||
|
|
7fd160e1a2 | ||
|
|
97a0d940eb | ||
|
|
efaa099d81 | ||
|
|
47864a804b | ||
|
|
91136c0e43 | ||
|
|
28c3b1bd61 | ||
|
|
551352bc40 | ||
|
|
e73c24c925 | ||
|
|
7ec4c286cc | ||
|
|
6705e2ec4b | ||
|
|
6f0373063b | ||
|
|
f64eef60b5 | ||
|
|
89546bf86b | ||
|
|
793678feca | ||
|
|
923cc3019a | ||
|
|
10eb98a5f6 | ||
|
|
bd9e89d8dd | ||
|
|
1926b4ce73 | ||
|
|
4ef3062d74 | ||
|
|
abb6e0f60f | ||
|
|
f204d8d84e | ||
|
|
fa301656f1 | ||
|
|
7e1221028f | ||
|
|
41308cb2dd | ||
|
|
130600521c | ||
|
|
cd57548a48 | ||
|
|
efacc99f76 | ||
|
|
f0d236e172 | ||
|
|
a8118bd8c6 | ||
|
|
0e58f2ef53 | ||
|
|
f4b22b3a0c | ||
|
|
df5bd281c7 | ||
|
|
a3f23837ce | ||
|
|
612d989b97 | ||
|
|
42c01ee9a2 | ||
|
|
14074db591 | ||
|
|
43dfdd7942 | ||
|
|
f397b97ccf | ||
|
|
95f8716144 | ||
|
|
17ba472b2e | ||
|
|
42d82571ab | ||
|
|
9119a28141 | ||
|
|
a32263d838 | ||
|
|
208ae2bb88 | ||
|
|
4d85462a85 | ||
|
|
f601aa9ca0 | ||
|
|
8aee3ad455 | ||
|
|
6a2a1e9561 | ||
|
|
5f8786c9dc | ||
|
|
73f1d3eead | ||
|
|
2bf21bb3c3 | ||
|
|
f80f0dbb11 | ||
|
|
37518c70c4 | ||
|
|
e5951b5bef | ||
|
|
ab320bd90b | ||
|
|
7bd36b5371 | ||
|
|
b882b0f2bc | ||
|
|
38d7ae73cc | ||
|
|
4527c6ee5d | ||
|
|
85829e70c1 | ||
|
|
256c08d82a | ||
|
|
c2ce03c047 | ||
|
|
f2af19e198 | ||
|
|
930b7c092d | ||
|
|
00757c69c6 | ||
|
|
55f267d0fc | ||
|
|
6b96aff6e8 | ||
|
|
32b773a8fa | ||
|
|
03089adad6 | ||
|
|
4a1fe746ab | ||
|
|
aa52c05d2c | ||
|
|
26407a43e7 | ||
|
|
a02934bf19 | ||
|
|
09c65fba09 | ||
|
|
4305c727d0 | ||
|
|
188339897f | ||
|
|
4ecff9a707 | ||
|
|
355aed49c6 | ||
|
|
4717b6b0f0 | ||
|
|
45ebe9048d | ||
|
|
b2170c49a3 | ||
|
|
dc2f4d6115 | ||
|
|
1eb132440f | ||
|
|
a464bbc37a | ||
|
|
ed995697c2 | ||
|
|
163cd84c7b | ||
|
|
293d7cc292 | ||
|
|
5de1b4e74c | ||
|
|
7b474975da | ||
|
|
beab51516b | ||
|
|
fe8685a50c | ||
|
|
f9af5d0885 | ||
|
|
e8136a9720 | ||
|
|
531e5d4556 | ||
|
|
e66255963a | ||
|
|
246aac8ee4 | ||
|
|
23cfeff685 | ||
|
|
a5e7e0d126 | ||
|
|
5bebc30ba0 | ||
|
|
0e7057f5b9 | ||
|
|
7c6c365ba4 | ||
|
|
424c9bb0c5 | ||
|
|
9d0f26594c | ||
|
|
99c17de079 | ||
|
|
b1e3dd0af6 | ||
|
|
261cb89530 | ||
|
|
ff6773ba37 | ||
|
|
bdfbbfcbbd | ||
|
|
0c4cd56758 | ||
|
|
4a36658321 | ||
|
|
7aae938685 | ||
|
|
3723401e7a | ||
|
|
70631366a9 | ||
|
|
0e40bbda3e | ||
|
|
e9aa475398 | ||
|
|
8d2a811184 | ||
|
|
dd7f5b6700 | ||
|
|
a4f6277737 | ||
|
|
c2bfaacbb7 | ||
|
|
a17cbfa2d4 | ||
|
|
fb9a101555 | ||
|
|
e319cf0200 | ||
|
|
0a8395ef6a | ||
|
|
38df5e01be | ||
|
|
ebd891a868 | ||
|
|
4ab2395cbe | ||
|
|
5f1f989fc9 | ||
|
|
44b709eee3 | ||
|
|
d0d7726597 | ||
|
|
054c342aeb | ||
|
|
c79c33baf7 | ||
|
|
23b00e35b2 | ||
|
|
fe51079266 | ||
|
|
0791b0bbee | ||
|
|
dbf04c8eeb | ||
|
|
6204256df8 | ||
|
|
93cc8c2327 | ||
|
|
68a2e5bbbc | ||
|
|
72792153f2 | ||
|
|
88b6ef1897 |
@@ -1,19 +0,0 @@
|
|||||||
<Project>
|
|
||||||
<PropertyGroup>
|
|
||||||
|
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
|
||||||
<TargetFrameworks>net6.0;net8.0;</TargetFrameworks>
|
|
||||||
<Version>4.0.0.10</Version>
|
|
||||||
<LangVersion>latest</LangVersion>
|
|
||||||
<Authors>Diego</Authors>
|
|
||||||
<Product>ThingsGateway</Product>
|
|
||||||
<Copyright>© 2023-present Diego</Copyright>
|
|
||||||
<RepositoryUrl>https://gitee.com/diego2098/ThingsGateway</RepositoryUrl>
|
|
||||||
<SignAssembly>False</SignAssembly>
|
|
||||||
<DelaySign>False</DelaySign>
|
|
||||||
<SatelliteResourceLanguages>zh-Hans</SatelliteResourceLanguages>
|
|
||||||
<GenerateDocumentationFile>False</GenerateDocumentationFile>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
|
|
||||||
</Project>
|
|
||||||
@@ -82,7 +82,6 @@ EndProject
|
|||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "解决方案项", "解决方案项", "{97B23D8B-C6C0-4746-A21F-C7B49354B284}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "解决方案项", "解决方案项", "{97B23D8B-C6C0-4746-A21F-C7B49354B284}"
|
||||||
ProjectSection(SolutionItems) = preProject
|
ProjectSection(SolutionItems) = preProject
|
||||||
..\.gitignore = ..\.gitignore
|
..\.gitignore = ..\.gitignore
|
||||||
Directory.Build.props = Directory.Build.props
|
|
||||||
..\README.md = ..\README.md
|
..\README.md = ..\README.md
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
|
|||||||
@@ -1,7 +1,17 @@
|
|||||||
<Project>
|
<Project>
|
||||||
<Import Project="$(SolutionDir)\Directory.Build.props" />
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<TargetFrameworks>net6.0;net8.0;</TargetFrameworks>
|
||||||
|
<Version>4.0.0.3</Version>
|
||||||
|
<LangVersion>latest</LangVersion>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Authors>Diego</Authors>
|
||||||
|
<Product>ThingsGateway</Product>
|
||||||
|
<Copyright>© 2023-present Diego</Copyright>
|
||||||
|
<RepositoryUrl>https://gitee.com/diego2098/ThingsGateway</RepositoryUrl>
|
||||||
|
<SignAssembly>True</SignAssembly>
|
||||||
|
<DelaySign>False</DelaySign>
|
||||||
|
<SatelliteResourceLanguages>zh-Hans</SatelliteResourceLanguages>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
@@ -28,7 +26,6 @@ namespace ThingsGateway.Admin.ApiController;
|
|||||||
public class AuthController : IDynamicApiController
|
public class AuthController : IDynamicApiController
|
||||||
{
|
{
|
||||||
private readonly IAuthService _authService;
|
private readonly IAuthService _authService;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// <inheritdoc cref="AuthController"/>
|
/// <inheritdoc cref="AuthController"/>
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
@@ -26,7 +24,6 @@ public class FileController : IDynamicApiController
|
|||||||
{
|
{
|
||||||
private readonly IOperateLogService _operateLogService;
|
private readonly IOperateLogService _operateLogService;
|
||||||
private readonly IVisitLogService _visitLogService;
|
private readonly IVisitLogService _visitLogService;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// <inheritdoc cref="FileController"/>
|
/// <inheritdoc cref="FileController"/>
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -53,7 +50,6 @@ public class FileController : IDynamicApiController
|
|||||||
};
|
};
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 下载访问日志
|
/// 下载访问日志
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
@@ -30,7 +28,6 @@ namespace ThingsGateway.Admin.ApiController;
|
|||||||
public class OpenApiAuthController : IDynamicApiController
|
public class OpenApiAuthController : IDynamicApiController
|
||||||
{
|
{
|
||||||
private readonly IOpenApiAuthService _authService;
|
private readonly IOpenApiAuthService _authService;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// <inheritdoc cref="OpenApiAuthController"/>
|
/// <inheritdoc cref="OpenApiAuthController"/>
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
@@ -29,13 +27,12 @@ namespace ThingsGateway.Admin.ApiController;
|
|||||||
[Route("Swagger")]
|
[Route("Swagger")]
|
||||||
public class SwaggerController : IDynamicApiController, IScoped
|
public class SwaggerController : IDynamicApiController, IScoped
|
||||||
{
|
{
|
||||||
private readonly IConfigService _configService;
|
private readonly ConfigService _configService;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// <inheritdoc cref="SwaggerController"/>
|
/// <inheritdoc cref="SwaggerController"/>
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sysConfigService"></param>
|
/// <param name="sysConfigService"></param>
|
||||||
public SwaggerController(IConfigService sysConfigService)
|
public SwaggerController(ConfigService sysConfigService)
|
||||||
{
|
{
|
||||||
_configService = sysConfigService;
|
_configService = sysConfigService;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
global using Furion.DynamicApiController;
|
global using Furion.DynamicApiController;
|
||||||
@@ -18,4 +16,4 @@ global using System;
|
|||||||
global using System.Threading.Tasks;
|
global using System.Threading.Tasks;
|
||||||
|
|
||||||
global using ThingsGateway.Admin.Application;
|
global using ThingsGateway.Admin.Application;
|
||||||
global using ThingsGateway.Foundation.Core;
|
global using ThingsGateway.Foundation.Core;
|
||||||
|
|||||||
@@ -79,7 +79,7 @@
|
|||||||
Swagger登录授权服务
|
Swagger登录授权服务
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:ThingsGateway.Admin.ApiController.SwaggerController.#ctor(ThingsGateway.Admin.Application.IConfigService)">
|
<member name="M:ThingsGateway.Admin.ApiController.SwaggerController.#ctor(ThingsGateway.Admin.Application.ConfigService)">
|
||||||
<summary>
|
<summary>
|
||||||
<inheritdoc cref="T:ThingsGateway.Admin.ApiController.SwaggerController"/>
|
<inheritdoc cref="T:ThingsGateway.Admin.ApiController.SwaggerController"/>
|
||||||
</summary>
|
</summary>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
namespace ThingsGateway.Admin.Application;
|
namespace ThingsGateway.Admin.Application;
|
||||||
@@ -30,17 +28,14 @@ public class OperDescAttribute : Attribute
|
|||||||
Description = description;
|
Description = description;
|
||||||
Catcategory = catcategory;
|
Catcategory = catcategory;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 分类
|
/// 分类
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string Catcategory { get; }
|
public string Catcategory { get; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 说明
|
/// 说明
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string Description { get; }
|
public string Description { get; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 记录参数,默认true
|
/// 记录参数,默认true
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.Reflection;
|
using Furion.Reflection;
|
||||||
@@ -98,7 +96,7 @@ public class OperDispatchProxy : AspectDispatchProxy, IDispatchProxy
|
|||||||
/// <exception cref="NotImplementedException"></exception>
|
/// <exception cref="NotImplementedException"></exception>
|
||||||
public override async Task InvokeAsync(MethodInfo method, object[] args)
|
public override async Task InvokeAsync(MethodInfo method, object[] args)
|
||||||
{
|
{
|
||||||
var desc = method.GetActualCustomAttribute<OperDescAttribute>(Target, true);
|
var desc = method.GetActualCustomAttribute<OperDescAttribute>(Target);
|
||||||
if (desc == null)
|
if (desc == null)
|
||||||
{
|
{
|
||||||
var task = method.Invoke(Target, args) as Task;
|
var task = method.Invoke(Target, args) as Task;
|
||||||
@@ -136,7 +134,7 @@ public class OperDispatchProxy : AspectDispatchProxy, IDispatchProxy
|
|||||||
/// <exception cref="NotImplementedException"></exception>
|
/// <exception cref="NotImplementedException"></exception>
|
||||||
public override async Task<T> InvokeAsyncT<T>(MethodInfo method, object[] args)
|
public override async Task<T> InvokeAsyncT<T>(MethodInfo method, object[] args)
|
||||||
{
|
{
|
||||||
var desc = method.GetActualCustomAttribute<OperDescAttribute>(Target, true);
|
var desc = method.GetActualCustomAttribute<OperDescAttribute>(Target);
|
||||||
if (desc == null)
|
if (desc == null)
|
||||||
{
|
{
|
||||||
var taskT = method.Invoke(Target, args) as Task<T>;
|
var taskT = method.Invoke(Target, args) as Task<T>;
|
||||||
@@ -169,6 +167,7 @@ public class OperDispatchProxy : AspectDispatchProxy, IDispatchProxy
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void WriteOperLog(MethodInfo method, object[] args, OperDescAttribute desc, object result, Exception exception)
|
private void WriteOperLog(MethodInfo method, object[] args, OperDescAttribute desc, object result, Exception exception)
|
||||||
{
|
{
|
||||||
//写入操作日志
|
//写入操作日志
|
||||||
@@ -217,5 +216,9 @@ public class OperDispatchProxy : AspectDispatchProxy, IDispatchProxy
|
|||||||
log.ExeMessage = exception.Source + ":" + exception.Message + Environment.NewLine + exception.StackTrace;
|
log.ExeMessage = exception.Source + ":" + exception.Message + Environment.NewLine + exception.StackTrace;
|
||||||
}
|
}
|
||||||
DbContext.Db.CopyNew().InsertableWithAttr(log).ExecuteCommand();//入库
|
DbContext.Db.CopyNew().InsertableWithAttr(log).ExecuteCommand();//入库
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
namespace ThingsGateway.Admin.Application;
|
namespace ThingsGateway.Admin.Application;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
namespace ThingsGateway.Admin.Application;
|
namespace ThingsGateway.Admin.Application;
|
||||||
@@ -19,6 +17,7 @@ namespace ThingsGateway.Admin.Application;
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class CacheConst
|
public class CacheConst
|
||||||
{
|
{
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 登录验证码缓存Key
|
/// 登录验证码缓存Key
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -29,6 +28,7 @@ public class CacheConst
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public const string SYS_CONFIGCATEGORY = "SYS_CONFIGCATEGORY";
|
public const string SYS_CONFIGCATEGORY = "SYS_CONFIGCATEGORY";
|
||||||
|
|
||||||
|
|
||||||
#region OpenApi
|
#region OpenApi
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -51,6 +51,7 @@ public class CacheConst
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public const string CACHE_USERVERIFICAT = "CACHE_USERVERIFICAT";
|
public const string CACHE_USERVERIFICAT = "CACHE_USERVERIFICAT";
|
||||||
|
|
||||||
|
|
||||||
#endregion OpenApi
|
#endregion OpenApi
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -77,4 +78,6 @@ public class CacheConst
|
|||||||
/// 角色表缓存Key
|
/// 角色表缓存Key
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const string CACHE_SYSROLE = "CACHE_SYSROLE";
|
public const string CACHE_SYSROLE = "CACHE_SYSROLE";
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
namespace ThingsGateway.Admin.Application;
|
namespace ThingsGateway.Admin.Application;
|
||||||
@@ -19,16 +17,19 @@ namespace ThingsGateway.Admin.Application;
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public static class CateGoryConst
|
public static class CateGoryConst
|
||||||
{
|
{
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// ThingsGateway.Admin
|
/// ThingsGateway.Admin
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const string ThingsGatewayAdmin = "ThingsGateway.Admin";
|
public const string ThingsGatewayAdmin = "ThingsGateway.Admin";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// ThingsGateway.OpenApi
|
/// ThingsGateway.OpenApi
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const string ThingsGatewayOpenApi = "ThingsGateway.OpenApi";
|
public const string ThingsGatewayOpenApi = "ThingsGateway.OpenApi";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#region 关系表
|
#region 关系表
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -55,6 +56,6 @@ public static class CateGoryConst
|
|||||||
/// 用户有哪些角色
|
/// 用户有哪些角色
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const string Relation_SYS_USER_HAS_ROLE = "SYS_USER_HAS_ROLE";
|
public const string Relation_SYS_USER_HAS_ROLE = "SYS_USER_HAS_ROLE";
|
||||||
|
|
||||||
#endregion 关系表
|
#endregion 关系表
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
namespace ThingsGateway.Admin.Application;
|
namespace ThingsGateway.Admin.Application;
|
||||||
@@ -29,8 +27,10 @@ public static class ConfigConst
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public const string SYS_CONFIGOTHER = "SYS_CONFIGOTHER";
|
public const string SYS_CONFIGOTHER = "SYS_CONFIGOTHER";
|
||||||
|
|
||||||
|
|
||||||
#region config
|
#region config
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 版权标识
|
/// 版权标识
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -40,7 +40,6 @@ public static class ConfigConst
|
|||||||
/// 版权跳转url
|
/// 版权跳转url
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const string CONFIG_COPYRIGHT_URL = "CONFIG_COPYRIGHT_URL";
|
public const string CONFIG_COPYRIGHT_URL = "CONFIG_COPYRIGHT_URL";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否启用PageTab
|
/// 是否启用PageTab
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -92,4 +91,6 @@ public static class ConfigConst
|
|||||||
public const string CONFIG_SWAGGERLOGIN_OPEN = "CONFIG_SWAGGERLOGIN_OPEN";
|
public const string CONFIG_SWAGGERLOGIN_OPEN = "CONFIG_SWAGGERLOGIN_OPEN";
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
namespace ThingsGateway.Admin.Application;
|
namespace ThingsGateway.Admin.Application;
|
||||||
@@ -43,4 +41,7 @@ public class EventSubscriberConst
|
|||||||
/// OpenApi登出
|
/// OpenApi登出
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const string LogoutOpenApi = "OpenApi退出";
|
public const string LogoutOpenApi = "OpenApi退出";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
namespace ThingsGateway.Admin.Application;
|
namespace ThingsGateway.Admin.Application;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
namespace ThingsGateway.Admin.Application;
|
namespace ThingsGateway.Admin.Application;
|
||||||
@@ -31,6 +29,7 @@ public class LogConst
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public const string LOG_LOGOUT = "LOGOUT";
|
public const string LOG_LOGOUT = "LOGOUT";
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 第三方登录
|
/// 第三方登录
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -61,10 +60,10 @@ public class LogConst
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public const string LOG_SUCCESS = "SUCCESS";
|
public const string LOG_SUCCESS = "SUCCESS";
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 操作失败
|
/// 操作失败
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const string LOG_FAIL = "FAIL";
|
public const string LOG_FAIL = "FAIL";
|
||||||
|
|
||||||
#endregion 日志表
|
#endregion 日志表
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
namespace ThingsGateway.Admin.Core;
|
namespace ThingsGateway.Admin.Core;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
namespace ThingsGateway.Admin.Application;
|
namespace ThingsGateway.Admin.Application;
|
||||||
@@ -42,4 +40,5 @@ public class RoleConst
|
|||||||
public const string Relation_SYS_USER_HAS_ROLE = "SYS_USER_HAS_ROLE";
|
public const string Relation_SYS_USER_HAS_ROLE = "SYS_USER_HAS_ROLE";
|
||||||
|
|
||||||
#endregion 关系表
|
#endregion 关系表
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
global using Furion;
|
global using Furion;
|
||||||
@@ -23,4 +21,4 @@ global using System.Threading.Tasks;
|
|||||||
|
|
||||||
global using ThingsGateway.Admin.Core;
|
global using ThingsGateway.Admin.Core;
|
||||||
global using ThingsGateway.Core;
|
global using ThingsGateway.Core;
|
||||||
global using ThingsGateway.Foundation.Core;
|
global using ThingsGateway.Foundation.Core;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.Schedule;
|
using Furion.Schedule;
|
||||||
@@ -38,6 +36,7 @@ public class JobPersistence : IJobPersistence
|
|||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public void OnChanged(PersistenceContext context)
|
public void OnChanged(PersistenceContext context)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -53,6 +52,7 @@ public class JobPersistence : IJobPersistence
|
|||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public void OnTriggerChanged(PersistenceTriggerContext context)
|
public void OnTriggerChanged(PersistenceTriggerContext context)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.Schedule;
|
using Furion.Schedule;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
namespace ThingsGateway.Admin.Application;
|
namespace ThingsGateway.Admin.Application;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
@@ -33,7 +31,6 @@ public class OpenApiAuthEventSubscriber : IEventSubscriber, ISingleton
|
|||||||
LoginOpenApiEvent loginEvent = (LoginOpenApiEvent)context.Source.Payload;//获取参数
|
LoginOpenApiEvent loginEvent = (LoginOpenApiEvent)context.Source.Payload;//获取参数
|
||||||
OpenApiUser openApiUser = loginEvent.OpenApiUser;
|
OpenApiUser openApiUser = loginEvent.OpenApiUser;
|
||||||
var db = DbContext.Db.CopyNew();
|
var db = DbContext.Db.CopyNew();
|
||||||
|
|
||||||
#region 重新赋值属性,设置本次登录信息为最新的信息
|
#region 重新赋值属性,设置本次登录信息为最新的信息
|
||||||
|
|
||||||
db.Tracking(openApiUser);//创建跟踪,只更新修改字段
|
db.Tracking(openApiUser);//创建跟踪,只更新修改字段
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
namespace ThingsGateway.Admin.Application;
|
namespace ThingsGateway.Admin.Application;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
@@ -27,7 +25,6 @@ public interface IOpenApiAuthService : ITransient
|
|||||||
/// <param name="input">登录参数</param>
|
/// <param name="input">登录参数</param>
|
||||||
/// <returns>Token信息</returns>
|
/// <returns>Token信息</returns>
|
||||||
Task<LoginOpenApiOutput> LoginOpenApiAsync(LoginOpenApiInput input);
|
Task<LoginOpenApiOutput> LoginOpenApiAsync(LoginOpenApiInput input);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 登出
|
/// 登出
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DataEncryption;
|
using Furion.DataEncryption;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
@@ -27,7 +25,6 @@ public class OpenApiSessionPageInput : BasePageInput
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[Description("账号")]
|
[Description("账号")]
|
||||||
public string Account { get; set; }
|
public string Account { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 最新登录IP
|
/// 最新登录IP
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
@@ -24,14 +22,19 @@ namespace ThingsGateway.Admin.Application;
|
|||||||
[Injection(Proxy = typeof(OperDispatchProxy))]
|
[Injection(Proxy = typeof(OperDispatchProxy))]
|
||||||
public class OpenApiSessionService : DbRepository<OpenApiUser>, IOpenApiSessionService
|
public class OpenApiSessionService : DbRepository<OpenApiUser>, IOpenApiSessionService
|
||||||
{
|
{
|
||||||
|
|
||||||
private readonly IVerificatService _verificatService;
|
private readonly IVerificatService _verificatService;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <inheritdoc cref="IOpenApiSessionService"/>
|
/// <inheritdoc cref="IOpenApiSessionService"/>
|
||||||
public OpenApiSessionService(IVerificatService verificatService)
|
public OpenApiSessionService(IVerificatService verificatService)
|
||||||
{
|
{
|
||||||
_verificatService = verificatService;
|
_verificatService = verificatService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
[OperDesc("强退OPENAPI会话")]
|
[OperDesc("强退OPENAPI会话")]
|
||||||
public async Task ExitSessionAsync(long input)
|
public async Task ExitSessionAsync(long input)
|
||||||
@@ -80,7 +83,7 @@ public class OpenApiSessionService : DbRepository<OpenApiUser>, IOpenApiSessionS
|
|||||||
var verificatInfos = await _verificatService.GetVerificatIdAsync(it.Id);
|
var verificatInfos = await _verificatService.GetVerificatIdAsync(it.Id);
|
||||||
if (verificatInfos != null)
|
if (verificatInfos != null)
|
||||||
{
|
{
|
||||||
GetVerificatInfos(ref verificatInfos);//获取剩余时间
|
OpenApiSessionService.GetVerificatInfos(ref verificatInfos);//获取剩余时间
|
||||||
it.VerificatCount = verificatInfos.Count;//令牌数量
|
it.VerificatCount = verificatInfos.Count;//令牌数量
|
||||||
it.VerificatSignList = verificatInfos;//令牌列表
|
it.VerificatSignList = verificatInfos;//令牌列表
|
||||||
}
|
}
|
||||||
@@ -88,6 +91,7 @@ public class OpenApiSessionService : DbRepository<OpenApiUser>, IOpenApiSessionS
|
|||||||
{
|
{
|
||||||
it.VerificatSignList = new();
|
it.VerificatSignList = new();
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
for (int i = input.SortField.Count - 1; i >= 0; i--)
|
for (int i = input.SortField.Count - 1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
@@ -98,4 +102,5 @@ public class OpenApiSessionService : DbRepository<OpenApiUser>, IOpenApiSessionS
|
|||||||
pageInfo.Records = pageInfo.Records.OrderByDescending(it => it.VerificatCount);
|
pageInfo.Records = pageInfo.Records.OrderByDescending(it => it.VerificatCount);
|
||||||
return pageInfo;
|
return pageInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using SqlSugar;
|
using SqlSugar;
|
||||||
@@ -35,17 +33,14 @@ public class OpenApiPermissionTreeSelector
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[Description("Api路径")]
|
[Description("Api路径")]
|
||||||
public string ApiRoute { get; set; }
|
public string ApiRoute { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 子节点
|
/// 子节点
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public List<OpenApiPermissionTreeSelector> Children { get; set; } = new();
|
public List<OpenApiPermissionTreeSelector> Children { get; set; } = new();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// ID
|
/// ID
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public long Id { get; set; }
|
public long Id { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 父ID
|
/// 父ID
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -73,6 +68,7 @@ public class OpenApiPermissionTreeSelector
|
|||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -85,7 +81,6 @@ public class OpenApiUserAddInput : OpenApiUser
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[Required(ErrorMessage = "账号不能为空"), MinLength(3, ErrorMessage = "账号不能少于4个字符")]
|
[Required(ErrorMessage = "账号不能为空"), MinLength(3, ErrorMessage = "账号不能少于4个字符")]
|
||||||
public override string Account { get; set; }
|
public override string Account { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 密码
|
/// 密码
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -96,6 +91,8 @@ public class OpenApiUserAddInput : OpenApiUser
|
|||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public override bool UserEnable { get; set; } = true;
|
public override bool UserEnable { get; set; } = true;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -114,7 +111,6 @@ public class OpenApiUserEditInput : OpenApiUser
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[MinValue(1, ErrorMessage = "Id不能为空")]
|
[MinValue(1, ErrorMessage = "Id不能为空")]
|
||||||
public override long Id { get; set; }
|
public override long Id { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 密码
|
/// 密码
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
@@ -55,6 +53,7 @@ public interface IOpenApiUserService : ITransient
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task EditAsync(OpenApiUserEditInput input);
|
Task EditAsync(OpenApiUserEditInput input);
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 启用用户
|
/// 启用用户
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -75,7 +74,6 @@ public interface IOpenApiUserService : ITransient
|
|||||||
/// <param name="account">用户名</param>
|
/// <param name="account">用户名</param>
|
||||||
/// <returns>用户信息</returns>
|
/// <returns>用户信息</returns>
|
||||||
Task<OpenApiUser> GetUserByAccountAsync(string account);
|
Task<OpenApiUser> GetUserByAccountAsync(string account);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 根据ID获取用户信息
|
/// 根据ID获取用户信息
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DataEncryption;
|
using Furion.DataEncryption;
|
||||||
@@ -60,6 +58,7 @@ public class OpenApiUserService : DbRepository<OpenApiUser>, IOpenApiUserService
|
|||||||
[OperDesc("删除用户")]
|
[OperDesc("删除用户")]
|
||||||
public async Task DeleteAsync(params long[] ids)
|
public async Task DeleteAsync(params long[] ids)
|
||||||
{
|
{
|
||||||
|
|
||||||
//获取所有ID
|
//获取所有ID
|
||||||
if (ids.Length > 0)
|
if (ids.Length > 0)
|
||||||
{
|
{
|
||||||
@@ -76,6 +75,7 @@ public class OpenApiUserService : DbRepository<OpenApiUser>, IOpenApiUserService
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public void DeleteUserFromCache(params long[] ids)
|
public void DeleteUserFromCache(params long[] ids)
|
||||||
{
|
{
|
||||||
@@ -140,6 +140,7 @@ public class OpenApiUserService : DbRepository<OpenApiUser>, IOpenApiUserService
|
|||||||
//编辑操作可能会修改用户密码等信息,认证时需要实时获取用户并验证
|
//编辑操作可能会修改用户密码等信息,认证时需要实时获取用户并验证
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
[OperDesc("启用用户")]
|
[OperDesc("启用用户")]
|
||||||
public async Task EnableUserAsync(long input)
|
public async Task EnableUserAsync(long input)
|
||||||
@@ -248,6 +249,7 @@ public class OpenApiUserService : DbRepository<OpenApiUser>, IOpenApiUserService
|
|||||||
query = query.OrderBy(it => it.SortCode);//排序
|
query = query.OrderBy(it => it.SortCode);//排序
|
||||||
query = query.OrderBy(u => u.Id);//排序
|
query = query.OrderBy(u => u.Id);//排序
|
||||||
|
|
||||||
|
|
||||||
var pageInfo = await query.ToPagedListAsync(input.Current, input.Size);//分页
|
var pageInfo = await query.ToPagedListAsync(input.Current, input.Size);//分页
|
||||||
return pageInfo;
|
return pageInfo;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -559,6 +559,6 @@
|
|||||||
"UpdateUser": "superAdmin",
|
"UpdateUser": "superAdmin",
|
||||||
"UpdateUserId": "212725263002001"
|
"UpdateUserId": "212725263002001"
|
||||||
}
|
}
|
||||||
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
namespace ThingsGateway.Admin.Application;
|
namespace ThingsGateway.Admin.Application;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
namespace ThingsGateway.Admin.Application;
|
namespace ThingsGateway.Admin.Application;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
namespace ThingsGateway.Admin.Application;
|
namespace ThingsGateway.Admin.Application;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
namespace ThingsGateway.Admin.Application;
|
namespace ThingsGateway.Admin.Application;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
namespace ThingsGateway.Admin.Application;
|
namespace ThingsGateway.Admin.Application;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
namespace ThingsGateway.Admin.Application;
|
namespace ThingsGateway.Admin.Application;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.InstantMessaging;
|
using Furion.InstantMessaging;
|
||||||
@@ -36,14 +34,12 @@ public class SysHub : Hub<ISysHub>
|
|||||||
|
|
||||||
private readonly ILogger<ISysHub> _logger;
|
private readonly ILogger<ISysHub> _logger;
|
||||||
private readonly IServiceScope _serviceScope;
|
private readonly IServiceScope _serviceScope;
|
||||||
|
|
||||||
/// <inheritdoc cref="ISysHub"/>
|
/// <inheritdoc cref="ISysHub"/>
|
||||||
public SysHub(IServiceScopeFactory scopeFactory, ILogger<ISysHub> logger)
|
public SysHub(IServiceScopeFactory scopeFactory, ILogger<ISysHub> logger)
|
||||||
{
|
{
|
||||||
_serviceScope = scopeFactory.CreateScope();
|
_serviceScope = scopeFactory.CreateScope();
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 连接
|
/// 连接
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -57,7 +53,6 @@ public class SysHub : Hub<ISysHub>
|
|||||||
await UpdateVerificatAsync(userIdentifier, verificat: VerificatId);//更新cache
|
await UpdateVerificatAsync(userIdentifier, verificat: VerificatId);//更新cache
|
||||||
await base.OnConnectedAsync();
|
await base.OnConnectedAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 断开连接
|
/// 断开连接
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Microsoft.AspNetCore.Http.Connections.Features;
|
using Microsoft.AspNetCore.Http.Connections.Features;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
@@ -27,6 +25,7 @@ public class Startup : AppStartup
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public void ConfigureServices(IServiceCollection services)
|
public void ConfigureServices(IServiceCollection services)
|
||||||
{
|
{
|
||||||
|
|
||||||
// 任务调度
|
// 任务调度
|
||||||
services.AddSchedule(options =>
|
services.AddSchedule(options =>
|
||||||
{
|
{
|
||||||
@@ -35,5 +34,6 @@ public class Startup : AppStartup
|
|||||||
|
|
||||||
//事件总线
|
//事件总线
|
||||||
services.AddEventBus();
|
services.AddEventBus();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
@@ -25,7 +23,6 @@ namespace ThingsGateway.Admin.Application;
|
|||||||
public class UserEventSubscriber : IEventSubscriber, ISingleton
|
public class UserEventSubscriber : IEventSubscriber, ISingleton
|
||||||
{
|
{
|
||||||
private readonly IServiceProvider _services;
|
private readonly IServiceProvider _services;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// <inheritdoc cref="UserEventSubscriber"/>
|
/// <inheritdoc cref="UserEventSubscriber"/>
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DataEncryption;
|
using Furion.DataEncryption;
|
||||||
@@ -38,7 +36,6 @@ public class AuthService : IAuthService
|
|||||||
private readonly IServiceScope _serviceScope;
|
private readonly IServiceScope _serviceScope;
|
||||||
private readonly ISysUserService _userService;
|
private readonly ISysUserService _userService;
|
||||||
private readonly IVerificatService _verificatService;
|
private readonly IVerificatService _verificatService;
|
||||||
|
|
||||||
/// <inheritdoc cref="IAuthService"/>
|
/// <inheritdoc cref="IAuthService"/>
|
||||||
public AuthService(
|
public AuthService(
|
||||||
IEventPublisher eventPublisher,
|
IEventPublisher eventPublisher,
|
||||||
@@ -178,6 +175,7 @@ public class AuthService : IAuthService
|
|||||||
return new LoginOutput { VerificatId = sessionid, Account = sysUser.Account };
|
return new LoginOutput { VerificatId = sessionid, Account = sysUser.Account };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private async Task RemoveVerificatAsync(LoginEvent loginEvent)
|
private async Task RemoveVerificatAsync(LoginEvent loginEvent)
|
||||||
{
|
{
|
||||||
//获取verificat列表
|
//获取verificat列表
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
@@ -40,7 +38,6 @@ public class LoginInput : ValidCodeInput
|
|||||||
[Required(ErrorMessage = "密码不能为空"), MinLength(3, ErrorMessage = "密码不能少于3个字符")]
|
[Required(ErrorMessage = "密码不能为空"), MinLength(3, ErrorMessage = "密码不能少于3个字符")]
|
||||||
public string Password { get; set; }
|
public string Password { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 验证码输入
|
/// 验证码输入
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -56,7 +53,6 @@ public class ValidCodeInput
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public long ValidCodeReqNo { get; set; }
|
public long ValidCodeReqNo { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 登录设备类型枚举
|
/// 登录设备类型枚举
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
namespace ThingsGateway.Admin.Application;
|
namespace ThingsGateway.Admin.Application;
|
||||||
@@ -23,7 +21,6 @@ public class BaseLoginOutput
|
|||||||
/// 账号
|
/// 账号
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string Account { get; set; }
|
public string Account { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 验证ID
|
/// 验证ID
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
namespace ThingsGateway.Admin.Application;
|
namespace ThingsGateway.Admin.Application;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
@@ -159,5 +157,7 @@ public class ButtonService : DbRepository<SysResource>, IButtonService
|
|||||||
sysResource.Category = ResourceCategoryEnum.BUTTON;//设置分类为按钮
|
sysResource.Category = ResourceCategoryEnum.BUTTON;//设置分类为按钮
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endregion 方法
|
#endregion 方法
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
@@ -39,7 +37,6 @@ public class ButtonAddInput : SysResource
|
|||||||
[Required(ErrorMessage = "Title不能为空")]
|
[Required(ErrorMessage = "Title不能为空")]
|
||||||
public override string Title { get; set; }
|
public override string Title { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 按钮分页
|
/// 按钮分页
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -51,7 +48,6 @@ public class ButtonPageInput : BasePageInput
|
|||||||
[Required(ErrorMessage = "ParentId不能为空")]
|
[Required(ErrorMessage = "ParentId不能为空")]
|
||||||
public long? ParentId { get; set; }
|
public long? ParentId { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 按钮编辑
|
/// 按钮编辑
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
@@ -21,6 +19,8 @@ namespace ThingsGateway.Admin.Application;
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IButtonService : ITransient
|
public interface IButtonService : ITransient
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 添加按钮
|
/// 添加按钮
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
@@ -26,12 +24,10 @@ namespace ThingsGateway.Admin.Application;
|
|||||||
public class ConfigService : DbRepository<SysConfig>, IConfigService
|
public class ConfigService : DbRepository<SysConfig>, IConfigService
|
||||||
{
|
{
|
||||||
private readonly IServiceScope _serviceScope;
|
private readonly IServiceScope _serviceScope;
|
||||||
|
|
||||||
public ConfigService(IServiceScopeFactory serviceScopeFactory)
|
public ConfigService(IServiceScopeFactory serviceScopeFactory)
|
||||||
{
|
{
|
||||||
_serviceScope = serviceScopeFactory.CreateScope();
|
_serviceScope = serviceScopeFactory.CreateScope();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
[OperDesc("编辑网关系统配置")]
|
[OperDesc("编辑网关系统配置")]
|
||||||
public async Task EditBatchAsync(List<SysConfig> sysConfigs)
|
public async Task EditBatchAsync(List<SysConfig> sysConfigs)
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
@@ -63,4 +61,5 @@ public class ConfigPageInput : BasePageInput
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[Description("分类")]
|
[Description("分类")]
|
||||||
public string Category { get; set; }
|
public string Category { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
@@ -27,7 +25,6 @@ public interface IConfigService : ITransient
|
|||||||
/// <param name="configs">配置列表</param>
|
/// <param name="configs">配置列表</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task EditBatchAsync(List<SysConfig> configs);
|
Task EditBatchAsync(List<SysConfig> configs);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 新增自定义配置
|
/// 新增自定义配置
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.FriendlyException;
|
using Furion.FriendlyException;
|
||||||
@@ -23,13 +21,18 @@ namespace ThingsGateway.Admin.Application;
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class FileService : IFileService
|
public class FileService : IFileService
|
||||||
{
|
{
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public void ImportVerification(IBrowserFile file, int maxSzie = 300, string[] allowTypes = null)
|
public void ImportVerification(IBrowserFile file, int maxSzie = 300, string[] allowTypes = null)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (file == null) throw Oops.Bah("文件不能为空");
|
if (file == null) throw Oops.Bah("文件不能为空");
|
||||||
if (file.Size > maxSzie * 1024 * 1024) throw Oops.Bah($"文件大小不允许超过{maxSzie}M");
|
if (file.Size > maxSzie * 1024 * 1024) throw Oops.Bah($"文件大小不允许超过{maxSzie}M");
|
||||||
var fileSuffix = Path.GetExtension(file.Name).ToLower().Split(".")[1]; // 文件后缀
|
var fileSuffix = Path.GetExtension(file.Name).ToLower().Split(".")[1]; // 文件后缀
|
||||||
string[] allowTypeS = allowTypes ?? new string[] { "xlsx" };//允许上传的文件类型
|
string[] allowTypeS = allowTypes ?? new string[] { "xlsx" };//允许上传的文件类型
|
||||||
if (!allowTypeS.Contains(fileSuffix)) throw Oops.Bah(errorMessage: "文件格式错误");
|
if (!allowTypeS.Contains(fileSuffix)) throw Oops.Bah(errorMessage: "文件格式错误");
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
@@ -23,6 +21,7 @@ namespace ThingsGateway.Admin.Application;
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IFileService : ITransient
|
public interface IFileService : ITransient
|
||||||
{
|
{
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 验证上传文件
|
/// 验证上传文件
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -30,4 +29,7 @@ public interface IFileService : ITransient
|
|||||||
/// <param name="maxSzie">最大体积(M)</param>
|
/// <param name="maxSzie">最大体积(M)</param>
|
||||||
/// <param name="allowTypes">允许上传类型</param>
|
/// <param name="allowTypes">允许上传类型</param>
|
||||||
void ImportVerification(IBrowserFile file, int maxSzie = 30, string[] allowTypes = null);
|
void ImportVerification(IBrowserFile file, int maxSzie = 30, string[] allowTypes = null);
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
@@ -30,7 +28,6 @@ public class MenuService : DbRepository<SysResource>, IMenuService
|
|||||||
private readonly IRelationService _relationService;
|
private readonly IRelationService _relationService;
|
||||||
private readonly IResourceService _resourceService;
|
private readonly IResourceService _resourceService;
|
||||||
private readonly IRoleService _roleService;
|
private readonly IRoleService _roleService;
|
||||||
|
|
||||||
/// <inheritdoc cref="IMenuService"/>
|
/// <inheritdoc cref="IMenuService"/>
|
||||||
public MenuService(IResourceService resourceService, IRelationService relationService, IRoleService roleService)
|
public MenuService(IResourceService resourceService, IRelationService relationService, IRoleService roleService)
|
||||||
{
|
{
|
||||||
@@ -50,6 +47,7 @@ public class MenuService : DbRepository<SysResource>, IMenuService
|
|||||||
_resourceService.RefreshCache(ResourceCategoryEnum.MENU);//刷新菜单缓存
|
_resourceService.RefreshCache(ResourceCategoryEnum.MENU);//刷新菜单缓存
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
[OperDesc("删除菜单")]
|
[OperDesc("删除菜单")]
|
||||||
public async Task DeleteAsync(params long[] input)
|
public async Task DeleteAsync(params long[] input)
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Microsoft.AspNetCore.SignalR;
|
using Microsoft.AspNetCore.SignalR;
|
||||||
@@ -23,12 +21,10 @@ namespace ThingsGateway.Admin.Application;
|
|||||||
public class NoticeService : INoticeService
|
public class NoticeService : INoticeService
|
||||||
{
|
{
|
||||||
private readonly IServiceScope _serviceScope;
|
private readonly IServiceScope _serviceScope;
|
||||||
|
|
||||||
public NoticeService(IServiceScopeFactory serviceScopeFactory)
|
public NoticeService(IServiceScopeFactory serviceScopeFactory)
|
||||||
{
|
{
|
||||||
_serviceScope = serviceScopeFactory.CreateScope();
|
_serviceScope = serviceScopeFactory.CreateScope();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public async Task LogoutAsync(long userId, List<VerificatInfo> verificatInfos, string message)
|
public async Task LogoutAsync(long userId, List<VerificatInfo> verificatInfos, string message)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
namespace ThingsGateway.Admin.Application;
|
namespace ThingsGateway.Admin.Application;
|
||||||
@@ -20,10 +18,10 @@ namespace ThingsGateway.Admin.Application;
|
|||||||
public class OperateLogPageInput : VisitLogPageInput
|
public class OperateLogPageInput : VisitLogPageInput
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 操作日志分页输入
|
/// 操作日志分页输入
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class OperateLogInput : VisitLogInput
|
public class OperateLogInput : VisitLogInput
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
@@ -27,14 +25,12 @@ public interface IOperateLogService : ITransient
|
|||||||
/// <param name="category">分类名称</param>
|
/// <param name="category">分类名称</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task DeleteAsync(params string[] category);
|
Task DeleteAsync(params string[] category);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 导出后台日志
|
/// 导出后台日志
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="input"></param>
|
/// <param name="input"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<MemoryStream> ExportFileAsync(List<SysOperateLog> input = null);
|
Task<MemoryStream> ExportFileAsync(List<SysOperateLog> input = null);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 导出后台日志
|
/// 导出后台日志
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
@@ -34,7 +32,6 @@ public class OperateLogService : DbRepository<SysOperateLog>, IOperateLogService
|
|||||||
{
|
{
|
||||||
await AsDeleteable().Where(it => category.Contains(it.Category)).ExecuteCommandAsync();
|
await AsDeleteable().Where(it => category.Contains(it.Category)).ExecuteCommandAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
[OperDesc("导出操作日志", IsRecordPar = false)]
|
[OperDesc("导出操作日志", IsRecordPar = false)]
|
||||||
public async Task<MemoryStream> ExportFileAsync(List<SysOperateLog> input = null)
|
public async Task<MemoryStream> ExportFileAsync(List<SysOperateLog> input = null)
|
||||||
@@ -47,7 +44,6 @@ public class OperateLogService : DbRepository<SysOperateLog>, IOperateLogService
|
|||||||
foreach (var devData in input)
|
foreach (var devData in input)
|
||||||
{
|
{
|
||||||
#region sheet
|
#region sheet
|
||||||
|
|
||||||
//变量页
|
//变量页
|
||||||
var data = devData.GetType().GetProperties();
|
var data = devData.GetType().GetProperties();
|
||||||
Dictionary<string, object> devExport = new();
|
Dictionary<string, object> devExport = new();
|
||||||
@@ -80,7 +76,6 @@ public class OperateLogService : DbRepository<SysOperateLog>, IOperateLogService
|
|||||||
var data = await query.ToListAsync();
|
var data = await query.ToListAsync();
|
||||||
return await ExportFileAsync(data);
|
return await ExportFileAsync(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public async Task<ISqlSugarPagedList<SysOperateLog>> PageAsync(OperateLogPageInput input)
|
public async Task<ISqlSugarPagedList<SysOperateLog>> PageAsync(OperateLogPageInput input)
|
||||||
{
|
{
|
||||||
@@ -99,6 +94,7 @@ public class OperateLogService : DbRepository<SysOperateLog>, IOperateLogService
|
|||||||
.WhereIF(!string.IsNullOrEmpty(input.ExeStatus), it => it.ExeStatus == input.ExeStatus)//根据结果查询
|
.WhereIF(!string.IsNullOrEmpty(input.ExeStatus), it => it.ExeStatus == input.ExeStatus)//根据结果查询
|
||||||
.WhereIF(!string.IsNullOrEmpty(input.SearchKey), it => it.Name.Contains(input.SearchKey) || it.OpIp.Contains(input.SearchKey));//根据关键字查询
|
.WhereIF(!string.IsNullOrEmpty(input.SearchKey), it => it.Name.Contains(input.SearchKey) || it.OpIp.Contains(input.SearchKey));//根据关键字查询
|
||||||
|
|
||||||
|
|
||||||
for (int i = input.SortField.Count - 1; i >= 0; i--)
|
for (int i = input.SortField.Count - 1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
query = query.OrderByIF(!string.IsNullOrEmpty(input.SortField[i]), $"{input.SortField[i]} {(input.SortDesc[i] ? "desc" : "asc")}");
|
query = query.OrderByIF(!string.IsNullOrEmpty(input.SortField[i]), $"{input.SortField[i]} {(input.SortDesc[i] ? "desc" : "asc")}");
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.FriendlyException;
|
using Furion.FriendlyException;
|
||||||
@@ -22,12 +20,10 @@ namespace ThingsGateway.Admin.Application;
|
|||||||
public class RelationService : DbRepository<SysRelation>, IRelationService
|
public class RelationService : DbRepository<SysRelation>, IRelationService
|
||||||
{
|
{
|
||||||
private readonly IServiceScope _serviceScope;
|
private readonly IServiceScope _serviceScope;
|
||||||
|
|
||||||
public RelationService(IServiceScopeFactory serviceScopeFactory)
|
public RelationService(IServiceScopeFactory serviceScopeFactory)
|
||||||
{
|
{
|
||||||
_serviceScope = serviceScopeFactory.CreateScope();
|
_serviceScope = serviceScopeFactory.CreateScope();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public async Task<List<SysRelation>> GetRelationByCategoryAsync(string category)
|
public async Task<List<SysRelation>> GetRelationByCategoryAsync(string category)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,11 +8,11 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
namespace ThingsGateway.Admin.Application;
|
namespace ThingsGateway.Admin.Application;
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 角色按钮资源
|
/// 角色按钮资源
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
@@ -26,7 +24,6 @@ public interface IResourceService : ITransient
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns>所有的菜单和模块以及单页面列表</returns>
|
/// <returns>所有的菜单和模块以及单页面列表</returns>
|
||||||
Task<List<SysResource>> GetaMenuAndSpaListAsync();
|
Task<List<SysResource>> GetaMenuAndSpaListAsync();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取子资源
|
/// 获取子资源
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -57,7 +54,6 @@ public interface IResourceService : ITransient
|
|||||||
/// <param name="categorys">资源分类列表</param>
|
/// <param name="categorys">资源分类列表</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<List<SysResource>> GetListByCategorysAsync(List<ResourceCategoryEnum> categorys = null);
|
Task<List<SysResource>> GetListByCategorysAsync(List<ResourceCategoryEnum> categorys = null);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取资源所有下级
|
/// 获取资源所有下级
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -93,10 +89,10 @@ public interface IResourceService : ITransient
|
|||||||
/// <returns>菜单形结构</returns>
|
/// <returns>菜单形结构</returns>
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
List<SysResource> ResourceListToTree(List<SysResource> resourceList, long parentId = 0);
|
List<SysResource> ResourceListToTree(List<SysResource> resourceList, long parentId = 0);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 多个树转列表
|
/// 多个树转列表
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="data"></param>
|
/// <param name="data"></param>
|
||||||
List<SysResource> ResourceTreeToList(List<SysResource> data);
|
List<SysResource> ResourceTreeToList(List<SysResource> data);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Mapster;
|
using Mapster;
|
||||||
@@ -18,16 +16,15 @@ using Microsoft.Extensions.DependencyInjection;
|
|||||||
|
|
||||||
namespace ThingsGateway.Admin.Application;
|
namespace ThingsGateway.Admin.Application;
|
||||||
|
|
||||||
|
|
||||||
/// <inheritdoc cref="IResourceService"/>
|
/// <inheritdoc cref="IResourceService"/>
|
||||||
public class ResourceService : DbRepository<SysResource>, IResourceService
|
public class ResourceService : DbRepository<SysResource>, IResourceService
|
||||||
{
|
{
|
||||||
private readonly IServiceScope _serviceScope;
|
private readonly IServiceScope _serviceScope;
|
||||||
|
|
||||||
public ResourceService(IServiceScopeFactory serviceScopeFactory)
|
public ResourceService(IServiceScopeFactory serviceScopeFactory)
|
||||||
{
|
{
|
||||||
_serviceScope = serviceScopeFactory.CreateScope();
|
_serviceScope = serviceScopeFactory.CreateScope();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public async Task<List<SysResource>> GetaMenuAndSpaListAsync()
|
public async Task<List<SysResource>> GetaMenuAndSpaListAsync()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
@@ -69,7 +67,6 @@ public interface IRoleService : ITransient
|
|||||||
/// <param name="input">授权信息</param>
|
/// <param name="input">授权信息</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task GrantUserAsync(GrantUserInput input);
|
Task GrantUserAsync(GrantUserInput input);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 角色拥有资源
|
/// 角色拥有资源
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -101,7 +98,6 @@ public interface IRoleService : ITransient
|
|||||||
/// 角色刷新资源
|
/// 角色刷新资源
|
||||||
/// </summary>
|
/// </summary>
|
||||||
Task RefreshResourceAsync(long? menuId = null);
|
Task RefreshResourceAsync(long? menuId = null);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 角色选择器
|
/// 角色选择器
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
@@ -84,6 +82,7 @@ namespace ThingsGateway.Admin.Application
|
|||||||
await Context.Deleteable<SysRelation>().Where(it => ids.Contains(it.ObjectId) && delRelations.Contains(it.Category)).ExecuteCommandAsync();
|
await Context.Deleteable<SysRelation>().Where(it => ids.Contains(it.ObjectId) && delRelations.Contains(it.Category)).ExecuteCommandAsync();
|
||||||
//删除关系表角色与用户关系
|
//删除关系表角色与用户关系
|
||||||
await Context.Deleteable<SysRelation>().Where(it => targetIds.Contains(it.TargetId) && it.Category == CateGoryConst.Relation_SYS_USER_HAS_ROLE).ExecuteCommandAsync();
|
await Context.Deleteable<SysRelation>().Where(it => targetIds.Contains(it.TargetId) && it.Category == CateGoryConst.Relation_SYS_USER_HAS_ROLE).ExecuteCommandAsync();
|
||||||
|
|
||||||
});
|
});
|
||||||
if (result.IsSuccess)//如果成功了
|
if (result.IsSuccess)//如果成功了
|
||||||
{
|
{
|
||||||
@@ -289,6 +288,7 @@ namespace ThingsGateway.Admin.Application
|
|||||||
//删除老的
|
//删除老的
|
||||||
await Context.Deleteable<SysRelation>().Where(it => it.TargetId == input.Id.ToString() && it.Category == CateGoryConst.Relation_SYS_USER_HAS_ROLE).ExecuteCommandAsync();
|
await Context.Deleteable<SysRelation>().Where(it => it.TargetId == input.Id.ToString() && it.Category == CateGoryConst.Relation_SYS_USER_HAS_ROLE).ExecuteCommandAsync();
|
||||||
await Context.Insertable(sysRelations).ExecuteCommandAsync();//添加新的
|
await Context.Insertable(sysRelations).ExecuteCommandAsync();//添加新的
|
||||||
|
|
||||||
});
|
});
|
||||||
if (result.IsSuccess)//如果成功了
|
if (result.IsSuccess)//如果成功了
|
||||||
{
|
{
|
||||||
@@ -361,6 +361,8 @@ namespace ThingsGateway.Admin.Application
|
|||||||
await GrantResourceAsync(new GrantResourceInput() { Id = item.Id, GrantInfoList = r1.GrantInfoList });
|
await GrantResourceAsync(new GrantResourceInput() { Id = item.Id, GrantInfoList = r1.GrantInfoList });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
@@ -27,7 +25,6 @@ public class SessionPageInput : BasePageInput
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[Description("账号")]
|
[Description("账号")]
|
||||||
public string Account { get; set; }
|
public string Account { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 最新登录IP
|
/// 最新登录IP
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -51,7 +48,6 @@ public class ExitVerificatInput : BaseIdInput
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[Required(ErrorMessage = "VerificatIds不能为空")]
|
[Required(ErrorMessage = "VerificatIds不能为空")]
|
||||||
public List<long> VerificatIds { get; set; }
|
public List<long> VerificatIds { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 用户Id
|
/// 用户Id
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
@@ -75,7 +73,7 @@ public class SessionService : DbRepository<SysUser>, ISessionService
|
|||||||
var verificatInfos = await _verificatService.GetVerificatIdAsync(it.Id);
|
var verificatInfos = await _verificatService.GetVerificatIdAsync(it.Id);
|
||||||
if (verificatInfos != null)
|
if (verificatInfos != null)
|
||||||
{
|
{
|
||||||
GetVerificatInfos(ref verificatInfos);//获取剩余时间
|
SessionService.GetVerificatInfos(ref verificatInfos);//获取剩余时间
|
||||||
it.VerificatCount = verificatInfos.Count;//令牌数量
|
it.VerificatCount = verificatInfos.Count;//令牌数量
|
||||||
it.VerificatSignList = verificatInfos;//令牌列表
|
it.VerificatSignList = verificatInfos;//令牌列表
|
||||||
|
|
||||||
@@ -86,12 +84,14 @@ public class SessionService : DbRepository<SysUser>, ISessionService
|
|||||||
{
|
{
|
||||||
it.VerificatSignList = new();
|
it.VerificatSignList = new();
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
for (int i = input.SortField.Count - 1; i >= 0; i--)
|
for (int i = input.SortField.Count - 1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
query = query.OrderByIF(!string.IsNullOrEmpty(input.SortField[i]), $"{input.SortField[i]} {(input.SortDesc[i] ? "desc" : "asc")}");
|
query = query.OrderByIF(!string.IsNullOrEmpty(input.SortField[i]), $"{input.SortField[i]} {(input.SortDesc[i] ? "desc" : "asc")}");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
var pageInfo = await query.ToPagedListAsync(input.Current, input.Size);//分页
|
var pageInfo = await query.ToPagedListAsync(input.Current, input.Size);//分页
|
||||||
return pageInfo;
|
return pageInfo;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using SqlSugar;
|
using SqlSugar;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
namespace ThingsGateway.Admin.Application;
|
namespace ThingsGateway.Admin.Application;
|
||||||
@@ -33,4 +31,5 @@ public class UserSelectorOutput
|
|||||||
/// 姓名
|
/// 姓名
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
@@ -41,6 +39,7 @@ public interface ISysUserService : ITransient
|
|||||||
/// <param name="ids">用户ID列表</param>
|
/// <param name="ids">用户ID列表</param>
|
||||||
void DeleteUserFromCache(params long[] ids);
|
void DeleteUserFromCache(params long[] ids);
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 禁用用户
|
/// 禁用用户
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -82,7 +81,6 @@ public interface ISysUserService : ITransient
|
|||||||
/// <param name="account">用户名</param>
|
/// <param name="account">用户名</param>
|
||||||
/// <returns>用户信息</returns>
|
/// <returns>用户信息</returns>
|
||||||
Task<SysUser> GetUserByAccountAsync(string account);
|
Task<SysUser> GetUserByAccountAsync(string account);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 根据ID获取用户信息
|
/// 根据ID获取用户信息
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DataEncryption;
|
using Furion.DataEncryption;
|
||||||
@@ -36,7 +34,6 @@ public class SysUserService : DbRepository<SysUser>, ISysUserService
|
|||||||
private readonly IRoleService _roleService;
|
private readonly IRoleService _roleService;
|
||||||
private readonly IVerificatService _verificatService;
|
private readonly IVerificatService _verificatService;
|
||||||
private readonly IServiceScope _serviceScope;
|
private readonly IServiceScope _serviceScope;
|
||||||
|
|
||||||
/// <inheritdoc cref="ISysUserService"/>
|
/// <inheritdoc cref="ISysUserService"/>
|
||||||
public SysUserService(
|
public SysUserService(
|
||||||
IRelationService relationService,
|
IRelationService relationService,
|
||||||
@@ -386,6 +383,7 @@ public class SysUserService : DbRepository<SysUser>, ISysUserService
|
|||||||
if (!sysUser.Phone.MatchPhoneNumber())//验证手机格式
|
if (!sysUser.Phone.MatchPhoneNumber())//验证手机格式
|
||||||
throw Oops.Bah($"手机号码:{sysUser.Phone} 格式错误");
|
throw Oops.Bah($"手机号码:{sysUser.Phone} 格式错误");
|
||||||
sysUser.Phone = DESCEncryption.Encrypt(sysUser.Phone, DESCKeyConst.DESCKey);
|
sysUser.Phone = DESCEncryption.Encrypt(sysUser.Phone, DESCKeyConst.DESCKey);
|
||||||
|
|
||||||
}
|
}
|
||||||
//如果邮箱不是空
|
//如果邮箱不是空
|
||||||
if (!string.IsNullOrEmpty(sysUser.Email))
|
if (!string.IsNullOrEmpty(sysUser.Email))
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
@@ -28,7 +26,6 @@ public class UpdateInfoInput : SysUser
|
|||||||
[MinValue(1, ErrorMessage = "Id不能为空")]
|
[MinValue(1, ErrorMessage = "Id不能为空")]
|
||||||
public override long Id { get; set; }
|
public override long Id { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 修改密码
|
/// 修改密码
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -40,14 +37,12 @@ public class PasswordInfoInput : BaseIdInput, IValidatableObject
|
|||||||
[Description("旧密码")]
|
[Description("旧密码")]
|
||||||
[Required(ErrorMessage = "不能为空")]
|
[Required(ErrorMessage = "不能为空")]
|
||||||
public string OldPassword { get; set; }
|
public string OldPassword { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 新密码
|
/// 新密码
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Description("新密码")]
|
[Description("新密码")]
|
||||||
[Required(ErrorMessage = "不能为空")]
|
[Required(ErrorMessage = "不能为空")]
|
||||||
public string NewPassword { get; set; }
|
public string NewPassword { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 确认密码
|
/// 确认密码
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -61,4 +56,4 @@ public class PasswordInfoInput : BaseIdInput, IValidatableObject
|
|||||||
if (NewPassword != ConfirmPassword)
|
if (NewPassword != ConfirmPassword)
|
||||||
yield return new ValidationResult("两次密码不一致", new[] { nameof(ConfirmPassword) });
|
yield return new ValidationResult("两次密码不一致", new[] { nameof(ConfirmPassword) });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
@@ -27,7 +25,6 @@ public interface IUserCenterService : ITransient
|
|||||||
/// <param name="input"></param>
|
/// <param name="input"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task EditPasswordAsync(PasswordInfoInput input);
|
Task EditPasswordAsync(PasswordInfoInput input);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取个人主页
|
/// 获取个人主页
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -61,7 +58,6 @@ public interface IUserCenterService : ITransient
|
|||||||
/// <param name="input">信息参数</param>
|
/// <param name="input">信息参数</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task UpdateUserInfoAsync(UpdateInfoInput input);
|
Task UpdateUserInfoAsync(UpdateInfoInput input);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 编辑个人工作台
|
/// 编辑个人工作台
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DataEncryption;
|
using Furion.DataEncryption;
|
||||||
@@ -22,6 +20,7 @@ using ThingsGateway.Foundation.Extension.String;
|
|||||||
|
|
||||||
namespace ThingsGateway.Admin.Application;
|
namespace ThingsGateway.Admin.Application;
|
||||||
|
|
||||||
|
|
||||||
/// <inheritdoc cref="IUserCenterService"/>
|
/// <inheritdoc cref="IUserCenterService"/>
|
||||||
[Injection(Proxy = typeof(OperDispatchProxy))]
|
[Injection(Proxy = typeof(OperDispatchProxy))]
|
||||||
public class UserCenterService : DbRepository<SysUser>, IUserCenterService
|
public class UserCenterService : DbRepository<SysUser>, IUserCenterService
|
||||||
@@ -87,7 +86,6 @@ public class UserCenterService : DbRepository<SysUser>, IUserCenterService
|
|||||||
else
|
else
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public async Task UpdateUserDefaultRazorAsync(long userId, long defaultRazor)
|
public async Task UpdateUserDefaultRazorAsync(long userId, long defaultRazor)
|
||||||
{
|
{
|
||||||
@@ -150,7 +148,6 @@ public class UserCenterService : DbRepository<SysUser>, IUserCenterService
|
|||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
[OperDesc("用户更新个人信息")]
|
[OperDesc("用户更新个人信息")]
|
||||||
public async Task UpdateUserInfoAsync(UpdateInfoInput input)
|
public async Task UpdateUserInfoAsync(UpdateInfoInput input)
|
||||||
@@ -189,9 +186,9 @@ public class UserCenterService : DbRepository<SysUser>, IUserCenterService
|
|||||||
//关系表保存个人工作台
|
//关系表保存个人工作台
|
||||||
await _relationService.SaveRelationAsync(CateGoryConst.Relation_SYS_USER_WORKBENCH_DATA, UserManager.UserId, null, input.ToJsonString(), true);
|
await _relationService.SaveRelationAsync(CateGoryConst.Relation_SYS_USER_WORKBENCH_DATA, UserManager.UserId, null, input.ToJsonString(), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
#region 方法
|
#region 方法
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取父菜单集合,已过滤掉同时存在的父节点
|
/// 获取父菜单集合,已过滤掉同时存在的父节点
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
@@ -34,7 +32,6 @@ public interface IVerificatService : ITransient
|
|||||||
/// <param name="userId"></param>
|
/// <param name="userId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<List<VerificatInfo>> GetVerificatIdAsync(long userId);
|
Task<List<VerificatInfo>> GetVerificatIdAsync(long userId);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 设置验证ID
|
/// 设置验证ID
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
@@ -20,12 +18,10 @@ namespace ThingsGateway.Admin.Application;
|
|||||||
public class VerificatService : DbRepository<SysVerificat>, IVerificatService
|
public class VerificatService : DbRepository<SysVerificat>, IVerificatService
|
||||||
{
|
{
|
||||||
private readonly IServiceScope _serviceScope;
|
private readonly IServiceScope _serviceScope;
|
||||||
|
|
||||||
public VerificatService(IServiceScopeFactory serviceScopeFactory)
|
public VerificatService(IServiceScopeFactory serviceScopeFactory)
|
||||||
{
|
{
|
||||||
_serviceScope = serviceScopeFactory.CreateScope();
|
_serviceScope = serviceScopeFactory.CreateScope();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public async Task<List<VerificatInfo>> GetOpenApiVerificatIdAsync(long userId)
|
public async Task<List<VerificatInfo>> GetOpenApiVerificatIdAsync(long userId)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
@@ -25,12 +23,10 @@ public class VisitLogPageInput : BasePageInput
|
|||||||
/// 开始时间
|
/// 开始时间
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public DateTime? StartTime { get; set; } = DateTime.UtcNow.AddDays(-1);
|
public DateTime? StartTime { get; set; } = DateTime.UtcNow.AddDays(-1);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 结束时间
|
/// 结束时间
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public DateTime? EndTime { get; set; } = DateTime.UtcNow.AddDays(1);
|
public DateTime? EndTime { get; set; } = DateTime.UtcNow.AddDays(1);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 账号
|
/// 账号
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -59,7 +55,6 @@ public class VisitLogInput
|
|||||||
/// 开始时间
|
/// 开始时间
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public DateTime? StartTime { get; set; } = DateTime.UtcNow.AddDays(-1);
|
public DateTime? StartTime { get; set; } = DateTime.UtcNow.AddDays(-1);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 结束时间
|
/// 结束时间
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
@@ -28,14 +26,12 @@ public interface IVisitLogService : ITransient
|
|||||||
/// <param name="category">分类名称</param>
|
/// <param name="category">分类名称</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task DeleteAsync(params string[] category);
|
Task DeleteAsync(params string[] category);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 导出访问日志
|
/// 导出访问日志
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="input"></param>
|
/// <param name="input"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<MemoryStream> ExportFileAsync(VisitLogInput input);
|
Task<MemoryStream> ExportFileAsync(VisitLogInput input);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 导出访问日志
|
/// 导出访问日志
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Furion.DependencyInjection;
|
using Furion.DependencyInjection;
|
||||||
@@ -74,7 +72,6 @@ public class VisitLogService : DbRepository<SysVisitLog>, IVisitLogService
|
|||||||
foreach (var devData in input)
|
foreach (var devData in input)
|
||||||
{
|
{
|
||||||
#region sheet
|
#region sheet
|
||||||
|
|
||||||
//变量页
|
//变量页
|
||||||
var data = devData.GetType().GetProperties();
|
var data = devData.GetType().GetProperties();
|
||||||
Dictionary<string, object> devExport = new();
|
Dictionary<string, object> devExport = new();
|
||||||
@@ -107,4 +104,5 @@ public class VisitLogService : DbRepository<SysVisitLog>, IVisitLogService
|
|||||||
var data = await query.ToListAsync();
|
var data = await query.ToListAsync();
|
||||||
return await ExportFileAsync(data);
|
return await ExportFileAsync(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\ThingsGateway.Admin.Core\ThingsGateway.Admin.Core.csproj" />
|
<ProjectReference Include="..\ThingsGateway.Admin.Core\ThingsGateway.Admin.Core.csproj" />
|
||||||
<PackageReference Include="MiniExcel" Version="1.31.2" />
|
<PackageReference Include="MiniExcel" Version="1.31.2" />
|
||||||
<PackageReference Include="System.Linq.Dynamic.Core" Version="1.3.7" />
|
<PackageReference Include="System.Linq.Dynamic.Core" Version="1.3.6" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,7 +8,6 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,11 +8,8 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using System.Text.RegularExpressions;
|
|
||||||
|
|
||||||
using ThingsGateway.Foundation.Extension.String;
|
using ThingsGateway.Foundation.Extension.String;
|
||||||
|
|
||||||
namespace ThingsGateway.Admin.Application;
|
namespace ThingsGateway.Admin.Application;
|
||||||
@@ -38,11 +34,11 @@ public class SeedDataUtil
|
|||||||
if (!string.IsNullOrEmpty(dataString))//如果有内容
|
if (!string.IsNullOrEmpty(dataString))//如果有内容
|
||||||
{
|
{
|
||||||
//字段没有数据的替换成null
|
//字段没有数据的替换成null
|
||||||
dataString = Regex.Replace(dataString, "\\\"[^\"]+?\\\": \\\"\\\"", match => match.Value.Replace("\"\"", "null"));
|
dataString = dataString.Replace("\"\"", "null");
|
||||||
//dataString = dataString.Replace("\"\"", "null");
|
|
||||||
//将json字符串转为实体,这里extjson可以正常转换为字符串
|
//将json字符串转为实体,这里extjson可以正常转换为字符串
|
||||||
var seedDataRecord = Newtonsoft.Json.JsonConvert.DeserializeObject<SeedDataRecords<T>>(dataString);
|
var seedDataRecord = Newtonsoft.Json.JsonConvert.DeserializeObject<SeedDataRecords<T>>(dataString);
|
||||||
|
|
||||||
|
|
||||||
//遍历seedDataRecord
|
//遍历seedDataRecord
|
||||||
for (int i = 0; i < seedDataRecord.Records.Count; i++)
|
for (int i = 0; i < seedDataRecord.Records.Count; i++)
|
||||||
{
|
{
|
||||||
@@ -92,6 +88,7 @@ public class SeedDataUtil
|
|||||||
|
|
||||||
return seedData;
|
return seedData;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#region copyright
|
#region copyright
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||||||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||||||
@@ -9,11 +8,9 @@
|
|||||||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||||||
// QQ群:605534569
|
// QQ群:605534569
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
namespace ThingsGateway.Admin.Blazor;
|
namespace ThingsGateway.Admin.Blazor;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// NavItemExtensions
|
/// NavItemExtensions
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -72,4 +69,6 @@ public static class NavItemExtensions
|
|||||||
Href = menu.Component,
|
Href = menu.Component,
|
||||||
Target = menu.TargetType == TargetTypeEnum.SELF ? "_self" : "_blank",
|
Target = menu.TargetType == TargetTypeEnum.SELF ? "_self" : "_blank",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user