Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
hello_uni-id-pages
提交
f388ce8a
H
hello_uni-id-pages
项目概览
DCloud
/
hello_uni-id-pages
通知
1054
Star
31
Fork
43
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
4
列表
看板
标记
里程碑
合并请求
2
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
hello_uni-id-pages
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
4
Issue
4
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
f388ce8a
编写于
9月 07, 2022
作者:
DCloud_JSON
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修复已知问题
上级
66b56557
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
53 addition
and
410 deletion
+53
-410
uni_modules/uni-id-pages/uniCloud/cloudfunctions/uni-id-co/.eslintrc.js
...i-id-pages/uniCloud/cloudfunctions/uni-id-co/.eslintrc.js
+0
-19
uni_modules/uni-id-pages/uniCloud/cloudfunctions/uni-id-co/common/constants.js
...ges/uniCloud/cloudfunctions/uni-id-co/common/constants.js
+1
-12
uni_modules/uni-id-pages/uniCloud/cloudfunctions/uni-id-co/index.obj.js
...i-id-pages/uniCloud/cloudfunctions/uni-id-co/index.obj.js
+2
-36
uni_modules/uni-id-pages/uniCloud/cloudfunctions/uni-id-co/lib/utils/config.js
...ges/uniCloud/cloudfunctions/uni-id-co/lib/utils/config.js
+2
-2
uni_modules/uni-id-pages/uniCloud/cloudfunctions/uni-id-co/module/account/index.js
...uniCloud/cloudfunctions/uni-id-co/module/account/index.js
+0
-1
uni_modules/uni-id-pages/uniCloud/cloudfunctions/uni-id-co/module/account/reset-pwd-by-email.js
...dfunctions/uni-id-co/module/account/reset-pwd-by-email.js
+0
-119
uni_modules/uni-id-pages/uniCloud/cloudfunctions/uni-id-co/module/login/login.js
...s/uniCloud/cloudfunctions/uni-id-co/module/login/login.js
+1
-4
uni_modules/uni-id-pages/uniCloud/cloudfunctions/uni-id-co/module/register/index.js
...niCloud/cloudfunctions/uni-id-co/module/register/index.js
+1
-2
uni_modules/uni-id-pages/uniCloud/cloudfunctions/uni-id-co/module/register/register-user-by-email.js
...tions/uni-id-co/module/register/register-user-by-email.js
+0
-87
uni_modules/uni-id-pages/uniCloud/cloudfunctions/uni-id-co/module/verify/send-email-code.js
...cloudfunctions/uni-id-co/module/verify/send-email-code.js
+2
-50
uni_modules/uni-id-pages/uniCloud/cloudfunctions/uni-id-co/package-lock.json
...pages/uniCloud/cloudfunctions/uni-id-co/package-lock.json
+44
-78
未找到文件。
uni_modules/uni-id-pages/uniCloud/cloudfunctions/uni-id-co/.eslintrc.js
已删除
100644 → 0
浏览文件 @
66b56557
module
.
exports
=
{
env
:
{
browser
:
true
,
commonjs
:
true
,
es2021
:
true
},
extends
:
[
'
standard
'
],
parserOptions
:
{
ecmaVersion
:
'
latest
'
},
rules
:
{
'
no-throw-literal
'
:
0
},
globals
:
{
uniCloud
:
'
readonly
'
}
}
uni_modules/uni-id-pages/uniCloud/cloudfunctions/uni-id-co/common/constants.js
浏览文件 @
f388ce8a
...
...
@@ -36,9 +36,7 @@ const CAPTCHA_SCENE = {
LOGIN_BY_PWD
:
'
login-by-pwd
'
,
LOGIN_BY_SMS
:
'
login-by-sms
'
,
RESET_PWD_BY_SMS
:
'
reset-pwd-by-sms
'
,
RESET_PWD_BY_EMAIL
:
'
reset-pwd-by-email
'
,
SEND_SMS_CODE
:
'
send-sms-code
'
,
SEND_EMAIL_CODE
:
'
send-email-code
'
,
BIND_MOBILE_BY_SMS
:
'
bind-mobile-by-sms
'
}
...
...
@@ -47,7 +45,6 @@ const LOG_TYPE = {
LOGIN
:
'
login
'
,
REGISTER
:
'
register
'
,
RESET_PWD_BY_SMS
:
'
reset-pwd
'
,
RESET_PWD_BY_EMAIL
:
'
reset-pwd
'
,
BIND_MOBILE
:
'
bind-mobile
'
,
BIND_WEIXIN
:
'
bind-weixin
'
,
BIND_QQ
:
'
bind-qq
'
,
...
...
@@ -61,13 +58,6 @@ const SMS_SCENE = {
BIND_MOBILE_BY_SMS
:
'
bind-mobile-by-sms
'
}
const
EMAIL_SCENE
=
{
REGISTER
:
'
register
'
,
LOGIN_BY_EMAIL
:
'
login-by-email
'
,
RESET_PWD_BY_EMAIL
:
'
reset-pwd-by-email
'
,
BIND_EMAIL
:
'
bind-email
'
}
module
.
exports
=
{
db
,
dbCmd
,
...
...
@@ -78,6 +68,5 @@ module.exports = {
USER_STATUS
,
CAPTCHA_SCENE
,
LOG_TYPE
,
SMS_SCENE
,
EMAIL_SCENE
SMS_SCENE
}
uni_modules/uni-id-pages/uniCloud/cloudfunctions/uni-id-co/index.obj.js
浏览文件 @
f388ce8a
...
...
@@ -15,8 +15,7 @@ const middleware = require('./middleware/index')
const
{
registerAdmin
,
registerUser
,
registerUserByEmail
registerUser
}
=
require
(
'
./module/register/index
'
)
const
{
addUser
,
...
...
@@ -46,15 +45,13 @@ const {
const
{
updatePwd
,
resetPwdBySms
,
resetPwdByEmail
,
closeAccount
,
getAccountInfo
}
=
require
(
'
./module/account/index
'
)
const
{
createCaptcha
,
refreshCaptcha
,
sendSmsCode
,
sendEmailCode
sendSmsCode
}
=
require
(
'
./module/verify/index
'
)
const
{
refreshToken
,
...
...
@@ -276,17 +273,6 @@ module.exports = {
* @returns
*/
registerUser
,
/**
* 通过邮箱+验证码注册用户
* @param {Object} params
* @param {String} params.email 邮箱
* @param {String} params.password 密码
* @param {String} params.nickname 昵称
* @param {String} params.code 邮箱验证码
* @param {String} params.inviteCode 邀请码
* @returns
*/
registerUserByEmail
,
/**
* 用户名密码登录
* @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#login
...
...
@@ -447,16 +433,6 @@ module.exports = {
* @returns {object}
*/
resetPwdBySms
,
/**
* 通过邮箱验证码重置密码
* @param {object} params
* @param {string} params.email 邮箱
* @param {string} params.code 邮箱验证码
* @param {string} params.password 密码
* @param {string} params.captcha 图形验证码
* @returns {object}
*/
resetPwdByEmail
,
/**
* 注销账户
* @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#close-account
...
...
@@ -494,16 +470,6 @@ module.exports = {
* @returns
*/
sendSmsCode
,
/**
* 发送邮箱验证码
* @tutorial 需自行实现功能
* @param {Object} params
* @param {String} params.email 邮箱
* @param {String} params.captcha 图形验证码
* @param {String} params.scene 短信验证码使用场景
* @returns
*/
sendEmailCode
,
/**
* 刷新token
* @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#refresh-token
...
...
uni_modules/uni-id-pages/uniCloud/cloudfunctions/uni-id-co/lib/utils/config.js
浏览文件 @
f388ce8a
...
...
@@ -4,8 +4,8 @@ const {
const
createConfig
=
require
(
'
uni-config-center
'
)
const
requiredConfig
=
{
'
web.
h5-weixin
'
:
[
'
appid
'
,
'
appsecret
'
],
'
web.we
b-weixin
'
:
[
'
appid
'
,
'
appsecret
'
],
'
web.
weixin-h5
'
:
[
'
appid
'
,
'
appsecret
'
],
'
web.we
ixin-web
'
:
[
'
appid
'
,
'
appsecret
'
],
'
app.weixin
'
:
[
'
appid
'
,
'
appsecret
'
],
'
mp-weixin.weixin
'
:
[
'
appid
'
,
'
appsecret
'
],
'
app.qq
'
:
[
'
appid
'
,
'
appsecret
'
],
...
...
uni_modules/uni-id-pages/uniCloud/cloudfunctions/uni-id-co/module/account/index.js
浏览文件 @
f388ce8a
module
.
exports
=
{
updatePwd
:
require
(
'
./update-pwd
'
),
resetPwdBySms
:
require
(
'
./reset-pwd-by-sms
'
),
resetPwdByEmail
:
require
(
'
./reset-pwd-by-email
'
),
closeAccount
:
require
(
'
./close-account
'
),
getAccountInfo
:
require
(
'
./get-account-info
'
)
}
uni_modules/uni-id-pages/uniCloud/cloudfunctions/uni-id-co/module/account/reset-pwd-by-email.js
已删除
100644 → 0
浏览文件 @
66b56557
const
{
ERROR
}
=
require
(
'
../../common/error
'
)
const
{
getNeedCaptcha
,
verifyCaptcha
}
=
require
(
'
../../lib/utils/captcha
'
)
const
{
verifyEmailCode
}
=
require
(
'
../../lib/utils/verify-code
'
)
const
{
userCollection
,
EMAIL_SCENE
,
CAPTCHA_SCENE
,
LOG_TYPE
}
=
require
(
'
../../common/constants
'
)
const
{
findUser
}
=
require
(
'
../../lib/utils/account
'
)
const
PasswordUtils
=
require
(
'
../../lib/utils/password
'
)
/**
* 通过邮箱验证码重置密码
* @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#reset-pwd-by-email
* @param {object} params
* @param {string} params.email 邮箱
* @param {string} params.code 邮箱验证码
* @param {string} params.password 密码
* @param {string} params.captcha 图形验证码
* @returns {object}
*/
module
.
exports
=
async
function
(
params
=
{})
{
const
schema
=
{
email
:
'
email
'
,
code
:
'
string
'
,
password
:
'
password
'
,
captcha
:
{
required
:
false
,
type
:
'
string
'
}
}
this
.
middleware
.
validate
(
params
,
schema
)
const
{
email
,
code
,
password
,
captcha
}
=
params
const
needCaptcha
=
await
getNeedCaptcha
.
call
(
this
,
{
email
,
type
:
LOG_TYPE
.
RESET_PWD_BY_EMAIL
})
if
(
needCaptcha
)
{
await
verifyCaptcha
.
call
(
this
,
{
captcha
,
scene
:
CAPTCHA_SCENE
.
RESET_PWD_BY_EMAIL
})
}
try
{
// 验证手机号验证码,验证不通过时写入失败日志
await
verifyEmailCode
({
email
,
code
,
scene
:
EMAIL_SCENE
.
RESET_PWD_BY_EMAIL
})
}
catch
(
error
)
{
await
this
.
middleware
.
uniIdLog
({
data
:
{
email
},
type
:
LOG_TYPE
.
RESET_PWD_BY_EMAIL
,
success
:
false
})
throw
error
}
// 根据手机号查找匹配的用户
const
userMatched
=
await
findUser
.
call
(
this
,
{
userQuery
:
{
email
},
authorizedApp
:
[
this
.
getClientInfo
().
appId
]
})
if
(
userMatched
.
length
===
0
)
{
throw
{
errCode
:
ERROR
.
ACCOUNT_NOT_EXISTS
}
}
else
if
(
userMatched
.
length
>
1
)
{
throw
{
errCode
:
ERROR
.
ACCOUNT_CONFLICT
}
}
const
{
_id
:
uid
}
=
userMatched
[
0
]
const
{
passwordHash
,
version
}
=
new
PasswordUtils
({
passwordSecret
:
this
.
config
.
passwordSecret
}).
generatePasswordHash
({
password
})
// 更新用户密码
await
userCollection
.
doc
(
uid
).
update
({
password
:
passwordHash
,
password_secret_version
:
version
,
valid_token_date
:
Date
.
now
()
})
// 写入成功日志
await
this
.
middleware
.
uniIdLog
({
data
:
{
email
},
type
:
LOG_TYPE
.
RESET_PWD_BY_SMS
})
return
{
errCode
:
0
}
}
uni_modules/uni-id-pages/uniCloud/cloudfunctions/uni-id-co/module/login/login.js
浏览文件 @
f388ce8a
...
...
@@ -38,10 +38,7 @@ module.exports = async function (params = {}) {
required
:
false
,
type
:
'
email
'
},
password
:
{
required
:
true
,
type
:
'
string
'
},
password
:
'
password
'
,
captcha
:
{
required
:
false
,
type
:
'
string
'
...
...
uni_modules/uni-id-pages/uniCloud/cloudfunctions/uni-id-co/module/register/index.js
浏览文件 @
f388ce8a
module
.
exports
=
{
registerUser
:
require
(
'
./register-user
'
),
registerAdmin
:
require
(
'
./register-admin
'
),
registerUserByEmail
:
require
(
'
./register-user-by-email
'
)
registerAdmin
:
require
(
'
./register-admin
'
)
}
uni_modules/uni-id-pages/uniCloud/cloudfunctions/uni-id-co/module/register/register-user-by-email.js
已删除
100644 → 0
浏览文件 @
66b56557
const
{
postRegister
,
preRegisterWithPassword
}
=
require
(
'
../../lib/utils/register
'
)
const
{
verifyCaptcha
}
=
require
(
'
../../lib/utils/captcha
'
)
const
{
CAPTCHA_SCENE
,
EMAIL_SCENE
,
LOG_TYPE
}
=
require
(
'
../../common/constants
'
)
const
{
verifyEmailCode
}
=
require
(
'
../../lib/utils/verify-code
'
)
/**
* 通过邮箱+验证码注册普通用户
* @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#register-user-by-email
* @param {Object} params
* @param {String} params.email 邮箱
* @param {String} params.password 密码
* @param {String} params.nickname 昵称
* @param {String} params.code 邮箱验证码
* @param {String} params.inviteCode 邀请码
* @returns
*/
module
.
exports
=
async
function
(
params
=
{})
{
const
schema
=
{
email
:
'
email
'
,
password
:
'
password
'
,
nickname
:
{
required
:
false
,
type
:
'
nickname
'
},
code
:
'
string
'
,
inviteCode
:
{
required
:
false
,
type
:
'
string
'
}
}
this
.
middleware
.
validate
(
params
,
schema
)
const
{
email
,
password
,
nickname
,
code
,
inviteCode
}
=
params
try
{
// 验证邮箱验证码,验证不通过时写入失败日志
await
verifyEmailCode
({
email
,
code
,
scene
:
EMAIL_SCENE
.
REGISTER
})
}
catch
(
error
)
{
await
this
.
middleware
.
uniIdLog
({
data
:
{
email
},
type
:
LOG_TYPE
.
REGISTER
,
success
:
false
})
throw
error
}
const
{
user
,
extraData
}
=
await
preRegisterWithPassword
.
call
(
this
,
{
user
:
{
email
},
password
})
return
postRegister
.
call
(
this
,
{
user
,
extraData
:
{
...
extraData
,
nickname
,
email_confirmed
:
1
},
inviteCode
})
}
uni_modules/uni-id-pages/uniCloud/cloudfunctions/uni-id-co/module/verify/send-email-code.js
浏览文件 @
f388ce8a
const
{
verifyCaptcha
}
=
require
(
'
../../lib/utils/captcha
'
)
const
{
EMAIL_SCENE
}
=
require
(
'
../../common/constants
'
)
const
{
ERROR
}
=
require
(
'
../../common/error
'
)
/**
* 发送邮箱验证码,可用于登录、注册、绑定邮箱、修改密码等操作
* @tutorial
* @param {Object} params
* @param {String} params.email 邮箱
* @param {String} params.captcha 图形验证码
* @param {String} params.scene 使用场景
* @returns
*/
module
.
exports
=
async
function
(
params
=
{})
{
const
schema
=
{
email
:
'
email
'
,
captcha
:
'
string
'
,
scene
:
'
string
'
}
this
.
middleware
.
validate
(
params
,
schema
)
const
{
email
,
captcha
,
scene
}
=
params
if
(
!
(
Object
.
values
(
EMAIL_SCENE
).
includes
(
scene
)))
{
throw
{
errCode
:
ERROR
.
INVALID_PARAM
}
}
await
verifyCaptcha
.
call
(
this
,
{
scene
:
'
send-email-code
'
,
captcha
})
// -- 测试代码
require
(
'
../../lib/utils/verify-code
'
)
.
setEmailVerifyCode
.
call
(
this
,
{
email
,
code
:
'
123456
'
,
expiresIn
:
180
,
scene
})
return
{
errCode
:
'
uni-id-invalid-mail-template
'
,
errMsg
:
`已启动测试模式,直接使用:123456作为邮箱验证码即可。\n如果是正式项目,需自行实现发送邮件的相关功能`
}
// -- 测试代码
//发送邮件--需自行实现
// 此接口暂未实现,欢迎向我们提交pr
throw
new
Error
(
'
api[sendEmailCode] is not yet implemented
'
)
}
uni_modules/uni-id-pages/uniCloud/cloudfunctions/uni-id-co/package-lock.json
浏览文件 @
f388ce8a
{
"name"
:
"uni-id-co"
,
"version"
:
"1.0.
11
"
,
"version"
:
"1.0.
9
"
,
"lockfileVersion"
:
2
,
"requires"
:
true
,
"packages"
:
{
""
:
{
"name"
:
"uni-id-co"
,
"version"
:
"1.0.
11
"
,
"version"
:
"1.0.
9
"
,
"dependencies"
:
{
"jsonwebtoken"
:
"8.5.1"
,
"lodash.merge"
:
"^4.6.2"
,
...
...
@@ -43,21 +43,18 @@
},
"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/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/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"
,
...
...
@@ -77,8 +74,7 @@
},
"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"
,
...
...
@@ -87,8 +83,7 @@
},
"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"
...
...
@@ -96,58 +91,61 @@
},
"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/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/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/semver"
:
{
"version"
:
"5.7.1"
,
"resolved"
:
"https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz"
,
"integrity"
:
"sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
,
"license"
:
"ISC"
,
"bin"
:
{
"semver"
:
"bin/semver"
}
...
...
@@ -171,22 +169,16 @@
},
"dependencies"
:
{
"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=="
"version"
:
"1.0.1"
},
"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=="
,
"requires"
:
{
"safe-buffer"
:
"^5.0.1"
}
},
"jsonwebtoken"
:
{
"version"
:
"8.5.1"
,
"resolved"
:
"https://registry.npmmirror.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz"
,
"integrity"
:
"sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w=="
,
"requires"
:
{
"jws"
:
"^3.2.2"
,
"lodash.includes"
:
"^4.3.0"
,
...
...
@@ -202,8 +194,6 @@
},
"jwa"
:
{
"version"
:
"1.4.1"
,
"resolved"
:
"https://registry.npmmirror.com/jwa/-/jwa-1.4.1.tgz"
,
"integrity"
:
"sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA=="
,
"requires"
:
{
"buffer-equal-constant-time"
:
"1.0.1"
,
"ecdsa-sig-formatter"
:
"1.0.11"
,
...
...
@@ -212,67 +202,43 @@
},
"jws"
:
{
"version"
:
"3.2.2"
,
"resolved"
:
"https://registry.npmmirror.com/jws/-/jws-3.2.2.tgz"
,
"integrity"
:
"sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA=="
,
"requires"
:
{
"jwa"
:
"^1.4.1"
,
"safe-buffer"
:
"^5.0.1"
}
},
"lodash.includes"
:
{
"version"
:
"4.3.0"
,
"resolved"
:
"https://registry.npmmirror.com/lodash.includes/-/lodash.includes-4.3.0.tgz"
,
"integrity"
:
"sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w=="
"version"
:
"4.3.0"
},
"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=="
"version"
:
"3.0.3"
},
"lodash.isinteger"
:
{
"version"
:
"4.0.4"
,
"resolved"
:
"https://registry.npmmirror.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz"
,
"integrity"
:
"sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA=="
"version"
:
"4.0.4"
},
"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=="
"version"
:
"3.0.3"
},
"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=="
"version"
:
"4.0.6"
},
"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=="
"version"
:
"4.0.1"
},
"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=="
"version"
:
"4.6.2"
},
"lodash.once"
:
{
"version"
:
"4.1.1"
,
"resolved"
:
"https://registry.npmmirror.com/lodash.once/-/lodash.once-4.1.1.tgz"
,
"integrity"
:
"sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg=="
"version"
:
"4.1.1"
},
"ms"
:
{
"version"
:
"2.1.3"
,
"resolved"
:
"https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz"
,
"integrity"
:
"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
"version"
:
"2.1.3"
},
"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=="
"version"
:
"5.2.1"
},
"semver"
:
{
"version"
:
"5.7.1"
,
"resolved"
:
"https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz"
,
"integrity"
:
"sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
"version"
:
"5.7.1"
},
"uni-captcha"
:
{
"version"
:
"file:../../../../uni-captcha/uniCloud/cloudfunctions/common/uni-captcha"
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录