├── app.js
├── controller
├── account.js
├── file.js
├── fileS.js
├── share.js
└── user.js
├── package-lock.json
├── package.json
├── public
├── index.html
└── static
│ ├── css
│ └── app.10b7bfa39063d9b8ccb424729737b893.css
│ ├── fonts
│ ├── element-icons.535877f.woff
│ └── element-icons.732389d.ttf
│ ├── img
│ ├── 404.png
│ └── bg.png
│ └── js
│ ├── 0.0c0f3cce3fca6038d857.js
│ ├── 1.54b9d7ced14e156e29d9.js
│ ├── 2.db85e39d3276f3ecc804.js
│ ├── 3.d541d207e1cd564b0a8e.js
│ ├── 4.26456f18569b34da9d90.js
│ ├── 5.edbd1f9b9cffed202de7.js
│ ├── 6.b6ca078e08e8e83861d1.js
│ ├── 7.b694d49d89edb92cb71b.js
│ ├── app.424190c74b493d1a9c29.js
│ ├── manifest.d325e88cd3bcd8b1f4c8.js
│ └── vendor.6a11734e71c03743a0ce.js
├── readme.md
├── router
└── index.js
└── utils
├── accord.js
├── cloud.js
├── db.js
├── filter.js
├── geetest.js
├── inject.js
├── token.js
└── white.js
/app.js:
--------------------------------------------------------------------------------
1 | const express = require('express');
2 | const bodyParser = require('body-parser');
3 | const app = express();
4 |
5 | const filter = require('./utils/filter');
6 | const router = require('./router/index');
7 | const { port } = require('./utils/inject');
8 |
9 | (async () => {
10 | app.use(express.static(__dirname + '/public'));
11 |
12 | // 数据解析
13 | app.use(bodyParser.json({ limit: '50mb' }));
14 |
15 | // 请求拦截器
16 | app.use(filter)
17 |
18 | // 挂载路由
19 | app.use(router)
20 |
21 | app.listen(await port())
22 | })()
23 |
24 |
--------------------------------------------------------------------------------
/controller/account.js:
--------------------------------------------------------------------------------
1 | const Cloud = require('../utils/cloud');
2 | const db = require('../utils/db')
3 | module.exports = {
4 | list: {
5 | async get(req, res) {
6 | let s = db('account').filter({ adminId: req.info.userInfo.id }).value()
7 | res.return(s)
8 | },
9 | async put(req, res) {
10 | const cloud = new Cloud()
11 | try {
12 | let info = await cloud.login(req.body.refresh_token)
13 | let userInfo = await cloud.getInfo()
14 | Object.assign(info, userInfo.personal_space_info)
15 | info.adminId = req.info.userInfo.id
16 | info.createTime = new Date()
17 | info.tip = req.body.tip
18 | info.type = true
19 | db('account').find({ id: info.id }).assign(info).write()
20 | res.return('添加成功')
21 | } catch (error) {
22 | // console.log(error)
23 | res.error(error)
24 | }
25 | },
26 | async post(req, res) {
27 | let s = db('account').find({ adminId: req.info.userInfo.id, id: req.body.id }).value()
28 | if (!s) {
29 | res.error('当前天翼账号不属于该管理员')
30 | } else {
31 | db('account').find({ adminId: req.info.userInfo.id, id: req.body.id }).assign(req.body).write()
32 | db('account').find({ adminId: req.info.userInfo.id, id: req.body.id }).assign({ cookie: null }).write()
33 | try {
34 | await cloud.login(req.body.refresh_token)
35 | db('account').find({ adminId: req.info.userInfo.id, id: req.body.id }).assign({ type: true }).write()
36 | res.return('修改成功')
37 | } catch (error) {
38 | db('account').find({ adminId: req.info.userInfo.id, id: req.body.id }).assign({ type: false }).write()
39 | res.error(error)
40 | }
41 | }
42 | },
43 | async delete(req, res) {
44 | db('account').remove({ adminId: req.info.userInfo.id, id: req.body.id }).write()
45 | res.return('删除成功')
46 | }
47 | }
48 | }
--------------------------------------------------------------------------------
/controller/file.js:
--------------------------------------------------------------------------------
1 | const Cloud = require('../utils/cloud');
2 | const db = require('../utils/db')
3 | module.exports = async (req, res) => {
4 | let info = db('account').find({ user_id: req.params.user_id }).value()
5 | const cloud = new Cloud(info.id)
6 | let s = await cloud.node(req.params.parent_file_id, req.params.user_name)
7 | if (s) {
8 | res.redirect(s.url);
9 | } else {
10 | res.sendStatus(401)
11 | }
12 | }
--------------------------------------------------------------------------------
/controller/fileS.js:
--------------------------------------------------------------------------------
1 | const Cloud = require('../utils/cloud')
2 | const db = require('../utils/db')
3 | module.exports = {
4 | list: {
5 | async get(req, res) {
6 |
7 | if (!req.query.user_id) {
8 | return res.error("阿里云账号不存在")
9 | }
10 | let info = db('account').find({ user_id: req.query.user_id }).value()
11 | if (!info) {
12 | return res.error("阿里云账号不存在")
13 | }
14 |
15 | const cloud = new Cloud(info.id)
16 |
17 | try {
18 | let list = await cloud.list(req.query.parent_file_id)
19 | res.return(list)
20 | } catch (error) {
21 | // console.log(error)
22 | res.error(error)
23 | }
24 |
25 | }
26 | },
27 | previewVideo: {
28 | async get(req, res) {
29 | let info = db('account').find({ user_id: req.query.user_id }).value()
30 | const cloud = new Cloud(info.id)
31 | let s = await cloud.previewVideo(req.query.file_id)
32 | if (s) {
33 | res.return(s)
34 | } else {
35 | res.sendStatus(401)
36 | }
37 | }
38 | }
39 | }
--------------------------------------------------------------------------------
/controller/share.js:
--------------------------------------------------------------------------------
1 | const { get } = require('superagent');
2 | const Cloud = require('../utils/cloud');
3 | const db = require('../utils/db');
4 | module.exports = {
5 | list: {
6 | async get(req, res) {
7 | let s = db('share').filter({ adminId: req.info.userInfo.id }).value()
8 | res.return(s)
9 | },
10 | async put(req, res) {
11 | req.body.adminId = req.info.userInfo.id
12 | req.body.time = new Date()
13 | req.body.type = true
14 | let s = db('share').find({ adminId: req.body.adminId, user_id: req.body.user_id, file_id: req.body.file_id }).value()
15 |
16 | if (s && s != undefined) {
17 | db('share').find({ adminId: req.body.adminId, userId: req.body.userId, fileId: req.body.fileId }).assign(req.body).write()
18 | } else {
19 | // console.log(req.body)
20 | db('share').insert(req.body).write()
21 | }
22 | res.return('请至我的分享查看')
23 | },
24 | async post(req, res) {
25 | db('share').find({ adminId: req.info.userInfo.id, id: req.body.id }).assign(req.body).write()
26 | res.return('操作成功')
27 | },
28 | async delete(req, res) {
29 | db('share').remove({ adminId: req.info.userInfo.id, id: req.body.id }).write()
30 | res.return('删除成功')
31 | }
32 | },
33 | downLoad: {
34 | async get(req, res) {
35 | if (!req.query.id) {
36 | return res.error('当前链接已失效')
37 | }
38 |
39 | let s = db('share').find({ id: req.query.id, type: true }).value()
40 | if (!s) {
41 | return res.error({
42 | name: '404 not found',
43 | errMsg: '当前链接已失效1'
44 | })
45 | } else {
46 | // console.log(s)
47 | if (s.password && !req.query.password) {
48 | return res.error({
49 | name: s.name,
50 | errMsg: '请输入密码'
51 | })
52 | } else if (s.password && req.query.password && s.password != req.query.password) {
53 | return res.error({
54 | name: s.name,
55 | errMsg: '密码不正确'
56 | })
57 | } else {
58 | // 获取子目录信息
59 | let info = db('account').find({ user_id: s.user_id }).value()
60 | let cloud = new Cloud(info.id)
61 |
62 |
63 | let r = await cloud.node(req.query.file_id, req.query.user_name)
64 | return res.return(r)
65 | }
66 | }
67 | }
68 | },
69 | public: {
70 | async get(req, res) {
71 | if (!req.query.id) {
72 | return res.error('当前链接已失效')
73 | }
74 | // try {} catch (error) {
75 | // console.log(error)
76 | // return res.error({
77 | // name: '404 not found',
78 | // errMsg: '当前链接已失效2'
79 | // })
80 | // }
81 |
82 | let s = db('share').find({ id: req.query.id, type: true }).value()
83 | if (!s) {
84 | return res.error({
85 | name: '404 not found',
86 | errMsg: '当前链接已失效1'
87 | })
88 | } else {
89 | // console.log(s)
90 | if (s.password && !req.query.password) {
91 | return res.error({
92 | name: s.name,
93 | errMsg: '请输入密码'
94 | })
95 | } else if (s.password && req.query.password && s.password != req.query.password) {
96 | return res.error({
97 | name: s.name,
98 | errMsg: '密码不正确'
99 | })
100 | } else {
101 | // 获取子目录信息
102 | let info = db('account').find({ user_id: s.user_id }).value()
103 | let cloud = new Cloud(info.id)
104 |
105 | if (req.query.file_id) {
106 | // console.log(req.query)
107 | let fileInfo = await cloud.fileInfo(req.query.file_id)
108 | let r = await cloud.list(req.query.file_id)
109 | // let faInfo = await cloud.fileInfo(fileInfo.parent_file_id)
110 | let k = {
111 | name: fileInfo.name,
112 | item: [],
113 | user_id: s.user_id,
114 | file_id: req.query.file_id,
115 | parent_file_id: fileInfo.parent_file_id,
116 | // parent_file_name: faInfo.name
117 | }
118 | for (let index in r) {
119 | let ele = r[index]
120 | k.item.push({
121 | name: ele.name,
122 | file_id: ele.file_id,
123 | type: ele.type,
124 | size: ele.size,
125 | created_at: ele.created_at,
126 | file_extension: ele.file_extension,
127 | thumbnail: ele.thumbnail,
128 | category: ele.category
129 | })
130 | }
131 | res.return(k)
132 | } else {
133 | let r = await cloud.list(s.file_id)
134 | let k = {
135 | name: s.name,
136 | user_id: s.user_id,
137 | item: [],
138 | file_id: s.file_id,
139 | parent_file_id: null,
140 | faId: s.file_id
141 | // parent_file_name: null
142 | }
143 | for (let index in r) {
144 | let ele = r[index]
145 | k.item.push({
146 | name: ele.name,
147 | file_id: ele.file_id,
148 | type: ele.type,
149 | size: ele.size,
150 | created_at: ele.created_at,
151 | file_extension: ele.file_extension,
152 | thumbnail: ele.thumbnail,
153 | category: ele.category
154 | })
155 | }
156 | res.return(k)
157 | }
158 | }
159 | }
160 |
161 | }
162 | }
163 | }
--------------------------------------------------------------------------------
/controller/user.js:
--------------------------------------------------------------------------------
1 | const { registerClick } = require('../utils/geetest');
2 | const jwt = require('../utils/token');
3 | const db = require('../utils/db')
4 | module.exports = {
5 | login: {
6 | async post(req, res) {
7 | let userInfo = db('user').find({
8 | username: req.body.username,
9 | password: req.body.password
10 | }).value()
11 | if (userInfo) {
12 | let token = jwt.createToken({ username: req.body.username, time: new Date() }, 3600 * 2)
13 | let expireTime = new Date(new Date().getTime() + 3600 * 2 * 1000)
14 | db('user')
15 | .find({
16 | username: req.body.username,
17 | password: req.body.password
18 | })
19 | .assign({ expireTime: expireTime, token: token })
20 | .write()
21 | return res.return({
22 | token: token,
23 | role: userInfo.role
24 | })
25 | } else {
26 | return res.error('账号或密码错误')
27 | }
28 | },
29 | async get(req, res) {
30 | return res.return(await registerClick())
31 | }
32 | },
33 | change: {
34 | post(req, res) {
35 | if (!req.body.username && !req.body.password) {
36 | return res.error('缺失必要参数')
37 | }
38 | if (req.body.username) {
39 | db('user').find({ id: req.info.userInfo.id }).assign({ username: req.body.username }).write()
40 | }
41 | if (req.body.password) {
42 | db('user').find({ id: req.info.userInfo.id }).assign({ password: req.body.password, token: null }).write()
43 | }
44 | return res.return('修改成功')
45 | }
46 | },
47 | loginOut: {
48 | post(req, res) {
49 | if (req.info.userInfo) {
50 | db('user').find({ id: req.info.userInfo.id }).assign({ token: null }).write()
51 | }
52 | res.return('登出成功')
53 | }
54 | }
55 | }
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "AShare",
3 | "version": "1.0.0",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "accepts": {
8 | "version": "1.3.7",
9 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
10 | "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
11 | "requires": {
12 | "mime-types": "~2.1.24",
13 | "negotiator": "0.6.2"
14 | }
15 | },
16 | "ajv": {
17 | "version": "6.12.4",
18 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz",
19 | "integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==",
20 | "requires": {
21 | "fast-deep-equal": "^3.1.1",
22 | "fast-json-stable-stringify": "^2.0.0",
23 | "json-schema-traverse": "^0.4.1",
24 | "uri-js": "^4.2.2"
25 | }
26 | },
27 | "array-flatten": {
28 | "version": "1.1.1",
29 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
30 | "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
31 | },
32 | "asn1": {
33 | "version": "0.2.4",
34 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
35 | "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
36 | "requires": {
37 | "safer-buffer": "~2.1.0"
38 | }
39 | },
40 | "assert-plus": {
41 | "version": "1.0.0",
42 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
43 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
44 | },
45 | "asynckit": {
46 | "version": "0.4.0",
47 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
48 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
49 | },
50 | "aws-sign2": {
51 | "version": "0.7.0",
52 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
53 | "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
54 | },
55 | "aws4": {
56 | "version": "1.10.1",
57 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz",
58 | "integrity": "sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA=="
59 | },
60 | "bcrypt-pbkdf": {
61 | "version": "1.0.2",
62 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
63 | "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
64 | "requires": {
65 | "tweetnacl": "^0.14.3"
66 | }
67 | },
68 | "body-parser": {
69 | "version": "1.19.0",
70 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
71 | "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
72 | "requires": {
73 | "bytes": "3.1.0",
74 | "content-type": "~1.0.4",
75 | "debug": "2.6.9",
76 | "depd": "~1.1.2",
77 | "http-errors": "1.7.2",
78 | "iconv-lite": "0.4.24",
79 | "on-finished": "~2.3.0",
80 | "qs": "6.7.0",
81 | "raw-body": "2.4.0",
82 | "type-is": "~1.6.17"
83 | },
84 | "dependencies": {
85 | "debug": {
86 | "version": "2.6.9",
87 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
88 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
89 | "requires": {
90 | "ms": "2.0.0"
91 | }
92 | },
93 | "http-errors": {
94 | "version": "1.7.2",
95 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
96 | "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
97 | "requires": {
98 | "depd": "~1.1.2",
99 | "inherits": "2.0.3",
100 | "setprototypeof": "1.1.1",
101 | "statuses": ">= 1.5.0 < 2",
102 | "toidentifier": "1.0.0"
103 | }
104 | },
105 | "inherits": {
106 | "version": "2.0.3",
107 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
108 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
109 | },
110 | "ms": {
111 | "version": "2.0.0",
112 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
113 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
114 | },
115 | "qs": {
116 | "version": "6.7.0",
117 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
118 | "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
119 | },
120 | "raw-body": {
121 | "version": "2.4.0",
122 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
123 | "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
124 | "requires": {
125 | "bytes": "3.1.0",
126 | "http-errors": "1.7.2",
127 | "iconv-lite": "0.4.24",
128 | "unpipe": "1.0.0"
129 | }
130 | }
131 | }
132 | },
133 | "bytes": {
134 | "version": "3.1.0",
135 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
136 | "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
137 | },
138 | "caseless": {
139 | "version": "0.12.0",
140 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
141 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
142 | },
143 | "colors": {
144 | "version": "1.4.0",
145 | "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
146 | "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA=="
147 | },
148 | "combined-stream": {
149 | "version": "1.0.8",
150 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
151 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
152 | "requires": {
153 | "delayed-stream": "~1.0.0"
154 | }
155 | },
156 | "component-emitter": {
157 | "version": "1.3.0",
158 | "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
159 | "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
160 | },
161 | "content-disposition": {
162 | "version": "0.5.3",
163 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
164 | "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
165 | "requires": {
166 | "safe-buffer": "5.1.2"
167 | }
168 | },
169 | "content-type": {
170 | "version": "1.0.4",
171 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
172 | "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
173 | },
174 | "cookie": {
175 | "version": "0.4.0",
176 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
177 | "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg=="
178 | },
179 | "cookie-signature": {
180 | "version": "1.0.6",
181 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
182 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
183 | },
184 | "cookiejar": {
185 | "version": "2.1.2",
186 | "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz",
187 | "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA=="
188 | },
189 | "core-util-is": {
190 | "version": "1.0.2",
191 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
192 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
193 | },
194 | "crypto": {
195 | "version": "1.0.1",
196 | "resolved": "https://registry.npmjs.org/crypto/-/crypto-1.0.1.tgz",
197 | "integrity": "sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig=="
198 | },
199 | "crypto-js": {
200 | "version": "4.0.0",
201 | "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.0.0.tgz",
202 | "integrity": "sha512-bzHZN8Pn+gS7DQA6n+iUmBfl0hO5DJq++QP3U6uTucDtk/0iGpXd/Gg7CGR0p8tJhofJyaKoWBuJI4eAO00BBg=="
203 | },
204 | "dashdash": {
205 | "version": "1.14.1",
206 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
207 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
208 | "requires": {
209 | "assert-plus": "^1.0.0"
210 | }
211 | },
212 | "debug": {
213 | "version": "3.2.6",
214 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
215 | "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
216 | "dev": true,
217 | "requires": {
218 | "ms": "^2.1.1"
219 | }
220 | },
221 | "delayed-stream": {
222 | "version": "1.0.0",
223 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
224 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
225 | },
226 | "depd": {
227 | "version": "1.1.2",
228 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
229 | "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
230 | },
231 | "destroy": {
232 | "version": "1.0.4",
233 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
234 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
235 | },
236 | "ecc-jsbn": {
237 | "version": "0.1.2",
238 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
239 | "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
240 | "requires": {
241 | "jsbn": "~0.1.0",
242 | "safer-buffer": "^2.1.0"
243 | }
244 | },
245 | "ee-first": {
246 | "version": "1.1.1",
247 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
248 | "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
249 | },
250 | "encodeurl": {
251 | "version": "1.0.2",
252 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
253 | "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
254 | },
255 | "escape-html": {
256 | "version": "1.0.3",
257 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
258 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
259 | },
260 | "etag": {
261 | "version": "1.8.1",
262 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
263 | "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
264 | },
265 | "express": {
266 | "version": "4.17.1",
267 | "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
268 | "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
269 | "requires": {
270 | "accepts": "~1.3.7",
271 | "array-flatten": "1.1.1",
272 | "body-parser": "1.19.0",
273 | "content-disposition": "0.5.3",
274 | "content-type": "~1.0.4",
275 | "cookie": "0.4.0",
276 | "cookie-signature": "1.0.6",
277 | "debug": "2.6.9",
278 | "depd": "~1.1.2",
279 | "encodeurl": "~1.0.2",
280 | "escape-html": "~1.0.3",
281 | "etag": "~1.8.1",
282 | "finalhandler": "~1.1.2",
283 | "fresh": "0.5.2",
284 | "merge-descriptors": "1.0.1",
285 | "methods": "~1.1.2",
286 | "on-finished": "~2.3.0",
287 | "parseurl": "~1.3.3",
288 | "path-to-regexp": "0.1.7",
289 | "proxy-addr": "~2.0.5",
290 | "qs": "6.7.0",
291 | "range-parser": "~1.2.1",
292 | "safe-buffer": "5.1.2",
293 | "send": "0.17.1",
294 | "serve-static": "1.14.1",
295 | "setprototypeof": "1.1.1",
296 | "statuses": "~1.5.0",
297 | "type-is": "~1.6.18",
298 | "utils-merge": "1.0.1",
299 | "vary": "~1.1.2"
300 | },
301 | "dependencies": {
302 | "debug": {
303 | "version": "2.6.9",
304 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
305 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
306 | "requires": {
307 | "ms": "2.0.0"
308 | }
309 | },
310 | "ms": {
311 | "version": "2.0.0",
312 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
313 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
314 | },
315 | "qs": {
316 | "version": "6.7.0",
317 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
318 | "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
319 | }
320 | }
321 | },
322 | "extend": {
323 | "version": "3.0.2",
324 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
325 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
326 | },
327 | "extsprintf": {
328 | "version": "1.3.0",
329 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
330 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
331 | },
332 | "fast-deep-equal": {
333 | "version": "3.1.3",
334 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
335 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
336 | },
337 | "fast-json-stable-stringify": {
338 | "version": "2.1.0",
339 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
340 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
341 | },
342 | "fast-safe-stringify": {
343 | "version": "2.0.7",
344 | "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz",
345 | "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA=="
346 | },
347 | "finalhandler": {
348 | "version": "1.1.2",
349 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
350 | "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
351 | "requires": {
352 | "debug": "2.6.9",
353 | "encodeurl": "~1.0.2",
354 | "escape-html": "~1.0.3",
355 | "on-finished": "~2.3.0",
356 | "parseurl": "~1.3.3",
357 | "statuses": "~1.5.0",
358 | "unpipe": "~1.0.0"
359 | },
360 | "dependencies": {
361 | "debug": {
362 | "version": "2.6.9",
363 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
364 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
365 | "requires": {
366 | "ms": "2.0.0"
367 | }
368 | },
369 | "ms": {
370 | "version": "2.0.0",
371 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
372 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
373 | }
374 | }
375 | },
376 | "forever-agent": {
377 | "version": "0.6.1",
378 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
379 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
380 | },
381 | "form-data": {
382 | "version": "2.3.3",
383 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
384 | "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
385 | "requires": {
386 | "asynckit": "^0.4.0",
387 | "combined-stream": "^1.0.6",
388 | "mime-types": "^2.1.12"
389 | }
390 | },
391 | "formidable": {
392 | "version": "1.2.2",
393 | "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.2.tgz",
394 | "integrity": "sha512-V8gLm+41I/8kguQ4/o1D3RIHRmhYFG4pnNyonvua+40rqcEmT4+V71yaZ3B457xbbgCsCfjSPi65u/W6vK1U5Q=="
395 | },
396 | "forwarded": {
397 | "version": "0.1.2",
398 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
399 | "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
400 | },
401 | "fresh": {
402 | "version": "0.5.2",
403 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
404 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
405 | },
406 | "fs": {
407 | "version": "0.0.1-security",
408 | "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz",
409 | "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ="
410 | },
411 | "getpass": {
412 | "version": "0.1.7",
413 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
414 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
415 | "requires": {
416 | "assert-plus": "^1.0.0"
417 | }
418 | },
419 | "graceful-fs": {
420 | "version": "4.2.4",
421 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
422 | "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw=="
423 | },
424 | "har-schema": {
425 | "version": "2.0.0",
426 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
427 | "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
428 | },
429 | "har-validator": {
430 | "version": "5.1.5",
431 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
432 | "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
433 | "requires": {
434 | "ajv": "^6.12.3",
435 | "har-schema": "^2.0.0"
436 | }
437 | },
438 | "http-errors": {
439 | "version": "1.7.3",
440 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz",
441 | "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==",
442 | "requires": {
443 | "depd": "~1.1.2",
444 | "inherits": "2.0.4",
445 | "setprototypeof": "1.1.1",
446 | "statuses": ">= 1.5.0 < 2",
447 | "toidentifier": "1.0.0"
448 | }
449 | },
450 | "http-signature": {
451 | "version": "1.2.0",
452 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
453 | "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
454 | "requires": {
455 | "assert-plus": "^1.0.0",
456 | "jsprim": "^1.2.2",
457 | "sshpk": "^1.7.0"
458 | }
459 | },
460 | "iconv-lite": {
461 | "version": "0.4.24",
462 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
463 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
464 | "requires": {
465 | "safer-buffer": ">= 2.1.2 < 3"
466 | }
467 | },
468 | "inherits": {
469 | "version": "2.0.4",
470 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
471 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
472 | },
473 | "ipaddr.js": {
474 | "version": "1.9.1",
475 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
476 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
477 | },
478 | "is-promise": {
479 | "version": "2.2.2",
480 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz",
481 | "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ=="
482 | },
483 | "is-typedarray": {
484 | "version": "1.0.0",
485 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
486 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
487 | },
488 | "is_js": {
489 | "version": "0.9.0",
490 | "resolved": "https://registry.npmjs.org/is_js/-/is_js-0.9.0.tgz",
491 | "integrity": "sha1-CrlFQFArp6+iTIVqqYVWFmnpxS0="
492 | },
493 | "isstream": {
494 | "version": "0.1.2",
495 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
496 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
497 | },
498 | "jsbn": {
499 | "version": "0.1.1",
500 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
501 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
502 | },
503 | "json-schema": {
504 | "version": "0.2.3",
505 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
506 | "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
507 | },
508 | "json-schema-traverse": {
509 | "version": "0.4.1",
510 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
511 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
512 | },
513 | "json-stringify-safe": {
514 | "version": "5.0.1",
515 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
516 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
517 | },
518 | "jsprim": {
519 | "version": "1.4.1",
520 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
521 | "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
522 | "requires": {
523 | "assert-plus": "1.0.0",
524 | "extsprintf": "1.3.0",
525 | "json-schema": "0.2.3",
526 | "verror": "1.10.0"
527 | }
528 | },
529 | "lodash": {
530 | "version": "4.17.20",
531 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
532 | "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA=="
533 | },
534 | "lodash-id": {
535 | "version": "0.14.0",
536 | "resolved": "https://registry.npmjs.org/lodash-id/-/lodash-id-0.14.0.tgz",
537 | "integrity": "sha1-uvSJNOVDobXWNG+MhGmLGoyAOJY="
538 | },
539 | "lowdb": {
540 | "version": "1.0.0",
541 | "resolved": "https://registry.npmjs.org/lowdb/-/lowdb-1.0.0.tgz",
542 | "integrity": "sha512-2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ==",
543 | "requires": {
544 | "graceful-fs": "^4.1.3",
545 | "is-promise": "^2.1.0",
546 | "lodash": "4",
547 | "pify": "^3.0.0",
548 | "steno": "^0.4.1"
549 | }
550 | },
551 | "media-typer": {
552 | "version": "0.3.0",
553 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
554 | "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
555 | },
556 | "merge-descriptors": {
557 | "version": "1.0.1",
558 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
559 | "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
560 | },
561 | "methods": {
562 | "version": "1.1.2",
563 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
564 | "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
565 | },
566 | "mime": {
567 | "version": "2.4.6",
568 | "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz",
569 | "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA=="
570 | },
571 | "mime-db": {
572 | "version": "1.44.0",
573 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
574 | "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg=="
575 | },
576 | "mime-types": {
577 | "version": "2.1.27",
578 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
579 | "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
580 | "requires": {
581 | "mime-db": "1.44.0"
582 | }
583 | },
584 | "minimist": {
585 | "version": "1.2.5",
586 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
587 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
588 | "dev": true
589 | },
590 | "mkdirp": {
591 | "version": "0.5.5",
592 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
593 | "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
594 | "dev": true,
595 | "requires": {
596 | "minimist": "^1.2.5"
597 | }
598 | },
599 | "moment": {
600 | "version": "2.29.1",
601 | "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz",
602 | "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ=="
603 | },
604 | "ms": {
605 | "version": "2.1.2",
606 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
607 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
608 | },
609 | "negotiator": {
610 | "version": "0.6.2",
611 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
612 | "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
613 | },
614 | "oauth-sign": {
615 | "version": "0.9.0",
616 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
617 | "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
618 | },
619 | "on-finished": {
620 | "version": "2.3.0",
621 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
622 | "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
623 | "requires": {
624 | "ee-first": "1.1.1"
625 | }
626 | },
627 | "parseurl": {
628 | "version": "1.3.3",
629 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
630 | "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
631 | },
632 | "path": {
633 | "version": "0.12.7",
634 | "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz",
635 | "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=",
636 | "requires": {
637 | "process": "^0.11.1",
638 | "util": "^0.10.3"
639 | }
640 | },
641 | "path-to-regexp": {
642 | "version": "0.1.7",
643 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
644 | "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
645 | },
646 | "performance-now": {
647 | "version": "2.1.0",
648 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
649 | "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
650 | },
651 | "pify": {
652 | "version": "3.0.0",
653 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
654 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
655 | },
656 | "portfinder": {
657 | "version": "1.0.28",
658 | "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz",
659 | "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==",
660 | "dev": true,
661 | "requires": {
662 | "async": "^2.6.2",
663 | "debug": "^3.1.1",
664 | "mkdirp": "^0.5.5"
665 | },
666 | "dependencies": {
667 | "async": {
668 | "version": "2.6.3",
669 | "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
670 | "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
671 | "dev": true,
672 | "requires": {
673 | "lodash": "^4.17.14"
674 | }
675 | }
676 | }
677 | },
678 | "process": {
679 | "version": "0.11.10",
680 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
681 | "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
682 | },
683 | "proxy-addr": {
684 | "version": "2.0.6",
685 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
686 | "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
687 | "requires": {
688 | "forwarded": "~0.1.2",
689 | "ipaddr.js": "1.9.1"
690 | }
691 | },
692 | "psl": {
693 | "version": "1.8.0",
694 | "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
695 | "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ=="
696 | },
697 | "punycode": {
698 | "version": "2.1.1",
699 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
700 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
701 | },
702 | "qs": {
703 | "version": "6.9.4",
704 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.4.tgz",
705 | "integrity": "sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ=="
706 | },
707 | "random-string": {
708 | "version": "0.2.0",
709 | "resolved": "https://registry.npmjs.org/random-string/-/random-string-0.2.0.tgz",
710 | "integrity": "sha1-pG5DdTUr7amg17DRntbTIezR2C0="
711 | },
712 | "range-parser": {
713 | "version": "1.2.1",
714 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
715 | "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
716 | },
717 | "request": {
718 | "version": "2.88.2",
719 | "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
720 | "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
721 | "requires": {
722 | "aws-sign2": "~0.7.0",
723 | "aws4": "^1.8.0",
724 | "caseless": "~0.12.0",
725 | "combined-stream": "~1.0.6",
726 | "extend": "~3.0.2",
727 | "forever-agent": "~0.6.1",
728 | "form-data": "~2.3.2",
729 | "har-validator": "~5.1.3",
730 | "http-signature": "~1.2.0",
731 | "is-typedarray": "~1.0.0",
732 | "isstream": "~0.1.2",
733 | "json-stringify-safe": "~5.0.1",
734 | "mime-types": "~2.1.19",
735 | "oauth-sign": "~0.9.0",
736 | "performance-now": "^2.1.0",
737 | "qs": "~6.5.2",
738 | "safe-buffer": "^5.1.2",
739 | "tough-cookie": "~2.5.0",
740 | "tunnel-agent": "^0.6.0",
741 | "uuid": "^3.3.2"
742 | },
743 | "dependencies": {
744 | "qs": {
745 | "version": "6.5.2",
746 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
747 | "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
748 | }
749 | }
750 | },
751 | "request-ip": {
752 | "version": "2.1.3",
753 | "resolved": "https://registry.npmjs.org/request-ip/-/request-ip-2.1.3.tgz",
754 | "integrity": "sha512-J3qdE/IhVM3BXkwMIVO4yFrvhJlU3H7JH16+6yHucadT4fePnR8dyh+vEs6FIx0S2x5TCt2ptiPfHcn0sqhbYQ==",
755 | "requires": {
756 | "is_js": "^0.9.0"
757 | }
758 | },
759 | "safe-buffer": {
760 | "version": "5.1.2",
761 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
762 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
763 | },
764 | "safer-buffer": {
765 | "version": "2.1.2",
766 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
767 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
768 | },
769 | "send": {
770 | "version": "0.17.1",
771 | "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
772 | "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
773 | "requires": {
774 | "debug": "2.6.9",
775 | "depd": "~1.1.2",
776 | "destroy": "~1.0.4",
777 | "encodeurl": "~1.0.2",
778 | "escape-html": "~1.0.3",
779 | "etag": "~1.8.1",
780 | "fresh": "0.5.2",
781 | "http-errors": "~1.7.2",
782 | "mime": "1.6.0",
783 | "ms": "2.1.1",
784 | "on-finished": "~2.3.0",
785 | "range-parser": "~1.2.1",
786 | "statuses": "~1.5.0"
787 | },
788 | "dependencies": {
789 | "debug": {
790 | "version": "2.6.9",
791 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
792 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
793 | "requires": {
794 | "ms": "2.0.0"
795 | },
796 | "dependencies": {
797 | "ms": {
798 | "version": "2.0.0",
799 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
800 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
801 | }
802 | }
803 | },
804 | "mime": {
805 | "version": "1.6.0",
806 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
807 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
808 | },
809 | "ms": {
810 | "version": "2.1.1",
811 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
812 | "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
813 | }
814 | }
815 | },
816 | "serve-static": {
817 | "version": "1.14.1",
818 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
819 | "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
820 | "requires": {
821 | "encodeurl": "~1.0.2",
822 | "escape-html": "~1.0.3",
823 | "parseurl": "~1.3.3",
824 | "send": "0.17.1"
825 | }
826 | },
827 | "setprototypeof": {
828 | "version": "1.1.1",
829 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
830 | "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
831 | },
832 | "sshpk": {
833 | "version": "1.16.1",
834 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
835 | "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
836 | "requires": {
837 | "asn1": "~0.2.3",
838 | "assert-plus": "^1.0.0",
839 | "bcrypt-pbkdf": "^1.0.0",
840 | "dashdash": "^1.12.0",
841 | "ecc-jsbn": "~0.1.1",
842 | "getpass": "^0.1.1",
843 | "jsbn": "~0.1.0",
844 | "safer-buffer": "^2.0.2",
845 | "tweetnacl": "~0.14.0"
846 | }
847 | },
848 | "statuses": {
849 | "version": "1.5.0",
850 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
851 | "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
852 | },
853 | "steno": {
854 | "version": "0.4.4",
855 | "resolved": "https://registry.npmjs.org/steno/-/steno-0.4.4.tgz",
856 | "integrity": "sha1-BxEFvfwobmYVwEA8J+nXtdy4Vcs=",
857 | "requires": {
858 | "graceful-fs": "^4.1.3"
859 | }
860 | },
861 | "string_decoder": {
862 | "version": "1.1.1",
863 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
864 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
865 | "requires": {
866 | "safe-buffer": "~5.1.0"
867 | }
868 | },
869 | "superagent": {
870 | "version": "5.3.1",
871 | "resolved": "https://registry.npmjs.org/superagent/-/superagent-5.3.1.tgz",
872 | "integrity": "sha512-wjJ/MoTid2/RuGCOFtlacyGNxN9QLMgcpYLDQlWFIhhdJ93kNscFonGvrpAHSCVjRVj++DGCglocF7Aej1KHvQ==",
873 | "requires": {
874 | "component-emitter": "^1.3.0",
875 | "cookiejar": "^2.1.2",
876 | "debug": "^4.1.1",
877 | "fast-safe-stringify": "^2.0.7",
878 | "form-data": "^3.0.0",
879 | "formidable": "^1.2.2",
880 | "methods": "^1.1.2",
881 | "mime": "^2.4.6",
882 | "qs": "^6.9.4",
883 | "readable-stream": "^3.6.0",
884 | "semver": "^7.3.2"
885 | },
886 | "dependencies": {
887 | "debug": {
888 | "version": "4.1.1",
889 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
890 | "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
891 | "requires": {
892 | "ms": "^2.1.1"
893 | }
894 | },
895 | "form-data": {
896 | "version": "3.0.0",
897 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz",
898 | "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==",
899 | "requires": {
900 | "asynckit": "^0.4.0",
901 | "combined-stream": "^1.0.8",
902 | "mime-types": "^2.1.12"
903 | }
904 | },
905 | "readable-stream": {
906 | "version": "3.6.0",
907 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
908 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
909 | "requires": {
910 | "inherits": "^2.0.3",
911 | "string_decoder": "^1.1.1",
912 | "util-deprecate": "^1.0.1"
913 | }
914 | },
915 | "semver": {
916 | "version": "7.3.2",
917 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
918 | "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ=="
919 | }
920 | }
921 | },
922 | "toidentifier": {
923 | "version": "1.0.0",
924 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
925 | "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
926 | },
927 | "tough-cookie": {
928 | "version": "2.5.0",
929 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
930 | "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
931 | "requires": {
932 | "psl": "^1.1.28",
933 | "punycode": "^2.1.1"
934 | }
935 | },
936 | "tunnel-agent": {
937 | "version": "0.6.0",
938 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
939 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
940 | "requires": {
941 | "safe-buffer": "^5.0.1"
942 | }
943 | },
944 | "tweetnacl": {
945 | "version": "0.14.5",
946 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
947 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
948 | },
949 | "type-is": {
950 | "version": "1.6.18",
951 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
952 | "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
953 | "requires": {
954 | "media-typer": "0.3.0",
955 | "mime-types": "~2.1.24"
956 | }
957 | },
958 | "unpipe": {
959 | "version": "1.0.0",
960 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
961 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
962 | },
963 | "uri-js": {
964 | "version": "4.4.0",
965 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
966 | "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
967 | "requires": {
968 | "punycode": "^2.1.0"
969 | }
970 | },
971 | "util": {
972 | "version": "0.10.4",
973 | "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
974 | "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
975 | "requires": {
976 | "inherits": "2.0.3"
977 | },
978 | "dependencies": {
979 | "inherits": {
980 | "version": "2.0.3",
981 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
982 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
983 | }
984 | }
985 | },
986 | "util-deprecate": {
987 | "version": "1.0.2",
988 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
989 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
990 | },
991 | "utils-merge": {
992 | "version": "1.0.1",
993 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
994 | "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
995 | },
996 | "uuid": {
997 | "version": "3.4.0",
998 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
999 | "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
1000 | },
1001 | "vary": {
1002 | "version": "1.1.2",
1003 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
1004 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
1005 | },
1006 | "verror": {
1007 | "version": "1.10.0",
1008 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
1009 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
1010 | "requires": {
1011 | "assert-plus": "^1.0.0",
1012 | "core-util-is": "1.0.2",
1013 | "extsprintf": "^1.2.0"
1014 | }
1015 | }
1016 | }
1017 | }
1018 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "AShare",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "app.js",
6 | "bin": "app.js",
7 | "scripts": {
8 | "test": "echo \"Error: no test specified\" && exit 1",
9 | "start": "node app.js",
10 | "pkg-win": "pkg -t win package.json",
11 | "pkg-linux": "pkg -t linux package.json",
12 | "build": "pkg . -t node12-win-x64 --output build/AShare_windows_amd64.exe && pkg . -t node12-macos-x64 --output build/AShare_macos_amd64 && pkg . -t node12-linux-x64 --output build/AShare_linux_amd64"
13 | },
14 | "pkg": {
15 | "assets": [
16 | "public/*",
17 | "public/**/**/*"
18 | ],
19 | "scripts": [
20 | "public/static/js/*.js"
21 | ],
22 | "targets": [
23 | "node14"
24 | ]
25 | },
26 | "author": "app@vx.fyi",
27 | "license": "ISC",
28 | "dependencies": {
29 | "body-parser": "^1.18.2",
30 | "colors": "^1.4.0",
31 | "crypto": "^1.0.1",
32 | "crypto-js": "^4.0.0",
33 | "express": "^4.17.1",
34 | "fs": "0.0.1-security",
35 | "lodash-id": "^0.14.0",
36 | "lowdb": "^1.0.0",
37 | "moment": "^2.29.1",
38 | "path": "^0.12.7",
39 | "random-string": "^0.2.0",
40 | "request": "^2.88.0",
41 | "request-ip": "^2.1.3",
42 | "superagent": "^5.0.5"
43 | },
44 | "devDependencies": {
45 | "portfinder": "^1.0.28"
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/public/static/fonts/element-icons.535877f.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/badyun/AShare/3a1252cfc661b30df79d39871e55de007f50c2b4/public/static/fonts/element-icons.535877f.woff
--------------------------------------------------------------------------------
/public/static/fonts/element-icons.732389d.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/badyun/AShare/3a1252cfc661b30df79d39871e55de007f50c2b4/public/static/fonts/element-icons.732389d.ttf
--------------------------------------------------------------------------------
/public/static/img/404.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/badyun/AShare/3a1252cfc661b30df79d39871e55de007f50c2b4/public/static/img/404.png
--------------------------------------------------------------------------------
/public/static/img/bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/badyun/AShare/3a1252cfc661b30df79d39871e55de007f50c2b4/public/static/img/bg.png
--------------------------------------------------------------------------------
/public/static/js/0.0c0f3cce3fca6038d857.js:
--------------------------------------------------------------------------------
1 | webpackJsonp([0],{SldL:function(t,e){!function(e){"use strict";var r,n=Object.prototype,o=n.hasOwnProperty,i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",u=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag",s="object"==typeof t,l=e.regeneratorRuntime;if(l)s&&(t.exports=l);else{(l=e.regeneratorRuntime=s?t.exports:{}).wrap=x;var f="suspendedStart",h="suspendedYield",p="executing",d="completed",y={},v={};v[a]=function(){return this};var g=Object.getPrototypeOf,m=g&&g(g(R([])));m&&m!==n&&o.call(m,a)&&(v=m);var w=E.prototype=_.prototype=Object.create(v);b.prototype=w.constructor=E,E.constructor=b,E[c]=b.displayName="GeneratorFunction",l.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===b||"GeneratorFunction"===(e.displayName||e.name))},l.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,E):(t.__proto__=E,c in t||(t[c]="GeneratorFunction")),t.prototype=Object.create(w),t},l.awrap=function(t){return{__await:t}},j(k.prototype),k.prototype[u]=function(){return this},l.AsyncIterator=k,l.async=function(t,e,r,n){var o=new k(x(t,e,r,n));return l.isGeneratorFunction(e)?o:o.next().then(function(t){return t.done?t.value:o.next()})},j(w),w[c]="Generator",w[a]=function(){return this},w.toString=function(){return"[object Generator]"},l.keys=function(t){var e=[];for(var r in t)e.push(r);return e.reverse(),function r(){for(;e.length;){var n=e.pop();if(n in t)return r.value=n,r.done=!1,r}return r.done=!0,r}},l.values=R,P.prototype={constructor:P,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=r,this.done=!1,this.delegate=null,this.method="next",this.arg=r,this.tryEntries.forEach(G),!t)for(var e in this)"t"===e.charAt(0)&&o.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=r)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(n,o){return u.type="throw",u.arg=t,e.next=n,o&&(e.method="next",e.arg=r),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],u=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var c=o.call(a,"catchLoc"),s=o.call(a,"finallyLoc");if(c&&s){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),G(r),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;G(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:R(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=r),y}}}function x(t,e,r,n){var o=e&&e.prototype instanceof _?e:_,i=Object.create(o.prototype),a=new P(n||[]);return i._invoke=function(t,e,r){var n=f;return function(o,i){if(n===p)throw new Error("Generator is already running");if(n===d){if("throw"===o)throw i;return S()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var u=O(a,r);if(u){if(u===y)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===f)throw n=d,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=p;var c=L(t,e,r);if("normal"===c.type){if(n=r.done?d:h,c.arg===y)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n=d,r.method="throw",r.arg=c.arg)}}}(t,r,a),i}function L(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}function _(){}function b(){}function E(){}function j(t){["next","throw","return"].forEach(function(e){t[e]=function(t){return this._invoke(e,t)}})}function k(t){var e;this._invoke=function(r,n){function i(){return new Promise(function(e,i){!function e(r,n,i,a){var u=L(t[r],t,n);if("throw"!==u.type){var c=u.arg,s=c.value;return s&&"object"==typeof s&&o.call(s,"__await")?Promise.resolve(s.__await).then(function(t){e("next",t,i,a)},function(t){e("throw",t,i,a)}):Promise.resolve(s).then(function(t){c.value=t,i(c)},a)}a(u.arg)}(r,n,e,i)})}return e=e?e.then(i,i):i()}}function O(t,e){var n=t.iterator[e.method];if(n===r){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=r,O(t,e),"throw"===e.method))return y;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return y}var o=L(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,y;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=r),e.delegate=null,y):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,y)}function F(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function G(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function P(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(F,this),this.reset(!0)}function R(t){if(t){var e=t[a];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,i=function e(){for(;++n=0,i=o&&n.regeneratorRuntime;if(n.regeneratorRuntime=void 0,t.exports=r("SldL"),o)n.regeneratorRuntime=i;else try{delete n.regeneratorRuntime}catch(t){n.regeneratorRuntime=void 0}},kzMD:function(t,e,r){"use strict";var n=r("Xxa5"),o=r.n(n),i=r("exGp"),a=r.n(i),u={props:["file_id","user_id","thumbnail"],data:function(){return{show:!1,options:{mutex:!1,theme:"#b7daff",loop:!0,lang:"zh-cn",hotkey:!0,preload:"auto",volume:.7,playbackSpeed:[.5,1,2,5,10,20],video:{url:null,quality:[],defaultQuality:0,pic:null}}}},mounted:function(){var t=this;return a()(o.a.mark(function e(){var r,n,i;return o.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.$http.get("/file/previewVideo",{params:{user_id:t.user_id,file_id:t.file_id}});case 2:for(n in r=e.sent,t.options.video.pic=t.thumbnail,r)i=r[n],0==n&&(t.options.video.url=i.url),t.options.video.quality.unshift({name:i.template_id,url:i.url,type:"auto"});t.show=!0;case 6:case"end":return e.stop()}},e,t)}))()}},c={render:function(){var t=this.$createElement,e=this._self._c||t;return this.show?e("d-player",{ref:"player",attrs:{options:this.options}}):this._e()},staticRenderFns:[]};var s=r("VU/8")(u,c,!1,function(t){r("lCPK")},null,null);e.a=s.exports},lCPK:function(t,e){},o8EA:function(t,e,r){"use strict";e.a=i;var n=r("pFYg"),o=r.n(n);function i(t,e){if(0===arguments.length)return null;var r=e||"{y}-{m}-{d} {h}:{i}:{s}",n=void 0;"object"===(void 0===t?"undefined":o()(t))?n=t:(10===(""+t).length&&(t=1e3*parseInt(t)),n=new Date(t));var i={y:n.getFullYear(),m:n.getMonth()+1,d:n.getDate(),h:n.getHours(),i:n.getMinutes(),s:n.getSeconds(),a:n.getDay()};return r.replace(/{(y|m|d|h|i|s|a)+}/g,function(t,e){var r=i[e];return"a"===e?["日","一","二","三","四","五","六"][r]:(t.length>0&&r<10&&(r="0"+r),r||0)})}}});
--------------------------------------------------------------------------------
/public/static/js/1.54b9d7ced14e156e29d9.js:
--------------------------------------------------------------------------------
1 | webpackJsonp([1],{BDvS:function(e,t){},lmfZ:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n("woOf"),r=n.n(o),a=n("Xxa5"),s=n.n(a),c=n("exGp"),i=n.n(c),u=n("pFYg"),l=n.n(u);!function(e){if(void 0===e)throw new Error("Geetest requires browser environment");var t=e.document,n=e.Math,o=t.getElementsByTagName("head")[0];function r(e){this._obj=e}function a(e){var t=this;new r(e)._each(function(e,n){t[e]=n})}r.prototype={_each:function(e){var t=this._obj;for(var n in t)t.hasOwnProperty(n)&&e(n,t[n]);return this}},a.prototype={api_server:"api.geetest.com",protocol:"http://",typePath:"/gettype.php",fallback_config:{slide:{static_servers:["static.geetest.com","dn-staticdown.qbox.me"],type:"slide",slide:"/static/js/geetest.0.0.0.js"},fullpage:{static_servers:["static.geetest.com","dn-staticdown.qbox.me"],type:"fullpage",fullpage:"/static/js/fullpage.0.0.0.js"}},_get_fallback_config:function(){return s(this.type)?this.fallback_config[this.type]:this.new_captcha?this.fallback_config.fullpage:this.fallback_config.slide},_extend:function(e){var t=this;new r(e)._each(function(e,n){t[e]=n})}};var s=function(e){return"string"==typeof e},c=function(e){return"object"===(void 0===e?"undefined":l()(e))&&null!==e},i=/Mobi/i.test(navigator.userAgent)?3:0,u={},f={},p=function(e,t,n,o){t=function(e){return e.replace(/^https?:\/\/|\/$/g,"")}(t);var a=function(e){return 0!==(e=e.replace(/\/+/g,"/")).indexOf("/")&&(e="/"+e),e}(n)+function(e){if(!e)return"";var t="?";return new r(e)._each(function(e,n){(s(n)||function(e){return"number"==typeof e}(n)||function(e){return"boolean"==typeof e}(n))&&(t=t+encodeURIComponent(e)+"="+encodeURIComponent(n)+"&")}),"?"===t&&(t=""),t.replace(/&$/,"")}(o);return t&&(a=e+t+a),a},d=function(e,n,r,a,s,c,i){!function u(l){!function(e,n){var r=t.createElement("script");r.charset="UTF-8",r.async=!0,r.onerror=function(){n(!0)};var a=!1;r.onload=r.onreadystatechange=function(){a||r.readyState&&"loaded"!==r.readyState&&"complete"!==r.readyState||(a=!0,setTimeout(function(){n(!1)},0))},r.src=e,o.appendChild(r)}(p(r,a[l],s,c),function(t){if(t)if(l>=a.length-1){if(i(!0),n){e.error_code=508;var o=r+a[l]+s;m(e,o)}}else u(l+1);else i(!1)})}(0)},g=function(t,o,r,a){if(c(r.getLib))return r._extend(r.getLib),void a(r);if(r.offline)a(r._get_fallback_config());else{var s="geetest_"+(parseInt(1e4*n.random())+(new Date).valueOf());e[s]=function(t){"success"==t.status?a(t.data):t.status?a(r._get_fallback_config()):a(t),e[s]=void 0;try{delete e[s]}catch(e){}},d(r,!0,r.protocol,t,o,{gt:r.gt,callback:s},function(e){e&&a(r._get_fallback_config())})}},m=function(e,t){var n,o,r,a,s,c,u;d(e,!1,e.protocol,["monitor.geetest.com"],"/monitor/send",{time:(n=new Date,o=n.getFullYear(),r=n.getMonth()+1,a=n.getDate(),s=n.getHours(),c=n.getMinutes(),u=n.getSeconds(),r>=1&&r<=9&&(r="0"+r),a>=0&&a<=9&&(a="0"+a),s>=0&&s<=9&&(s="0"+s),c>=0&&c<=9&&(c="0"+c),u>=0&&u<=9&&(u="0"+u),o+"-"+r+"-"+a+" "+s+":"+c+":"+u),captcha_id:e.gt,challenge:e.challenge,pt:i,exception_url:t,error_code:e.error_code},function(e){})},v=function(e,t){var n={networkError:"网络错误",gtTypeError:"gt字段不是字符串类型"};if("function"!=typeof t.onError)throw new Error(n[e]);t.onError(n[e])};(e.Geetest||t.getElementById("gt_lib"))&&(f.slide="loaded"),e.initGeetest=function(t,n){var o=new a(t);t.https?o.protocol="https://":t.protocol||(o.protocol=e.location.protocol+"//"),"050cffef4ae57b5d5e529fea9540b0d1"!==t.gt&&"3bd38408ae4af923ed36e13819b14d42"!==t.gt||(o.apiserver="yumchina.geetest.com/",o.api_server="yumchina.geetest.com"),c(t.getType)&&o._extend(t.getType),g([o.api_server||o.apiserver],o.typePath,o,function(t){var r=t.type,a=function(){o._extend(t),n(new e.Geetest(o))};u[r]=u[r]||[];var s=f[r]||"init";"init"===s?(f[r]="loading",u[r].push(a),d(o,!0,o.protocol,t.static_servers||t.domains,t[r]||t.path,null,function(e){if(e)f[r]="fail",v("networkError",o);else{f[r]="loaded";for(var t=u[r],n=0,a=t.length;n-1||e.indexOf("iPhone")>-1||e.indexOf("iPad")>-1||e.indexOf("iPod")>-1||e.indexOf("Symbian")>-1?this.width="60px":this.width="200px"},methods:{col:function(e){this.width=e}}},w={render:function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("el-container",{staticClass:"home"},[s("el-header",[s("v-header",{attrs:{width:e.width},on:{col:e.col}})],1),e._v(" "),s("el-container",[s("el-aside",{attrs:{width:e.width}},[s("v-aside",{attrs:{width:e.width}})],1),e._v(" "),s("el-main",{style:{width:"calc(100vw - "+e.width+")"}},[s("main",[s("router-view",{staticClass:"fix"}),e._v(" "),s("section",{staticClass:"kp"},[s("div",{staticClass:"op"},[s("el-divider",{attrs:{"content-position":"left"}},[e._v("登录信息")]),e._v(" "),s("el-link",{attrs:{type:"success"}},[e._v("欢迎您,尊敬的管理员!当前时间为:"+e._s(e._f("parseTime")(new Date)))])],1),e._v(" "),s("div",{staticClass:"op"},[s("el-divider",{attrs:{"content-position":"left"}},[e._v("作者信息")]),e._v(" "),s("el-link",{attrs:{target:"_blank",href:"https://www.52pojie.cn/home.php?mod=space&uid=569763",type:"warning"}},[e._v("吾爱破解:badyun")])],1),e._v(" "),s("div",{staticClass:"op"},[s("el-divider",{attrs:{"content-position":"left"}},[e._v("版本信息")]),e._v(" "),s("el-link",{attrs:{type:"info"}},[e._v("v0.01")])],1),e._v(" "),s("div",{staticClass:"op"},[s("el-divider",{attrs:{"content-position":"left"}},[e._v("免责声明")]),e._v(" "),s("el-link",{attrs:{type:"danger"}},[e._v("本程序仅供技术研究使用,请勿用于非法用途;在任何情况下,对于因使用本程序而导致的任何损害赔偿,作者均无须承担法律责任。")])],1)])],1)])],1)],1)},staticRenderFns:[]};var x=s("VU/8")(f,w,!1,function(e){s("MB7W")},"data-v-dc51d7f0",null);t.default=x.exports},h7d2:function(e,t){}});
--------------------------------------------------------------------------------
/public/static/js/3.d541d207e1cd564b0a8e.js:
--------------------------------------------------------------------------------
1 | webpackJsonp([3],{CY7E:function(e,t){},Y2Ra:function(e,t){},eK4w:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i={components:{vFile:n("xWEe").a},data:function(){return{pageNum:1}},computed:{userId:function(){return 1*this.$route.params.userId},fileId:function(){if(void 0==this.$route.params.fileId)return"-11";var e=this.$route.params.fileId;return e}}},r={render:function(){var e=this.$createElement;return(this._self._c||e)("v-file",{key:this.fileId,staticClass:"pk",attrs:{fId:this.userId,pageNum:this.pageNum,fileId:this.fileId}})},staticRenderFns:[]};var a=n("VU/8")(i,r,!1,function(e){n("CY7E")},"data-v-b603301a",null);t.default=a.exports},xWEe:function(e,t,n){"use strict";var i=n("Xxa5"),r=n.n(i),a=n("exGp"),o=n.n(a),s=n("o8EA"),l={data:function(){return{title:null,file_id:null,thumbnail:null,centerDialogVisible:!1,tableData:[],height:window.innerHeight-180}},components:{vPlay:n("kzMD").a},filters:{parseTime:function(e){return Object(s.a)(new Date(e))},initSize:function(e){var t=e/1024;return(t=t.toFixed(2))>1024?(t=(t/=1024).toFixed(2))>1024?(t=(t/=1024).toFixed(2))>1024?(t=(t/=1024).toFixed(2),t+="TB"):t+="GB":t+="MB":t+="KB",t}},computed:{user_id:function(){return this.$route.params.user_id},parent_file_id:function(){return this.$route.params.parent_file_id}},watch:{$route:function(e,t){this.init()}},mounted:function(){this.init()},methods:{init:function(){var e=this;return o()(r.a.mark(function t(){var n;return r.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.$http.get("/file/list",{params:{user_id:e.user_id,parent_file_id:e.parent_file_id}});case 2:n=t.sent,e.tableData=n,console.log(n);case 5:case"end":return t.stop()}},t,e)}))()},getAllLink:function(e){var t=this;return o()(r.a.mark(function n(){var i,a,o,s;return r.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,t.$http.get("/file/list",{params:{user_id:t.user_id,parent_file_id:e}});case 2:for(o in i=n.sent,a="",i)"file"==(s=i[o]).type&&(a+=s.name,a+="$",a+=window.location.protocol+"//"+window.location.host+"/file/"+t.user_id+"/"+s.file_id+"/"+encodeURIComponent(s.name.replace("."+s.file_extension,""))+"."+s.file_extension,a+="\n");return n.prev=5,n.next=8,t.$copyText(a);case 8:t.$message({message:"链接已成功复制到剪贴板",type:"success"}),n.next=14;break;case 11:n.prev=11,n.t0=n.catch(5),t.$message.error("复制失败");case 14:case"end":return n.stop()}},n,t,[[5,11]])}))()},getOneLink:function(e,t,n){var i=this;return o()(r.a.mark(function a(){var o;return r.a.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return o=window.location.protocol+"//"+window.location.host+"/file/"+i.user_id+"/"+e+"/"+encodeURIComponent(t.replace("."+n,""))+"."+n,r.prev=1,r.next=4,i.$copyText(o);case 4:i.$message({message:"链接已成功复制到剪贴板",type:"success"}),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(1),i.$message.error("复制失败");case 10:case"end":return r.stop()}},a,i,[[1,7]])}))()},doPriview:function(e){var t=this;return o()(r.a.mark(function n(){var i;return r.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:"video"==e.category?(t.title=e.name,t.file_id=e.file_id,t.thumbnail=e.thumbnail,t.centerDialogVisible=!0):"image"==e.category?window.open(e.url):(i=window.location.protocol+"//"+window.location.host+"/file/"+t.user_id+"/"+e.file_id+"/"+encodeURIComponent(e.name.replace("."+e.file_extension,""))+"."+e.file_extension,window.open(i));case 1:case"end":return n.stop()}},n,t)}))()},doShare:function(e){var t=this;return o()(r.a.mark(function n(){var i;return r.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return e.user_id=t.user_id,n.next=3,t.$http.put("/share/list",e);case 3:i=n.sent,t.$message({message:i,type:"success"});case 5:case"end":return n.stop()}},n,t)}))()}}},u={render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("el-table",{staticStyle:{width:"100%"},attrs:{data:e.tableData,border:"",stripe:""}},[n("el-table-column",{attrs:{prop:"name",label:"文件名"},scopedSlots:e._u([{key:"default",fn:function(t){return[n("router-link",{attrs:{to:"/folder/"+e.user_id+"/"+t.row.file_id}},["folder"==t.row.type?n("el-link",{attrs:{type:"primary"}},[e._v(e._s(t.row.name))]):e._e()],1),e._v(" "),"file"==t.row.type?n("el-link",{attrs:{href:"/file/"+e.user_id+"/"+t.row.file_id+"/"+t.row.name,target:"_blank",type:"success"}},[e._v(e._s(t.row.name))]):e._e()]}}])}),e._v(" "),n("el-table-column",{attrs:{prop:"size",label:"类型",width:"120"},scopedSlots:e._u([{key:"default",fn:function(t){return["folder"==t.row.type?n("span",[e._v("文件夹")]):n("span",[e._v("文件")])]}}])}),e._v(" "),n("el-table-column",{attrs:{prop:"size",label:"大小",width:"120"},scopedSlots:e._u([{key:"default",fn:function(t){return["folder"==t.row.type?n("span",[e._v("————")]):n("span",[e._v(e._s(e._f("initSize")(t.row.size)))])]}}])}),e._v(" "),n("el-table-column",{attrs:{prop:"updated_at",label:"更新时间",width:"180"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v("\n "+e._s(e._f("parseTime")(t.row.updated_at))+"\n ")]}}])}),e._v(" "),n("el-table-column",{attrs:{prop:"updated_at",label:"操作",width:"320"},scopedSlots:e._u([{key:"default",fn:function(t){return[n("div",[n("div",{staticStyle:{"margin-bottom":"16px"}},["file"==t.row.type?n("el-button",{attrs:{size:"mini",round:"",type:"primary"},on:{click:function(n){return e.getOneLink(t.row.file_id,t.row.name,t.row.file_extension)}}},[e._v("获取文件直链")]):e._e(),e._v(" "),"file"!=t.row.type?n("el-button",{attrs:{size:"mini",round:"",type:"success"},on:{click:function(n){return e.doShare(t.row)}}},[e._v("分享文件夹")]):e._e(),e._v(" "),"file"==t.row.type?n("el-button",{attrs:{size:"mini",round:"",type:"danger"},on:{click:function(n){return e.doPriview(t.row)}}},[e._v("预览")]):e._e()],1),e._v(" "),"file"!=t.row.type?n("div",[n("el-button",{attrs:{size:"mini",round:"",type:"warning"},on:{click:function(n){return e.getAllLink(t.row.file_id)}}},[e._v("获取全部文件直链")])],1):e._e()])]}}])})],1),e._v(" "),n("el-dialog",{attrs:{title:e.title,"destroy-on-close":!0,visible:e.centerDialogVisible,width:"60%",center:""},on:{"update:visible":function(t){e.centerDialogVisible=t}}},[n("v-play",{key:e.file_id,attrs:{file_id:e.file_id,user_id:e.user_id,thumbnail:e.thumbnail}})],1)],1)},staticRenderFns:[]};var c=n("VU/8")(l,u,!1,function(e){n("Y2Ra")},null,null);t.a=c.exports}});
--------------------------------------------------------------------------------
/public/static/js/4.26456f18569b34da9d90.js:
--------------------------------------------------------------------------------
1 | webpackJsonp([4],{Y2Ra:function(e,t){},f2My:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n("Xxa5"),i=n.n(r),a=n("exGp"),o=n.n(a),s=n("o8EA"),l={filters:{parseTime:function(e){return Object(s.a)(new Date(e))},initSize:function(e){var t=e/1024;return(t=t.toFixed(2))>1024?(t=(t/=1024).toFixed(2))>1024?(t=(t/=1024).toFixed(2))>1024?(t=(t/=1024).toFixed(2),t+="TB"):t+="GB":t+="MB":t+="KB",t}},components:{vFile:n("xWEe").a},data:function(){return{tableData:[],centerDialogVisible:!1,now:{refresh_token:null,tip:null},fId:null,pageNum:1,showList:!1}},mounted:function(){this.init(),this.$store.commit("setMatched",[{path:"/home",title:"首页"},{path:"/list",title:"全部账号"}])},methods:{jsUrl:function(e,t){this.$router.push(e)},init:function(){var e=this;return o()(i.a.mark(function t(){var n;return i.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.$http.get("/account/list",{params:{t:(new Date).getTime()}});case 2:n=t.sent,e.tableData=n,console.log(n);case 5:case"end":return t.stop()}},t,e)}))()},addAccount:function(){this.now={refresh_token:null,tip:null},this.centerDialogVisible=!0},doChange:function(e){this.now=e,this.centerDialogVisible=!0},doAdd:function(){var e=this;return o()(i.a.mark(function t(){var n;return i.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(e.now.refresh_token){t.next=2;break}return t.abrupt("return",e.$message({showClose:!0,message:"请输入refresh_token",type:"warning"}));case 2:if(t.prev=2,n=void 0,e.now.id){t.next=10;break}return t.next=7,e.$http.put("/account/list",e.now);case 7:n=t.sent,t.next=13;break;case 10:return t.next=12,e.$http.post("/account/list",e.now);case 12:n=t.sent;case 13:e.$message({showClose:!0,message:n,type:"success"}),t.next=18;break;case 16:t.prev=16,t.t0=t.catch(2);case 18:e.init(),e.centerDialogVisible=!1,e.now={refresh_token:null,tip:null};case 21:case"end":return t.stop()}},t,e,[[2,16]])}))()},doDel:function(e){var t=this;this.$confirm("此操作将永久删除该账号, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(o()(i.a.mark(function n(){var r;return i.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,t.$http.delete("/account/list",{data:{id:e}});case 2:r=n.sent,t.$message({type:"success",message:r}),t.init();case 5:case"end":return n.stop()}},n,t)}))).catch(function(){})},showFile:function(e){var t=this;return o()(i.a.mark(function n(){return i.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(e&&void 0!=e){n.next=2;break}return n.abrupt("return",t.$message({message:"请选择账号",type:"warning"}));case 2:t.fId=e,t.pageNum=1,t.getFileMsg();case 5:case"end":return n.stop()}},n,t)}))()},getFileMsg:function(){var e=this;return o()(i.a.mark(function t(){return i.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:e.showList=!0;case 1:case"end":return t.stop()}},t,e)}))()}}},c={render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("el-button",{staticStyle:{"margin-bottom":"20px"},attrs:{type:"primary"},on:{click:function(t){return e.addAccount()}}},[e._v("新增账号")]),e._v(" "),n("el-table",{staticStyle:{width:"100%"},attrs:{data:e.tableData,border:""}},[n("el-table-column",{attrs:{prop:"date",label:"序号",width:"80",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v(e._s(t.$index+1))]}}])}),e._v(" "),n("el-table-column",{attrs:{prop:"user_name",label:"账号",width:"120",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[n("router-link",{attrs:{to:"/folder/"+t.row.user_id}},[n("el-link",{attrs:{underline:!1}},[e._v(e._s(t.row.user_name))])],1)]}}])}),e._v(" "),n("el-table-column",{attrs:{prop:"userName",label:"容量",width:"200",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){return t.row.type?[e._v("\n "+e._s(e._f("initSize")(t.row.used_size))+"\n /\n "+e._s(e._f("initSize")(t.row.total_size))+"\n ")]:void 0}}],null,!0)}),e._v(" "),n("el-table-column",{attrs:{prop:"tip",label:"备注",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v(e._s(t.row.tip||"暂无备注"))]}}])}),e._v(" "),n("el-table-column",{attrs:{prop:"address",label:"添加时间",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v(e._s(e._f("parseTime")(t.row.createTime)))]}}])}),e._v(" "),n("el-table-column",{attrs:{prop:"address",label:"操作",width:"250",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[n("el-button",{attrs:{size:"mini",type:"danger"},on:{click:function(n){return e.doDel(t.row.id)}}},[e._v("删除")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"warning"},on:{click:function(n){return e.doChange(t.row)}}},[e._v("修改")]),e._v(" "),n("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(n){return e.jsUrl("/folder/"+t.row.user_id,t.row.user_name)}}},[e._v("查看文件")])]}}])})],1),e._v(" "),n("el-dialog",{attrs:{title:e.now.id?"修改账号":"新增账号",visible:e.centerDialogVisible,width:"40%",center:""},on:{"update:visible":function(t){e.centerDialogVisible=t}}},[n("el-form",{attrs:{"label-position":"left",model:e.now,"label-width":"120px"}},[n("el-form-item",{attrs:{label:"refreshToken",required:""}},[n("el-input",{attrs:{placeholder:"请输入阿里云盘的refreshToken"},model:{value:e.now.refresh_token,callback:function(t){e.$set(e.now,"refresh_token",t)},expression:"now.refresh_token"}})],1),e._v(" "),n("el-form-item",{attrs:{label:"备注信息"}},[n("el-input",{attrs:{placeholder:"账号备注"},model:{value:e.now.tip,callback:function(t){e.$set(e.now,"tip",t)},expression:"now.tip"}})],1)],1),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{on:{click:function(t){e.centerDialogVisible=!1}}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{type:"primary"},on:{click:function(t){return e.doAdd()}}},[e._v("确 定")])],1)],1),e._v(" "),n("el-drawer",{attrs:{size:"70%",title:"我的文件",visible:e.showList,direction:"rtl",wrapperClosable:!1},on:{"update:visible":function(t){e.showList=t}}},[n("v-file",{staticClass:"pk",attrs:{fId:e.fId}})],1)],1)},staticRenderFns:[]};var u=n("VU/8")(l,c,!1,function(e){n("y+yz")},"data-v-6da63746",null);t.default=u.exports},xWEe:function(e,t,n){"use strict";var r=n("Xxa5"),i=n.n(r),a=n("exGp"),o=n.n(a),s=n("o8EA"),l={data:function(){return{title:null,file_id:null,thumbnail:null,centerDialogVisible:!1,tableData:[],height:window.innerHeight-180}},components:{vPlay:n("kzMD").a},filters:{parseTime:function(e){return Object(s.a)(new Date(e))},initSize:function(e){var t=e/1024;return(t=t.toFixed(2))>1024?(t=(t/=1024).toFixed(2))>1024?(t=(t/=1024).toFixed(2))>1024?(t=(t/=1024).toFixed(2),t+="TB"):t+="GB":t+="MB":t+="KB",t}},computed:{user_id:function(){return this.$route.params.user_id},parent_file_id:function(){return this.$route.params.parent_file_id}},watch:{$route:function(e,t){this.init()}},mounted:function(){this.init()},methods:{init:function(){var e=this;return o()(i.a.mark(function t(){var n;return i.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.$http.get("/file/list",{params:{user_id:e.user_id,parent_file_id:e.parent_file_id}});case 2:n=t.sent,e.tableData=n,console.log(n);case 5:case"end":return t.stop()}},t,e)}))()},getAllLink:function(e){var t=this;return o()(i.a.mark(function n(){var r,a,o,s;return i.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,t.$http.get("/file/list",{params:{user_id:t.user_id,parent_file_id:e}});case 2:for(o in r=n.sent,a="",r)"file"==(s=r[o]).type&&(a+=s.name,a+="$",a+=window.location.protocol+"//"+window.location.host+"/file/"+t.user_id+"/"+s.file_id+"/"+encodeURIComponent(s.name.replace("."+s.file_extension,""))+"."+s.file_extension,a+="\n");return n.prev=5,n.next=8,t.$copyText(a);case 8:t.$message({message:"链接已成功复制到剪贴板",type:"success"}),n.next=14;break;case 11:n.prev=11,n.t0=n.catch(5),t.$message.error("复制失败");case 14:case"end":return n.stop()}},n,t,[[5,11]])}))()},getOneLink:function(e,t,n){var r=this;return o()(i.a.mark(function a(){var o;return i.a.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return o=window.location.protocol+"//"+window.location.host+"/file/"+r.user_id+"/"+e+"/"+encodeURIComponent(t.replace("."+n,""))+"."+n,i.prev=1,i.next=4,r.$copyText(o);case 4:r.$message({message:"链接已成功复制到剪贴板",type:"success"}),i.next=10;break;case 7:i.prev=7,i.t0=i.catch(1),r.$message.error("复制失败");case 10:case"end":return i.stop()}},a,r,[[1,7]])}))()},doPriview:function(e){var t=this;return o()(i.a.mark(function n(){var r;return i.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:"video"==e.category?(t.title=e.name,t.file_id=e.file_id,t.thumbnail=e.thumbnail,t.centerDialogVisible=!0):"image"==e.category?window.open(e.url):(r=window.location.protocol+"//"+window.location.host+"/file/"+t.user_id+"/"+e.file_id+"/"+encodeURIComponent(e.name.replace("."+e.file_extension,""))+"."+e.file_extension,window.open(r));case 1:case"end":return n.stop()}},n,t)}))()},doShare:function(e){var t=this;return o()(i.a.mark(function n(){var r;return i.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return e.user_id=t.user_id,n.next=3,t.$http.put("/share/list",e);case 3:r=n.sent,t.$message({message:r,type:"success"});case 5:case"end":return n.stop()}},n,t)}))()}}},c={render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("el-table",{staticStyle:{width:"100%"},attrs:{data:e.tableData,border:"",stripe:""}},[n("el-table-column",{attrs:{prop:"name",label:"文件名"},scopedSlots:e._u([{key:"default",fn:function(t){return[n("router-link",{attrs:{to:"/folder/"+e.user_id+"/"+t.row.file_id}},["folder"==t.row.type?n("el-link",{attrs:{type:"primary"}},[e._v(e._s(t.row.name))]):e._e()],1),e._v(" "),"file"==t.row.type?n("el-link",{attrs:{href:"/file/"+e.user_id+"/"+t.row.file_id+"/"+t.row.name,target:"_blank",type:"success"}},[e._v(e._s(t.row.name))]):e._e()]}}])}),e._v(" "),n("el-table-column",{attrs:{prop:"size",label:"类型",width:"120"},scopedSlots:e._u([{key:"default",fn:function(t){return["folder"==t.row.type?n("span",[e._v("文件夹")]):n("span",[e._v("文件")])]}}])}),e._v(" "),n("el-table-column",{attrs:{prop:"size",label:"大小",width:"120"},scopedSlots:e._u([{key:"default",fn:function(t){return["folder"==t.row.type?n("span",[e._v("————")]):n("span",[e._v(e._s(e._f("initSize")(t.row.size)))])]}}])}),e._v(" "),n("el-table-column",{attrs:{prop:"updated_at",label:"更新时间",width:"180"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v("\n "+e._s(e._f("parseTime")(t.row.updated_at))+"\n ")]}}])}),e._v(" "),n("el-table-column",{attrs:{prop:"updated_at",label:"操作",width:"320"},scopedSlots:e._u([{key:"default",fn:function(t){return[n("div",[n("div",{staticStyle:{"margin-bottom":"16px"}},["file"==t.row.type?n("el-button",{attrs:{size:"mini",round:"",type:"primary"},on:{click:function(n){return e.getOneLink(t.row.file_id,t.row.name,t.row.file_extension)}}},[e._v("获取文件直链")]):e._e(),e._v(" "),"file"!=t.row.type?n("el-button",{attrs:{size:"mini",round:"",type:"success"},on:{click:function(n){return e.doShare(t.row)}}},[e._v("分享文件夹")]):e._e(),e._v(" "),"file"==t.row.type?n("el-button",{attrs:{size:"mini",round:"",type:"danger"},on:{click:function(n){return e.doPriview(t.row)}}},[e._v("预览")]):e._e()],1),e._v(" "),"file"!=t.row.type?n("div",[n("el-button",{attrs:{size:"mini",round:"",type:"warning"},on:{click:function(n){return e.getAllLink(t.row.file_id)}}},[e._v("获取全部文件直链")])],1):e._e()])]}}])})],1),e._v(" "),n("el-dialog",{attrs:{title:e.title,"destroy-on-close":!0,visible:e.centerDialogVisible,width:"60%",center:""},on:{"update:visible":function(t){e.centerDialogVisible=t}}},[n("v-play",{key:e.file_id,attrs:{file_id:e.file_id,user_id:e.user_id,thumbnail:e.thumbnail}})],1)],1)},staticRenderFns:[]};var u=n("VU/8")(l,c,!1,function(e){n("Y2Ra")},null,null);t.a=u.exports},"y+yz":function(e,t){}});
--------------------------------------------------------------------------------
/public/static/js/5.edbd1f9b9cffed202de7.js:
--------------------------------------------------------------------------------
1 | webpackJsonp([5],{Eg0l:function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=s("Xxa5"),i=s.n(a),n=s("exGp"),r=s.n(n),o={render:function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("span",{staticClass:"map"},["folder"==t.kind?s("svg",{staticClass:"tbfont",attrs:{"aria-hidden":"true"}},[s("use",{attrs:{"xlink:href":"#tbweibiaoti5"}})]):t._e(),t._v(" "),"others"==t.category?s("span",["exe"==t.ext?s("svg",{staticClass:"tbfont",attrs:{"aria-hidden":"true"}},[s("use",{attrs:{"xlink:href":"#tbexe"}})]):t._e(),t._v(" "),"apk"==t.ext?s("svg",{staticClass:"tbfont",attrs:{"aria-hidden":"true"}},[s("use",{attrs:{"xlink:href":"#tbanzhuo"}})]):t._e(),t._v(" "),-1==["apk","exe"].indexOf(t.ext)?s("svg",{staticClass:"tbfont",attrs:{"aria-hidden":"true"}},[s("use",{attrs:{"xlink:href":"#tbf-unknow"}})]):t._e()]):t._e(),t._v(" "),"doc"==t.category?s("span",["txt"==t.ext?s("svg",{staticClass:"tbfont",attrs:{"aria-hidden":"true"}},[s("use",{attrs:{"xlink:href":"#tbtxt"}})]):t._e(),t._v(" "),"doc"==t.ext||"docx"==t.ext?s("svg",{staticClass:"tbfont",attrs:{"aria-hidden":"true"}},[s("use",{attrs:{"xlink:href":"#tbword"}})]):t._e(),t._v(" "),"xls"==t.ext||"xlsx"==t.ext?s("svg",{staticClass:"tbfont",attrs:{"aria-hidden":"true"}},[s("use",{attrs:{"xlink:href":"#tbexcel"}})]):t._e(),t._v(" "),"js"==t.ext?s("svg",{staticClass:"tbfont",attrs:{"aria-hidden":"true"}},[s("use",{attrs:{"xlink:href":"#tbjs"}})]):t._e(),t._v(" "),"css"==t.ext?s("svg",{staticClass:"tbfont",attrs:{"aria-hidden":"true"}},[s("use",{attrs:{"xlink:href":"#tbCSS"}})]):t._e(),t._v(" "),"key"==t.ext?s("svg",{staticClass:"tbfont",attrs:{"aria-hidden":"true"}},[s("use",{attrs:{"xlink:href":"#tbkeynote"}})]):t._e(),t._v(" "),-1==["txt","doc","docx","xls","xlsx","js","css","key"].indexOf(t.ext)?s("svg",{staticClass:"tbfont",attrs:{"aria-hidden":"true"}},[s("use",{attrs:{"xlink:href":"#tbf-unknow"}})]):t._e()]):t._e(),t._v(" "),"image"==t.category?s("span",[s("svg",{staticClass:"tbfont",attrs:{"aria-hidden":"true"}},[s("use",{attrs:{"xlink:href":"#tbimage"}})])]):t._e(),t._v(" "),"zip"==t.category?s("span",[s("svg",{staticClass:"tbfont",attrs:{"aria-hidden":"true"}},[s("use",{attrs:{"xlink:href":"#tbyasuobao"}})])]):t._e(),t._v(" "),"video"==t.category?s("span",[s("svg",{staticClass:"tbfont",attrs:{"aria-hidden":"true"}},[s("use",{attrs:{"xlink:href":"#tbvideo"}})])]):t._e(),t._v(" "),"audio"==t.category?s("span",[s("svg",{staticClass:"tbfont",attrs:{"aria-hidden":"true"}},[s("use",{attrs:{"xlink:href":"#tbaudio"}})])]):t._e()])},staticRenderFns:[]};var d=s("VU/8")({props:["kind","category","ext"]},o,!1,function(t){s("pIWK")},"data-v-1b2e94d1",null).exports,l=s("kzMD"),c=s("o8EA"),u={data:function(){return{faId:null,url:null,show:!1,password:null,refreshing:!1,loading:!1,finished:!1,file_id:null,user_id:null,parent_file_id:null,now:{},box:{name:"",item:[]},errMsg:null}},components:{vPlay:l.a,vIcon:d},filters:{parseTime:function(t){return Object(c.a)(new Date(t))},initSize:function(t){if(!t)return null;var e=t/1024;return(e=e.toFixed(2))>=1024?(e=(e/=1024).toFixed(2))>=1024?(e=(e/=1024).toFixed(2))>=1024?(e=(e/=1024).toFixed(2),e+="TB"):e+="GB":e+="MB":e+="KB",e}},computed:{id:function(){return this.$route.params.id},isMb:function(){return!!navigator.userAgent.match(/(iPhone|iPod|Android|ios|iOS|iPad|Backerry|WebOS|Symbian|Windows Phone|Phone)/i)}},mounted:function(){this.onRefresh()},methods:{onLoad:function(){var t=this;return r()(i.a.mark(function e(){return i.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.init();case 2:case"end":return e.stop()}},e,t)}))()},openFile:function(t){var e=this;return r()(i.a.mark(function s(){return i.a.wrap(function(s){for(;;)switch(s.prev=s.next){case 0:console.log(t),"file"!=t.type?(e.file_id=t.file_id,e.onRefresh()):(e.now=t,e.url="/file/"+e.user_id+"/"+t.file_id+"/"+t.name,"video"==t.category||"image"==t.category?e.show=!0:window.open(e.url));case 2:case"end":return s.stop()}},s,e)}))()},doDownload:function(){var t=this;return r()(i.a.mark(function e(){var s;return i.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.$http.get("/share/downLoad",{params:{id:t.id,password:t.password,file_id:t.now.file_id,file_name:t.now.file_name},headers:{loadingNo:!0}});case 2:s=e.sent,window.open(s.url);case 4:case"end":return e.stop()}},e,t)}))()},doBack:function(){this.file_id=this.parent_file_id,this.parent_file_id=null,this.box={name:"",item:[]},this.onRefresh()},onRefresh:function(){this.finished=!1,this.loading=!0,this.onLoad()},init:function(){var t=this;return r()(i.a.mark(function e(){var s,a;return i.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t.refreshing&&(t.box={name:"",item:[]},t.refreshing=!1,t.finished=!1),s=void 0,t.isMb||(s=t.$loading("加载中...")),e.prev=3,e.next=6,t.$http.get("/share/public",{params:{id:t.id,password:t.password,file_id:t.file_id},headers:{loadingNo:!0}});case 6:a=e.sent,t.isMb||s.close(),t.box=a,t.user_id=a.user_id,t.file_id=a.file_id,t.parent_file_id=a.parent_file_id,a.faId&&(t.faId=a.faId),console.log(a),document.title=t.box.name,t.errMsg=null,e.next=26;break;case 18:e.prev=18,e.t0=e.catch(3),console.log(e.t0),t.isMb||s.close(),t.box.name=e.t0.name,t.errMsg=e.t0.errMsg,document.title=e.t0.name,t.isMb?"请输入密码"!=t.errMsg&&t.$toast(t.errMsg):"请输入密码"!=t.errMsg&&t.$message.error(t.errMsg);case 26:return t.loading=!1,t.finished=!0,e.abrupt("return",!0);case 29:case"end":return e.stop()}},e,t,[[3,18]])}))()}}},f={render:function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.id?s("section",{staticClass:"op"},[t.parent_file_id&&t.faId==t.parent_file_id&&!t.errMsg?s("div",{staticClass:"back",on:{click:function(e){return t.doBack()}}},[s("svg",{staticClass:"tbfont",attrs:{"aria-hidden":"true"}},[s("use",{attrs:{"xlink:href":"#tbyk_fanhui"}})]),t._v(" "),s("span",{staticClass:"txt"},[t._v("返回上级")])]):t._e(),t._v(" "),t.errMsg?s("div",{staticClass:"errMsg"},[s("h2",[t._v(t._s(t.box.name))]),t._v(" "),s("p",{staticClass:"it"},[t._v(t._s(t.errMsg))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.password,expression:"password"}],attrs:{type:"password"},domProps:{value:t.password},on:{input:function(e){e.target.composing||(t.password=e.target.value)}}}),t._v(" "),s("button",{on:{click:function(e){return t.onRefresh()}}},[t._v("立即进入")])]):t._e(),t._v(" "),t.errMsg?t._e():s("van-pull-refresh",{on:{refresh:t.onRefresh},model:{value:t.refreshing,callback:function(e){t.refreshing=e},expression:"refreshing"}},[s("van-list",{attrs:{"immediate-check":!1,finished:t.finished,"finished-text":"没有更多了"},on:{load:t.onLoad},model:{value:t.loading,callback:function(e){t.loading=e},expression:"loading"}},t._l(t.box.item,function(e){return s("div",{key:e.file_id,staticClass:"btn",on:{click:function(s){return t.openFile(e)}}},[s("v-icon",{staticClass:"icon",attrs:{kind:e.type,category:e.category,ext:e.file_extension}}),t._v(" "),s("div",{staticClass:"info"},[s("p",{staticClass:"title"},[t._v(t._s(e.name))]),t._v(" "),s("p",{staticClass:"desc"},[s("span",{staticClass:"time"},[t._v(t._s(t._f("parseTime")(e.created_at)))]),t._v(" "),"file"==e.type?s("span",{staticClass:"size"},[t._v(t._s(t._f("initSize")(e.size)))]):t._e()])])],1)}),0)],1),t._v(" "),s("van-overlay",{attrs:{show:t.show}},[s("section",{staticClass:"md"},[t.show&&"video"==t.now.category?s("v-play",{key:t.now.file_id,attrs:{file_id:t.now.file_id,user_id:t.user_id,thumbnail:t.now.thumbnail}}):t._e(),t._v(" "),t.show&&"image"==t.now.category?s("img",{staticClass:"xi",attrs:{src:t.url,alt:""}}):t._e(),t._v(" "),s("div",{staticClass:"rf"},[s("span",{staticClass:"el-icon-download",on:{click:function(e){return t.doDownload()}}}),t._v(" "),s("span",{staticClass:"el-icon-close",on:{click:function(e){t.show=!1}}})])],1)])],1):t._e()},staticRenderFns:[]};var _=s("VU/8")(u,f,!1,function(t){s("wVRg")},"data-v-5a5d8af4",null);e.default=_.exports},pIWK:function(t,e){},wVRg:function(t,e){}});
--------------------------------------------------------------------------------
/public/static/js/6.b6ca078e08e8e83861d1.js:
--------------------------------------------------------------------------------
1 | webpackJsonp([6],{PU1I:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n("Xxa5"),a=n.n(r),s=n("exGp"),c=n.n(s),i=n("o8EA"),o={filters:{parseTime:function(t){return Object(i.a)(new Date(t))},initSize:function(t){var e=t/1024;return(e=e.toFixed(2))>1024?(e=(e/=1024).toFixed(2))>1024?(e=(e/=1024).toFixed(2),e+="GB"):e+="MB":e+="KB",e}},data:function(){return{list:[],fix:location.protocol+"//"+location.host+"/s/"}},mounted:function(){var t=this;return c()(a.a.mark(function e(){return a.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:t.init(),t.$store.commit("setMatched",[{path:"/home",title:"首页"},{path:"/share",title:"我的分享"}]);case 2:case"end":return e.stop()}},e,t)}))()},methods:{doCp:function(t){var e=this;return c()(a.a.mark(function n(){return a.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,e.$copyText(t);case 3:e.$message({message:"链接已成功复制到剪贴板",type:"success"}),n.next=9;break;case 6:n.prev=6,n.t0=n.catch(0),e.$message.error("复制失败");case 9:case"end":return n.stop()}},n,e,[[0,6]])}))()},init:function(){var t=this;return c()(a.a.mark(function e(){var n;return a.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.$http.get("/share/list",{params:{t:(new Date).getTime()}});case 2:n=e.sent,console.log(n),t.list=n;case 5:case"end":return e.stop()}},e,t)}))()},chancelShare:function(t){var e=this;return c()(a.a.mark(function n(){return a.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:e.$confirm("此操作将永久删除该分享链接, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(c()(a.a.mark(function n(){var r;return a.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,e.$http.delete("/share/list",{data:{id:t}});case 2:r=n.sent,e.init(),e.$message({type:"success",message:r});case 5:case"end":return n.stop()}},n,e)}))).catch(function(){});case 1:case"end":return n.stop()}},n,e)}))()},stopShare:function(t){var e=this;return c()(a.a.mark(function n(){return a.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:e.$confirm("此操作将暂停该分享链接, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(c()(a.a.mark(function n(){var r;return a.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,e.$http.post("/share/list",{id:t,type:!1});case 2:r=n.sent,e.init(),e.$message({type:"success",message:r});case 5:case"end":return n.stop()}},n,e)}))).catch(function(){});case 1:case"end":return n.stop()}},n,e)}))()},openShare:function(t){var e=this;return c()(a.a.mark(function n(){var r;return a.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,e.$http.post("/share/list",{id:t,type:!0});case 2:r=n.sent,e.init(),e.$message({type:"success",message:r});case 5:case"end":return n.stop()}},n,e)}))()},rvPw:function(t){var e=this;return c()(a.a.mark(function n(){var r;return a.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,e.$http.post("/share/list",{id:t,password:null});case 2:r=n.sent,e.init(),e.$message({type:"success",message:r});case 5:case"end":return n.stop()}},n,e)}))()},addPw:function(t){var e=this;return c()(a.a.mark(function n(){return a.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:e.$prompt("请输入密码","提示",{confirmButtonText:"确定",cancelButtonText:"取消"}).then(function(){var n=c()(a.a.mark(function n(r){var s,c=r.value;return a.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,e.$http.post("/share/list",{id:t,password:c});case 2:s=n.sent,e.init(),e.$message({type:"success",message:s});case 5:case"end":return n.stop()}},n,e)}));return function(t){return n.apply(this,arguments)}}()).catch(function(){});case 1:case"end":return n.stop()}},n,e)}))()}}},u={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("el-table",{staticStyle:{width:"100%"},attrs:{height:"400",data:t.list,border:""}},[n("el-table-column",{attrs:{prop:"name",label:"文件夹名"}}),t._v(" "),n("el-table-column",{attrs:{prop:"fileSize",label:"分享地址"},scopedSlots:t._u([{key:"default",fn:function(e){return[n("el-link",{attrs:{type:"primary"},on:{click:function(n){return t.doCp(t.fix+e.row.id)}}},[t._v(t._s(t.fix+e.row.id))])]}}])}),t._v(" "),n("el-table-column",{attrs:{prop:"password",label:"密码"}}),t._v(" "),n("el-table-column",{attrs:{prop:"fileSize",label:"状态",width:"80"},scopedSlots:t._u([{key:"default",fn:function(e){return[e.row.type?n("el-tag",{attrs:{type:"success"}},[t._v("分享中")]):n("el-tag",{attrs:{type:"danger"}},[t._v("已暂停")])]}}])}),t._v(" "),n("el-table-column",{attrs:{prop:"time",label:"创建时间",width:"165"},scopedSlots:t._u([{key:"default",fn:function(e){return[t._v(t._s(t._f("parseTime")(e.row.time)))]}}])}),t._v(" "),n("el-table-column",{attrs:{prop:"time",label:"操作",width:"220"},scopedSlots:t._u([{key:"default",fn:function(e){return[n("div",{staticStyle:{"margin-bottom":"20px"}},[n("el-button",{attrs:{type:"danger",size:"mini"},on:{click:function(n){return t.chancelShare(e.row.id)}}},[t._v("取消")]),t._v(" "),n("el-button",{attrs:{disabled:!e.row.type,type:"warning",size:"mini"},on:{click:function(n){return t.stopShare(e.row.id)}}},[t._v("暂停")])],1),t._v(" "),n("div",[e.row.password?n("el-button",{attrs:{type:"success",size:"mini"},on:{click:function(n){return t.rvPw(e.row.id)}}},[t._v("取消密码")]):n("el-button",{attrs:{type:"success",size:"mini"},on:{click:function(n){return t.addPw(e.row.id)}}},[t._v("添加密码")]),t._v(" "),n("el-button",{attrs:{disabled:e.row.type,type:"primary",size:"mini"},on:{click:function(n){return t.openShare(e.row.id)}}},[t._v("开启")])],1)]}}])})],1)],1)},staticRenderFns:[]},p=n("VU/8")(o,u,!1,null,null,null);e.default=p.exports}});
--------------------------------------------------------------------------------
/public/static/js/7.b694d49d89edb92cb71b.js:
--------------------------------------------------------------------------------
1 | webpackJsonp([7],{FHOv:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var s={render:function(){this.$createElement;this._self._c;return this._m(0)},staticRenderFns:[function(){var e=this.$createElement,t=this._self._c||e;return t("div",[t("h2",[this._v("还么做完,过两天再发")]),this._v(" "),t("h4",[this._v("更新QQ群:299791604")])])}]},i=n("VU/8")(null,s,!1,null,null,null);t.default=i.exports}});
--------------------------------------------------------------------------------
/public/static/js/app.424190c74b493d1a9c29.js:
--------------------------------------------------------------------------------
1 | webpackJsonp([9],{0:function(e,a){},1:function(e,a){},10:function(e,a){},11:function(e,a){},12:function(e,a){},13:function(e,a){},14:function(e,a){},2:function(e,a){},3:function(e,a){},4:function(e,a){},"4Vh3":function(e,a){e.exports={modp1:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},modp2:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},modp5:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},modp14:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},modp15:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},modp16:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},modp17:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},modp18:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}},"4ml/":function(e,a){},5:function(e,a){},6:function(e,a){},"6ZSt":function(e,a){e.exports={"aes-128-ecb":{cipher:"AES",key:128,iv:0,mode:"ECB",type:"block"},"aes-192-ecb":{cipher:"AES",key:192,iv:0,mode:"ECB",type:"block"},"aes-256-ecb":{cipher:"AES",key:256,iv:0,mode:"ECB",type:"block"},"aes-128-cbc":{cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},"aes-192-cbc":{cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},"aes-256-cbc":{cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},aes128:{cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},aes192:{cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},aes256:{cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},"aes-128-cfb":{cipher:"AES",key:128,iv:16,mode:"CFB",type:"stream"},"aes-192-cfb":{cipher:"AES",key:192,iv:16,mode:"CFB",type:"stream"},"aes-256-cfb":{cipher:"AES",key:256,iv:16,mode:"CFB",type:"stream"},"aes-128-cfb8":{cipher:"AES",key:128,iv:16,mode:"CFB8",type:"stream"},"aes-192-cfb8":{cipher:"AES",key:192,iv:16,mode:"CFB8",type:"stream"},"aes-256-cfb8":{cipher:"AES",key:256,iv:16,mode:"CFB8",type:"stream"},"aes-128-cfb1":{cipher:"AES",key:128,iv:16,mode:"CFB1",type:"stream"},"aes-192-cfb1":{cipher:"AES",key:192,iv:16,mode:"CFB1",type:"stream"},"aes-256-cfb1":{cipher:"AES",key:256,iv:16,mode:"CFB1",type:"stream"},"aes-128-ofb":{cipher:"AES",key:128,iv:16,mode:"OFB",type:"stream"},"aes-192-ofb":{cipher:"AES",key:192,iv:16,mode:"OFB",type:"stream"},"aes-256-ofb":{cipher:"AES",key:256,iv:16,mode:"OFB",type:"stream"},"aes-128-ctr":{cipher:"AES",key:128,iv:16,mode:"CTR",type:"stream"},"aes-192-ctr":{cipher:"AES",key:192,iv:16,mode:"CTR",type:"stream"},"aes-256-ctr":{cipher:"AES",key:256,iv:16,mode:"CTR",type:"stream"},"aes-128-gcm":{cipher:"AES",key:128,iv:12,mode:"GCM",type:"auth"},"aes-192-gcm":{cipher:"AES",key:192,iv:12,mode:"GCM",type:"auth"},"aes-256-gcm":{cipher:"AES",key:256,iv:12,mode:"GCM",type:"auth"}}},7:function(e,a){},8:function(e,a){},"8YCc":function(e,a){e.exports={"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}},9:function(e,a){},KYqO:function(e,a){e.exports={_args:[["elliptic@6.5.3","D:\\项目\\天翼单用户版本\\manage"]],_development:!0,_from:"elliptic@6.5.3",_id:"elliptic@6.5.3",_inBundle:!1,_integrity:"sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==",_location:"/elliptic",_phantomChildren:{},_requested:{type:"version",registry:!0,raw:"elliptic@6.5.3",name:"elliptic",escapedName:"elliptic",rawSpec:"6.5.3",saveSpec:null,fetchSpec:"6.5.3"},_requiredBy:["/browserify-sign","/create-ecdh"],_resolved:"https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz",_spec:"6.5.3",_where:"D:\\项目\\天翼单用户版本\\manage",author:{name:"Fedor Indutny",email:"fedor@indutny.com"},bugs:{url:"https://github.com/indutny/elliptic/issues"},dependencies:{"bn.js":"^4.4.0",brorand:"^1.0.1","hash.js":"^1.0.0","hmac-drbg":"^1.0.0",inherits:"^2.0.1","minimalistic-assert":"^1.0.0","minimalistic-crypto-utils":"^1.0.0"},description:"EC cryptography",devDependencies:{brfs:"^1.4.3",coveralls:"^3.0.8",grunt:"^1.0.4","grunt-browserify":"^5.0.0","grunt-cli":"^1.2.0","grunt-contrib-connect":"^1.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-mocha-istanbul":"^3.0.1","grunt-saucelabs":"^9.0.1",istanbul:"^0.4.2",jscs:"^3.0.7",jshint:"^2.10.3",mocha:"^6.2.2"},files:["lib"],homepage:"https://github.com/indutny/elliptic",keywords:["EC","Elliptic","curve","Cryptography"],license:"MIT",main:"lib/elliptic.js",name:"elliptic",repository:{type:"git",url:"git+ssh://git@github.com/indutny/elliptic.git"},scripts:{jscs:"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js",jshint:"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js",lint:"npm run jscs && npm run jshint",test:"npm run lint && npm run unit",unit:"istanbul test _mocha --reporter=spec test/index.js",version:"grunt dist && git add dist/"},version:"6.5.3"}},"Mv4+":function(e,a){},NHnr:function(e,a,f){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var c=f("7+uW"),d={render:function(){var e=this.$createElement,a=this._self._c||e;return a("div",{attrs:{id:"app"}},[a("router-view")],1)},staticRenderFns:[]};var s=f("VU/8")({name:"App"},d,!1,function(e){f("OdzL")},null,null).exports,t=f("/ocq"),n=f("NYxO"),b=f("424j");c.default.use(n.a);var i=new n.a.Store({plugins:[Object(b.a)({storage:window.localStorage})],state:{token:null,role:3,matched:[{path:"/home",title:"首页"}]},mutations:{setToken:function(e,a){e.token=a},setRole:function(e,a){e.role=a},setMatched:function(e,a){e.matched=a}},getters:{}}),r=f("uhZt"),o=f.n(r),l={render:function(){var e=this.$createElement;return(this._self._c||e)("router-view")},staticRenderFns:[]};f("VU/8")(null,l,!1,null,null,null).exports;c.default.use(t.a);var u=t.a.prototype.push;t.a.prototype.push=function(e){return u.call(this,e).catch(function(e){return e})};var h=new t.a({mode:"history",routes:[{path:"/",meta:"登录",component:function(){return Promise.all([f.e(0),f.e(1)]).then(f.bind(null,"lmfZ"))}},{path:"/login",meta:"登录",component:function(){return Promise.all([f.e(0),f.e(1)]).then(f.bind(null,"lmfZ"))}},{path:"/home",meta:"首页",component:function(){return Promise.all([f.e(0),f.e(2)]).then(f.bind(null,"Wq00"))},children:[{path:"/list",meta:"全部账号",role:[1,3],component:function(){return Promise.all([f.e(0),f.e(4)]).then(f.bind(null,"f2My"))}},{path:"/folder/:user_id",meta:"我的账号",role:[1,3],redirect:"/folder/:user_id/root"},{path:"/folder/:user_id/:parent_file_id",meta:"我的账号",role:[1,3],component:function(){return Promise.all([f.e(0),f.e(3)]).then(f.bind(null,"eK4w"))}},{path:"/share",meta:"我的分享",role:[1,3],component:function(){return Promise.all([f.e(0),f.e(6)]).then(f.bind(null,"PU1I"))}},{path:"/ad",meta:"文件广场",role:[1,3],component:function(){return f.e(7).then(f.bind(null,"FHOv"))}}]},{path:"/s/:id",meta:"文件分享",component:function(){return Promise.all([f.e(0),f.e(5)]).then(f.bind(null,"Eg0l"))}},{path:"*",meta:"登录",component:function(){return Promise.all([f.e(0),f.e(1)]).then(f.bind(null,"lmfZ"))}}]});h.beforeEach(function(e,a,f){e.name&&(document.title=e.name+" - 天翼云盘管理平台");var c=!1;o.a.forEach(function(a){-1!=e.path.indexOf(a.path)&&(c=!0)}),c?f():i.state.token?f():f({path:"/login",query:{redirect:e.fullPath}})});var p=h,m=f("//Fk"),j=f.n(m),g=f("mtWM"),y=f.n(g),v=f("zL8q"),S=f.n(v),k=f("Zrlr"),A=f.n(k),E=f("wxAW"),w=f.n(E),C=f("Av7u"),z=function(){function e(a,f){A()(this,e),this.key=C.enc.Utf8.parse(a),this.iv=C.enc.Utf8.parse(f);var c=["富强","民主","文明","和谐","自由","平等"],d=c,s=[];for(var t in c){var n=c[t];for(var b in d){var i=d[b];s.push(n+i)}}for(var r=[],o={},l={},u=0;u<26;u++)r.push(String.fromCharCode(97+u));for(var h=0;h<=9;h++)r.push(h);for(var p in r)o[r[p]]=s[p],l[s[p]]=r[p];this.tmp3=o,this.tmp4=l}return w()(e,[{key:"autoEn",value:function(e){e=e.split("");var a="";for(var f in e){var c=e[f];a+=this.tmp3[c]}return a}},{key:"autoDn",value:function(e){e=e.split("");var a="",f="";for(var c in e)f+=e[c],c%4==3&&(a+=this.tmp4[f],f="");return a}},{key:"decrypt",value:function(e){e=this.autoDn(e);var a=C.enc.Hex.parse(e),f=C.enc.Base64.stringify(a),c=C.AES.decrypt(f,this.key,{iv:this.iv,mode:C.mode.CBC,padding:C.pad.Pkcs7}),d=C.enc.Utf8.stringify(c);try{d=JSON.parse(d)}catch(e){}return d}}]),e}();f("hKoQ").polyfill();var x=y.a.create({baseURL:"/api",timeout:1e6,withCredentials:!0}),H=null;x.interceptors.request.use(function(e){return e.headers.loadingNo||(H=S.a.Loading.service({lock:!0,text:e.headers.loadingText||"加载中...",spinner:"el-icon-loading",background:"rgba(0, 0, 0, 0.7)"})),i.state.token&&(e.headers.authorization=i.state.token),e},function(e){return alert("错误的传参","fail"),j.a.reject(e)}),x.interceptors.response.use(function(e){if(H&&H.close(),200!=e.status)return alert(e.error_msg),j.a.reject(e);var a=new z(e.headers["x-fq"],e.headers["x-mz"]);return e.data=a.decrypt(e.data),2e4!=e.data.status?(401==e.data.errMsg?v.MessageBox.confirm("当前登录已失效,是否重新登录?").then(function(e){location.href="/"},function(e){}):navigator.userAgent.match(/(iPhone|iPod|Android|ios|iOS|iPad|Backerry|WebOS|Symbian|Windows Phone|Phone)/i)||e.data.errMsg.errMsg||Object(v.Message)({message:e.data.errMsg,type:"error",duration:5e3}),j.a.reject(e.data.errMsg)):e.data.result},function(e){if(401===e.response.status)location.href="/login";else if(500===e.response.status)return j.a.reject(e.response.data);return j.a.reject(e.response.data)});var P={install:function(e){Object.defineProperty(e.prototype,"$http",{value:x})}},R=f("PJh5"),O=f.n(R),B={install:function(e){Object.defineProperty(e.prototype,"$moment",{value:O.a})}},F=(f("tvR6"),f("w8ZR"),f("Pgpu")),M=f.n(F);c.default.directive("dialogDrag",{bind:function(e,a,f,c){var d=e.querySelector(".el-dialog__header"),s=e.querySelector(".el-dialog");d.style.cursor="move";var t=s.currentStyle||window.getComputedStyle(s,null);d.onmousedown=function(e){var a=e.clientX-d.offsetLeft,f=e.clientY-d.offsetTop,c=void 0,n=void 0;t.left.includes("%")?(c=+document.body.clientWidth*(+t.left.replace(/\%/g,"")/100),n=+document.body.clientHeight*(+t.top.replace(/\%/g,"")/100)):(c=+t.left.replace(/\px/g,""),n=+t.top.replace(/\px/g,"")),document.onmousemove=function(e){var d=e.clientX-a,t=e.clientY-f;s.style.left=d+c+"px",s.style.top=t+n+"px"},document.onmouseup=function(e){document.onmousemove=null,document.onmouseup=null}}}}),c.default.directive("dialogDragWidth",{bind:function(e,a,f,c){var d=a.value.$el.querySelector(".el-dialog");e.onmousedown=function(a){var f=a.clientX-e.offsetLeft;document.onmousemove=function(e){e.preventDefault();var a=e.clientX-f;d.style.width=a+"px"},document.onmouseup=function(e){document.onmousemove=null,document.onmouseup=null}}}});var D=f("/IwO"),q=f.n(D),W=(f("oPmM"),f("wvfG")),T=f.n(W),I=f("QMXR"),N=f.n(I),_=(f("Mv4+"),f("Fd2+"));f("4ml/");c.default.use(T.a),c.default.use(N.a),c.default.use(_.a),c.default.use(q.a),c.default.component("vue-ueditor-wrap",M.a),c.default.use(P),c.default.use(B),c.default.use(S.a),q.a.initAMapApiLoader({key:"8972a7793ca722a8a70732f1dd706f9e",plugin:["AMap.PlaceSearch","AMap.Geolocation"]}),c.default.config.productionTip=!1,new c.default({el:"#app",router:p,store:i,components:{App:s},template:""})},OdzL:function(e,a){},QDfD:function(e,a){e.exports={"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"}},ejIc:function(e,a){e.exports={sha224WithRSAEncryption:{sign:"rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},"RSA-SHA224":{sign:"ecdsa/rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},sha256WithRSAEncryption:{sign:"rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},"RSA-SHA256":{sign:"ecdsa/rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},sha384WithRSAEncryption:{sign:"rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},"RSA-SHA384":{sign:"ecdsa/rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},sha512WithRSAEncryption:{sign:"rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA512":{sign:"ecdsa/rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA1":{sign:"rsa",hash:"sha1",id:"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{sign:"ecdsa",hash:"sha1",id:""},sha256:{sign:"ecdsa",hash:"sha256",id:""},sha224:{sign:"ecdsa",hash:"sha224",id:""},sha384:{sign:"ecdsa",hash:"sha384",id:""},sha512:{sign:"ecdsa",hash:"sha512",id:""},"DSA-SHA":{sign:"dsa",hash:"sha1",id:""},"DSA-SHA1":{sign:"dsa",hash:"sha1",id:""},DSA:{sign:"dsa",hash:"sha1",id:""},"DSA-WITH-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-WITH-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-WITH-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-WITH-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-RIPEMD160":{sign:"dsa",hash:"rmd160",id:""},ripemd160WithRSA:{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},"RSA-RIPEMD160":{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},md5WithRSAEncryption:{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"},"RSA-MD5":{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"}}},oPmM:function(e,a){},tvR6:function(e,a){},uhZt:function(e,a){e.exports=[{path:"/login",name:"登录界面"},{path:"/s/",name:"文件分享"}]},uslO:function(e,a,f){var c={"./af":"3CJN","./af.js":"3CJN","./ar":"3MVc","./ar-dz":"tkWw","./ar-dz.js":"tkWw","./ar-kw":"j8cJ","./ar-kw.js":"j8cJ","./ar-ly":"wPpW","./ar-ly.js":"wPpW","./ar-ma":"dURR","./ar-ma.js":"dURR","./ar-sa":"7OnE","./ar-sa.js":"7OnE","./ar-tn":"BEem","./ar-tn.js":"BEem","./ar.js":"3MVc","./az":"eHwN","./az.js":"eHwN","./be":"3hfc","./be.js":"3hfc","./bg":"lOED","./bg.js":"lOED","./bm":"hng5","./bm.js":"hng5","./bn":"aM0x","./bn.js":"aM0x","./bo":"w2Hs","./bo.js":"w2Hs","./br":"OSsP","./br.js":"OSsP","./bs":"aqvp","./bs.js":"aqvp","./ca":"wIgY","./ca.js":"wIgY","./cs":"ssxj","./cs.js":"ssxj","./cv":"N3vo","./cv.js":"N3vo","./cy":"ZFGz","./cy.js":"ZFGz","./da":"YBA/","./da.js":"YBA/","./de":"DOkx","./de-at":"8v14","./de-at.js":"8v14","./de-ch":"Frex","./de-ch.js":"Frex","./de.js":"DOkx","./dv":"rIuo","./dv.js":"rIuo","./el":"CFqe","./el.js":"CFqe","./en-au":"Sjoy","./en-au.js":"Sjoy","./en-ca":"Tqun","./en-ca.js":"Tqun","./en-gb":"hPuz","./en-gb.js":"hPuz","./en-ie":"ALEw","./en-ie.js":"ALEw","./en-il":"QZk1","./en-il.js":"QZk1","./en-in":"yJfC","./en-in.js":"yJfC","./en-nz":"dyB6","./en-nz.js":"dyB6","./en-sg":"NYST","./en-sg.js":"NYST","./eo":"Nd3h","./eo.js":"Nd3h","./es":"LT9G","./es-do":"7MHZ","./es-do.js":"7MHZ","./es-us":"INcR","./es-us.js":"INcR","./es.js":"LT9G","./et":"XlWM","./et.js":"XlWM","./eu":"sqLM","./eu.js":"sqLM","./fa":"2pmY","./fa.js":"2pmY","./fi":"nS2h","./fi.js":"nS2h","./fil":"rMbQ","./fil.js":"rMbQ","./fo":"OVPi","./fo.js":"OVPi","./fr":"tzHd","./fr-ca":"bXQP","./fr-ca.js":"bXQP","./fr-ch":"VK9h","./fr-ch.js":"VK9h","./fr.js":"tzHd","./fy":"g7KF","./fy.js":"g7KF","./ga":"U5Iz","./ga.js":"U5Iz","./gd":"nLOz","./gd.js":"nLOz","./gl":"FuaP","./gl.js":"FuaP","./gom-deva":"VGQH","./gom-deva.js":"VGQH","./gom-latn":"+27R","./gom-latn.js":"+27R","./gu":"rtsW","./gu.js":"rtsW","./he":"Nzt2","./he.js":"Nzt2","./hi":"ETHv","./hi.js":"ETHv","./hr":"V4qH","./hr.js":"V4qH","./hu":"xne+","./hu.js":"xne+","./hy-am":"GrS7","./hy-am.js":"GrS7","./id":"yRTJ","./id.js":"yRTJ","./is":"upln","./is.js":"upln","./it":"FKXc","./it-ch":"/E8D","./it-ch.js":"/E8D","./it.js":"FKXc","./ja":"ORgI","./ja.js":"ORgI","./jv":"JwiF","./jv.js":"JwiF","./ka":"RnJI","./ka.js":"RnJI","./kk":"j+vx","./kk.js":"j+vx","./km":"5j66","./km.js":"5j66","./kn":"gEQe","./kn.js":"gEQe","./ko":"eBB/","./ko.js":"eBB/","./ku":"kI9l","./ku.js":"kI9l","./ky":"6cf8","./ky.js":"6cf8","./lb":"z3hR","./lb.js":"z3hR","./lo":"nE8X","./lo.js":"nE8X","./lt":"/6P1","./lt.js":"/6P1","./lv":"jxEH","./lv.js":"jxEH","./me":"svD2","./me.js":"svD2","./mi":"gEU3","./mi.js":"gEU3","./mk":"Ab7C","./mk.js":"Ab7C","./ml":"oo1B","./ml.js":"oo1B","./mn":"CqHt","./mn.js":"CqHt","./mr":"5vPg","./mr.js":"5vPg","./ms":"ooba","./ms-my":"G++c","./ms-my.js":"G++c","./ms.js":"ooba","./mt":"oCzW","./mt.js":"oCzW","./my":"F+2e","./my.js":"F+2e","./nb":"FlzV","./nb.js":"FlzV","./ne":"/mhn","./ne.js":"/mhn","./nl":"3K28","./nl-be":"Bp2f","./nl-be.js":"Bp2f","./nl.js":"3K28","./nn":"C7av","./nn.js":"C7av","./oc-lnc":"KOFO","./oc-lnc.js":"KOFO","./pa-in":"pfs9","./pa-in.js":"pfs9","./pl":"7LV+","./pl.js":"7LV+","./pt":"ZoSI","./pt-br":"AoDM","./pt-br.js":"AoDM","./pt.js":"ZoSI","./ro":"wT5f","./ro.js":"wT5f","./ru":"ulq9","./ru.js":"ulq9","./sd":"fW1y","./sd.js":"fW1y","./se":"5Omq","./se.js":"5Omq","./si":"Lgqo","./si.js":"Lgqo","./sk":"OUMt","./sk.js":"OUMt","./sl":"2s1U","./sl.js":"2s1U","./sq":"V0td","./sq.js":"V0td","./sr":"f4W3","./sr-cyrl":"c1x4","./sr-cyrl.js":"c1x4","./sr.js":"f4W3","./ss":"7Q8x","./ss.js":"7Q8x","./sv":"Fpqq","./sv.js":"Fpqq","./sw":"DSXN","./sw.js":"DSXN","./ta":"+7/x","./ta.js":"+7/x","./te":"Nlnz","./te.js":"Nlnz","./tet":"gUgh","./tet.js":"gUgh","./tg":"5SNd","./tg.js":"5SNd","./th":"XzD+","./th.js":"XzD+","./tk":"+WRH","./tk.js":"+WRH","./tl-ph":"3LKG","./tl-ph.js":"3LKG","./tlh":"m7yE","./tlh.js":"m7yE","./tr":"k+5o","./tr.js":"k+5o","./tzl":"iNtv","./tzl.js":"iNtv","./tzm":"FRPF","./tzm-latn":"krPU","./tzm-latn.js":"krPU","./tzm.js":"FRPF","./ug-cn":"To0v","./ug-cn.js":"To0v","./uk":"ntHu","./uk.js":"ntHu","./ur":"uSe8","./ur.js":"uSe8","./uz":"XU1s","./uz-latn":"/bsm","./uz-latn.js":"/bsm","./uz.js":"XU1s","./vi":"0X8Q","./vi.js":"0X8Q","./x-pseudo":"e/KL","./x-pseudo.js":"e/KL","./yo":"YXlc","./yo.js":"YXlc","./zh-cn":"Vz2w","./zh-cn.js":"Vz2w","./zh-hk":"ZUyn","./zh-hk.js":"ZUyn","./zh-mo":"+WA1","./zh-mo.js":"+WA1","./zh-tw":"BbgG","./zh-tw.js":"BbgG"};function d(e){return f(s(e))}function s(e){var a=c[e];if(!(a+1))throw new Error("Cannot find module '"+e+"'.");return a}d.keys=function(){return Object.keys(c)},d.resolve=s,e.exports=d,d.id="uslO"},w8ZR:function(e,a){}},["NHnr"]);
--------------------------------------------------------------------------------
/public/static/js/manifest.d325e88cd3bcd8b1f4c8.js:
--------------------------------------------------------------------------------
1 | !function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,c,a){for(var i,u,d,f=0,s=[];f
12 | ```
13 |
14 | ## 全新安装的话,参考下面的过程
15 |
16 | ### 获取阿里云盘的refresh_token,这里需要用移动端的token
17 |
18 | ### 更改yum源
19 |
20 | ```
21 | curl --silent --location https://rpm.nodesource.com/setup_14.x | sudo bash -
22 | ```
23 | 
24 |
25 |
26 | ### 安装nodejs环境
27 |
28 | ```
29 | yum install nodejs -y
30 | ```
31 | 
32 |
33 |
34 | ### 安装pm2管理器
35 |
36 | ```
37 | npm i pm2 -g
38 | ```
39 | 
40 |
41 |
42 | ### 安装git
43 |
44 | ```
45 | yum install git -y
46 | ```
47 | 
48 |
49 |
50 | ### 下载源码
51 |
52 | ```
53 | git clone https://github.com/badyun/AShare.git
54 | ```
55 | 
56 |
57 |
58 | ### 进入源码目录
59 |
60 | ```
61 | cd AShare
62 | ```
63 |
64 | ### 安装依赖
65 |
66 | ```
67 | npm i
68 | ```
69 | 
70 |
71 |
72 | ### 启动服务
73 |
74 | ```
75 | pm2 start app.js --name AShare -i max
76 | ```
77 | 
78 |
79 |
80 | ### 添加进程守护和开机启动
81 |
82 | ```
83 | pm2 save
84 | pm2 startup
85 | ```
86 | 
87 |
88 |
89 | ### 查看启动日志(默认账户密码)
90 |
91 | ```
92 | pm2 log AShare
93 | ```
94 | 
95 |
96 |
97 | ### 如果要使用443或者80啥的,就自己去设置下反代吧
98 |
99 | ```
100 | 代理就是就是上图看到的服务运行地址,在我这里就是
101 | http://127.0.0.1:5201
102 | ```
103 |
104 | ### 最后打开系统,根据上面日志里的账号密码登录系统,开始新增阿里云盘账号
105 |
106 | 点击新增账号,填入你第一步获取的refresh_token,点击确定即可
107 |
--------------------------------------------------------------------------------
/router/index.js:
--------------------------------------------------------------------------------
1 | const router = require('express').Router();
2 |
3 | const forbidden = (req, res) => {
4 | return res.return({
5 | success: false,
6 | status: 20800,
7 | result: null,
8 | errMsg: 401
9 | })
10 | }
11 |
12 | const fileMode = require('../controller/file');
13 | const fileSMode = require('../controller/fileS');
14 | const accountMode = require('../controller/account');
15 | const shareMode = require('../controller/share');
16 | const userMode = require('../controller/user');
17 |
18 | for (let key in fileSMode) {
19 | router.route('/api/file/' + key)
20 | .post(fileSMode[key].post || forbidden)
21 | .get(fileSMode[key].get || forbidden)
22 | .put(fileSMode[key].put || forbidden)
23 | .delete(fileSMode[key].delete || forbidden)
24 | }
25 | for (let key in accountMode) {
26 | router.route('/api/account/' + key)
27 | .post(accountMode[key].post || forbidden)
28 | .get(accountMode[key].get || forbidden)
29 | .put(accountMode[key].put || forbidden)
30 | .delete(accountMode[key].delete || forbidden)
31 | }
32 | for (let key in shareMode) {
33 | router.route('/api/share/' + key)
34 | .post(shareMode[key].post || forbidden)
35 | .get(shareMode[key].get || forbidden)
36 | .put(shareMode[key].put || forbidden)
37 | .delete(shareMode[key].delete || forbidden)
38 | }
39 | for (let key in userMode) {
40 | router.route('/api/user/' + key)
41 | .post(userMode[key].post || forbidden)
42 | .get(userMode[key].get || forbidden)
43 | .put(userMode[key].put || forbidden)
44 | .delete(userMode[key].delete || forbidden)
45 | }
46 |
47 |
48 | router.route('/file/:user_id/:parent_file_id/:user_name').get(fileMode)
49 |
50 | module.exports = router
--------------------------------------------------------------------------------
/utils/accord.js:
--------------------------------------------------------------------------------
1 | const CryptoJS = require('crypto-js');
2 |
3 | module.exports = class {
4 | constructor(key, iv) {
5 | this.key = CryptoJS.enc.Utf8.parse(key);
6 | this.iv = CryptoJS.enc.Utf8.parse(iv);
7 |
8 | let all = ['富强', '民主', '文明', '和谐', '自由', '平等'];
9 |
10 | let all1 = all
11 | let tmp1 = []
12 | for (let index in all) {
13 | let ele = all[index]
14 | for (let xindex in all1) {
15 | let xele = all1[xindex]
16 | tmp1.push(ele + xele)
17 | }
18 | }
19 |
20 | let tmp2 = []
21 | let tmp3 = {}
22 | let tmp4 = {}
23 |
24 | for (let i = 0; i < 26; i++) {
25 | tmp2.push(String.fromCharCode(97 + i))
26 | }
27 |
28 | for (let i = 0; i <= 9; i++) {
29 | tmp2.push(i)
30 | }
31 |
32 | for (let index in tmp2) {
33 | tmp3[tmp2[index]] = tmp1[index]
34 | tmp4[tmp1[index]] = tmp2[index]
35 | }
36 |
37 | this.tmp3 = tmp3
38 | this.tmp4 = tmp4
39 | }
40 |
41 | autoEn(data) {
42 | data = data.split('');
43 | let r = ''
44 | for (let index in data) {
45 | let ele = data[index]
46 | r += this.tmp3[ele]
47 | }
48 | return r
49 | }
50 |
51 | autoDn(data) {
52 | data = data.split('')
53 | let r = ''
54 | let s = ''
55 | for (let index in data) {
56 | s += data[index]
57 | if (index % 4 == 3) {
58 | r += this.tmp4[s]
59 | s = ''
60 | }
61 | }
62 | return r
63 | }
64 |
65 | // 加密
66 | encrypt(data) {
67 | try {
68 | data = JSON.stringify(data)
69 | } catch (e) {
70 | //TODO handle the exception
71 | }
72 | const result = CryptoJS.AES.encrypt(data, this.key, {
73 | iv: this.iv,
74 | mode: CryptoJS.mode.CBC,
75 | padding: CryptoJS.pad.Pkcs7
76 | });
77 | let hexData = result.ciphertext.toString();
78 | return this.autoEn(hexData);
79 | }
80 |
81 | // 解密
82 | decrypt(cipher) {
83 | cipher = this.autoDn(cipher)
84 | let encryptedHexStr = CryptoJS.enc.Hex.parse(cipher);
85 | let encryptedBase64Str = CryptoJS.enc.Base64.stringify(encryptedHexStr);
86 | const decrypted = CryptoJS.AES.decrypt(encryptedBase64Str, this.key, {
87 | iv: this.iv,
88 | mode: CryptoJS.mode.CBC,
89 | padding: CryptoJS.pad.Pkcs7
90 | });
91 | let result = CryptoJS.enc.Utf8.stringify(decrypted);
92 | try {
93 | result = JSON.parse(result)
94 | } catch (e) {
95 | //TODO handle the exception
96 | }
97 | return result
98 | }
99 | }
100 |
--------------------------------------------------------------------------------
/utils/cloud.js:
--------------------------------------------------------------------------------
1 | const superagent = require('superagent');
2 | const db = require('./db');
3 | module.exports = class {
4 | constructor(id) {
5 | this.info = db('account').find({ id: id }).value()
6 | }
7 |
8 | // 登录
9 | async login(refresh_token) {
10 | try {
11 | if (!refresh_token) {
12 | let s = await superagent.post('https://auth.aliyundrive.com/v2/account/token')
13 | .send({
14 | refresh_token: this.info.refresh_token,
15 | grant_type: "refresh_token"
16 | });
17 |
18 | this.info = db('account').find({ id: this.info.id }).assign(s.body).write();
19 | return this.info
20 | } else {
21 | let s = await superagent.post('https://auth.aliyundrive.com/v2/account/token')
22 | .send({
23 | refresh_token: refresh_token,
24 | grant_type: "refresh_token"
25 | });
26 | let info = db('account').find({ user_id: s.body.user_id }).value()
27 | if (!info) {
28 | info = db('account').insert(s.body).write()
29 | } else {
30 | info = db('account').find({ user_id: s.body.user_id }).assign(s.body).write()
31 | }
32 | this.info = info
33 | return this.info
34 | }
35 |
36 | } catch (error) {
37 | // console.log(error)
38 | return Promise.reject('refresh_token存在问题')
39 | }
40 |
41 | }
42 |
43 | // 请求
44 | async http(url, params = {}) {
45 | return new Promise(async (resolve, reject) => {
46 | try {
47 | let s = await superagent.post(url)
48 | .set({
49 | authorization: 'Bearer ' + this.info.access_token,
50 | referer: 'https://www.aliyundrive.com/',
51 | 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36'
52 | })
53 | .send(params)
54 | resolve(s.body)
55 | } catch (error) {
56 | if (error.status == 401) {
57 | await this.login()
58 | return this.http(url, params)
59 | } else {
60 | reject(error.response.body.message)
61 | }
62 | }
63 | })
64 |
65 | }
66 |
67 | // 获取人信息
68 | async getInfo() {
69 | let s = await this.http('https://api.aliyundrive.com/v2/databox/get_personal_info');
70 | return s
71 | }
72 |
73 | // 列出文件
74 | async list(parent_file_id = 'root', limit = 200, order_by = 'name', order_direction = 'ASC', marker = null, list = []) {
75 | let s = await this.http('https://api.aliyundrive.com/v2/file/list', {
76 | drive_id: this.info.default_drive_id,
77 | fields: "*",
78 | image_thumbnail_process: "image/resize,w_160/format,jpeg",
79 | image_url_process: "image/resize,w_1920/format,jpeg",
80 | limit: limit,
81 | marker: null,
82 | order_by: order_by,
83 | order_direction: order_direction,
84 | parent_file_id: parent_file_id,
85 | video_thumbnail_process: "video/snapshot,t_0,f_jpg,w_300"
86 | })
87 | // console.log(s)
88 | list = list.concat(s.items)
89 | if (s.next_marker) {
90 | return this.list(parent_file_id, limit, order_by, order_direction, marker, list)
91 | } else {
92 | return list
93 | }
94 | }
95 |
96 | // 获取文件信息
97 | async node(file_id, user_name) {
98 | let s = await this.http('https://api.aliyundrive.com/v2/file/get_download_url', {
99 | drive_id: this.info.default_drive_id,
100 | file_id: file_id,
101 | expire_sec: 7200,
102 | file_name: user_name
103 | })
104 | return s
105 | }
106 |
107 | // 列出文件预览
108 | async previewVideo(file_id) {
109 | let s = await this.http('https://api.aliyundrive.com/v2/databox/get_video_play_info', {
110 | drive_id: this.info.default_drive_id,
111 | file_id: file_id
112 | })
113 | return s.template_list
114 | }
115 |
116 | // 获取文件夹信息
117 | async fileInfo(file_id) {
118 | let s = await this.http('https://api.aliyundrive.com/v2/file/get', {
119 | drive_id: this.info.default_drive_id,
120 | file_id: file_id
121 | })
122 | return s
123 | }
124 |
125 |
126 | }
127 |
--------------------------------------------------------------------------------
/utils/db.js:
--------------------------------------------------------------------------------
1 | const lodashId = require('lodash-id')
2 | const low = require('lowdb');
3 | const FileSync = require('lowdb/adapters/FileSync')
4 | const fs = require('fs');
5 | const Accord = require('../utils/accord');
6 | const accord = new Accord('z6V_&H^NC$DDApLz', '(}$B7aT(zW970yHz')
7 |
8 | try {
9 | fs.mkdirSync('./data')
10 | } catch (error) {
11 |
12 | }
13 |
14 | if (!fs.existsSync('./data/这里都是数据库文件,别作死!')) {
15 | fs.writeFileSync('./data/这里都是数据库文件,别作死!', '这里都是数据库文件,别作死!')
16 | }
17 |
18 | module.exports = (name) => {
19 | const adapter = new FileSync(`./data/${name}`, {
20 | serialize: (data) => accord.encrypt(data),
21 | deserialize: (data) => accord.decrypt(data)
22 | })
23 | const db = low(adapter)
24 | db._.mixin(lodashId)
25 | if (!db.has('data').value()) {
26 | db.set('data', []).write()
27 | }
28 | return db.get('data')
29 | }
--------------------------------------------------------------------------------
/utils/filter.js:
--------------------------------------------------------------------------------
1 | const requestIp = require('request-ip');
2 | const whitePath = require('./white');
3 | const randomString = require('random-string');
4 | const path = require('path');
5 | const { createToken, checkToken } = require('./token');
6 | const db = require('./db');
7 | const Accord = require('./accord');
8 | module.exports = async (req, res, next) => {
9 | const 富强 = randomString({
10 | length: 16,
11 | numeric: true,
12 | letters: true,
13 | special: true
14 | });
15 | const 民主 = randomString({
16 | length: 16,
17 | numeric: true,
18 | letters: true,
19 | special: true
20 | });
21 | const accord = new Accord(富强, 民主)
22 | res.header("x-fq", 富强);
23 | res.header("x-mz", 民主);
24 | res.error = (data, status) => {
25 | res.send(accord.encrypt({
26 | success: false,
27 | status: status || 20200,
28 | result: null,
29 | errMsg: data
30 | }))
31 | }
32 | res.return = (data) => {
33 | res.send(accord.encrypt({
34 | success: true,
35 | status: 20000,
36 | result: data,
37 | errMsg: null
38 | }))
39 | }
40 | const info = {
41 | ip: requestIp.getClientIp(req).replace('::ffff:', ''),// 获取ip
42 | url: req.url,// 获取请求路径
43 | path: req._parsedUrl.pathname,// 获取请求path
44 | method: req.method,// 获取请求方式
45 | userAgent: req.headers['user-agent'],// 获取Useragent
46 | query: req.query,
47 | params: req.params,
48 | body: req.body,
49 | db: {
50 | UserMode: db('user'),
51 | AccountMode: db('account'),
52 | ShareMode: db('share')
53 | }
54 | }
55 |
56 | console.info(`[ip] ${info.ip} [method] ${info.method} [url] ${info.url}`)
57 |
58 | let auth = false
59 |
60 | // 白名单匹配
61 | whitePath.forEach(ele => {
62 | if (info.path.indexOf(ele.path) == 0 && ele.method == info.method) {
63 | req.info = info
64 | auth = true
65 | }
66 | if (info.path.indexOf('/file/') == 0) {
67 | req.info = info
68 | auth = true
69 | }
70 | })
71 | if (auth) {
72 | return next()
73 | }
74 |
75 | // 鉴权流程
76 | if (req.headers.authorization) {
77 | const authorization = req.headers.authorization
78 | if (checkToken(authorization)) {
79 | const userInfo = info.db.UserMode.find({ token: authorization }).value()
80 | if (userInfo) {
81 | info.userInfo = userInfo
82 | // const nextToken = createToken({ username: userInfo.username })
83 | // info.db.UserMode.find({ token: authorization }).assign({ token: nextToken }).write()
84 | // info.nextToken = nextToken
85 | req.info = info
86 | // res.header("nextToken", info.nextToken);
87 | return next()
88 | }
89 | }
90 | }
91 |
92 | // 没权限
93 | if (info.path.indexOf('/api/') == 0) {
94 | return res.error(401)
95 | } else {
96 | return res.sendFile(path.join(__dirname, '../public/index.html'))
97 | }
98 | }
--------------------------------------------------------------------------------
/utils/geetest.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var crypto = require('crypto'),
3 | request = require('request'),
4 | pkg = { "version": "1.0.0" },
5 | geeTest = {
6 | geetest_id: '9f92596d4327f7c4ebddff0facd10d52',
7 | geetest_key: '8b45045553e8ecdea78ed499dc552203'
8 | }
9 |
10 | var md5 = function (str) {
11 | return crypto.createHash('md5').update(String(str)).digest('hex');
12 | };
13 | var randint = function (from, to) {
14 | // range: from ~ to
15 | return Math.floor(Math.random() * (to - from + 1) + from);
16 | };
17 | function Geetest(config) {
18 | if (typeof config.geetest_id !== 'string') {
19 | throw new Error('Geetest ID Required');
20 | }
21 | if (typeof config.geetest_key !== 'string') {
22 | throw new Error("Geetest KEY Required");
23 | }
24 | if (typeof config.protocol === 'string') {
25 | this.PROTOCOL = config.protocol;
26 | }
27 | if (typeof config.api_server === 'string') {
28 | this.API_SERVER = config.api_server;
29 | }
30 | if (typeof config.timeout === 'number') {
31 | this.TIMEOUT = config.timeout;
32 | }
33 |
34 | this.geetest_id = config.geetest_id;
35 | this.geetest_key = config.geetest_key;
36 | }
37 | Geetest.prototype = {
38 | PROTOCOL: 'http://',
39 | API_SERVER: 'api.geetest.com',
40 | VALIDATE_PATH: '/validate.php',
41 | REGISTER_PATH: '/register.php',
42 | TIMEOUT: 2000,
43 | NEW_CAPTCHA: true,
44 | JSON_FORMAT: 1,
45 | register: function (data, callback) {
46 | var that = this;
47 | return new Promise(function (resolve, reject) {
48 | that._register(data, function (err, data) {
49 | if (typeof callback === 'function') {
50 | callback(err, data);
51 | }
52 | if (err) {
53 | reject(err);
54 | } else {
55 | resolve(data);
56 | }
57 | });
58 | });
59 | },
60 | _register: function (data, callback) {
61 | data = data || {};
62 | var that = this;
63 | request({
64 | url: this.PROTOCOL + this.API_SERVER + this.REGISTER_PATH,
65 | method: 'GET',
66 | timeout: this.TIMEOUT,
67 | json: true,
68 | qs: {
69 | gt: this.geetest_id,
70 | json_format: this.JSON_FORMAT,
71 | sdk: 'Node_' + pkg.version,
72 | client_type: data.client_type || 'unknown',
73 | ip_address: data.ip_address || 'unknown'
74 | }
75 | }, function (err, res, data) {
76 | var challenge;
77 | if (err || !data || !data.challenge) {
78 | // fallback
79 | challenge = that._make_challenge();
80 | callback(null, {
81 | // success: 0,
82 | challenge: challenge,
83 | gt: that.geetest_id,
84 | new_captcha: that.NEW_CAPTCHA
85 | });
86 | } else {
87 | challenge = md5(data.challenge + that.geetest_key);
88 | callback(null, {
89 | // success: 1,
90 | challenge: challenge,
91 | gt: that.geetest_id,
92 | new_captcha: that.NEW_CAPTCHA
93 | });
94 | }
95 | });
96 | },
97 | validate: function (fallback, result, callback) {
98 | var that = this;
99 | return new Promise(function (resolve, reject) {
100 | that._validate(fallback, result, function (err, data) {
101 | if (typeof callback === 'function') {
102 | callback(err, data);
103 | }
104 | if (err) {
105 | reject(err);
106 | } else {
107 | resolve(data);
108 | }
109 | });
110 | })
111 | },
112 | _validate: function (fallback, result, callback) {
113 | var challenge = result.challenge || result.geetest_challenge;
114 | var validate = result.validate || result.geetest_validate;
115 | var seccode = result.seccode || result.geetest_seccode;
116 | if (fallback) {
117 | if (md5(challenge) === validate) {
118 | callback(null, true);
119 | } else {
120 | callback(null, false);
121 | }
122 | } else {
123 | var hash = this.geetest_key + 'geetest' + challenge;
124 | if (validate === md5(hash)) {
125 | request({
126 | url: this.PROTOCOL + this.API_SERVER + this.VALIDATE_PATH,
127 | method: 'POST',
128 | timeout: this.TIMEOUT,
129 | json: true,
130 | form: {
131 | gt: this.geetest_id,
132 | seccode: seccode,
133 | json_format: this.JSON_FORMAT
134 | }
135 | }, function (err, res, data) {
136 | if (err || !data || !data.seccode) {
137 | callback(err);
138 | } else {
139 | callback(null, data.seccode === md5(seccode));
140 | }
141 | });
142 | } else {
143 | callback(null, false);
144 | }
145 | }
146 | },
147 | _make_challenge: function () {
148 | var rnd1 = randint(0, 90);
149 | var rnd2 = randint(0, 90);
150 | var md5_str1 = md5(rnd1);
151 | var md5_str2 = md5(rnd2);
152 | return md5_str1 + md5_str2.slice(0, 2);
153 | }
154 | };
155 |
156 | const captcha = new Geetest(geeTest);
157 |
158 |
159 |
160 | module.exports = {
161 | registerClick() {
162 | return new Promise((resolve, reject) => {
163 | // 向极验申请每次验证所需的challenge
164 | captcha.register(null, (err, data) => {
165 | if (err) {
166 | // console.log(err)
167 | reject(err)
168 | } else {
169 | resolve(data)
170 | }
171 | });
172 | })
173 | },
174 |
175 | validateClick(geetest_challenge, geetest_validate, geetest_seccode) {
176 | return new Promise((resolve, reject) => {
177 | captcha.validate(null, {
178 | geetest_challenge: geetest_challenge,
179 | geetest_validate: geetest_validate,
180 | geetest_seccode: geetest_seccode
181 | }, (err, success) => {
182 | if (err) {
183 | reject(err)
184 |
185 | } else if (!success) {
186 | resolve(false)
187 | } else {
188 | resolve(true)
189 | }
190 | });
191 | })
192 | }
193 | }
194 |
195 |
196 |
--------------------------------------------------------------------------------
/utils/inject.js:
--------------------------------------------------------------------------------
1 | // 日志输出美化
2 | const moment = require('moment');
3 | require('colors');
4 | console.info = (val) => {
5 | console.log('[Info]'.blue + ' ' + moment(new Date()).format('YYYY-MM-DD hh:mm:ss') + ' ' + val)
6 | }
7 |
8 | // 数据表格式化
9 | console.info('连接数据库')
10 | const db = require('./db');
11 | const UserMode = db('user')
12 | const AccountMode = db('account')
13 | const ShareMode = db('share')
14 |
15 | const userNum = UserMode.size().value();
16 | if (userNum == 0) {
17 | const randomString = require('random-string')
18 | const username = randomString({ length: 6 });
19 | const password = randomString({ length: 16 });
20 | UserMode.insert({
21 | username: username,
22 | password: password,
23 | role: 1,
24 | time: new Date(),
25 | type: true
26 | }).write()
27 | console.info(`初始管理员账号:${username}`)
28 | console.info(`初始管理员密码:${password}`)
29 | } else {
30 | const { username, password } = UserMode.find().value()
31 | console.info(`当前管理员账号:${username}`)
32 | console.info(`当前管理员密码:${password}`)
33 | }
34 |
35 | // 检测可用端口
36 | async function port() {
37 | const portfinder = require('portfinder');
38 | const result = await portfinder.getPortPromise({
39 | port: 5201
40 | })
41 | console.info(`服务运行在:http://127.0.0.1:${result}`)
42 | return result
43 | }
44 |
45 |
46 | module.exports = {
47 | UserMode,
48 | AccountMode,
49 | ShareMode,
50 | port
51 | }
--------------------------------------------------------------------------------
/utils/token.js:
--------------------------------------------------------------------------------
1 | const crypto = require("crypto");
2 |
3 | module.exports = new class {
4 | /**
5 | * 创建token
6 | *
7 | * @param {*} obj
8 | * @param {*} exp
9 | * @returns
10 | */
11 | createToken(params, exp) {
12 | let payload = {
13 | data: params,
14 | created: parseInt(Date.now() / 1000),//token生成的时间的,单位秒
15 | exp: exp || 3600//token有效期,精确到秒
16 | };
17 |
18 | //payload信息
19 | let base64Str = Buffer.from(JSON.stringify(payload), "utf8").toString("base64");
20 |
21 | //添加签名,防篡改
22 | let secret = "作者QQ:1178560551";
23 | let hash = crypto.createHmac('sha256', secret);
24 | hash.update(base64Str);
25 | let signature = hash.digest('base64');
26 |
27 | return base64Str + "." + signature;
28 | }
29 |
30 | checkToken(token) {
31 | let decodeToken = (token) => {
32 |
33 | let decArr = token.split(".");
34 | if (decArr.length < 2) {
35 | //token不合法
36 | return false;
37 | }
38 |
39 | let payload = {};
40 | //将payload json字符串 解析为对象
41 | try {
42 | payload = JSON.parse(Buffer.from(decArr[0], "base64").toString("utf8"));
43 | } catch (e) {
44 | return false;
45 | }
46 |
47 | //检验签名
48 | let secret = "作者QQ:1178560551";
49 | let hash = crypto.createHmac('sha256', secret);
50 | hash.update(decArr[0]);
51 | let checkSignature = hash.digest('base64');
52 |
53 | return {
54 | payload: payload,
55 | signature: decArr[1],
56 | checkSignature: checkSignature
57 | }
58 | }
59 |
60 | let resDecode = decodeToken(token);
61 |
62 | if (!resDecode) {
63 | return false;
64 | }
65 |
66 | //是否过期
67 | let expState = (parseInt(Date.now() / 1000) - parseInt(resDecode.payload.created)) > parseInt(resDecode.payload.exp) ? false : true;
68 |
69 | if (resDecode.signature === resDecode.checkSignature && expState) {
70 | return true;
71 | }
72 |
73 | return false;
74 | }
75 |
76 | }
--------------------------------------------------------------------------------
/utils/white.js:
--------------------------------------------------------------------------------
1 | module.exports = [
2 | {
3 | name: "favicon.ico",
4 | path: '/favicon.ico',
5 | method: 'GET'
6 | },
7 | {
8 | name: '获取管理员登录页验证码',
9 | path: '/api/user/login',
10 | method: 'GET'
11 | },
12 | {
13 | name: '执行登陆请求',
14 | path: '/api/user/login',
15 | method: 'POST'
16 | },
17 | {
18 | name: '获取文件夹信息',
19 | path: '/api/share/public',
20 | method: 'GET'
21 | },
22 | {
23 | name: '视频',
24 | path: '/api/file/previewVideo',
25 | method: 'GET'
26 | },
27 | {
28 | name: '获取下载链接',
29 | path: '/api/share/downLoad',
30 | method: 'GET'
31 | }
32 | ]
--------------------------------------------------------------------------------