zhaoxing
2023-05-11 ac65fb87fa3f2e0cd551019cd6cb8de753eebce8
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
38
39
40
41
42
43
44
45
46
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.getUniversalClientInfo()
  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
  })
}