| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- 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
- }
- }
|