add upload permission
This commit is contained in:
@ -1,27 +1,54 @@
|
||||
import Permission from "../../../../utils/Permission";
|
||||
|
||||
type NavItem = {
|
||||
title: string;
|
||||
icon: string;
|
||||
url: string;
|
||||
requiredUploadPermission: boolean;
|
||||
};
|
||||
|
||||
interface OtherData {
|
||||
navList: NavItem[];
|
||||
canUpload: boolean;
|
||||
}
|
||||
|
||||
const baseNavList: NavItem[] = [
|
||||
{
|
||||
title: "备忘录",
|
||||
icon: "task-checked",
|
||||
url: "/pages/main/other/memo/index",
|
||||
requiredUploadPermission: true
|
||||
},
|
||||
{
|
||||
title: "专拍",
|
||||
icon: "face-retouching",
|
||||
url: "/pages/main/other/portfolio/index",
|
||||
requiredUploadPermission: false
|
||||
}
|
||||
];
|
||||
|
||||
function buildNavList(canUpload: boolean): NavItem[] {
|
||||
if (canUpload) {
|
||||
return [...baseNavList];
|
||||
}
|
||||
return baseNavList.filter((item) => !item.requiredUploadPermission);
|
||||
}
|
||||
|
||||
Page({
|
||||
data: <OtherData>{
|
||||
navList: [
|
||||
{
|
||||
title: "备忘录",
|
||||
icon: "task-checked",
|
||||
url: "/pages/main/other/memo/index"
|
||||
},
|
||||
{
|
||||
title: "专拍",
|
||||
icon: "face-retouching",
|
||||
url: "/pages/main/other/portfolio/index"
|
||||
}
|
||||
],
|
||||
navList: buildNavList(false),
|
||||
canUpload: false
|
||||
},
|
||||
async onShow() {
|
||||
const cached = Permission.getCachedUploadPermission();
|
||||
let canUpload = cached;
|
||||
if (cached === null) {
|
||||
canUpload = await Permission.checkAndCacheUploadPermission();
|
||||
}
|
||||
this.setData({
|
||||
canUpload: !!canUpload,
|
||||
navList: buildNavList(!!canUpload)
|
||||
});
|
||||
},
|
||||
onNavTap(e: WechatMiniprogram.BaseEvent) {
|
||||
const { url } = e.currentTarget.dataset as { url?: string };
|
||||
|
||||
Reference in New Issue
Block a user