收藏
回答

wx.openSetting() 提交上线后没有权限开关,微信开发者工具和手机预览都有开关

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.openSetting() 微信安卓客户端 8.0.60 3.8.7

发布到线上的openSetting界面,没有权限开关

开发工具、开发工具生成预览二维码,手机扫码后查看都有权限开关



// 引导用户手动开启权限

showPermissionGuide() {

wx.showModal({

title: '权限申请',

content: '需要相册权限才能保存图片,请前往设置开启',

success: (res) => {

if (res.confirm) {

// 打开系统设置页

wx.openSetting()

}

},

complete: () => {}

})

},

下载功能,当用户没有权限的时候弹出框模态框,然后如果用户点击“确定”,就openSetting(),没有开关按钮

async downloadPicture() {

this.setData({

downloadLoading: true

})

//判断用户是否授权存储到相册

const hasPermission = await this.checkPhotoAlbumPermission()


if (hasPermission === true) {

console.log("有权限")

this.downloadAvatar() // 执行保存操作

} else {

console.log("没有权限,请求权限")

// 未授权时请求权限

wx.authorize({

scope: 'scope.writePhotosAlbum',

success: () => this.downloadAvatar(),

fail: () => {

this.hideDownloadLoading()

this.showPermissionGuide()

}

})

}

},


最后一次编辑于  2025-07-02
回答关注问题邀请回答
收藏

5 个回答

  • 🍒Cherish💋
    🍒Cherish💋
    01-21

    这题我会解,在审核发布的时候要选择采集用户信息

    01-21
    有用
    回复
  • HHH
    HHH
    2025-07-02

    async downloadPicture() {

    this.setData({

    downloadLoading: true

    })

    //判断用户是否授权存储到相册

    const hasPermission = await this.checkPhotoAlbumPermission()


    if (hasPermission === true) {

    console.log("有权限")

    this.downloadAvatar() // 执行保存操作

    } else {

    console.log("没有权限,请求权限")

    // 未授权时请求权限

    wx.authorize({

    scope: 'scope.writePhotosAlbum',

    success: () => this.downloadAvatar(),

    fail: () => {

    this.hideDownloadLoading()

    this.showPermissionGuide()

    }

    })

    }

    },


    2025-07-02
    有用
    回复
  • 小黎
    小黎
    2025-07-02

    2025-07-02
    有用
    回复
  • 风清雾散云开见日出
    风清雾散云开见日出
    2025-07-02

    需要你先授权这个权限,才会在对应用户的小程序设置中出现对应权限。

    2025-07-02
    有用
    回复 2
    • HHH
      HHH
      2025-07-02
      我已经弹了授权,授权被拒绝后,我弹出引导模态框,当用户点击“去设置”的时候,调用openSetting() 的设置界面没有权限开关
      2025-07-02
      回复
    • 风清雾散云开见日出
      风清雾散云开见日出
      2025-07-02回复HHH
      删除体验版、开发版、在线版,用在线版重新测试下。
      2025-07-02
      回复
  • 智能回答 智能回答 本次回答由AI生成
    2025-07-02
    有用
    回复
登录 后发表内容