const { preUnBind, postUnBind } = require('../../lib/utils/relate') const { LOG_TYPE, dbCmd } = require('../../common/constants') const { getQQPlatform } = require('../../lib/utils/qq') /** * 解绑QQ * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#unbind-qq * @returns */ module.exports = async function () { const { uid } = this.authInfo const { appId } = this.getClientInfo() const qqPlatform = getQQPlatform.call(this) await preUnBind.call(this, { uid, unBindAccount: { qq_openid: dbCmd.or([ { [qqPlatform]: dbCmd.exists(true) }, { [`${qqPlatform}_${appId}`]: dbCmd.exists(true) } ]), qq_unionid: dbCmd.exists(true) }, logType: LOG_TYPE.UNBIND_QQ }) return await postUnBind.call(this, { uid, unBindAccount: { qq_openid: dbCmd.remove(), qq_unionid: dbCmd.remove() }, logType: LOG_TYPE.UNBIND_QQ }) }