fuck wechat reviewer

This commit is contained in:
Timi
2026-01-29 14:37:46 +08:00
parent 8269a29100
commit b2cf9572a4
16 changed files with 917 additions and 677 deletions

View File

@@ -3,6 +3,7 @@
import Time from "../../../../utils/Time";
import { TravelApi } from "../../../../api/TravelApi";
import { TravelStatus, TransportationType } from "../../../../types/Travel";
import Permission from "../../../../utils/Permission";
interface TravelEditorData {
/** 模式create 或 edit */
@@ -43,6 +44,10 @@ interface TravelEditorData {
deleteDialogVisible: boolean;
/** 删除确认文本 */
deleteConfirmText: string;
/** 是否拥有上传权限 */
canUpload: boolean;
/** 是否已检查权限 */
permissionChecked: boolean;
}
Page({
@@ -76,9 +81,15 @@ Page({
{ label: "已完成", value: TravelStatus.COMPLETED }
],
deleteDialogVisible: false,
deleteConfirmText: ""
deleteConfirmText: "",
canUpload: false,
permissionChecked: false
},
onLoad(options: any) {
async onLoad(options: any) {
const canUpload = await this.ensureUploadPermission();
if (!canUpload) {
return;
}
// 判断模式:有 ID 是编辑,无 ID 是创建
const id = options.id ? parseInt(options.id) : undefined;
@@ -89,7 +100,7 @@ Page({
id,
isLoading: true
});
this.loadTravelDetail(id);
await this.loadTravelDetail(id);
} else {
// 创建模式
this.setData({
@@ -105,6 +116,35 @@ Page({
});
}
},
async ensureUploadPermission(): Promise<boolean> {
const cached = Permission.getCachedUploadPermission();
if (cached !== null) {
this.setData({
canUpload: cached,
permissionChecked: true
});
if (!cached) {
this.redirectNoPermission();
return false;
}
return true;
}
const canUpload = await Permission.checkAndCacheUploadPermission();
this.setData({
canUpload,
permissionChecked: true
});
if (!canUpload) {
this.redirectNoPermission();
return false;
}
return true;
},
redirectNoPermission() {
wx.switchTab({
url: "/pages/main/tabs/journal/index"
});
},
/** 加载出行详情(编辑模式) */
async loadTravelDetail(id: number) {
wx.showLoading({ title: "加载中...", mask: true });