const { userCollection } = require('../../common/constants') const { ERROR } = require('../../common/error') const { decryptData } = require('../../common/sensitive-aes-cipher') const { dataDesensitization } = require('../../common/utils') /** * 获取实名信息 * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#get-realname-info * @param {Object} params * @param {Boolean} params.decryptData 是否解密数据 * @returns */ module.exports = async function (params = {}) { const schema = { decryptData: { required: false, type: 'boolean' } } this.middleware.validate(params, schema) const { decryptData: isDecryptData = true } = params const { uid } = this.authInfo const getUserRes = await userCollection.doc(uid).get() const userRecord = getUserRes && getUserRes.data && getUserRes.data[0] if (!userRecord) { throw { errCode: ERROR.ACCOUNT_NOT_EXISTS } } const { realname_auth: realNameAuth = {} } = userRecord return { errCode: 0, type: realNameAuth.type, authStatus: realNameAuth.auth_status, realName: isDecryptData ? dataDesensitization(decryptData.call(this, realNameAuth.real_name), { onlyLast: true }) : realNameAuth.real_name, identity: isDecryptData ? dataDesensitization(decryptData.call(this, realNameAuth.identity)) : realNameAuth.identity } }