authorize-app-login.js 762 字节
Newer Older
DCloud_JSON's avatar
DCloud_JSON 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
const {
  isAuthorizeApproved
} = require('./utils')
const {
  dbCmd,
  userCollection
} = require('../../common/constants')

/**
 * 授权用户登录应用
 * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#authorize-app-login
 * @param {Object} params
 * @param {String} params.uid   用户id
 * @param {String} params.appId 授权的应用的AppId
 * @returns
 */
module.exports = async function (params = {}) {
  const schema = {
    uid: 'string',
    appId: 'string'
  }
  this.middleware.validate(params, schema)
  const {
    uid,
    appId
  } = params
  await isAuthorizeApproved({
    uid,
    appIdList: [appId]
  })
  await userCollection.doc(uid).update({
    dcloud_appid: dbCmd.push(appId)
  })
  return {
    errCode: 0
  }
}