create-iking-admin
Version:
金合技术中台脚手架
91 lines (80 loc) • 2.11 kB
text/typescript
/*
* @Author : wfl
* @LastEditors: fj
* @description :
* @updateInfo :
* @Date : 2023-07-26 11:10:34
* @LastEditTime: 2023-08-29 10:38:17
*/
interface ITemptype { businessKey: string, businessName: string }
const defaultConfig = {
// ---
receiver: null,
sendTypes: [],
systemMessageDefinition: {
content: null,
copyToMail: false,
copyToShortMessage: false,
redirectTo: null,
voice: false,
templateId: null,
},
wechatMiniMessageDefinition: {
miniId: null,
miniMessageTemplateContent: null,
miniMessageTemplateId: null,
miniName: null,
paramDefinitionList: [],
templateId: null,
},
}
const defaultTemplateForm = {
businessKey: '',
businessName: '',
messageTemplateKey: '',
messageTemplateTitle: '',
channelNames: '',
receiverType: '',
}
const useNewsStore = defineStore(
// 唯一ID
'news',
() => {
const activeTemplate = ref<ITemptype | null>(null)
const businessTypeList = ref<ITemptype[]>([])
// 消息模板
const templateForm = ref({ ...defaultTemplateForm })
// 是否启用
const isEnabled = ref(false)
// 消息体定义
const msgContentForm: Ref<any> = ref({ ...defaultConfig })
const setIsEnabled = (val: any) => {
isEnabled.value = val
}
const setActiveTemplate = (item: ITemptype) => {
activeTemplate.value = item
}
const setBusinessType = (item: ITemptype[]) => {
businessTypeList.value = item
}
const setTemplateForm = (item: any) => {
templateForm.value = item || { ...defaultTemplateForm }
}
const setMsgContentForm = (item: any) => {
msgContentForm.value = typeof item === 'boolean' ? { ...defaultConfig } : item
}
return {
templateForm,
setTemplateForm,
activeTemplate,
setActiveTemplate,
businessTypeList,
setBusinessType,
msgContentForm,
setMsgContentForm,
isEnabled,
setIsEnabled,
}
},
)
export default useNewsStore