my.checkNativePermissions
checkNativePermissions
my.checkNativePermissions
là API dùng để kiểm tra người dùng đã bật các quyền cho Tiki app hay chưa.
Quét mã để trải nghiệm
Hoặc sử dụng link
https://tiki.vn/apps/vn.tiki.miniapp.demo?page=pages/api/check-native-permissions/index
Xem code mẫu trên Tini Studiohttps://tiki.vn/apps/vn.tiki.miniapp.demo?page=pages/api/check-native-permissions/index
Demo
Trải nghiệm thử với trình giả lập bên dưới
API Params
Thuộc tính | Kiểu dữ liệu | Mô tả |
---|---|---|
scope | Array | Mảng các quyền người dùng muốn kiểm tra. Hãy xem danh sách phạm vi để biết chi tiết. Ví dụ: scope:["contacts"] |
success | Function | Callback function khi việc kiểm tra thành công. |
fail | Function | Callback function khi việc kiểm tra bất thành. |
complete | Function | Callback function khi việc kiểm tra hoàn tất bất kể thành công hay thất bại. |
Callback function payload
Thuộc tính | Kiểu dữ liệu | Mô tả |
---|---|---|
permissions | object | Kết quả người dùng đã bật quyền cho Tiki app, trong đó khoá là giá trị phạm vi và giá trị trả về là kiểu bool |
Danh sách các phạm vi (Scope)
Phạm vi | Mô tả |
---|---|
location | Vị trí |
camera | Camera |
photo | Thư viện ảnh |
contacts | Danh sách liên hệ |
notification | Thông báo |
Sample Code
index.js
Page({
data: {
permissions: [
{ key: 'contacts', value: false },
{ key: 'location', value: false },
{ key: 'notification', value: false },
{ key: 'camera', value: false },
{ key: 'photo', value: false }
]
},
onChange(e) {
if (e.detail.value.length > 0) {
const index = e.detail.value[0];
this.data.permissions[index] = {
...this.data.permissions[index],
value: !this.data.permissions[index].value
};
this.setData({
permissions: this.data.permissions
});
}
},
onCheckPermissions() {
const scope = this.data.permissions.reduce((arr, item) => {
if (item.value) {
arr.push(item.key);
}
return arr;
}, []);
my.checkNativePermissions({
scope,
success: (res) => {
my.alert({ content: JSON.stringify(res) });
},
fail: (res) => {
my.alert({ content: JSON.stringify(res) });
}
});
}
});
index.txml
<view>
<block-header title="Usage" description="Check native permission on device" />
<view class="block-content">
<checkbox-group onChange="onChange" tiki:for="{{permissions}}" :key="index">
<list-item>
<label class="label-line">
<checkbox class="label-line-checkbox" checked="{{item.value}}" value="{{index}}" />
<view class="label-line-content">{{item.key}}</view>
</label>
</list-item>
</checkbox-group>
<button class="button-full" onTap="onCheckPermissions">Check Permission</button>
</view>
</view>