1. 添加英文配音

2. 修复聚合推文 任务没有文件不能删掉
3. 修复聚合推文删除所有的批次任务之后,不能再添加的问题
4. 添加版本更新通知,版本更新内容提醒
5. 添加MJ代理MJ账号设置,可以删除本地的账号和同步云端的账号(主要是状态和禁用原因)
This commit is contained in:
2024-10-18 12:39:40 +08:00
parent 224ee47984
commit efa8d3b2a2
41 changed files with 1871 additions and 2959 deletions
+3 -1
View File
@@ -2,10 +2,12 @@ import * as image from './image';
import * as common from './common';
import * as file from './file'
import * as validate from './validate';
import * as write from './write';
export {
image,
common,
file,
validate
validate,
write
};
+36
View File
@@ -0,0 +1,36 @@
import { isEmpty } from "lodash";
/**
* 格式化文本,将文本根据指定的分隔符拆分成单词数组。
*
* @param text - 要格式化的文本。
* @param simpleSplitChar - 简单分隔符字符串,如果未提供则使用默认的分隔符。
* @param specialSplitChat - 特殊分隔符数组,如果未提供或为空数组则使用默认的特殊分隔符。
* @returns 拆分后的单词数组。
*/
export function FormatWord(text: string, simpleSplitChar?: string, specialSplitChat?: string[],): string[] {
const defaultSimpleSplitChar = '。,“”‘’!?【】《》()…—:;.,\'\'""!?[]<>()...-:;';
const defaultSpecialSplitChat = ['.', '*', '?', '+', '^', '$', '[', ']', '(', ')', '{', '}', '|', '\\'];
if (isEmpty(simpleSplitChar)) {
simpleSplitChar = defaultSimpleSplitChar;
}
if (specialSplitChat == null || specialSplitChat.length === 0) {
specialSplitChat = defaultSpecialSplitChat;
}
Array.from(simpleSplitChar).forEach((item) => {
let regex: RegExp;
if (defaultSpecialSplitChat.includes(item)) {
regex = new RegExp('\\' + item, 'g')
} else {
regex = new RegExp(item, 'g')
}
text = text.replace(regex, '\n')
})
let wordArr = text.split('\n')
wordArr = wordArr.filter((item) => item != '' && item != null)
return wordArr
}
+4 -2
View File
@@ -39,7 +39,7 @@ export class RemoteMJModel extends Realm.Object<RemoteMJModel> {
accountId: string | null
channelId: string
coreSize: number
guildId: string
guildId: string
enable: boolean // 是否启用
mjBotChannelId: string | null
nijiBotChannelId: string | null
@@ -52,6 +52,7 @@ export class RemoteMJModel extends Realm.Object<RemoteMJModel> {
createTime: Date
updateTime: Date
version: string
blockMessage?: string
static schema: ObjectSchema = {
name: 'RemoteMJ',
properties: {
@@ -71,7 +72,8 @@ export class RemoteMJModel extends Realm.Object<RemoteMJModel> {
userToken: 'string',
createTime: 'date',
updateTime: 'date',
version: 'string'
version: 'string',
blockMessage: 'string?'
},
// 主键为_id
primaryKey: 'id'
@@ -300,6 +300,9 @@ export class MJSettingService extends BaseSoftWareService {
if (remoteMjQuery?.id) {
remoteMjSettings = this.realm.objects('RemoteMJ').filtered('id = $0', remoteMjQuery.id)
}
if (remoteMjQuery?.accountId) {
remoteMjSettings = this.realm.objects('RemoteMJ').filtered('accountId = $0', remoteMjQuery.accountId)
}
let resRemoteMj = Array.from(remoteMjSettings).map((remoteMj) => {
return {
...remoteMj
@@ -348,9 +351,12 @@ export class MJSettingService extends BaseSoftWareService {
remoteMjSetting.createTime = new Date()
remoteMjSetting.updateTime = new Date()
remoteMjSetting.version = version
remoteMjSetting.enable = true
remoteMjSetting.remark = global.machineId
if (remoteMjSetting.hasOwnProperty('enable') == false) {
remoteMjSetting.enable = true
}
// 判断当前this.relam 是不是已经处于一个事务中
if (this.realm.isInTransaction) {
this.realm.create('RemoteMJ', remoteMjSetting)
@@ -159,6 +159,14 @@ const migration = (oldRealm: Realm, newRealm: Realm) => {
if (oldRealm.schemaVersion < 22) {
}
if (oldRealm.schemaVersion < 23) {
newRealm.write(() => {
const newSoftwares = newRealm.objects('RemoteMJ')
for (let software of newSoftwares) {
software.blockMessage = ''
}
})
}
}
export class BaseSoftWareService extends BaseService {
@@ -198,7 +206,7 @@ export class BaseSoftWareService extends BaseService {
PresetModel
],
path: dbPath,
schemaVersion: 23, // 当前版本号
schemaVersion: 24, // 当前版本号
migration: migration
}
// 判断当前全局是不是又当前这个
+4
View File
@@ -149,4 +149,8 @@ define['serverUrl'] = 'http://lapi.laitool.cn'
define['hkServerUrl'] = 'https://laitool.net/'
define['bakServerUrl'] = 'https://laitool.net/'
define['API'] = 'f85d39ed5a40fd09966f13f12b6cf0f0'
define['lms'] =
process.env.NODE_ENV == 'development' ? 'https://localhost:44362' : 'https://lms.laitool.cn'
export { define }
+4 -27
View File
@@ -1,9 +1,13 @@
import { SYSTEM } from "./systemDefineString"
import TASK from "./taskDefineString"
import TTS from "./ttsDefineString"
import SETTING from "./settingDefineString"
export const DEFINE_STRING = {
SYSTEM: SYSTEM,
TASK: TASK,
TTS: TTS,
SETTING: SETTING,
SHOW_GLOBAL_MESSAGE: "SHOW_GLOBAL_MESSAGE",
SHOW_GLOBAL_MAIN_NOTIFICATION: 'SHOW_GLOBAL_MAIN_NOTIFICATION',
OPEN_DEV_TOOLS_PASSWORD: 'OPEN_DEV_TOOLS_PASSWORD',
@@ -361,25 +365,6 @@ export const DEFINE_STRING = {
//#endregion
},
SETTING: {
GET_DATA_BY_TYPE_AND_PROPERTY: 'GET_DATA_BY_TYPE_AND_PROPERTY',
SAVE_DATA_BY_TYPE_AND_PROPERTY: 'SAVE_DATA_BY_TYPE_AND_PROPERTY',
DELETE_DATA_BY_TYPE_AND_PROPERTY: 'DELETE_DATA_BY_TYPE_AND_PROPERTY',
GET_SOFTWARE_SETTING: 'GET_SOFTWARE_SETTING',
SAVE_SOFT_WARE_SETTING: 'SAVE_SOFT_WARE_SETTING',
GET_COMPONENT_SIZE: 'GET_COMPONENT_SIZE',
GET_MJ_SETTING_TREE_DATA: 'GET_MJ_SETTING_TREE_DATA',
SAVE_MJ_SETTING_TREE_DATA: 'SAVE_MJ_SETTING_TREE_DATA',
MJ_REMOTE_ACCOUNT_SYNC: 'MJ_REMOTE_ACCOUNT_SYNC',
GET_MJ_SETTING: 'GET_MJ_SETTING',
UPDATE_MJ_SETTING: 'UPDATE_MJ_SETTING',
GET_REMOTE_MJ_SETTINGS: 'GET_REMOTE_MJ_SETTINGS',
ADD_REMOTE_MJ_SETTING: 'ADD_REMOTE_MJ_SETTING',
UPDATE_REMOTE_MJ_SETTING: 'UPDATE_REMOTE_MJ_SETTING',
DELETE_REMOTE_MJ_SETTING: 'DELETE_REMOTE_MJ_SETTING',
GET_WATER_MARK_SETTING: 'GET_WATER_MARK_SETTING',
SAVE_WATER_MARK_SETTING: 'SAVE_WATER_MARK_SETTING'
},
PROMPT: {
GET_SORT_OPTIONS: 'GET_SORT_OPTIONS',
SAVE_PROMPT_SORT_DATA: 'SAVE_PROMPT_SORT_DATA',
@@ -399,14 +384,6 @@ export const DEFINE_STRING = {
*/
GET_SCENE_PRESET: "GET_SCENE_PRESET"
},
TTS: {
GET_TTS_CONFIG: 'GET_TTS_CONFIG',
GENERATE_AUDIO: 'GENERATE_AUDIO',
SAVE_TTS_CONFIG: 'SAVE_TTS_CONFIG',
GENERATE_SRT: "GENERATE_SRT",
GET_TTS_HISTORY_DATA: 'GET_TTS_HISTORY_DATA',
DELETE_TTS_HISTORY: 'DELETE_TTS_HISTORY',
},
WRITE: {
GET_WRITE_CONFIG: 'GET_WRITE_CONFIG',
SAVE_WRITE_CONFIG: 'SAVE_WRITE_CONFIG',
@@ -0,0 +1,23 @@
const SETTING = {
GET_DATA_BY_TYPE_AND_PROPERTY: 'GET_DATA_BY_TYPE_AND_PROPERTY',
SAVE_DATA_BY_TYPE_AND_PROPERTY: 'SAVE_DATA_BY_TYPE_AND_PROPERTY',
DELETE_DATA_BY_TYPE_AND_PROPERTY: 'DELETE_DATA_BY_TYPE_AND_PROPERTY',
GET_SOFTWARE_SETTING: 'GET_SOFTWARE_SETTING',
SAVE_SOFT_WARE_SETTING: 'SAVE_SOFT_WARE_SETTING',
GET_COMPONENT_SIZE: 'GET_COMPONENT_SIZE',
GET_MJ_SETTING_TREE_DATA: 'GET_MJ_SETTING_TREE_DATA',
SAVE_MJ_SETTING_TREE_DATA: 'SAVE_MJ_SETTING_TREE_DATA',
MJ_REMOTE_ACCOUNT_SYNC: 'MJ_REMOTE_ACCOUNT_SYNC',
GET_MJ_SETTING: 'GET_MJ_SETTING',
UPDATE_MJ_SETTING: 'UPDATE_MJ_SETTING',
GET_REMOTE_MJ_SETTINGS: 'GET_REMOTE_MJ_SETTINGS',
ADD_REMOTE_MJ_SETTING: 'ADD_REMOTE_MJ_SETTING',
UPDATE_REMOTE_MJ_SETTING: 'UPDATE_REMOTE_MJ_SETTING',
DELETE_REMOTE_MJ_SETTING: 'DELETE_REMOTE_MJ_SETTING',
GET_WATER_MARK_SETTING: 'GET_WATER_MARK_SETTING',
SAVE_WATER_MARK_SETTING: 'SAVE_WATER_MARK_SETTING',
/** 获取远程代理服务器的账号信息 */
GET_REMOTE_MJ_SETTINGS_FROM_SERVICE: "GET_REMOTE_MJ_SETTINGS_FROM_SERVICE"
}
export default SETTING
@@ -8,5 +8,7 @@ export const SYSTEM = {
/** 获取机器码 */
GET_MACHINE_ID: "GET_MACHINE_ID",
/** 检查机器码状态 */
CHECK_MACHINE_STATUS : "CHECK_MACHINE_STATUS"
CHECK_MACHINE_STATUS: "CHECK_MACHINE_STATUS",
/** 获取软件版本信息,更新信息,首页内容,公告等 */
GET_REMOTE_SYSTEM_INFORMATION: 'GET_REMOTE_SYSTEM_INFORMATION'
}
@@ -0,0 +1,19 @@
/** TTS 相关的消息任务 */
const TTS = {
/** 获取TTS配置 */
GET_TTS_CONFIG: 'GET_TTS_CONFIG',
/** 生成配音 */
GENERATE_AUDIO: 'GENERATE_AUDIO',
/** 保存TTS配置 */
SAVE_TTS_CONFIG: 'SAVE_TTS_CONFIG',
/** 生成SRT文件 */
GENERATE_SRT: "GENERATE_SRT",
/** 获取TTS历史数据 */
GET_TTS_HISTORY_DATA: 'GET_TTS_HISTORY_DATA',
/** 删除TTS配音历史记录 */
DELETE_TTS_HISTORY: 'DELETE_TTS_HISTORY',
/** 获取TTS的Options */
GET_TTS_OPTIONS: 'GET_TTS_OPTIONS',
}
export default TTS;
+3
View File
@@ -11,6 +11,9 @@ export function GetTTSSelect() {
* 获取当前 edge-tts 支持的角色,返回一个数组
*/
export function GetEdgeTTSRole() {
//
return [
{
value: 'zh-CN-XiaoxiaoNeural',