| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- import { defineStore } from "pinia";
- /**
- * 在小数绘图的图生文功能中
- * 用户需要先上传一张图片,然后发布一段文字,询问上传的图片的一些信息
- * 当用户上传一张图片后,如果不发布文字,继续上传图片,则会引起功能异常
- * 为了避免用户连续上传图片,而不发布文字,特意做限制:
- * 用户在上传一张图片后,必须发送一段文本,否则不能继续上传图片
- * 此store的定义,就是为了处理该场景
- * img_upload_status 表示图片上传的状态 0 表示图片未上传 1 表示图片已上传
- * msg_send_status 表示文字发送的状态 0 表示文字未发送 1 表示文字已发送
- *
- * 当用户上传一张图片后,应将 img_upload_status 设置为 1,且将 msg_send_status 设置为0
- * 当用户发送一段文字后,应将 msg_send_status 设置为 1,且将 img_upload_status 设置为 0
- *
- * 在上传图片的位置,应检查 img_upload_status 和 msg_send_status 的值,如果 img_upload_status === 1 但是 msg_send_status === 0,则图片上传功能不可用
- */
- const useImageUploadStatus = defineStore("imageUploadStatus", {
- state: () => ({
- img_upload_status: 0,
- msg_send_status: 0
- }),
- getters: {
- uploadStatus(state) {
- return state.img_upload_status;
- },
- messageStatus(state) {
- return state.msg_send_status;
- },
- /**
- * 是否允许继续上传图片
- * @param state
- * @returns
- */
- canUploadContinue(state) {
- return state.img_upload_status === 0;
- }
- },
- actions: {
- /**
- * 图片已上传
- */
- uploadFinish() {
- this.img_upload_status = 1;
- this.msg_send_status = 0;
- },
- /**
- * 文本消息已发送
- */
- messageFinish() {
- this.msg_send_status = 1;
- this.img_upload_status = 0;
- }
- }
- });
- export default useImageUploadStatus;
|