首次完整推送,

V:1.20240808.006
This commit is contained in:
fm453
2024-08-13 18:32:37 +08:00
parent 15be3e9373
commit c62d15b288
939 changed files with 111777 additions and 0 deletions

View File

@ -0,0 +1,72 @@
const {
userCollection
} = require('../../common/constants')
const {
ERROR
} = require('../../common/error')
const {
preRegisterWithPassword,
postRegister
} = require('../../lib/utils/register')
/**
* 注册管理员
* @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#register-admin
* @param {Object} params
* @param {String} params.username 用户名
* @param {String} params.password 密码
* @param {String} params.nickname 昵称
* @returns
*/
module.exports = async function (params = {}) {
const schema = {
username: 'username',
password: 'password',
nickname: {
type: 'nickname',
required: false
}
}
this.middleware.validate(params, schema)
const {
username,
password,
nickname
} = params
const getAdminRes = await userCollection.where({
role: 'admin'
}).limit(1).get()
if (getAdminRes.data.length > 0) {
const [admin] = getAdminRes.data
const appId = this.getUniversalClientInfo().appId
if (!admin.dcloud_appid || (admin.dcloud_appid && admin.dcloud_appid.includes(appId))) {
return {
errCode: ERROR.ADMIN_EXISTS,
errMsg: this.t('uni-id-admin-exists')
}
} else {
return {
errCode: ERROR.ADMIN_EXISTS,
errMsg: this.t('uni-id-admin-exist-in-other-apps')
}
}
}
const {
user,
extraData
} = await preRegisterWithPassword.call(this, {
user: {
username
},
password
})
return postRegister.call(this, {
user,
extraData: {
...extraData,
nickname,
role: ['admin']
}
})
}