提交 aa0b34e9 authored 作者: 曹末's avatar 曹末

bug修改

上级 6e45d29d
{ {
"permissions": { "permissions": {
"openapi": [ "openapi": [
"wxacode.get"
] ]
} }
} }
\ No newline at end of file
const createContract = require('./addContract/index');
const getContract = require('./getContract/index');
const updateContract = require('./updateContract/index');
const deleteContract = require('./deleteContract/index');
// 云函数入口函数
exports.main = async (event, context) => {
switch (event.type) {
case 'get':
return await getContract.main(event, context);
case 'add':
return await createContract.main(event, context);
case 'update':
return await updateContract.main(event, context);
case 'delete':
return await deleteContract.main(event, context);
}
};
\ No newline at end of file
{
"name": "contract",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"wx-server-sdk": "~3.0.1"
}
}
\ No newline at end of file
{
"name": "quickstartFunctions",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "quickstartFunctions",
"version": "1.0.0",
"license": "ISC",
"dependencies": {
"md5": "^2.3.0",
"wx-server-sdk": "~2.4.0"
}
},
"node_modules/@cloudbase/database": {
"version": "1.2.2",
"resolved": "https://registry.npmmirror.com/@cloudbase/database/-/database-1.2.2.tgz",
"integrity": "sha512-14GPoD0vdVnfdN+4rHlMmpkxAekFklt4X2gi33iCuoZUDC62p5LWS7OuTjoronnZ4QPsZPCKm+WsjE8mVD+Hmw==",
"license": "ISC",
"dependencies": {
"bson": "^4.0.3",
"lodash.clonedeep": "4.5.0",
"lodash.set": "4.3.2",
"lodash.unset": "4.5.2"
}
},
"node_modules/@cloudbase/node-sdk": {
"version": "2.4.7",
"resolved": "https://registry.npmmirror.com/@cloudbase/node-sdk/-/node-sdk-2.4.7.tgz",
"integrity": "sha512-gMtp+25nAJzpXTxpZzN7PTtsTdv6m7SNRszMwPpWB3pwAYyefbuOkR505iv+kYugsX6MkbgKjcCQ/F5dpNMMYw==",
"license": "MIT",
"dependencies": {
"@cloudbase/database": "1.2.2",
"@cloudbase/signature-nodejs": "1.0.0-beta.0",
"@types/retry": "^0.12.0",
"agentkeepalive": "^4.1.3",
"is-regex": "^1.0.4",
"jsonwebtoken": "^8.5.1",
"lodash.merge": "^4.6.1",
"request": "^2.87.0",
"request-promise": "^4.2.5",
"retry": "^0.12.0",
"ts-node": "^8.10.2",
"xml2js": "^0.4.19"
},
"engines": {
"node": ">=8.6.0"
}
},
"node_modules/@cloudbase/signature-nodejs": {
"version": "1.0.0-beta.0",
"resolved": "https://registry.npmmirror.com/@cloudbase/signature-nodejs/-/signature-nodejs-1.0.0-beta.0.tgz",
"integrity": "sha512-gpKqwsVk/D2PzvFamYNReymXSdvRSY90eZ1ARf+1wZ8oT6OpK9kr6nmevGykMxN1n17Gn92hBbWqAxU9o3+kAQ==",
"dependencies": {
"@types/clone": "^0.1.30",
"clone": "^2.1.2",
"is-stream": "^2.0.0",
"url": "^0.11.0"
}
},
"node_modules/@protobufjs/aspromise": {
"version": "1.1.2",
"resolved": "https://registry.npmmirror.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
"integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==",
"license": "BSD-3-Clause"
},
"node_modules/@protobufjs/base64": {
"version": "1.1.2",
"resolved": "https://registry.npmmirror.com/@protobufjs/base64/-/base64-1.1.2.tgz",
"integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==",
"license": "BSD-3-Clause"
},
"node_modules/@protobufjs/codegen": {
"version": "2.0.4",
"resolved": "https://registry.npmmirror.com/@protobufjs/codegen/-/codegen-2.0.4.tgz",
"integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==",
"license": "BSD-3-Clause"
},
"node_modules/@protobufjs/eventemitter": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
"integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==",
"license": "BSD-3-Clause"
},
"node_modules/@protobufjs/fetch": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/@protobufjs/fetch/-/fetch-1.1.0.tgz",
"integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
"license": "BSD-3-Clause",
"dependencies": {
"@protobufjs/aspromise": "^1.1.1",
"@protobufjs/inquire": "^1.1.0"
}
},
"node_modules/@protobufjs/float": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/@protobufjs/float/-/float-1.0.2.tgz",
"integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==",
"license": "BSD-3-Clause"
},
"node_modules/@protobufjs/inquire": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/@protobufjs/inquire/-/inquire-1.1.0.tgz",
"integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==",
"license": "BSD-3-Clause"
},
"node_modules/@protobufjs/path": {
"version": "1.1.2",
"resolved": "https://registry.npmmirror.com/@protobufjs/path/-/path-1.1.2.tgz",
"integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==",
"license": "BSD-3-Clause"
},
"node_modules/@protobufjs/pool": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/@protobufjs/pool/-/pool-1.1.0.tgz",
"integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==",
"license": "BSD-3-Clause"
},
"node_modules/@protobufjs/utf8": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/@protobufjs/utf8/-/utf8-1.1.0.tgz",
"integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==",
"license": "BSD-3-Clause"
},
"node_modules/@types/clone": {
"version": "0.1.30",
"resolved": "https://registry.npmmirror.com/@types/clone/-/clone-0.1.30.tgz",
"integrity": "sha512-vcxBr+ybljeSiasmdke1cQ9ICxoEwaBgM1OQ/P5h4MPj/kRyLcDl5L8PrftlbyV1kBbJIs3M3x1A1+rcWd4mEA==",
"license": "MIT"
},
"node_modules/@types/long": {
"version": "4.0.2",
"resolved": "https://registry.npmmirror.com/@types/long/-/long-4.0.2.tgz",
"integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==",
"license": "MIT"
},
"node_modules/@types/node": {
"version": "10.17.60",
"resolved": "https://registry.npmmirror.com/@types/node/-/node-10.17.60.tgz",
"integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==",
"license": "MIT"
},
"node_modules/@types/retry": {
"version": "0.12.5",
"resolved": "https://registry.npmmirror.com/@types/retry/-/retry-0.12.5.tgz",
"integrity": "sha512-3xSjTp3v03X/lSQLkczaN9UIEwJMoMCA1+Nb5HfbJEQWogdeQIyVtTvxPXDQjZ5zws8rFQfVfRdz03ARihPJgw==",
"license": "MIT"
},
"node_modules/agentkeepalive": {
"version": "4.6.0",
"resolved": "https://registry.npmmirror.com/agentkeepalive/-/agentkeepalive-4.6.0.tgz",
"integrity": "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==",
"license": "MIT",
"dependencies": {
"humanize-ms": "^1.2.1"
},
"engines": {
"node": ">= 8.0.0"
}
},
"node_modules/ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/epoberezkin"
}
},
"node_modules/arg": {
"version": "4.1.3",
"resolved": "https://registry.npmmirror.com/arg/-/arg-4.1.3.tgz",
"integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
"license": "MIT"
},
"node_modules/asn1": {
"version": "0.2.6",
"resolved": "https://registry.npmmirror.com/asn1/-/asn1-0.2.6.tgz",
"integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
"license": "MIT",
"dependencies": {
"safer-buffer": "~2.1.0"
}
},
"node_modules/assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
"license": "MIT",
"engines": {
"node": ">=0.8"
}
},
"node_modules/asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
"license": "MIT"
},
"node_modules/aws-sign2": {
"version": "0.7.0",
"resolved": "https://registry.npmmirror.com/aws-sign2/-/aws-sign2-0.7.0.tgz",
"integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==",
"license": "Apache-2.0",
"engines": {
"node": "*"
}
},
"node_modules/aws4": {
"version": "1.13.2",
"resolved": "https://registry.npmmirror.com/aws4/-/aws4-1.13.2.tgz",
"integrity": "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==",
"license": "MIT"
},
"node_modules/base64-js": {
"version": "1.5.1",
"resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz",
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
],
"license": "MIT"
},
"node_modules/bcrypt-pbkdf": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
"integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
"license": "BSD-3-Clause",
"dependencies": {
"tweetnacl": "^0.14.3"
}
},
"node_modules/bluebird": {
"version": "3.7.2",
"resolved": "https://registry.npmmirror.com/bluebird/-/bluebird-3.7.2.tgz",
"integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
"license": "MIT"
},
"node_modules/bson": {
"version": "4.7.2",
"resolved": "https://registry.npmmirror.com/bson/-/bson-4.7.2.tgz",
"integrity": "sha512-Ry9wCtIZ5kGqkJoi6aD8KjxFZEx78guTQDnpXWiNthsxzrxAK/i8E6pCHAIZTbaEFWcOCvbecMukfK7XUvyLpQ==",
"license": "Apache-2.0",
"dependencies": {
"buffer": "^5.6.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/buffer": {
"version": "5.7.1",
"resolved": "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz",
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
],
"license": "MIT",
"dependencies": {
"base64-js": "^1.3.1",
"ieee754": "^1.1.13"
}
},
"node_modules/buffer-equal-constant-time": {
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
"integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==",
"license": "BSD-3-Clause"
},
"node_modules/buffer-from": {
"version": "1.1.2",
"resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz",
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
"license": "MIT"
},
"node_modules/call-bind-apply-helpers": {
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz",
"integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==",
"license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
"function-bind": "^1.1.2"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/call-bound": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/call-bound/-/call-bound-1.0.3.tgz",
"integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==",
"license": "MIT",
"dependencies": {
"call-bind-apply-helpers": "^1.0.1",
"get-intrinsic": "^1.2.6"
},
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/caseless": {
"version": "0.12.0",
"resolved": "https://registry.npmmirror.com/caseless/-/caseless-0.12.0.tgz",
"integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==",
"license": "Apache-2.0"
},
"node_modules/charenc": {
"version": "0.0.2",
"resolved": "https://registry.npmmirror.com/charenc/-/charenc-0.0.2.tgz",
"integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==",
"license": "BSD-3-Clause",
"engines": {
"node": "*"
}
},
"node_modules/clone": {
"version": "2.1.2",
"resolved": "https://registry.npmmirror.com/clone/-/clone-2.1.2.tgz",
"integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==",
"license": "MIT",
"engines": {
"node": ">=0.8"
}
},
"node_modules/combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"license": "MIT",
"dependencies": {
"delayed-stream": "~1.0.0"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.2.tgz",
"integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==",
"license": "MIT"
},
"node_modules/crypt": {
"version": "0.0.2",
"resolved": "https://registry.npmmirror.com/crypt/-/crypt-0.0.2.tgz",
"integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==",
"license": "BSD-3-Clause",
"engines": {
"node": "*"
}
},
"node_modules/dashdash": {
"version": "1.14.1",
"resolved": "https://registry.npmmirror.com/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
"license": "MIT",
"dependencies": {
"assert-plus": "^1.0.0"
},
"engines": {
"node": ">=0.10"
}
},
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
"license": "MIT",
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/diff": {
"version": "4.0.2",
"resolved": "https://registry.npmmirror.com/diff/-/diff-4.0.2.tgz",
"integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
"license": "BSD-3-Clause",
"engines": {
"node": ">=0.3.1"
}
},
"node_modules/dunder-proto": {
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz",
"integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
"license": "MIT",
"dependencies": {
"call-bind-apply-helpers": "^1.0.1",
"es-errors": "^1.3.0",
"gopd": "^1.2.0"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/ecc-jsbn": {
"version": "0.1.2",
"resolved": "https://registry.npmmirror.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
"integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
"license": "MIT",
"dependencies": {
"jsbn": "~0.1.0",
"safer-buffer": "^2.1.0"
}
},
"node_modules/ecdsa-sig-formatter": {
"version": "1.0.11",
"resolved": "https://registry.npmmirror.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
"integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==",
"license": "Apache-2.0",
"dependencies": {
"safe-buffer": "^5.0.1"
}
},
"node_modules/es-define-property": {
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz",
"integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
"license": "MIT",
"engines": {
"node": ">= 0.4"
}
},
"node_modules/es-errors": {
"version": "1.3.0",
"resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz",
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
"license": "MIT",
"engines": {
"node": ">= 0.4"
}
},
"node_modules/es-object-atoms": {
"version": "1.1.1",
"resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
"integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
"license": "MIT",
"dependencies": {
"es-errors": "^1.3.0"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/extend": {
"version": "3.0.2",
"resolved": "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz",
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
"license": "MIT"
},
"node_modules/extsprintf": {
"version": "1.3.0",
"resolved": "https://registry.npmmirror.com/extsprintf/-/extsprintf-1.3.0.tgz",
"integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==",
"engines": [
"node >=0.6.0"
],
"license": "MIT"
},
"node_modules/fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
"license": "MIT"
},
"node_modules/fast-json-stable-stringify": {
"version": "2.1.0",
"resolved": "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
"license": "MIT"
},
"node_modules/forever-agent": {
"version": "0.6.1",
"resolved": "https://registry.npmmirror.com/forever-agent/-/forever-agent-0.6.1.tgz",
"integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==",
"license": "Apache-2.0",
"engines": {
"node": "*"
}
},
"node_modules/form-data": {
"version": "2.3.3",
"resolved": "https://registry.npmmirror.com/form-data/-/form-data-2.3.3.tgz",
"integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
"license": "MIT",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.6",
"mime-types": "^2.1.12"
},
"engines": {
"node": ">= 0.12"
}
},
"node_modules/function-bind": {
"version": "1.1.2",
"resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz",
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/get-intrinsic": {
"version": "1.2.7",
"resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.7.tgz",
"integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==",
"license": "MIT",
"dependencies": {
"call-bind-apply-helpers": "^1.0.1",
"es-define-property": "^1.0.1",
"es-errors": "^1.3.0",
"es-object-atoms": "^1.0.0",
"function-bind": "^1.1.2",
"get-proto": "^1.0.0",
"gopd": "^1.2.0",
"has-symbols": "^1.1.0",
"hasown": "^2.0.2",
"math-intrinsics": "^1.1.0"
},
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/get-proto": {
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz",
"integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
"license": "MIT",
"dependencies": {
"dunder-proto": "^1.0.1",
"es-object-atoms": "^1.0.0"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/getpass": {
"version": "0.1.7",
"resolved": "https://registry.npmmirror.com/getpass/-/getpass-0.1.7.tgz",
"integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
"license": "MIT",
"dependencies": {
"assert-plus": "^1.0.0"
}
},
"node_modules/gopd": {
"version": "1.2.0",
"resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz",
"integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
"license": "MIT",
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/har-schema": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/har-schema/-/har-schema-2.0.0.tgz",
"integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==",
"license": "ISC",
"engines": {
"node": ">=4"
}
},
"node_modules/har-validator": {
"version": "5.1.5",
"resolved": "https://registry.npmmirror.com/har-validator/-/har-validator-5.1.5.tgz",
"integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
"deprecated": "this library is no longer supported",
"license": "MIT",
"dependencies": {
"ajv": "^6.12.3",
"har-schema": "^2.0.0"
},
"engines": {
"node": ">=6"
}
},
"node_modules/has-symbols": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz",
"integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
"license": "MIT",
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/has-tostringtag": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
"integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
"license": "MIT",
"dependencies": {
"has-symbols": "^1.0.3"
},
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/hasown": {
"version": "2.0.2",
"resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz",
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
"license": "MIT",
"dependencies": {
"function-bind": "^1.1.2"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/http-signature": {
"version": "1.2.0",
"resolved": "https://registry.npmmirror.com/http-signature/-/http-signature-1.2.0.tgz",
"integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==",
"license": "MIT",
"dependencies": {
"assert-plus": "^1.0.0",
"jsprim": "^1.2.2",
"sshpk": "^1.7.0"
},
"engines": {
"node": ">=0.8",
"npm": ">=1.3.7"
}
},
"node_modules/humanize-ms": {
"version": "1.2.1",
"resolved": "https://registry.npmmirror.com/humanize-ms/-/humanize-ms-1.2.1.tgz",
"integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
"license": "MIT",
"dependencies": {
"ms": "^2.0.0"
}
},
"node_modules/ieee754": {
"version": "1.2.1",
"resolved": "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz",
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
],
"license": "BSD-3-Clause"
},
"node_modules/is-buffer": {
"version": "1.1.6",
"resolved": "https://registry.npmmirror.com/is-buffer/-/is-buffer-1.1.6.tgz",
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
"license": "MIT"
},
"node_modules/is-regex": {
"version": "1.2.1",
"resolved": "https://registry.npmmirror.com/is-regex/-/is-regex-1.2.1.tgz",
"integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==",
"license": "MIT",
"dependencies": {
"call-bound": "^1.0.2",
"gopd": "^1.2.0",
"has-tostringtag": "^1.0.2",
"hasown": "^2.0.2"
},
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/is-stream": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz",
"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
"license": "MIT",
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/is-typedarray/-/is-typedarray-1.0.0.tgz",
"integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==",
"license": "MIT"
},
"node_modules/isstream": {
"version": "0.1.2",
"resolved": "https://registry.npmmirror.com/isstream/-/isstream-0.1.2.tgz",
"integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==",
"license": "MIT"
},
"node_modules/jsbn": {
"version": "0.1.1",
"resolved": "https://registry.npmmirror.com/jsbn/-/jsbn-0.1.1.tgz",
"integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==",
"license": "MIT"
},
"node_modules/json-schema": {
"version": "0.4.0",
"resolved": "https://registry.npmmirror.com/json-schema/-/json-schema-0.4.0.tgz",
"integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
"license": "(AFL-2.1 OR BSD-3-Clause)"
},
"node_modules/json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
"license": "MIT"
},
"node_modules/json-stringify-safe": {
"version": "5.0.1",
"resolved": "https://registry.npmmirror.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
"license": "ISC"
},
"node_modules/jsonwebtoken": {
"version": "8.5.1",
"resolved": "https://registry.npmmirror.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz",
"integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==",
"license": "MIT",
"dependencies": {
"jws": "^3.2.2",
"lodash.includes": "^4.3.0",
"lodash.isboolean": "^3.0.3",
"lodash.isinteger": "^4.0.4",
"lodash.isnumber": "^3.0.3",
"lodash.isplainobject": "^4.0.6",
"lodash.isstring": "^4.0.1",
"lodash.once": "^4.0.0",
"ms": "^2.1.1",
"semver": "^5.6.0"
},
"engines": {
"node": ">=4",
"npm": ">=1.4.28"
}
},
"node_modules/jsprim": {
"version": "1.4.2",
"resolved": "https://registry.npmmirror.com/jsprim/-/jsprim-1.4.2.tgz",
"integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
"license": "MIT",
"dependencies": {
"assert-plus": "1.0.0",
"extsprintf": "1.3.0",
"json-schema": "0.4.0",
"verror": "1.10.0"
},
"engines": {
"node": ">=0.6.0"
}
},
"node_modules/jwa": {
"version": "1.4.1",
"resolved": "https://registry.npmmirror.com/jwa/-/jwa-1.4.1.tgz",
"integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==",
"license": "MIT",
"dependencies": {
"buffer-equal-constant-time": "1.0.1",
"ecdsa-sig-formatter": "1.0.11",
"safe-buffer": "^5.0.1"
}
},
"node_modules/jws": {
"version": "3.2.2",
"resolved": "https://registry.npmmirror.com/jws/-/jws-3.2.2.tgz",
"integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==",
"license": "MIT",
"dependencies": {
"jwa": "^1.4.1",
"safe-buffer": "^5.0.1"
}
},
"node_modules/lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"license": "MIT"
},
"node_modules/lodash.clonedeep": {
"version": "4.5.0",
"resolved": "https://registry.npmmirror.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
"integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==",
"license": "MIT"
},
"node_modules/lodash.includes": {
"version": "4.3.0",
"resolved": "https://registry.npmmirror.com/lodash.includes/-/lodash.includes-4.3.0.tgz",
"integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==",
"license": "MIT"
},
"node_modules/lodash.isboolean": {
"version": "3.0.3",
"resolved": "https://registry.npmmirror.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz",
"integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==",
"license": "MIT"
},
"node_modules/lodash.isinteger": {
"version": "4.0.4",
"resolved": "https://registry.npmmirror.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz",
"integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==",
"license": "MIT"
},
"node_modules/lodash.isnumber": {
"version": "3.0.3",
"resolved": "https://registry.npmmirror.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz",
"integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==",
"license": "MIT"
},
"node_modules/lodash.isplainobject": {
"version": "4.0.6",
"resolved": "https://registry.npmmirror.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
"integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==",
"license": "MIT"
},
"node_modules/lodash.isstring": {
"version": "4.0.1",
"resolved": "https://registry.npmmirror.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
"integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==",
"license": "MIT"
},
"node_modules/lodash.merge": {
"version": "4.6.2",
"resolved": "https://registry.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz",
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
"license": "MIT"
},
"node_modules/lodash.once": {
"version": "4.1.1",
"resolved": "https://registry.npmmirror.com/lodash.once/-/lodash.once-4.1.1.tgz",
"integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==",
"license": "MIT"
},
"node_modules/lodash.set": {
"version": "4.3.2",
"resolved": "https://registry.npmmirror.com/lodash.set/-/lodash.set-4.3.2.tgz",
"integrity": "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==",
"license": "MIT"
},
"node_modules/lodash.unset": {
"version": "4.5.2",
"resolved": "https://registry.npmmirror.com/lodash.unset/-/lodash.unset-4.5.2.tgz",
"integrity": "sha512-bwKX88k2JhCV9D1vtE8+naDKlLiGrSmf8zi/Y9ivFHwbmRfA8RxS/aVJ+sIht2XOwqoNr4xUPUkGZpc1sHFEKg==",
"license": "MIT"
},
"node_modules/long": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/long/-/long-4.0.0.tgz",
"integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==",
"license": "Apache-2.0"
},
"node_modules/make-error": {
"version": "1.3.6",
"resolved": "https://registry.npmmirror.com/make-error/-/make-error-1.3.6.tgz",
"integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
"license": "ISC"
},
"node_modules/math-intrinsics": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
"integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
"license": "MIT",
"engines": {
"node": ">= 0.4"
}
},
"node_modules/md5": {
"version": "2.3.0",
"resolved": "https://registry.npmmirror.com/md5/-/md5-2.3.0.tgz",
"integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==",
"license": "BSD-3-Clause",
"dependencies": {
"charenc": "0.0.2",
"crypt": "0.0.2",
"is-buffer": "~1.1.6"
}
},
"node_modules/mime-db": {
"version": "1.52.0",
"resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz",
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
"license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/mime-types": {
"version": "2.1.35",
"resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz",
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
"license": "MIT",
"dependencies": {
"mime-db": "1.52.0"
},
"engines": {
"node": ">= 0.6"
}
},
"node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"license": "MIT"
},
"node_modules/oauth-sign": {
"version": "0.9.0",
"resolved": "https://registry.npmmirror.com/oauth-sign/-/oauth-sign-0.9.0.tgz",
"integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
"license": "Apache-2.0",
"engines": {
"node": "*"
}
},
"node_modules/object-inspect": {
"version": "1.13.3",
"resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.3.tgz",
"integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==",
"license": "MIT",
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/performance-now": {
"version": "2.1.0",
"resolved": "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz",
"integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==",
"license": "MIT"
},
"node_modules/protobufjs": {
"version": "6.8.8",
"resolved": "https://registry.npmmirror.com/protobufjs/-/protobufjs-6.8.8.tgz",
"integrity": "sha512-AAmHtD5pXgZfi7GMpllpO3q1Xw1OYldr+dMUlAnffGTAhqkg72WdmSY71uKBF/JuyiKs8psYbtKrhi0ASCD8qw==",
"hasInstallScript": true,
"license": "BSD-3-Clause",
"dependencies": {
"@protobufjs/aspromise": "^1.1.2",
"@protobufjs/base64": "^1.1.2",
"@protobufjs/codegen": "^2.0.4",
"@protobufjs/eventemitter": "^1.1.0",
"@protobufjs/fetch": "^1.1.0",
"@protobufjs/float": "^1.0.2",
"@protobufjs/inquire": "^1.1.0",
"@protobufjs/path": "^1.1.2",
"@protobufjs/pool": "^1.1.0",
"@protobufjs/utf8": "^1.1.0",
"@types/long": "^4.0.0",
"@types/node": "^10.1.0",
"long": "^4.0.0"
},
"bin": {
"pbjs": "bin/pbjs",
"pbts": "bin/pbts"
}
},
"node_modules/psl": {
"version": "1.15.0",
"resolved": "https://registry.npmmirror.com/psl/-/psl-1.15.0.tgz",
"integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==",
"license": "MIT",
"dependencies": {
"punycode": "^2.3.1"
},
"funding": {
"url": "https://github.com/sponsors/lupomontero"
}
},
"node_modules/punycode": {
"version": "2.3.1",
"resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz",
"integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
"license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/qs": {
"version": "6.5.3",
"resolved": "https://registry.npmmirror.com/qs/-/qs-6.5.3.tgz",
"integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
"license": "BSD-3-Clause",
"engines": {
"node": ">=0.6"
}
},
"node_modules/request": {
"version": "2.88.2",
"resolved": "https://registry.npmmirror.com/request/-/request-2.88.2.tgz",
"integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
"deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
"license": "Apache-2.0",
"dependencies": {
"aws-sign2": "~0.7.0",
"aws4": "^1.8.0",
"caseless": "~0.12.0",
"combined-stream": "~1.0.6",
"extend": "~3.0.2",
"forever-agent": "~0.6.1",
"form-data": "~2.3.2",
"har-validator": "~5.1.3",
"http-signature": "~1.2.0",
"is-typedarray": "~1.0.0",
"isstream": "~0.1.2",
"json-stringify-safe": "~5.0.1",
"mime-types": "~2.1.19",
"oauth-sign": "~0.9.0",
"performance-now": "^2.1.0",
"qs": "~6.5.2",
"safe-buffer": "^5.1.2",
"tough-cookie": "~2.5.0",
"tunnel-agent": "^0.6.0",
"uuid": "^3.3.2"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/request-promise": {
"version": "4.2.6",
"resolved": "https://registry.npmmirror.com/request-promise/-/request-promise-4.2.6.tgz",
"integrity": "sha512-HCHI3DJJUakkOr8fNoCc73E5nU5bqITjOYFMDrKHYOXWXrgD/SBaC7LjwuPymUprRyuF06UK7hd/lMHkmUXglQ==",
"deprecated": "request-promise has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142",
"license": "ISC",
"dependencies": {
"bluebird": "^3.5.0",
"request-promise-core": "1.1.4",
"stealthy-require": "^1.1.1",
"tough-cookie": "^2.3.3"
},
"engines": {
"node": ">=0.10.0"
},
"peerDependencies": {
"request": "^2.34"
}
},
"node_modules/request-promise-core": {
"version": "1.1.4",
"resolved": "https://registry.npmmirror.com/request-promise-core/-/request-promise-core-1.1.4.tgz",
"integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==",
"license": "ISC",
"dependencies": {
"lodash": "^4.17.19"
},
"engines": {
"node": ">=0.10.0"
},
"peerDependencies": {
"request": "^2.34"
}
},
"node_modules/retry": {
"version": "0.12.0",
"resolved": "https://registry.npmmirror.com/retry/-/retry-0.12.0.tgz",
"integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==",
"license": "MIT",
"engines": {
"node": ">= 4"
}
},
"node_modules/safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
],
"license": "MIT"
},
"node_modules/safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"license": "MIT"
},
"node_modules/sax": {
"version": "1.4.1",
"resolved": "https://registry.npmmirror.com/sax/-/sax-1.4.1.tgz",
"integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==",
"license": "ISC"
},
"node_modules/semver": {
"version": "5.7.2",
"resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz",
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
"license": "ISC",
"bin": {
"semver": "bin/semver"
}
},
"node_modules/side-channel": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.1.0.tgz",
"integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
"license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
"object-inspect": "^1.13.3",
"side-channel-list": "^1.0.0",
"side-channel-map": "^1.0.1",
"side-channel-weakmap": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/side-channel-list": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/side-channel-list/-/side-channel-list-1.0.0.tgz",
"integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
"license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
"object-inspect": "^1.13.3"
},
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/side-channel-map": {
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/side-channel-map/-/side-channel-map-1.0.1.tgz",
"integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
"license": "MIT",
"dependencies": {
"call-bound": "^1.0.2",
"es-errors": "^1.3.0",
"get-intrinsic": "^1.2.5",
"object-inspect": "^1.13.3"
},
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/side-channel-weakmap": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
"integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
"license": "MIT",
"dependencies": {
"call-bound": "^1.0.2",
"es-errors": "^1.3.0",
"get-intrinsic": "^1.2.5",
"object-inspect": "^1.13.3",
"side-channel-map": "^1.0.1"
},
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/source-map-support": {
"version": "0.5.21",
"resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz",
"integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
"license": "MIT",
"dependencies": {
"buffer-from": "^1.0.0",
"source-map": "^0.6.0"
}
},
"node_modules/sshpk": {
"version": "1.18.0",
"resolved": "https://registry.npmmirror.com/sshpk/-/sshpk-1.18.0.tgz",
"integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==",
"license": "MIT",
"dependencies": {
"asn1": "~0.2.3",
"assert-plus": "^1.0.0",
"bcrypt-pbkdf": "^1.0.0",
"dashdash": "^1.12.0",
"ecc-jsbn": "~0.1.1",
"getpass": "^0.1.1",
"jsbn": "~0.1.0",
"safer-buffer": "^2.0.2",
"tweetnacl": "~0.14.0"
},
"bin": {
"sshpk-conv": "bin/sshpk-conv",
"sshpk-sign": "bin/sshpk-sign",
"sshpk-verify": "bin/sshpk-verify"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/stealthy-require": {
"version": "1.1.1",
"resolved": "https://registry.npmmirror.com/stealthy-require/-/stealthy-require-1.1.1.tgz",
"integrity": "sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==",
"license": "ISC",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/tcb-admin-node": {
"version": "1.23.0",
"resolved": "https://registry.npmmirror.com/tcb-admin-node/-/tcb-admin-node-1.23.0.tgz",
"integrity": "sha512-SAbjTqMsSi63SId1BJ4kWdyGJzhxh9Tjvy3YXxcsoaAC2PtASn4UIYsBsiNEUfcn58QEn2tdvCvvf69WLLjjrg==",
"license": "MIT",
"dependencies": {
"@cloudbase/database": "0.9.15",
"@cloudbase/signature-nodejs": "^1.0.0-beta.0",
"is-regex": "^1.0.4",
"jsonwebtoken": "^8.5.1",
"lodash.merge": "^4.6.1",
"request": "^2.87.0",
"xml2js": "^0.4.19"
},
"engines": {
"node": ">=8.6.0"
}
},
"node_modules/tcb-admin-node/node_modules/@cloudbase/database": {
"version": "0.9.15",
"resolved": "https://registry.npmmirror.com/@cloudbase/database/-/database-0.9.15.tgz",
"integrity": "sha512-63e7iIl+van41B39Tw4ScNe9TRCt+5GHjc7q6i8NzkWBLC3U3KlbWo79YHsUHUPI79POpQ8UMlMVo7HXIAO3dg==",
"license": "ISC",
"dependencies": {
"bson": "^4.0.2",
"lodash.clonedeep": "4.5.0",
"lodash.set": "4.3.2",
"lodash.unset": "4.5.2"
}
},
"node_modules/tough-cookie": {
"version": "2.5.0",
"resolved": "https://registry.npmmirror.com/tough-cookie/-/tough-cookie-2.5.0.tgz",
"integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
"license": "BSD-3-Clause",
"dependencies": {
"psl": "^1.1.28",
"punycode": "^2.1.1"
},
"engines": {
"node": ">=0.8"
}
},
"node_modules/ts-node": {
"version": "8.10.2",
"resolved": "https://registry.npmmirror.com/ts-node/-/ts-node-8.10.2.tgz",
"integrity": "sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==",
"license": "MIT",
"dependencies": {
"arg": "^4.1.0",
"diff": "^4.0.1",
"make-error": "^1.1.1",
"source-map-support": "^0.5.17",
"yn": "3.1.1"
},
"bin": {
"ts-node": "dist/bin.js",
"ts-node-script": "dist/bin-script.js",
"ts-node-transpile-only": "dist/bin-transpile.js",
"ts-script": "dist/bin-script-deprecated.js"
},
"engines": {
"node": ">=6.0.0"
},
"peerDependencies": {
"typescript": ">=2.7"
}
},
"node_modules/tslib": {
"version": "1.14.1",
"resolved": "https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz",
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
"license": "0BSD"
},
"node_modules/tunnel-agent": {
"version": "0.6.0",
"resolved": "https://registry.npmmirror.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
"license": "Apache-2.0",
"dependencies": {
"safe-buffer": "^5.0.1"
},
"engines": {
"node": "*"
}
},
"node_modules/tweetnacl": {
"version": "0.14.5",
"resolved": "https://registry.npmmirror.com/tweetnacl/-/tweetnacl-0.14.5.tgz",
"integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==",
"license": "Unlicense"
},
"node_modules/typescript": {
"version": "5.7.3",
"resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.7.3.tgz",
"integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==",
"license": "Apache-2.0",
"peer": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
},
"engines": {
"node": ">=14.17"
}
},
"node_modules/uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz",
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"license": "BSD-2-Clause",
"dependencies": {
"punycode": "^2.1.0"
}
},
"node_modules/url": {
"version": "0.11.4",
"resolved": "https://registry.npmmirror.com/url/-/url-0.11.4.tgz",
"integrity": "sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==",
"license": "MIT",
"dependencies": {
"punycode": "^1.4.1",
"qs": "^6.12.3"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/url/node_modules/punycode": {
"version": "1.4.1",
"resolved": "https://registry.npmmirror.com/punycode/-/punycode-1.4.1.tgz",
"integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==",
"license": "MIT"
},
"node_modules/url/node_modules/qs": {
"version": "6.14.0",
"resolved": "https://registry.npmmirror.com/qs/-/qs-6.14.0.tgz",
"integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==",
"license": "BSD-3-Clause",
"dependencies": {
"side-channel": "^1.1.0"
},
"engines": {
"node": ">=0.6"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/uuid": {
"version": "3.4.0",
"resolved": "https://registry.npmmirror.com/uuid/-/uuid-3.4.0.tgz",
"integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
"deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
"license": "MIT",
"bin": {
"uuid": "bin/uuid"
}
},
"node_modules/verror": {
"version": "1.10.0",
"resolved": "https://registry.npmmirror.com/verror/-/verror-1.10.0.tgz",
"integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
"engines": [
"node >=0.6.0"
],
"license": "MIT",
"dependencies": {
"assert-plus": "^1.0.0",
"core-util-is": "1.0.2",
"extsprintf": "^1.2.0"
}
},
"node_modules/wx-server-sdk": {
"version": "2.4.0",
"resolved": "https://registry.npmmirror.com/wx-server-sdk/-/wx-server-sdk-2.4.0.tgz",
"integrity": "sha512-+d/OAUgt3LVlIwC/EEd9oHK2VltMqvoSa3Z797sgZ/hBm/Z+bhYBX3PfrRgn41fprzNk49jdbmw8Rkwa4JryIQ==",
"license": "MIT",
"dependencies": {
"@cloudbase/node-sdk": "2.4.7",
"protobufjs": "6.8.8",
"tcb-admin-node": "latest",
"tslib": "^1.9.3"
}
},
"node_modules/xml2js": {
"version": "0.4.23",
"resolved": "https://registry.npmmirror.com/xml2js/-/xml2js-0.4.23.tgz",
"integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
"license": "MIT",
"dependencies": {
"sax": ">=0.6.0",
"xmlbuilder": "~11.0.0"
},
"engines": {
"node": ">=4.0.0"
}
},
"node_modules/xmlbuilder": {
"version": "11.0.1",
"resolved": "https://registry.npmmirror.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
"integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
"license": "MIT",
"engines": {
"node": ">=4.0"
}
},
"node_modules/yn": {
"version": "3.1.1",
"resolved": "https://registry.npmmirror.com/yn/-/yn-3.1.1.tgz",
"integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
"license": "MIT",
"engines": {
"node": ">=6"
}
}
}
}
...@@ -22,7 +22,7 @@ exports.main = async (event) => { ...@@ -22,7 +22,7 @@ exports.main = async (event) => {
if (data.length !== 0) { if (data.length !== 0) {
return { return {
success: false, success: false,
msg: "用户名重复" msg: "账号重复"
} }
} }
......
{
"permissions": {
"openapi": [
]
}
}
\ No newline at end of file
const createContract = require('./createContract/index');
const getContract = require('./getContract/index');
const login = require('./login/index'); const login = require('./login/index');
const getUser = require('./getUser/index'); const getUser = require('./getUser/index');
const updateContract = require('./updateContract/index');
const deleteContract = require('./deleteContract/index');
const addUser = require('./addUser/index'); const addUser = require('./addUser/index');
const deleteUser = require('./deleteUser/index'); const deleteUser = require('./deleteUser/index');
const updateUser = require('./updateUser/index'); const updateUser = require('./updateUser/index');
...@@ -11,23 +7,15 @@ const updateUser = require('./updateUser/index'); ...@@ -11,23 +7,15 @@ const updateUser = require('./updateUser/index');
// 云函数入口函数 // 云函数入口函数
exports.main = async (event, context) => { exports.main = async (event, context) => {
switch (event.type) { switch (event.type) {
case 'getContract': case 'add':
return await getContract.main(event, context);
case 'createContract':
return await createContract.main(event, context);
case 'updateContract':
return await updateContract.main(event, context);
case 'deleteContract':
return await deleteContract.main(event, context);
case 'login':
return await login.main(event, context);
case 'getUser':
return await getUser.main(event, context);
case 'addUser':
return await addUser.main(event, context); return await addUser.main(event, context);
case 'deleteUser': case 'delete':
return await deleteUser.main(event, context); return await deleteUser.main(event, context);
case 'updateUser': case 'update':
return await updateUser.main(event, context); return await updateUser.main(event, context);
case 'login':
return await login.main(event, context);
case 'get':
return await getUser.main(event, context);
} }
}; };
\ No newline at end of file
...@@ -10,7 +10,6 @@ exports.main = async (event) => { ...@@ -10,7 +10,6 @@ exports.main = async (event) => {
} = event.data } = event.data
const db = cloud.database(); const db = cloud.database();
const _ = db.command const _ = db.command
// 如果云函数所在环境为 abc,则下面的调用就会请求到 abc 环境的数据库
let user = await db.collection('user').where({ let user = await db.collection('user').where({
username: _.eq(username) username: _.eq(username)
}).get() }).get()
...@@ -18,7 +17,7 @@ exports.main = async (event) => { ...@@ -18,7 +17,7 @@ exports.main = async (event) => {
if (!user || (user.password !== password)) { if (!user || (user.password !== password)) {
return { return {
success: false, success: false,
msg: "用户名或密码错误", msg: "账号或密码错误",
} }
} else { } else {
return { return {
......
{ {
"name": "test1", "name": "user",
"version": "1.0.0", "version": "1.0.0",
"description": "", "description": "",
"main": "index.js", "main": "index.js",
...@@ -9,6 +9,6 @@ ...@@ -9,6 +9,6 @@
"author": "", "author": "",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"wx-server-sdk": "~2.4.0" "wx-server-sdk": "~3.0.1"
} }
} }
\ No newline at end of file
...@@ -22,7 +22,7 @@ exports.main = async (event) => { ...@@ -22,7 +22,7 @@ exports.main = async (event) => {
if (data.length > 1) { if (data.length > 1) {
return { return {
success: false, success: false,
msg: "用户名重复" msg: "账号重复"
} }
} }
...@@ -33,6 +33,17 @@ exports.main = async (event) => { ...@@ -33,6 +33,17 @@ exports.main = async (event) => {
isAdmin, isAdmin,
} }
}) })
if (data.length === 0) {
const {
data: udata
} = db.collection('user').doc(id).get()
await db.collection("contract").where({
username: _.eq(udata.username)
}).update({
username: label
})
}
return { return {
success: true success: true
} }
......
{ {
"pages": [ "pages": [
"pages/index/index", "pages/index/index",
"pages/examples/index", "pages/about/index",
"pages/user-center/index", "pages/user-center/index",
"pages/contract/index", "pages/contract/index",
"pages/addContract/index", "pages/add-contract/index",
"pages/updateContract/index", "pages/update-contract/index",
"pages/login/index", "pages/login/index",
"pages/userManage/index", "pages/user-manage/index",
"pages/modifyUser/index" "pages/modify-user/index",
"pages/contract-detail/index"
], ],
"window": { "window": {
"backgroundColor": "#F6F6F6", "backgroundColor": "#F6F6F6",
...@@ -32,7 +33,7 @@ ...@@ -32,7 +33,7 @@
"selectedIconPath": "images/icons/home-active.png" "selectedIconPath": "images/icons/home-active.png"
}, },
{ {
"pagePath": "pages/examples/index", "pagePath": "pages/about/index",
"text": "基础能力", "text": "基础能力",
"iconPath": "images/icons/examples.png", "iconPath": "images/icons/examples.png",
"selectedIconPath": "images/icons/examples-active.png" "selectedIconPath": "images/icons/examples-active.png"
......
Component({
/**
* 页面的初始数据
*/
data: {
showTip: false,
},
properties: {
showTipProps: Boolean,
title:String,
content:String
},
observers: {
showTipProps: function(showTipProps) {
this.setData({
showTip: showTipProps
});
}
},
methods: {
onClose(){
this.setData({
showTip: !this.data.showTip
});
},
}
});
{
"usingComponents": {},
"component": true
}
\ No newline at end of file
<!--miniprogram/components/cloudTipModal/index.wxml-->
<!-- wx:if="{{showUploadTip}}" -->
<view class="install_tip" wx:if="{{showTip}}">
<view class="install_tip_back"></view>
<view class="install_tip_detail">
<image class="install_tip_close" bind:tap="onClose" src="../../images/icons/close.png"/>
<view class="install_tip_detail_title">{{title}}</view>
<view class="install_tip_detail_tip">{{content}}</view>
</view>
</view>
.install_tip_back {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: rgba(0,0,0,0.4);
z-index: 1;
}
.install_tip_close{
position:absolute;
right: 10rpx;
top: 10rpx;
width: 32px;
height: 32px;
/* background-color: red; */
}
.install_tip_detail {
position: fixed;
background-color: white;
right: 0;
bottom: 0;
left: 0;
border-radius: 40rpx 40rpx 0 0;
padding: 50rpx 50rpx 100rpx 50rpx;
z-index: 9;
}
.install_tip_detail_title {
font-weight: 400;
font-size: 40rpx;
text-align: center;
}
.install_tip_detail_tip {
font-size: 25rpx;
color: rgba(0,0,0,0.4);
margin-top: 20rpx;
text-align: left;
}
.install_tip_detail_buttons {
padding-top: 50rpx;
display: flex;
}
.install_tip_detail_button {
color: #07C160;
font-weight: 500;
background-color: rgba(0,0,0,0.1);
width: 40%;
text-align: center;
/* height: 90rpx; */
/* line-height: 90rpx; */
border-radius: 10rpx;
margin: 0 auto;
}
.install_tip_detail_button_primary {
background-color: #07C160;
color: #fff;
}
\ No newline at end of file
Component({
data: {
modalVisible: false,
tipText: '云开发>云模板>模板中心',
},
properties: {
installModulePageTitleProps: String,
modalVisibleProps: Boolean,
tipTextProps: String,
installModuleNameProps: String,
},
observers: {
modalVisibleProps: function (modalVisibleProps) {
this.setData({
modalVisible: modalVisibleProps,
});
},
tipTextProps: function (tipTextProps) {
this.setData({
tipText: tipTextProps,
});
},
},
methods: {
hideModal() {
if (this.data.modalVisible) {
this.setData({
modalVisible: false,
});
}
},
onViewDetail() {
this.hideModal();
wx.navigateTo({
url: `/pages/cloudbaseModuleInstallTips/index?moduleName=${this.properties.installModuleNameProps}&title=${this.properties.installModulePageTitleProps}`,
});
},
},
});
{
"usingComponents": {},
"component": true
}
\ No newline at end of file
<!-- miniprogram/components/cloudTipModal/index.wxml -->
<view class="install_tip" wx:if="{{ modalVisible }}">
<view class="install_tip_back" bindtap="hideModal" />
<view class="install_tip_detail">
<view class="install_tip_detail_title">体验前需安装云模板</view>
<view class="install_tip_detail_tip">请按照以下路径安装对应云模板</view>
<view class="install_tip_detail_shell">{{ tipText }}</view>
<view bindtap="onViewDetail" class="install_tip_detail_button">查看详情{{ installModuleName }}</view>
</view>
</view>
.install_tip_back {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: rgba(0,0,0,0.4);
z-index: 1;
}
.install_tip_detail {
position: fixed;
background-color: white;
right: 0;
bottom: 0;
left: 0;
top: 60%;
border-radius: 40rpx 40rpx 0 0;
padding: 50rpx;
z-index: 9;
}
.install_tip_detail_title {
font-weight: 400;
font-size: 40rpx;
text-align: center;
}
.install_tip_detail_tip {
font-size: 25rpx;
color: rgba(0,0,0,0.4);
margin-top: 20rpx;
text-align: center;
}
.install_tip_detail_shell {
margin: 70rpx 0;
display: flex;
justify-content: center;
}
.install_tip_detail_copy {
color: #546488;
margin-left: 10rpx;
}
.install_tip_detail_button {
color: #07C160;
font-weight: 500;
background-color: rgba(0,0,0,0.1);
width: 60%;
text-align: center;
height: 90rpx;
line-height: 90rpx;
border-radius: 10rpx;
margin: 0 auto;
}
\ No newline at end of file
// components/cloudbaseModuleInstallPath/index.js
Component({
/**
* 组件的属性列表
*/
properties: {
installModuleName: String,
},
/**
* 组件的初始数据
*/
data: {
},
/**
* 组件的方法列表
*/
methods: {
}
})
\ No newline at end of file
{
"component": true,
"usingComponents": {}
}
\ No newline at end of file
<view class="tip">可以在“云开发>云模板>模板中心>{{installModuleName}}”找到该模板</view>
\ No newline at end of file
.tip {
font-size: 23rpx;
color: rgba(0, 0, 0, 0.5);
width: 90%;
text-align: center;
margin: 30rpx auto 0 auto;
}
\ No newline at end of file
Component({
data: {
modalVisible: false,
},
properties: {
visible: Boolean,
imageSrc: String,
},
observers: {
visible: function (visible) {
this.setData({
modalVisible: visible
});
},
},
methods: {
onClose() {
this.setData({ modalVisible: false });
}
}
});
{
"usingComponents": {},
"component": true
}
\ No newline at end of file
<view class="modal_container" wx:if="{{ modalVisible }}">
<view class="icon_close" bind:tap="onClose">
<view>X</view>
</view>
<view class="image_container">
<image class="code_img" src="{{ imageSrc }}" />
</view>
</view>
\ No newline at end of file
.modal_container {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: rgba(0,0,0,0.4);
z-index: 1;
width: 100%;
height: 100%;
}
.icon_close {
position: fixed;
right: 40rpx;
top: 40rpx;
width: 70rpx;
height: 70rpx;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
/* background-color: #07c160; */
background-color: rgba(0,0,0,0.7);
color: white;
font-size: 32rpx;
font-weight: bold;
}
.code_img {
width: 400rpx;
height: 400rpx;
margin-top: 50%;
margin-left: 50%;
transform: translateX(-50%);
border-radius: 30rpx;
}
.install_tip_back {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: rgba(0,0,0,0.4);
z-index: 1;
}
.install_tip_detail {
position: fixed;
background-color: white;
right: 0;
bottom: 0;
left: 0;
top: 60%;
border-radius: 40rpx 40rpx 0 0;
padding: 50rpx;
z-index: 9;
}
.install_tip_detail_title {
font-weight: 400;
font-size: 40rpx;
text-align: center;
}
.install_tip_detail_tip {
font-size: 25rpx;
color: rgba(0,0,0,0.4);
margin-top: 20rpx;
text-align: center;
}
.install_tip_detail_shell {
margin: 70rpx 0;
display: flex;
justify-content: center;
}
.install_tip_detail_copy {
color: #546488;
margin-left: 10rpx;
}
.install_tip_detail_button {
color: #07C160;
font-weight: 500;
background-color: rgba(0,0,0,0.1);
width: 60%;
text-align: center;
height: 90rpx;
line-height: 90rpx;
border-radius: 10rpx;
margin: 0 auto;
}
\ No newline at end of file
...@@ -7,7 +7,7 @@ Component({ ...@@ -7,7 +7,7 @@ Component({
"icon": "home" "icon": "home"
}, },
{ {
"pagePath": "/pages/examples/index", "pagePath": "/pages/about/index",
"text": "品牌", "text": "品牌",
"icon": "building-1" "icon": "building-1"
}, },
......
// index.js
Page({
});
\ No newline at end of file
{ {
"navigationBarTitleText": "品牌", "navigationBarTitleText": "品牌",
"usingComponents": { "usingComponents": {
"cloud-tip-modal": "/components/cloudTipModal/index"
} }
} }
\ No newline at end of file
// pages/addPontract/index.js // pages/addPontract/index.js
import Message from 'tdesign-miniprogram/message/index';
import { import {
request request
} from "../../utils/request.js" } from "../../utils/request.js"
...@@ -26,7 +27,7 @@ Page({ ...@@ -26,7 +27,7 @@ Page({
userVisible: false userVisible: false
}, },
onShow() { onShow() {
request("getUser").then(res => { request("user/get").then(res => {
this.setData({ this.setData({
users: res.data.map(v => ({ users: res.data.map(v => ({
id: v._id, id: v._id,
...@@ -108,6 +109,10 @@ Page({ ...@@ -108,6 +109,10 @@ Page({
}); });
}, },
async createContract() { async createContract() {
if (!this.validate()) {
return
}
wx.showLoading({ wx.showLoading({
title: '', title: '',
}); });
...@@ -117,12 +122,19 @@ Page({ ...@@ -117,12 +122,19 @@ Page({
cloudPath: `contract/${this.data.username}/${this.data.name}/${this.data.tempFile.name}`, cloudPath: `contract/${this.data.username}/${this.data.name}/${this.data.tempFile.name}`,
filePath: this.data.tempFile.path, filePath: this.data.tempFile.path,
}).then(res => { }).then(res => {
request("createContract", { request("contract/add", {
username: this.data.username, username: this.data.username,
name: this.data.name, name: this.data.name,
type: this.data.type, type: this.data.type,
files: [res.fileID] files: [res.fileID]
}).then(res => { }).then(res => {
const list = getCurrentPages()
Message.success({
context: list[list.length - 2],
offset: [20, 32],
duration: 2000,
content: '创建成功',
});
wx.navigateBack() wx.navigateBack()
}).finally(res => { }).finally(res => {
wx.hideLoading() wx.hideLoading()
...@@ -138,12 +150,19 @@ Page({ ...@@ -138,12 +150,19 @@ Page({
}) })
})).then(res => { })).then(res => {
console.log(res) console.log(res)
request("createContract", { request("contract/add", {
username: this.data.username, username: this.data.username,
name: this.data.name, name: this.data.name,
type: this.data.type, type: this.data.type,
files: res.map(v => v.fileID) files: res.map(v => v.fileID)
}).then(res => { }).then(res => {
const list = getCurrentPages()
Message.success({
context: list[list.length - 2],
offset: [20, 32],
duration: 2000,
content: '创建成功',
});
wx.navigateBack() wx.navigateBack()
}).finally(res => { }).finally(res => {
wx.hideLoading() wx.hideLoading()
...@@ -154,6 +173,41 @@ Page({ ...@@ -154,6 +173,41 @@ Page({
} }
},
validate() {
if (this.data.username === "") {
wx.showToast({
title: '请选择账号',
icon: "none"
})
return false
} else if (this.data.name === "") {
wx.showToast({
title: '合同名称不能为空',
icon: "none"
})
return false
} else {
if (this.data.type === 0) {
console.log(this.data.tempFile.path)
if (!this.data.tempFile.path || this.data.tempFile.path === "") {
wx.showToast({
title: '请上传PDF文件',
icon: "none"
})
return false
}
} else {
if (this.data.originFiles.length === 0) {
wx.showToast({
title: '请上传图片',
icon: "none"
})
return false
}
}
return true
}
} }
}) })
......
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
<view class="add-container"> <view class="add-container">
<view> <view>
<t-cell class="mb-16" arrow hover note="{{username}}" bind:click="onUserPicker"> <t-cell class="mb-16" arrow hover note="{{username}}" bind:click="onUserPicker">
<view slot="title" class="custom-label"> 选择用户 </view> <view slot="title" class="custom-label"> 选择账号 </view>
</t-cell> </t-cell>
<t-picker visible="{{userVisible}}" value="{{userId}}" data-key="id" title="选择用户" cancelBtn="取消" confirmBtn="确认" bindconfirm="onColumnChange" bindcancel="onUserPickerCancel"> <t-picker visible="{{userVisible}}" value="{{userId}}" data-key="id" title="选择账号" cancelBtn="取消" confirmBtn="确认" bindconfirm="onColumnChange" bindcancel="onUserPickerCancel">
<t-picker-item options="{{users}}"></t-picker-item> <t-picker-item options="{{users}}"></t-picker-item>
</t-picker> </t-picker>
<t-input placeholder="请输入合同名称" model:value="{{name}}"> <t-input placeholder="请输入合同名称" model:value="{{name}}">
......
// pages/contract-detail/index.js
Page({
/**
* 页面的初始数据
*/
data: {
imageProps: {
mode: "aspectFill",
style: "width:200%"
}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(e) {
const item = JSON.parse(e.item)
wx.setNavigationBarTitle({
title: item.text,
})
const l = item.fileIds[0].split("/")
const pdfname = l[l.length - 1]
this.setData({
username: item.username,
fileIds: item.fileIds,
name: item.text,
type: item.type,
pdfname
})
},
openFile() {
wx.cloud.downloadFile({
fileID: this.data.fileIds[0],
success: function (res) {
const filePath = res.tempFilePath
wx.openDocument({
filePath,
fileType: "pdf"
})
},
fail: console.log
})
},
imageClick(e) {
console.log()
wx.previewImage({
urls: this.data.fileIds,
current: this.data.fileIds[e.target.dataset.index]
})
}
})
\ No newline at end of file
{
"usingComponents": {
"t-cell": "tdesign-miniprogram/cell/cell",
"t-image": "tdesign-miniprogram/image/image",
"t-link": "tdesign-miniprogram/link/link",
"t-grid": "tdesign-miniprogram/grid/grid",
"t-grid-item": "tdesign-miniprogram/grid-item/grid-item",
"t-col": "tdesign-miniprogram/col/col",
"t-row": "tdesign-miniprogram/row/row"
}
}
\ No newline at end of file
<t-cell title="账号" hover note="{{username}}" />
<t-cell title="合同名称" hover note="{{name}}" />
<t-cell title="类型" hover note="{{type===0?'PDF':'图片'}}" />
<t-row gutter="16" class="image-container" wx:if="{{type}}">
<t-col span="8" wx:for="{{fileIds}}" wx:key="index">
<t-image src="{{item}}" mode="scaleToFill" shape="round" data-index="{{index}}" bind:tap="imageClick" />
</t-col>
</t-row>
<t-cell wx:else>
<t-link slot="title" size="large" theme="danger" content="{{pdfname}}" prefixIcon="link" hover bind:tap="openFile" />
</t-cell>
\ No newline at end of file
/* pages/contract-detail/index.wxss */
.image-container {
background-color: #fff;
padding: 20rpx;
}
.image-container .t-col {
position: relative;
}
.image-container .t-col::after {
content: "";
display: block;
width: 100%;
padding-top: 80%;
}
.t-image {
position: absolute;
width: 100%;
height: 100%;
}
\ No newline at end of file
...@@ -19,7 +19,7 @@ Page({ ...@@ -19,7 +19,7 @@ Page({
isAdmin: false isAdmin: false
}, },
onShow() { onShow() {
const userInfo = getApp().globalData.userInfo const userInfo = getApp().globalData.userInfo || {}
this.setData({ this.setData({
username: userInfo.username, username: userInfo.username,
isAdmin: userInfo.isAdmin isAdmin: userInfo.isAdmin
...@@ -30,7 +30,7 @@ Page({ ...@@ -30,7 +30,7 @@ Page({
this.setData({ this.setData({
enable: true enable: true
}); });
request("getContract", {}, { request("contract/get", {}, {
loadingMask: false, loadingMask: false,
needUsername: true needUsername: true
}).then(result => { }).then(result => {
...@@ -39,10 +39,10 @@ Page({ ...@@ -39,10 +39,10 @@ Page({
list: list.map(v => ({ list: list.map(v => ({
text: v.name, text: v.name,
createDate: dayjs(v.createDate).format('YYYY-MM-DD HH:mm:ss'), createDate: dayjs(v.createDate).format('YYYY-MM-DD HH:mm:ss'),
type: v.type === 0 ? "pdf" : "图片", type: v.type,
id: v._id, id: v._id,
fileIds: v.fileIds, fileIds: v.fileIds,
username:v.username username: v.username
})), })),
}); });
}).finally(() => { }).finally(() => {
...@@ -50,37 +50,10 @@ Page({ ...@@ -50,37 +50,10 @@ Page({
enable: false enable: false
}) })
}) })
// wx.cloud.callFunction({
// name: "test1",
// data: {
// type: "getContract",
// data: {
// username: getApp().globalData.userInfo.username
// }
// },
// success: (res) => {
// this.setData({
// list: res.result.result.data.map(v => ({
// text: v.name,
// createDate: dayjs(v.createDate).format('YYYY-MM-DD HH:mm:ss'),
// type: v.type === 0 ? "pdf" : "图片",
// id: v._id,
// fileIds: v.fileIds
// })),
// enable: false
// });
// },
// error: (err) => {
// this.setData({
// enable: false
// })
// }
// })
}, },
handleAction() { handleAction() {
wx.navigateTo({ wx.navigateTo({
url: '/pages/addContract/index', url: '/pages/add-contract/index',
}) })
}, },
openFile(item) { openFile(item) {
...@@ -88,24 +61,27 @@ Page({ ...@@ -88,24 +61,27 @@ Page({
type, type,
fileIds fileIds
} = item } = item
console.log(type) wx.navigateTo({
if (type === "pdf") { url: '/pages/contract-detail/index?item=' + JSON.stringify(item),
wx.cloud.downloadFile({ })
fileID: fileIds[0], // console.log(type)
success(res) { // if (type === "pdf") {
if (res.statusCode === 200) { // wx.cloud.downloadFile({
wx.openDocument({ // fileID: fileIds[0],
filePath: res.tempFilePath, // success(res) {
fileType: "pdf" // if (res.statusCode === 200) {
}) // wx.openDocument({
} // filePath: res.tempFilePath,
} // fileType: "pdf"
}) // })
} else { // }
wx.previewImage({ // }
urls: fileIds // 需要预览的图片http链接列表 // })
}) // } else {
} // wx.previewImage({
// urls: fileIds // 需要预览的图片http链接列表
// })
// }
}, },
openAction(e) { openAction(e) {
if (this.data.isAdmin) { if (this.data.isAdmin) {
...@@ -127,7 +103,7 @@ Page({ ...@@ -127,7 +103,7 @@ Page({
} else if (index === 1) { } else if (index === 1) {
//编辑 //编辑
wx.navigateTo({ wx.navigateTo({
url: '/pages/updateContract/index?item=' + JSON.stringify(tempitem), url: '/pages/update-contract/index?item=' + JSON.stringify(tempitem),
}) })
} else { } else {
//删除 //删除
...@@ -141,7 +117,7 @@ Page({ ...@@ -141,7 +117,7 @@ Page({
Dialog.confirm(dialogConfig) Dialog.confirm(dialogConfig)
.then(() => { .then(() => {
request("deleteContract", { request("contract/delete", {
id: tempitem.id id: tempitem.id
}).then(() => { }).then(() => {
this.onRefresh() this.onRefresh()
......
...@@ -7,7 +7,9 @@ ...@@ -7,7 +7,9 @@
"t-cell-group": "tdesign-miniprogram/cell-group/cell-group", "t-cell-group": "tdesign-miniprogram/cell-group/cell-group",
"t-tag": "tdesign-miniprogram/tag/tag", "t-tag": "tdesign-miniprogram/tag/tag",
"t-action-sheet": "tdesign-miniprogram/action-sheet/action-sheet", "t-action-sheet": "tdesign-miniprogram/action-sheet/action-sheet",
"t-dialog": "tdesign-miniprogram/dialog/dialog" "t-dialog": "tdesign-miniprogram/dialog/dialog",
"t-message": "tdesign-miniprogram/message/message"
}, },
"disableScroll": true, "disableScroll": true,
"navigationBarTitleText": "合同管理" "navigationBarTitleText": "合同管理"
......
<t-message id="t-message" />
<t-pull-down-refresh value="{{enable}}" bind:refresh="onRefresh"> <t-pull-down-refresh value="{{enable}}" bind:refresh="onRefresh">
<view class="pulldown-refresh"> <view class="pulldown-refresh">
<t-cell-group class="pulldown-refresh__content"> <t-cell-group class="pulldown-refresh__content">
<t-cell wx:for="{{list}}" wx:key="index" title="{{item.text}}" description="{{item.createDate}}" hover arrow data-item="{{item}}" bind:click="openAction"> <t-cell wx:for="{{list}}" wx:key="index" title="{{item.text}}" description="{{item.createDate}}" hover arrow data-item="{{item}}" bind:click="openAction">
<t-tag slot="note">{{item.type}}</t-tag> <t-tag slot="note" theme="{{item.type === 0?'danger':'default'}}">{{item.type === 0 ? "PDF" : "图片"}}</t-tag>
</t-cell> </t-cell>
</t-cell-group> </t-cell-group>
</view> </view>
......
// index.js
Page({
data: {
showTip: false,
powerList: [
{
title: '云函数',
tip: '安全、免鉴权运行业务代码',
showItem: false,
item: [
{
type: 'getOpenId',
title: '获取OpenId',
},
{
type: 'getMiniProgramCode',
title: '生成小程序码',
},
],
},
{
title: '数据库',
tip: '安全稳定的文档型数据库',
showItem: false,
item: [
{
type: 'createCollection',
title: '创建集合',
},
{
type: 'selectRecord',
title: '查询记录',
},
{
title: '更新记录',
page: 'updateRecord',
},
{
title: '聚合操作',
page: 'sumRecord',
},
],
},
{
title: '云存储',
tip: '自带CDN加速文件存储',
showItem: false,
item: [
{
type: 'uploadFile',
title: '上传文件',
},
],
},
{
type: 'singleTemplate',
title: '云模板',
tip: '基于页面模板,快速配置、搭建小程序页面',
tag: 'new',
},
{
type: 'cloudBackend',
title: '云后台',
tip: '开箱即用的小程序后台管理系统',
},
{
title: '云托管',
tip: '不限语言的全托管容器服务',
link: 'https://cloud.weixin.qq.com/cloudrun',
},
],
haveCreateCollection: false,
title: "",
content: ""
},
onClickPowerInfo(e) {
const index = e.currentTarget.dataset.index;
const powerList = this.data.powerList;
const selectedItem = powerList[index];
if (selectedItem.link) {
wx.navigateTo({
url: `../web/index?url=${selectedItem.link}&title=${selectedItem.title}`,
});
} else if (selectedItem.type) {
wx.navigateTo({
url: `/pages/exampleDetail/index?envId=${this.data.selectedEnv?.envId}&type=${selectedItem.type}`,
});
} else if (selectedItem.page) {
wx.navigateTo({
url: `/pages/${selectedItem.page}/index`,
});
} else if (
selectedItem.title === '数据库' &&
!this.data.haveCreateCollection
) {
this.onClickDatabase(powerList,selectedItem);
} else {
selectedItem.showItem = !selectedItem.showItem;
this.setData({
powerList,
});
}
},
jumpPage(e) {
const { type, page } = e.currentTarget.dataset;
if (type) {
wx.navigateTo({
url: `/pages/exampleDetail/index?envId=${this.data.selectedEnv?.envId}&type=${type}`,
});
} else {
wx.navigateTo({
url: `/pages/${page}/index?envId=${this.data.selectedEnv?.envId}`,
});
}
},
onClickDatabase(powerList,selectedItem) {
wx.showLoading({
title: '',
});
wx.cloud
.callFunction({
name: 'quickstartFunctions',
data: {
type: 'createCollection',
},
})
.then((resp) => {
if (resp.result.success) {
this.setData({
haveCreateCollection: true,
});
}
selectedItem.showItem = !selectedItem.showItem;
this.setData({
powerList,
});
wx.hideLoading();
})
.catch((e) => {
wx.hideLoading();
const { errCode, errMsg } = e
if (errMsg.includes('Environment not found')) {
this.setData({
showTip: true,
title: "云开发环境未找到",
content: "如果已经开通云开发,请检查环境ID与 `miniprogram/app.js` 中的 `env` 参数是否一致。"
});
return
}
if (errMsg.includes('FunctionName parameter could not be found')) {
this.setData({
showTip: true,
title: "请上传云函数",
content: "在'cloudfunctions/quickstartFunctions'目录右键,选择【上传并部署-云端安装依赖】,等待云函数上传完成后重试。"
});
return
}
});
},
});
...@@ -12,16 +12,29 @@ Page({ ...@@ -12,16 +12,29 @@ Page({
password: "" password: ""
}, },
login() { login() {
request("login", { if (this.data.username.trim() === "") {
wx.showToast({
title: '账号不能为空',
icon: "none"
})
return
}
if (this.data.password.trim() === "") {
wx.showToast({
title: '密码不能为空',
icon: "none"
})
return
}
request("user/login", {
username: this.data.username, username: this.data.username,
password: this.data.password password: this.data.password
}).then(result => { }).then(result => {
console.log()
getApp().globalData.userInfo = result.userInfo getApp().globalData.userInfo = result.userInfo
const pages=getCurrentPages() const pages = getCurrentPages()
if(pages.length>1){ if (pages.length > 1) {
wx.navigateBack() wx.navigateBack()
}else{ } else {
wx.switchTab({ wx.switchTab({
url: '/pages/user-center/index', url: '/pages/user-center/index',
}) })
......
<view> <view>
<t-input label="用户名" model:value="{{username}}" placeholder="请输入文字" /> <t-input label="账号" model:value="{{username}}" />
<t-input label="输入密码" type="password" model:value="{{password}}" suffixIcon="{{ { name: 'browse-off', ariaLabel: '密码' } }}" /> <t-input label="密码" type="password" model:value="{{password}}" suffixIcon="{{ { name: 'browse-off', ariaLabel: '密码' } }}" />
<t-button theme="primary" size="large" block t-class="external-class" bind:tap="login">登录</t-button> <t-button theme="primary" size="large" block t-class="external-class" bind:tap="login">登录</t-button>
</view> </view>
\ No newline at end of file
...@@ -23,7 +23,7 @@ Page({ ...@@ -23,7 +23,7 @@ Page({
item item
}) { }) {
wx.setNavigationBarTitle({ wx.setNavigationBarTitle({
title: item ? "编辑用户" : "新建用户" title: item ? "编辑账号" : "新建账号"
}) })
if (item) { if (item) {
const data1 = JSON.parse(item); const data1 = JSON.parse(item);
...@@ -47,7 +47,7 @@ Page({ ...@@ -47,7 +47,7 @@ Page({
} }
}, },
handleClick() { handleClick() {
request(this.data.isModify ? "updateUser" : "addUser", this.data.isModify ? { request(this.data.isModify ? "user/update" : "user/add", this.data.isModify ? {
label: this.data.label, label: this.data.label,
remark: this.data.remark, remark: this.data.remark,
isAdmin: this.data.isAdmin, isAdmin: this.data.isAdmin,
......
{ {
"navigationBarTitleText": "用户", "navigationBarTitleText": "账号",
"usingComponents": { "usingComponents": {
"t-input": "tdesign-miniprogram/input/input", "t-input": "tdesign-miniprogram/input/input",
"t-button": "tdesign-miniprogram/button/button", "t-button": "tdesign-miniprogram/button/button",
......
<view> <view>
<t-input label="用户名" model:value="{{label}}"></t-input> <t-input label="账号" model:value="{{label}}"></t-input>
<t-input wx:if="{{!isModify}}" label="密码" model:value="{{password}}" type="password"></t-input> <t-input wx:if="{{!isModify}}" label="密码" model:value="{{password}}" type="password"></t-input>
<t-input label="备注" model:value="{{remark}}"></t-input> <t-input label="备注" model:value="{{remark}}"></t-input>
<t-cell title="管理员" bordered="{{false}}"> <t-cell title="管理员" bordered="{{false}}">
......
// pages/addPontract/index.js // pages/addPontract/index.js
import Message from 'tdesign-miniprogram/message/index';
import { import {
request request
} from "../../utils/request.js" } from "../../utils/request.js"
...@@ -28,8 +29,7 @@ Page({ ...@@ -28,8 +29,7 @@ Page({
}, },
onLoad(e) { onLoad(e) {
const item = JSON.parse(e.item) const item = JSON.parse(e.item)
const type = item.type
const type = item.type === "pdf" ? 0 : 1
const l = item.fileIds[0].split("/"); const l = item.fileIds[0].split("/");
const pdfFileName = l[l.length - 1] const pdfFileName = l[l.length - 1]
this.setData({ this.setData({
...@@ -48,7 +48,7 @@ Page({ ...@@ -48,7 +48,7 @@ Page({
}) })
}, },
onShow() { onShow() {
request("getUser").then(res => { request("user/get").then(res => {
this.setData({ this.setData({
users: res.data.map(v => ({ users: res.data.map(v => ({
id: v._id, id: v._id,
...@@ -107,7 +107,6 @@ Page({ ...@@ -107,7 +107,6 @@ Page({
}, },
fail: console.log fail: console.log
}) })
}, },
handleSuccess(e) { handleSuccess(e) {
const { const {
...@@ -138,6 +137,9 @@ Page({ ...@@ -138,6 +137,9 @@ Page({
}); });
}, },
async createContract() { async createContract() {
if (!this.validate()) {
return
}
wx.showLoading({ wx.showLoading({
title: '', title: '',
}); });
...@@ -152,13 +154,20 @@ Page({ ...@@ -152,13 +154,20 @@ Page({
}) })
file = res.fileID file = res.fileID
} }
request("updateContract", { request("contract/update", {
id: this.data.item.id, id: this.data.item.id,
username: this.data.username, username: this.data.username,
name: this.data.name, name: this.data.name,
type: this.data.type, type: this.data.type,
files: [file] files: [file]
}).then(res => { }).then(res => {
const list = getCurrentPages()
Message.success({
context: list[list.length - 2],
offset: [20, 32],
duration: 2000,
content: '编辑成功',
});
wx.navigateBack() wx.navigateBack()
}).finally(res => { }).finally(res => {
wx.hideLoading() wx.hideLoading()
...@@ -178,12 +187,20 @@ Page({ ...@@ -178,12 +187,20 @@ Page({
filePath: v.url, filePath: v.url,
}) })
})) }))
request("createContract", { request("contract/update", {
id: this.data.item.id,
username: this.data.username, username: this.data.username,
name: this.data.name, name: this.data.name,
type: this.data.type, type: this.data.type,
files: res.map(v => v.fileID) files: res.map(v => v.fileID)
}).then(res => { }).then(res => {
const list = getCurrentPages()
Message.success({
context: list[list.length - 2],
offset: [20, 32],
duration: 2000,
content: '编辑成功',
});
wx.navigateBack() wx.navigateBack()
}).finally(res => { }).finally(res => {
wx.hideLoading() wx.hideLoading()
...@@ -194,6 +211,35 @@ Page({ ...@@ -194,6 +211,35 @@ Page({
} }
} }
},
validate() {
if (this.data.name === "") {
wx.showToast({
title: '合同名称不能为空',
icon: "none"
})
return false
} else {
if (this.data.type === 0) {
console.log(this.data.tempFile.path)
if (!this.data.tempFile.path || this.data.tempFile.path === "") {
wx.showToast({
title: '请上传PDF文件',
icon: "none"
})
return false
}
} else {
if (this.data.originFiles.length === 0) {
wx.showToast({
title: '请上传图片',
icon: "none"
})
return false
}
}
return true
}
} }
}) })
......
<!--pages/addPontract/index.wxml-->
<view class="add-container"> <view class="add-container">
<view> <view>
<t-cell class="mb-16" arrow hover note="{{username}}" bind:click="onUserPicker"> <t-cell class="mb-16" arrow hover note="{{username}}" bind:click="onUserPicker">
<view slot="title" class="custom-label"> 选择用户 </view> <view slot="title" class="custom-label"> 选择账号 </view>
</t-cell> </t-cell>
<t-picker visible="{{userVisible}}" value="{{userId}}" data-key="id" title="选择用户" cancelBtn="取消" confirmBtn="确认" bindconfirm="onColumnChange" bindcancel="onUserPickerCancel"> <t-picker visible="{{userVisible}}" value="{{userId}}" data-key="id" title="选择账号" cancelBtn="取消" confirmBtn="确认" bindconfirm="onColumnChange" bindcancel="onUserPickerCancel">
<t-picker-item options="{{users}}"></t-picker-item> <t-picker-item options="{{users}}"></t-picker-item>
</t-picker> </t-picker>
<t-input placeholder="请输入合同名称" model:value="{{name}}"> <t-input placeholder="请输入合同名称" model:value="{{name}}">
......
...@@ -39,11 +39,6 @@ Page({ ...@@ -39,11 +39,6 @@ Page({
url: '/pages/login/index', url: '/pages/login/index',
}) })
}, },
gotoWxCodePage() {
wx.navigateTo({
url: `/pages/exampleDetail/index?envId=${envList?.[0]?.envId}&type=getMiniProgramCode`,
});
},
handleSelected() { handleSelected() {
getApp().globalData.userInfo = {} getApp().globalData.userInfo = {}
this.setData({ this.setData({
......
{ {
"usingComponents": { "usingComponents": {
"cloud-tip-modal": "/components/cloudTipModal/index",
"t-cell-group": "tdesign-miniprogram/cell-group/cell-group", "t-cell-group": "tdesign-miniprogram/cell-group/cell-group",
"t-cell": "tdesign-miniprogram/cell/cell", "t-cell": "tdesign-miniprogram/cell/cell",
"t-icon": "tdesign-miniprogram/icon/icon", "t-icon": "tdesign-miniprogram/icon/icon",
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
<view class="settings_container"> <view class="settings_container">
<t-cell-group theme="card"> <t-cell-group theme="card">
<t-cell title="合同管理" leftIcon="collage" hover arrow type="navigateTo" url="/pages/contract/index" /> <t-cell title="合同管理" leftIcon="collage" hover arrow type="navigateTo" url="/pages/contract/index" />
<t-cell wx:if="{{isAdmin}}" title="用户管理" leftIcon="usergroup" hover arrow url="/pages/userManage/index" /> <t-cell wx:if="{{isAdmin}}" title="账号管理" leftIcon="usergroup" hover arrow url="/pages/user-manage/index" />
<t-cell title="联系客服" leftIcon="earphone" hover arrow /> <t-cell title="联系客服" leftIcon="earphone" hover arrow />
</t-cell-group> </t-cell-group>
</view> </view>
......
...@@ -24,7 +24,7 @@ Page({ ...@@ -24,7 +24,7 @@ Page({
this.setData({ this.setData({
enable: true enable: true
}); });
request("getUser", {}, { request("user/get", {}, {
loadingMask: false loadingMask: false
}).then(res => { }).then(res => {
this.setData({ this.setData({
...@@ -48,11 +48,11 @@ Page({ ...@@ -48,11 +48,11 @@ Page({
theme: ActionSheetTheme.List, theme: ActionSheetTheme.List,
selector: '#t-action-sheet', selector: '#t-action-sheet',
items: [{ items: [{
label: '编辑用户', label: '编辑账号',
color: '#0052D9', color: '#0052D9',
}, },
{ {
label: '删除用户', label: '删除账号',
color: '#e34d59', color: '#e34d59',
}, },
], ],
...@@ -60,7 +60,7 @@ Page({ ...@@ -60,7 +60,7 @@ Page({
}, },
handleAdd() { handleAdd() {
wx.navigateTo({ wx.navigateTo({
url: '/pages/modifyUser/index', url: '/pages/modify-user/index',
}) })
}, },
handleSelected(e) { handleSelected(e) {
...@@ -69,7 +69,7 @@ Page({ ...@@ -69,7 +69,7 @@ Page({
} = e.detail } = e.detail
if (index === 0) { if (index === 0) {
wx.navigateTo({ wx.navigateTo({
url: '/pages/modifyUser/index?item=' + JSON.stringify(tempitem), url: '/pages/modify-user/index?item=' + JSON.stringify(tempitem),
}) })
//编辑 //编辑
} else { } else {
...@@ -84,7 +84,7 @@ Page({ ...@@ -84,7 +84,7 @@ Page({
Dialog.confirm(dialogConfig) Dialog.confirm(dialogConfig)
.then(() => { .then(() => {
request("deleteUser", { request("user/delete", {
id: tempitem.id id: tempitem.id
}).then(() => { }).then(() => {
this.onRefresh() this.onRefresh()
......
{ {
"navigationBarTitleText": "用户管理", "navigationBarTitleText": "账号管理",
"usingComponents": { "usingComponents": {
"t-pull-down-refresh": "tdesign-miniprogram/pull-down-refresh/pull-down-refresh", "t-pull-down-refresh": "tdesign-miniprogram/pull-down-refresh/pull-down-refresh",
"t-skeleton": "tdesign-miniprogram/skeleton/skeleton", "t-skeleton": "tdesign-miniprogram/skeleton/skeleton",
......
const app = getApp();
let that = null;
Page({
onLoad(options) {
that = this;
if (options.url != null) {
this.setData({
webUrl: options.url,
});
if (options.title != null) {
wx.setNavigationBarTitle({
title: options.title,
});
}
} else {
wx.navigateBack({
delta: 1,
});
}
},
});
{
"usingComponents": {}
}
\ No newline at end of file
<web-view src="{{webUrl}}"></web-view>
\ No newline at end of file
web-view{
width: 100%;
height: 100%;
}
\ No newline at end of file
...@@ -16,11 +16,12 @@ export const request = async (type, data = {}, config = {}) => { ...@@ -16,11 +16,12 @@ export const request = async (type, data = {}, config = {}) => {
} }
transData.username = userInfo.username transData.username = userInfo.username
} }
const [name, type1] = type.split("/")
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
wx.cloud.callFunction({ wx.cloud.callFunction({
name: 'test1', name,
data: { data: {
type, type: type1,
data: transData, data: transData,
}, },
success: (res) => { success: (res) => {
......
...@@ -33,5 +33,6 @@ ...@@ -33,5 +33,6 @@
} }
}, },
"description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
"projectname": "miniprogram-1" "projectname": "miniprogram-1",
"libVersion": "3.3.5"
} }
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论