diff --git a/gm-server/app/controller/game.ts b/gm-server/app/controller/game.ts index bcd7fff10..af5ae6be8 100644 --- a/gm-server/app/controller/game.ts +++ b/gm-server/app/controller/game.ts @@ -76,8 +76,8 @@ export default class GameController extends Controller { // editPackage public async editPackage() { const { ctx } = this; - const { regionId, pkgName, pkgDesc, pid, gid, isOpen } = ctx.request.body; - ctx.body = await ctx.service.game.editPackage(regionId, pid, gid, pkgName, pkgDesc, isOpen); + const { regionId, pkgName, pkgDesc, pid, gid, isOpen, loadingPage, loginPage } = ctx.request.body; + ctx.body = await ctx.service.game.editPackage(regionId, pid, gid, pkgName, pkgDesc, isOpen, loadingPage, loginPage); return; } diff --git a/gm-server/app/controller/upload.ts b/gm-server/app/controller/upload.ts index c31a32768..7f315f01e 100644 --- a/gm-server/app/controller/upload.ts +++ b/gm-server/app/controller/upload.ts @@ -15,7 +15,7 @@ const publishPath = '/root/hot_update_backup'; import {exec} from 'child_process' import { reloadResources } from '@pubUtils/data'; import { decodeArrayStr } from '@pubUtils/util'; -import { getLocalPopNoticeUrl, getLocalQrCodeUrl, getRemotePopNoticeUrl, getRemoteQrCodeUrl } from '@pubUtils/battleUtils'; +import { getLocalImgUrl, getLocalQrCodeUrl, getRemoteImgUrl, getRemoteQrCodeUrl } from '@pubUtils/battleUtils'; const sendToWormhole = require('stream-wormhole'); export default class UploadController extends Controller { @@ -293,10 +293,10 @@ public async uploadQrCode() { let filenames = part.filename.split('.'); ext = filenames[filenames.length - 1]; - if(type == 'popNotice') { - writePath = getLocalPopNoticeUrl(this.app.config.realEnv); + if(type == 'popNotice'|| type == 'loginPage' || type == 'loadingPage') { + writePath = getLocalImgUrl(this.app.config.realEnv, type); fileName = `${moment().valueOf()}.${ext}`; - remoteUrl = getRemotePopNoticeUrl(this.app.config.realEnv, fileName); + remoteUrl = getRemoteImgUrl(this.app.config.realEnv, fileName, type); } else { writePath = getLocalQrCodeUrl(this.app.config.realEnv, env); fileName = `QR${moment().valueOf()}.${ext}`; diff --git a/gm-server/app/service/Game.ts b/gm-server/app/service/Game.ts index 690bb674e..efab4a449 100644 --- a/gm-server/app/service/Game.ts +++ b/gm-server/app/service/Game.ts @@ -90,9 +90,9 @@ export default class Game extends Service { } // 更新推广包 - public async editPackage(regionId: number, pid: string, gid: string, pkgName: string, pkgDesc: string, isOpen = true) { + public async editPackage(regionId: number, pid: string, gid: string, pkgName: string, pkgDesc: string, isOpen = true, loadingPage = '', loginPage = '') { const { ctx } = this; - const packageInfo = await PackageModel.updatePackage({regionId, pkgName, pkgDesc, pid, gid, isOpen}, ctx.user?.uid); + const packageInfo = await PackageModel.updatePackage({regionId, pkgName, pkgDesc, pid, gid, isOpen, loadingPage, loginPage}, ctx.user?.uid); if (!packageInfo) { return ctx.service.utils.resResult(STATUS.PACKAGE_UPDATE_FAILED); } diff --git a/shared/db/Package.ts b/shared/db/Package.ts index 45e47b836..92d5cd1b3 100644 --- a/shared/db/Package.ts +++ b/shared/db/Package.ts @@ -32,6 +32,12 @@ export default class Package extends BaseModel { @prop({ required: true, default: false }) isOpen: boolean; // 是否开启 + @prop({ required: false }) + loadingPage: string; // 是否开启 + + @prop({ required: true }) + loginPage: string; // 是否开启 + public static async createNewPackage(params: PackageUpdate, uid = 1) { const { gid, pid } = params; let rec: PackageType | null = await PackageModel.findOne({ gid, pid }).lean(); diff --git a/shared/pubUtils/battleUtils.ts b/shared/pubUtils/battleUtils.ts index 02b23d200..2386c52cb 100644 --- a/shared/pubUtils/battleUtils.ts +++ b/shared/pubUtils/battleUtils.ts @@ -64,15 +64,15 @@ export function getRemoteQrCodeUrl(env: string, fileName: string) { return rplUrl; } -export function getLocalPopNoticeUrl(curEnv: string) { +export function getLocalImgUrl(curEnv: string, type: string) { if(curEnv == 'development') { return './img' } else { - return `/zyz_logs/img/popNotice`; + return `/zyz_logs/img/${type}`; } } -export function getRemotePopNoticeUrl(curEnv: string, fileName: string) { - const rplUrl = `${getPrefixByEnv(curEnv)}/img/popNotice/` + fileName; +export function getRemoteImgUrl(curEnv: string, fileName: string, type: string) { + const rplUrl = `${getPrefixByEnv(curEnv)}/img/${type}/` + fileName; return rplUrl; } \ No newline at end of file diff --git a/web-server/app/controller/game.ts b/web-server/app/controller/game.ts index 29fae0f98..a437000ad 100644 --- a/web-server/app/controller/game.ts +++ b/web-server/app/controller/game.ts @@ -293,14 +293,14 @@ export default class GameController extends Controller { ctx.body = ctx.service.utils.resResult(STATUS.PACKAGE_NOT_FOUND); return; } - const { regionId } = pkg; + const { regionId, loginPage = '', loadingPage = '' } = pkg; const region = await RegionModel.findRegionById(regionId); if (!region) { ctx.body = ctx.service.utils.resResult(STATUS.REGION_NOT_FOUND); return; } const { webHost = 'https://sq7-web-sgzzyz.yev242.com', addressType = 9 } = region; - ctx.body = ctx.service.utils.resResult(STATUS.SUCCESS, { webHost, addressType }); + ctx.body = ctx.service.utils.resResult(STATUS.SUCCESS, { webHost, addressType, loginPage, loadingPage }); return; } }