Browse Source

1. 设置上传图片biz_type为 PUSH_MESSAGE 2. 添加代码注释

lfeish 1 year ago
parent
commit
7359baadad

+ 21 - 9
src/views/message/sysnotion-config/SysnotionConfig.vue

@@ -45,7 +45,7 @@
   import ContentConfig from './compontents/ContentConfig.vue';
   import ContentConfig from './compontents/ContentConfig.vue';
   import RightCard from './compontents/RightCard.vue';
   import RightCard from './compontents/RightCard.vue';
 
 
-  const isDisabled = ref<boolean>(false);
+  const isDisabled = ref<boolean>(false); // 是可编辑还是只查看状态
   const useUser = useUserStore();
   const useUser = useUserStore();
   const { info } = storeToRefs(useUser);
   const { info } = storeToRefs(useUser);
   const basicInfoRef = ref<InstanceType<typeof BasicInfo>>();
   const basicInfoRef = ref<InstanceType<typeof BasicInfo>>();
@@ -56,7 +56,7 @@
     bannerUrl: '',
     bannerUrl: '',
     pushChannel: [],
     pushChannel: [],
     expirationTime: '',
     expirationTime: '',
-    recipientType: 1, // 全员
+    recipientType: 1, // 默认全员 (FIXME:魔法数字)
     userGroupList: [],
     userGroupList: [],
     customUserList: [],
     customUserList: [],
     introduction: '',
     introduction: '',
@@ -79,7 +79,12 @@
   const route = useRoute();
   const route = useRoute();
   const sysId = Number(route.query.id as string);
   const sysId = Number(route.query.id as string);
 
 
+  /**
+   * 获取当前系统配置信息
+   */
   const fetchSystemMessage = async () => {
   const fetchSystemMessage = async () => {
+    // 首次暂存后切换到编辑模式,因为路由没有发生变化,组件也不会发生变化,
+    // sysId会一直为undefined,但此时 ruleForm.id 是存在的
     const messageId = sysId || ruleForm.id
     const messageId = sysId || ruleForm.id
 
 
     // 查看 或 编辑状态
     // 查看 或 编辑状态
@@ -87,6 +92,7 @@
       isDisabled.value = true;
       isDisabled.value = true;
       const res = await viewSystemMessage(messageId);
       const res = await viewSystemMessage(messageId);
       if (res.status === SysMessageStatus.DRAFT) {
       if (res.status === SysMessageStatus.DRAFT) {
+        // 如果未发布,还是可以编辑的
         isDisabled.value = false;
         isDisabled.value = false;
       }
       }
 
 
@@ -94,12 +100,13 @@
       Object.entries(res).forEach(([key, value]) => {
       Object.entries(res).forEach(([key, value]) => {
           ruleForm[key] = value;
           ruleForm[key] = value;
       });
       });
-      
     }
     }
   };
   };
 
 
-
-  // 取消
+  /**
+   * 取消。 
+   * TODO:功能是否上线暂定
+   */
   const onCancel = () => {
   const onCancel = () => {
     // 比对数据
     // 比对数据
     const changes = compareData(ruleForm, originalData);
     const changes = compareData(ruleForm, originalData);
@@ -129,28 +136,33 @@
   };
   };
 
 
 
 
-  // 暂存
+  /**
+   * 暂存功能。 未正式发布之前,可继续编辑
+   */
   const onSave = async () => {
   const onSave = async () => {
-    // to save dada
+    // 基础配置信息。 
+    // FIXME: validate 返回了数据,不符合单一原则
     const baseInfoData = await basicInfoRef.value?.validate();
     const baseInfoData = await basicInfoRef.value?.validate();
+    // 内容配置信息。
     const contentConfigData = contentConfigRef.value?.buildFormdata();
     const contentConfigData = contentConfigRef.value?.buildFormdata();
 
 
     const params: RuleFormAdd = {
     const params: RuleFormAdd = {
       ...baseInfoData!,
       ...baseInfoData!,
       ...contentConfigData,
       ...contentConfigData,
     };
     };
+    // 请求体,不需要 operator 和 status
     delete params.operator;
     delete params.operator;
     delete params.status;
     delete params.status;
 
 
     const messageId = sysId || ruleForm.id;
     const messageId = sysId || ruleForm.id;
 
 
-    if (!messageId) {
+    if (!messageId) { // 首次保存
       ruleForm.id = await addSystemMessage(params);
       ruleForm.id = await addSystemMessage(params);
       ElMessage.success('暂存成功!');
       ElMessage.success('暂存成功!');
       await router.replace(`/message/sysnotion-config?id=${ruleForm.id}`)
       await router.replace(`/message/sysnotion-config?id=${ruleForm.id}`)
       fetchSystemMessage();
       fetchSystemMessage();
 
 
-    } else {
+    } else { // 继续编辑
       await updateSystemMessage(params)
       await updateSystemMessage(params)
       ElMessage.success('编辑成功!');
       ElMessage.success('编辑成功!');
     }
     }

+ 1 - 1
src/views/message/sysnotion-config/compontents/BasicInfo.vue

@@ -40,7 +40,7 @@
           class="avatar-uploader"
           class="avatar-uploader"
           :action="actionUrl"
           :action="actionUrl"
           :headers="getHeaders()"
           :headers="getHeaders()"
-          :data="{ bizType: 'PROBLEM_REPORT' }"
+          :data="{ bizType: 'PUSH_MESSAGE' }"
           :show-file-list="false"
           :show-file-list="false"
           :on-success="handleAvatarSuccess"
           :on-success="handleAvatarSuccess"
           :before-upload="beforeAvatarUpload"
           :before-upload="beforeAvatarUpload"

+ 3 - 4
src/views/message/sysnotion-config/compontents/ContentConfig.vue

@@ -158,11 +158,10 @@
     maxNumberOfFiles: 10,
     maxNumberOfFiles: 10,
     // 选择文件时的类型限制,默认为 ['image/*'] 。如不想限制,则设置为 []
     // 选择文件时的类型限制,默认为 ['image/*'] 。如不想限制,则设置为 []
     allowedFileTypes: ['image/*'],
     allowedFileTypes: ['image/*'],
-    // 自定义上传参数,例如传递验证的 token 等。参数会被添加到 formData 中,一起上传到服务端。
+    // 自定义上传参数。参数会被添加到 formData 中,一起上传到服务端。
     meta: {
     meta: {
-      // type: 1,
-      // targetId: 5,
-      bizType: 'ALGO',
+      bizType: 'PUSH_MESSAGE',
+      fileName: ''
     },
     },
     // 将 meta 拼接到 url 参数中,默认 false
     // 将 meta 拼接到 url 参数中,默认 false
     metaWithUrl: false,
     metaWithUrl: false,