add upload permission

This commit is contained in:
Timi
2026-01-29 11:58:18 +08:00
parent 81cb0b361d
commit 6e01e927b1
14 changed files with 213 additions and 36 deletions

View File

@ -6,6 +6,7 @@ import { TravelLocation, TravelLocationTypeIcon, TravelLocationTypeLabel } from
import { MediaAttachType, PreviewImageMetadata } from "../../../../types/Attachment";
import { MapMarker, MediaItem, MediaItemType } from "../../../../types/UI";
import Toolkit from "../../../../utils/Toolkit";
import Permission from "../../../../utils/Permission";
interface TravelLocationView extends TravelLocation {
/** 媒体列表 */
@ -35,6 +36,8 @@ interface TravelLocationDetailData {
deleteDialogVisible: boolean;
/** 删除确认文本 */
deleteConfirmText: string;
/** 是否允许上传 */
canUpload: boolean;
}
Page({
@ -51,7 +54,8 @@ Page({
},
mapMarkers: [],
deleteDialogVisible: false,
deleteConfirmText: ""
deleteConfirmText: "",
canUpload: false
},
onLoad(options: any) {
@ -73,10 +77,17 @@ Page({
}
},
onShow() {
async onShow() {
const cached = Permission.getCachedUploadPermission();
if (cached !== null) {
this.setData({ canUpload: cached });
} else {
const canUpload = await Permission.checkAndCacheUploadPermission();
this.setData({ canUpload });
}
// 页面显示时刷新数据(从编辑页返回时)
if (this.data.locationId && !this.data.isLoading && this.data.location) {
this.fetchDetail(this.data.locationId);
await this.fetchDetail(this.data.locationId);
}
},

View File

@ -1,7 +1,7 @@
<!--pages/main/travel/location-detail/index.wxml-->
<view class="custom-navbar">
<t-navbar title="地点详情" leftArrow placeholder bind:go-back="goBack">
<view slot="right" class="edit-btn" bind:tap="toEdit">
<view wx:if="{{canUpload}}" slot="right" class="edit-btn" bind:tap="toEdit">
<t-icon name="edit" size="24px" />
</view>
</t-navbar>
@ -120,7 +120,7 @@
</t-button>
</view>
<!-- 操作按钮 -->
<view class="section action">
<view wx:if="{{canUpload}}" class="section action">
<t-button
theme="danger"
variant="outline"