wxbox-auth
v1.0.1
Published
[🎁 微信小程序工具盒] 微信小程序通用授权逻辑
Readme
wxbox-auth
[🎁 微信小程序工具盒] 微信小程序通用授权逻辑
安装
npm i wxbox-auth使用
只需填入 scope,AuthService 会集中管理所有微信小程序权限授权逻辑
import AuthService from 'wxbox-auth'
// 获取地理位置的授权
await AuthService.call('scope.userLocation', () => {
// 具体业务代码
wx.getLocation({
type: 'gcj02',
success: (res) => {
// ...
},
fail: (err) => {
// ...
}
})
})
// 可同时进行多个权限的授权
// scope. 可省略
// 通过 authRes 查看授权结果
const authRes = await AuthService.call('writePhotosAlbum')
// 查看当前权限的授权状态
const stat = AuthService.stat()// 完整配置
AuthService.call('werun', (authRes: any) => {
// 根据授权结果,编写自己的业务代码
if (authRes.authorized) {
wx.getWeRunData({
success (res) {
// ...
}
})
} else {
// ...
}
}, {
// 在用户拒绝授权后,是否开启授权引导,默认为 true
// 如设为 false,需自行处理首次授权被拒绝后再次拉起授权的逻辑
showModal: true,
// 自定义 modal 提示内容,不传使用默认的提示内容
modalConfig: {
title: '需要授权',
content: '为了提供更好的服务,需要获取您的xx权限',
confirmText: '去设置',
cancelText: '取消'
},
// 授权失败回调
onAuthFail: (authRes) => {
// ...
}
})在小程序中使用npm包前,需先构建 npm 使用定位等接口时,需要在 app.json 中配置
permissionrequiredPrivateInfos等字段
// 使用 typescript 模板的项目,需额外配置 `project.config.json` 文件
"packNpmManually": true,
"packNpmRelationList": [
{
"packageJsonPath": "./package.json",
"miniprogramNpmDistDir": "./miniprogram"
}
]