Parameters
| Property | Type | Required | Description |
|---|---|---|---|
| authType | String | Yes | Permission type to guide for |
| success | Function | No | Callback on success |
| fail | Function | No | Callback on failure |
| complete | Function | No | Callback that always executes |
Auth Types
| Value | Description |
|---|---|
MICROPHONE | Microphone permission |
ADDRESSBOOK | Address book permission |
CAMERA | Camera permission |
PHOTO | Photo permission |
LBS | Location (LBS) permission |
Code Example
Basic Usage
my.showAuthGuide({
authType: 'LBS',
success() {
console.log('Auth guide shown');
}
});
Permission Request Flow
Page({
async getLocation() {
my.getLocation({
success: (res) => {
this.handleLocation(res);
},
fail: (err) => {
// Show authorization guide
my.showAuthGuide({
authType: 'LBS',
success: () => {
// Guide was shown, user may have granted permission
// Try again after a delay
setTimeout(() => {
my.getLocation({
success: (res) => this.handleLocation(res),
fail: () => {
my.showToast({
content: 'Location permission required',
type: 'fail'
});
}
});
}, 1000);
}
});
}
});
},
handleLocation(res) {
console.log('Location:', res.latitude, res.longitude);
}
});
Camera Permission Guide
Page({
takePhoto() {
my.chooseImage({
sourceType: ['camera'],
success: (res) => {
this.setData({ photo: res.tempFilePaths[0] });
},
fail: () => {
my.showAuthGuide({
authType: 'CAMERA',
success: () => {
my.showToast({
content: 'Please grant camera permission and try again'
});
}
});
}
});
}
});
Multiple Permission Types
const permissionGuides = {
location: () => my.showAuthGuide({ authType: 'LBS' }),
camera: () => my.showAuthGuide({ authType: 'CAMERA' }),
photo: () => my.showAuthGuide({ authType: 'PHOTO' }),
contacts: () => my.showAuthGuide({ authType: 'ADDRESSBOOK' })
};
function showGuideFor(type) {
if (permissionGuides[type]) {
permissionGuides[type]();
}
}
Use this API to provide a better user experience when permissions are denied. The guide helps users understand why the permission is needed and how to enable it.
Related APIs
my.openSetting
Open settings page
my.getLocation
Get location