设置

qq.openSetting

qq.openSetting(Object object)

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

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

参数

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)

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

参数

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

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

属性

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

订阅消息设置

属性

Object itemSettings

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