# 设置

# qq.openSetting

# qq.openSetting(Object object)

调起客户端小程序设置界面,返回用户设置的操作结果。设置界面只会出现小程序已经向用户请求过的权限

用户发生点击行为后,可以跳转打开设置页,管理授权信息。

QQ mac版本:支持

QQ windows版本:支持

# 参数

# Object object
属性 类型 默认值 必填 说明
withSubscriptions Boolean false 是否同时获取用户订阅消息的订阅状态,默认不获取。注意:withSubscriptions 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息。
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)
# object.success 回调函数

参数

Object res

属性 类型 说明
authSetting AuthSetting 用户授权结果
subscriptionsSetting SubscriptionsSetting 用户订阅消息设置,接口参数withSubscriptions值为true时才会返回。

# 示例代码

qq.openSetting({
  success(res) {
    console.log(res.authSetting)
    // res.authSetting = {
    //   "scope.userInfo": true,
    //   "scope.userLocation": true
    // }
  }
})
1
2
3
4
5
6
7
8
9
qq.openSetting({
  withSubscriptions: true,
  success (res) {
    console.log(res.authSetting)
    // res.authSetting = {
    //   "scope.userInfo": true,
    //   "scope.userLocation": true
    //   "setting.appMsgSubscribed": true, // 长期订阅开关,true:打开;false:关闭
    // }
    console.log(res.subscriptionsSetting)
    // res.subscriptionsSetting = {
    //   itemSettings: {   // 订阅消息
    //     SYS_MSG_TYPE_INTERACTIVE: 'accept', // 小程序系统订阅消息:好友互动提醒
    //     SYS_MSG_TYPE_RANK: 'accept', // 小程序系统订阅消息:排行榜超越提醒
    //     118d4118a4609537873d18fdsfe932332: 'reject', // 普通一次性订阅消息
    //     53231118a4609537873d18fdsfe932332: 'ban', // 普通一次性订阅消息
    //   }
    // }
  }
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# qq.getSetting

# qq.getSetting(Object object)

获取用户的当前设置。返回值中只会出现小程序已经向用户请求过的权限

QQ mac版本:支持

QQ windows版本:支持

# 参数

# Object object
属性 类型 默认值 必填 说明
withSubscriptions Boolean false 是否同时获取用户订阅消息的订阅状态,默认不获取。注意:withSubscriptions 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息。
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)
# object.success 回调函数

参数

Object res

属性 类型 说明
authSetting AuthSetting 用户授权结果
subscriptionsSetting SubscriptionsSetting 是否返回用户订阅消息设置,接口参数withSubscriptions值为true时才会返回。

# 示例代码

qq.getSetting({
  success(res) {
    console.log(res.authSetting)
    // res.authSetting = {
    //   "scope.userInfo": true,
    //   "scope.userLocation": true
    // }
  }
})
1
2
3
4
5
6
7
8
9
qq.getSetting({
  withSubscriptions: true,
  success (res) {
    console.log(res.authSetting)
    // res.authSetting = {
    //   "scope.userInfo": true,
    //   "scope.userLocation": true
    //   "setting.appMsgSubscribed": true, // 长期订阅开关,true:打开;false:关闭
    // }
    console.log(res.subscriptionsSetting)
    // res.subscriptionsSetting = {
    //   itemSettings: {   // 订阅消息
    //     SYS_MSG_TYPE_INTERACTIVE: 'accept', // 小程序系统订阅消息:好友互动提醒
    //     SYS_MSG_TYPE_RANK: 'accept', // 小程序系统订阅消息:排行榜超越提醒
    //     118d4118a4609537873d18fdsfe932332: 'reject', // 普通一次性订阅消息
    //     53231118a4609537873d18fdsfe932332: 'ban', // 普通一次性订阅消息
    //   }
    // }
  }
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# AuthSetting

用户授权设置信息,详情参考权限

QQ mac版本:支持

QQ windows版本:支持

# 属性

# boolean scope.userInfo

是否授权用户信息,对应接口 qq.getUserInfo

# boolean scope.userLocation

是否授权地理位置,对应接口 qq.getLocation, qq.chooseLocation

# boolean scope.address

是否授权通讯地址,对应接口 qq.chooseAddress

# boolean scope.invoiceTitle

是否授权发票抬头,对应接口 qq.chooseInvoiceTitle

# boolean scope.invoice

是否授权获取发票,对应接口 qq.chooseInvoice

# boolean scope.qqrun

是否授权QQ运动步数,对应接口 qq.getQQRunData

# boolean scope.record

是否授权录音功能,对应接口 qq.startRecord

# boolean scope.writePhotosAlbum

是否授权保存到相册 qq.saveImageToPhotosAlbum, qq.saveVideoToPhotosAlbum

# boolean scope.camera

是否授权摄像头,对应<camera /> 组件

# boolean scope.appMsgSubscribed

订阅消息(833以下版本使用scope.appMsgSubscribed,833及以上版本使用setting.appMsgSubscribed), qq.subscribeAppMsg

# boolean scope.addFriend

允许被添加好友,主动调用qq.authorize接口进行授权

# SubscriptionsSetting

订阅消息设置

QQ mac版本:支持

QQ windows版本:支持

# 属性

# Object itemSettings

每一项订阅消息的订阅状态。itemSettings 对象的键为一次性订阅消息的模板id系统订阅消息的类型,值为'accept'、'reject'、'ban'中的其中一种。'accept'表示用户同意订阅这条消息,'reject'表示用户拒绝订阅这条消息,'ban'表示已被后台封禁。一次性订阅消息使用方法详见 qq.subscribeAppMsg,系统订阅消息使用方法详见qq.requestSubscribeSystemMessage