From ab162f8e2233fb1eb909c1b3ba6724551035dc1c Mon Sep 17 00:00:00 2001 From: liaozetao <1107136310@qq.com> Date: Fri, 22 Sep 2023 22:16:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=90=AC=E8=BF=81=E4=BB=A3=E7=A0=81=E3=80=90?= =?UTF-8?q?=E7=AC=AC=E4=BA=8C=E7=89=88=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugins/clipboard/js/clipboard.min.js | 562 +++++++ src/views/game/GameAccessUrlView.vue | 330 ++++ src/views/game/GameActivityRankView.vue | 794 ++++++++++ src/views/game/GameChannelView.vue | 357 +++++ src/views/game/GameFaceView.vue | 388 +++++ src/views/game/GameInfoView.vue | 1059 +++++++++++++ .../gamemanage/GameBillRecordAdminView.vue | 205 +++ src/views/gamemanage/GameManageBannerView.vue | 1022 +++++++++++++ .../GameManageChannelTicketView.vue | 541 +++++++ .../gamemanage/GameManageGiveTicketView.vue | 106 ++ .../gamemanage/GameManageGroupAdminView.vue | 396 +++++ .../gamemanage/GameManageInfoAdminView.vue | 1233 +++++++++++++++ .../GameManageQuickGameInfoAdminView.vue | 1336 +++++++++++++++++ .../gamemanage/GameManageTicketAccessView.vue | 316 ++++ .../GameManageTicketHistoryAdminView.vue | 231 +++ .../GameManageWithdrawAdminView.vue | 585 ++++++++ src/views/gamemanage/TicketManageView.vue | 384 +++++ .../giftwall/GiftAchievementAdminView.vue | 620 ++++++++ .../GiftAchievementStatisticsAdminView.vue | 218 +++ .../giftwall/GiftAchievementTypeAdminView.vue | 457 ++++++ src/views/world/WorldAdminView.vue | 673 +++++++++ src/views/world/WorldMemberAdminView.vue | 310 ++++ src/views/world/WorldTypeAdminView.vue | 424 ++++++ .../world/community/CommentVerifyView.vue | 703 +++++++++ src/views/world/community/DynamicDataView.vue | 883 +++++++++++ src/views/world/community/DynamicStatView.vue | 405 +++++ .../world/community/DynamicVerifyView.vue | 577 +++++++ .../community/RecommendWorldAdminView.vue | 533 +++++++ 28 files changed, 15648 insertions(+) create mode 100644 src/assets/plugins/clipboard/js/clipboard.min.js create mode 100644 src/views/game/GameAccessUrlView.vue create mode 100644 src/views/game/GameActivityRankView.vue create mode 100644 src/views/game/GameChannelView.vue create mode 100644 src/views/game/GameFaceView.vue create mode 100644 src/views/game/GameInfoView.vue create mode 100644 src/views/gamemanage/GameBillRecordAdminView.vue create mode 100644 src/views/gamemanage/GameManageBannerView.vue create mode 100644 src/views/gamemanage/GameManageChannelTicketView.vue create mode 100644 src/views/gamemanage/GameManageGiveTicketView.vue create mode 100644 src/views/gamemanage/GameManageGroupAdminView.vue create mode 100644 src/views/gamemanage/GameManageInfoAdminView.vue create mode 100644 src/views/gamemanage/GameManageQuickGameInfoAdminView.vue create mode 100644 src/views/gamemanage/GameManageTicketAccessView.vue create mode 100644 src/views/gamemanage/GameManageTicketHistoryAdminView.vue create mode 100644 src/views/gamemanage/GameManageWithdrawAdminView.vue create mode 100644 src/views/gamemanage/TicketManageView.vue create mode 100644 src/views/giftwall/GiftAchievementAdminView.vue create mode 100644 src/views/giftwall/GiftAchievementStatisticsAdminView.vue create mode 100644 src/views/giftwall/GiftAchievementTypeAdminView.vue create mode 100644 src/views/world/WorldAdminView.vue create mode 100644 src/views/world/WorldMemberAdminView.vue create mode 100644 src/views/world/WorldTypeAdminView.vue create mode 100644 src/views/world/community/CommentVerifyView.vue create mode 100644 src/views/world/community/DynamicDataView.vue create mode 100644 src/views/world/community/DynamicStatView.vue create mode 100644 src/views/world/community/DynamicVerifyView.vue create mode 100644 src/views/world/community/RecommendWorldAdminView.vue diff --git a/src/assets/plugins/clipboard/js/clipboard.min.js b/src/assets/plugins/clipboard/js/clipboard.min.js new file mode 100644 index 0000000..106ebdb --- /dev/null +++ b/src/assets/plugins/clipboard/js/clipboard.min.js @@ -0,0 +1,562 @@ +/*! + * clipboard.js v1.7.1 + * https://zenorocha.github.io/clipboard.js + * + * Licensed MIT © Zeno Rocha + */ +!function(t) { + var define; + if ("object" == typeof exports && "undefined" != typeof module) + module.exports = t(); + else if ("function" == typeof define && define.amd) + define([], t); + else { + var e; + e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this, + e.Clipboard = t() + } +}(function() { + var t, e, n; + return function t(e, n, o) { + function i(a, c) { + if (!n[a]) { + if (!e[a]) { + var l = "function" == typeof require && require; + if (!c && l) + return l(a, !0); + if (r) + return r(a, !0); + var s = new Error("Cannot find module '" + a + "'"); + throw s.code = "MODULE_NOT_FOUND", + s + } + var u = n[a] = { + exports: {} + }; + e[a][0].call(u.exports, function(t) { + var n = e[a][1][t]; + return i(n || t) + }, u, u.exports, t, e, n, o) + } + return n[a].exports + } + for (var r = "function" == typeof require && require, a = 0; a < o.length; a++) + i(o[a]); + return i + }({ + 1: [function(t, e, n) { + function o(t, e) { + for (; t && t.nodeType !== i; ) { + if ("function" == typeof t.matches && t.matches(e)) + return t; + t = t.parentNode + } + } + var i = 9; + if ("undefined" != typeof Element && !Element.prototype.matches) { + var r = Element.prototype; + r.matches = r.matchesSelector || r.mozMatchesSelector || r.msMatchesSelector || r.oMatchesSelector || r.webkitMatchesSelector + } + e.exports = o + } + , {}], + 2: [function(t, e, n) { + function o(t, e, n, o, r) { + var a = i.apply(this, arguments); + return t.addEventListener(n, a, r), + { + destroy: function() { + t.removeEventListener(n, a, r) + } + } + } + function i(t, e, n, o) { + return function(n) { + n.delegateTarget = r(n.target, e), + n.delegateTarget && o.call(t, n) + } + } + var r = t("./closest"); + e.exports = o + } + , { + "./closest": 1 + }], + 3: [function(t, e, n) { + n.node = function(t) { + return void 0 !== t && t instanceof HTMLElement && 1 === t.nodeType + } + , + n.nodeList = function(t) { + var e = Object.prototype.toString.call(t); + return void 0 !== t && ("[object NodeList]" === e || "[object HTMLCollection]" === e) && "length"in t && (0 === t.length || n.node(t[0])) + } + , + n.string = function(t) { + return "string" == typeof t || t instanceof String + } + , + n.fn = function(t) { + return "[object Function]" === Object.prototype.toString.call(t) + } + } + , {}], + 4: [function(t, e, n) { + function o(t, e, n) { + if (!t && !e && !n) + throw new Error("Missing required arguments"); + if (!c.string(e)) + throw new TypeError("Second argument must be a String"); + if (!c.fn(n)) + throw new TypeError("Third argument must be a Function"); + if (c.node(t)) + return i(t, e, n); + if (c.nodeList(t)) + return r(t, e, n); + if (c.string(t)) + return a(t, e, n); + throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList") + } + function i(t, e, n) { + return t.addEventListener(e, n), + { + destroy: function() { + t.removeEventListener(e, n) + } + } + } + function r(t, e, n) { + return Array.prototype.forEach.call(t, function(t) { + t.addEventListener(e, n) + }), + { + destroy: function() { + Array.prototype.forEach.call(t, function(t) { + t.removeEventListener(e, n) + }) + } + } + } + function a(t, e, n) { + return l(document.body, t, e, n) + } + var c = t("./is") + , l = t("delegate"); + e.exports = o + } + , { + "./is": 3, + delegate: 2 + }], + 5: [function(t, e, n) { + function o(t) { + var e; + if ("SELECT" === t.nodeName) + t.focus(), + e = t.value; + else if ("INPUT" === t.nodeName || "TEXTAREA" === t.nodeName) { + var n = t.hasAttribute("readonly"); + n || t.setAttribute("readonly", ""), + t.select(), + t.setSelectionRange(0, t.value.length), + n || t.removeAttribute("readonly"), + e = t.value + } else { + t.hasAttribute("contenteditable") && t.focus(); + var o = window.getSelection() + , i = document.createRange(); + i.selectNodeContents(t), + o.removeAllRanges(), + o.addRange(i), + e = o.toString() + } + return e + } + e.exports = o + } + , {}], + 6: [function(t, e, n) { + function o() {} + o.prototype = { + on: function(t, e, n) { + var o = this.e || (this.e = {}); + return (o[t] || (o[t] = [])).push({ + fn: e, + ctx: n + }), + this + }, + once: function(t, e, n) { + function o() { + i.off(t, o), + e.apply(n, arguments) + } + var i = this; + return o._ = e, + this.on(t, o, n) + }, + emit: function(t) { + var e = [].slice.call(arguments, 1) + , n = ((this.e || (this.e = {}))[t] || []).slice() + , o = 0 + , i = n.length; + for (o; o < i; o++) + n[o].fn.apply(n[o].ctx, e); + return this + }, + off: function(t, e) { + var n = this.e || (this.e = {}) + , o = n[t] + , i = []; + if (o && e) + for (var r = 0, a = o.length; r < a; r++) + o[r].fn !== e && o[r].fn._ !== e && i.push(o[r]); + return i.length ? n[t] = i : delete n[t], + this + } + }, + e.exports = o + } + , {}], + 7: [function(e, n, o) { + !function(i, r) { + if ("function" == typeof t && t.amd) + t(["module", "select"], r); + else if (void 0 !== o) + r(n, e("select")); + else { + var a = { + exports: {} + }; + r(a, i.select), + i.clipboardAction = a.exports + } + }(this, function(t, e) { + "use strict"; + function n(t) { + return t && t.__esModule ? t : { + default: t + } + } + function o(t, e) { + if (!(t instanceof e)) + throw new TypeError("Cannot call a class as a function") + } + var i = n(e) + , r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) { + return typeof t + } + : function(t) { + return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t + } + , a = function() { + function t(t, e) { + for (var n = 0; n < e.length; n++) { + var o = e[n]; + o.enumerable = o.enumerable || !1, + o.configurable = !0, + "value"in o && (o.writable = !0), + Object.defineProperty(t, o.key, o) + } + } + return function(e, n, o) { + return n && t(e.prototype, n), + o && t(e, o), + e + } + }() + , c = function() { + function t(e) { + o(this, t), + this.resolveOptions(e), + this.initSelection() + } + return a(t, [{ + key: "resolveOptions", + value: function t() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; + this.action = e.action, + this.container = e.container, + this.emitter = e.emitter, + this.target = e.target, + this.text = e.text, + this.trigger = e.trigger, + this.selectedText = "" + } + }, { + key: "initSelection", + value: function t() { + this.text ? this.selectFake() : this.target && this.selectTarget() + } + }, { + key: "selectFake", + value: function t() { + var e = this + , n = "rtl" == document.documentElement.getAttribute("dir"); + this.removeFake(), + this.fakeHandlerCallback = function() { + return e.removeFake() + } + , + this.fakeHandler = this.container.addEventListener("click", this.fakeHandlerCallback) || !0, + this.fakeElem = document.createElement("textarea"), + this.fakeElem.style.fontSize = "12pt", + this.fakeElem.style.border = "0", + this.fakeElem.style.padding = "0", + this.fakeElem.style.margin = "0", + this.fakeElem.style.position = "absolute", + this.fakeElem.style[n ? "right" : "left"] = "-9999px"; + var o = window.pageYOffset || document.documentElement.scrollTop; + this.fakeElem.style.top = o + "px", + this.fakeElem.setAttribute("readonly", ""), + this.fakeElem.value = this.text, + this.container.appendChild(this.fakeElem), + this.selectedText = (0, + i.default)(this.fakeElem), + this.copyText() + } + }, { + key: "removeFake", + value: function t() { + this.fakeHandler && (this.container.removeEventListener("click", this.fakeHandlerCallback), + this.fakeHandler = null, + this.fakeHandlerCallback = null), + this.fakeElem && (this.container.removeChild(this.fakeElem), + this.fakeElem = null) + } + }, { + key: "selectTarget", + value: function t() { + this.selectedText = (0, + i.default)(this.target), + this.copyText() + } + }, { + key: "copyText", + value: function t() { + var e = void 0; + try { + e = document.execCommand(this.action) + } catch (t) { + e = !1 + } + this.handleResult(e) + } + }, { + key: "handleResult", + value: function t(e) { + this.emitter.emit(e ? "success" : "error", { + action: this.action, + text: this.selectedText, + trigger: this.trigger, + clearSelection: this.clearSelection.bind(this) + }) + } + }, { + key: "clearSelection", + value: function t() { + this.trigger && this.trigger.focus(), + window.getSelection().removeAllRanges() + } + }, { + key: "destroy", + value: function t() { + this.removeFake() + } + }, { + key: "action", + set: function t() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "copy"; + if (this._action = e, + "copy" !== this._action && "cut" !== this._action) + throw new Error('Invalid "action" value, use either "copy" or "cut"') + }, + get: function t() { + return this._action + } + }, { + key: "target", + set: function t(e) { + if (void 0 !== e) { + if (!e || "object" !== (void 0 === e ? "undefined" : r(e)) || 1 !== e.nodeType) + throw new Error('Invalid "target" value, use a valid Element'); + if ("copy" === this.action && e.hasAttribute("disabled")) + throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute'); + if ("cut" === this.action && (e.hasAttribute("readonly") || e.hasAttribute("disabled"))) + throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes'); + this._target = e + } + }, + get: function t() { + return this._target + } + }]), + t + }(); + t.exports = c + }) + } + , { + select: 5 + }], + 8: [function(e, n, o) { + !function(i, r) { + if ("function" == typeof t && t.amd) + t(["module", "./clipboard-action", "tiny-emitter", "good-listener"], r); + else if (void 0 !== o) + r(n, e("./clipboard-action"), e("tiny-emitter"), e("good-listener")); + else { + var a = { + exports: {} + }; + r(a, i.clipboardAction, i.tinyEmitter, i.goodListener), + i.clipboard = a.exports + } + }(this, function(t, e, n, o) { + "use strict"; + function i(t) { + return t && t.__esModule ? t : { + default: t + } + } + function r(t, e) { + if (!(t instanceof e)) + throw new TypeError("Cannot call a class as a function") + } + function a(t, e) { + if (!t) + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + return !e || "object" != typeof e && "function" != typeof e ? t : e + } + function c(t, e) { + if ("function" != typeof e && null !== e) + throw new TypeError("Super expression must either be null or a function, not " + typeof e); + t.prototype = Object.create(e && e.prototype, { + constructor: { + value: t, + enumerable: !1, + writable: !0, + configurable: !0 + } + }), + e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e) + } + function l(t, e) { + var n = "data-clipboard-" + t; + if (e.hasAttribute(n)) + return e.getAttribute(n) + } + var s = i(e) + , u = i(n) + , f = i(o) + , d = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) { + return typeof t + } + : function(t) { + return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t + } + , h = function() { + function t(t, e) { + for (var n = 0; n < e.length; n++) { + var o = e[n]; + o.enumerable = o.enumerable || !1, + o.configurable = !0, + "value"in o && (o.writable = !0), + Object.defineProperty(t, o.key, o) + } + } + return function(e, n, o) { + return n && t(e.prototype, n), + o && t(e, o), + e + } + }() + , p = function(t) { + function e(t, n) { + r(this, e); + var o = a(this, (e.__proto__ || Object.getPrototypeOf(e)).call(this)); + return o.resolveOptions(n), + o.listenClick(t), + o + } + return c(e, t), + h(e, [{ + key: "resolveOptions", + value: function t() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; + this.action = "function" == typeof e.action ? e.action : this.defaultAction, + this.target = "function" == typeof e.target ? e.target : this.defaultTarget, + this.text = "function" == typeof e.text ? e.text : this.defaultText, + this.container = "object" === d(e.container) ? e.container : document.body + } + }, { + key: "listenClick", + value: function t(e) { + var n = this; + this.listener = (0, + f.default)(e, "click", function(t) { + return n.onClick(t) + }) + } + }, { + key: "onClick", + value: function t(e) { + var n = e.delegateTarget || e.currentTarget; + this.clipboardAction && (this.clipboardAction = null), + this.clipboardAction = new s.default({ + action: this.action(n), + target: this.target(n), + text: this.text(n), + container: this.container, + trigger: n, + emitter: this + }) + } + }, { + key: "defaultAction", + value: function t(e) { + return l("action", e) + } + }, { + key: "defaultTarget", + value: function t(e) { + var n = l("target", e); + if (n) + return document.querySelector(n) + } + }, { + key: "defaultText", + value: function t(e) { + return l("text", e) + } + }, { + key: "destroy", + value: function t() { + this.listener.destroy(), + this.clipboardAction && (this.clipboardAction.destroy(), + this.clipboardAction = null) + } + }], [{ + key: "isSupported", + value: function t() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : ["copy", "cut"] + , n = "string" == typeof e ? [e] : e + , o = !!document.queryCommandSupported; + return n.forEach(function(t) { + o = o && !!document.queryCommandSupported(t) + }), + o + } + }]), + e + }(u.default); + t.exports = p + }) + } + , { + "./clipboard-action": 7, + "good-listener": 4, + "tiny-emitter": 6 + }] + }, {}, [8])(8) +}); diff --git a/src/views/game/GameAccessUrlView.vue b/src/views/game/GameAccessUrlView.vue new file mode 100644 index 0000000..b9cf01a --- /dev/null +++ b/src/views/game/GameAccessUrlView.vue @@ -0,0 +1,330 @@ + + + + + 游戏白名单 + + + + + + 增加 + + + 访问路径: + 查询 + + + + + + + + + x + 新增白名单 + + + + + + + + 访问路径: + + + + + + 白名单列表: + + + + + + 黑名单列表: + + + + + + + + + + + + + + + + x + 白名单编辑 + + + + + + + + 访问路径: + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/game/GameActivityRankView.vue b/src/views/game/GameActivityRankView.vue new file mode 100644 index 0000000..a444126 --- /dev/null +++ b/src/views/game/GameActivityRankView.vue @@ -0,0 +1,794 @@ + + + + + 游戏榜单配置 + + + + + + 新增 + + + 活动名称: + 游戏ID: + 查询 + + + + + + + + + x + 榜单配置新增 + + + + + + + 活动名称: + + + + + + 游戏ID: + + + + + + 统计类型: + + week + delta + + + + + 胜利类型: + + 连胜 + 累计获胜 + 连胜和累积获胜 + + + + 榜单入口是否展示: + + 否 + 是 + + + + + + + + + + + 状态: + + 无效 + 有效 + + + + + + + 脚本内容: + + + + + + 调用的函数: + + + + + + 函数的参数: + + + + + + + + + 榜单过期时间: + + + + + + + + 展示类型(多个用逗号隔开): + + + + + + + 活动开始时间: + + + + + + 活动结束时间: + + + + + + + + + + + + + + + + + x + 游戏榜单编辑 + + + + + + + + + 活动名称: + + + + + + 游戏ID: + + + + + + 统计类型: + + week + delta + + + + + 胜利类型: + + 连胜 + 累计获胜 + 连胜和累积获胜 + + + + 榜单入口是否展示: + + 否 + 是 + + + + 状态: + + 无效 + 有效 + + + + + + + 脚本内容: + + + + + + 调用的函数: + + + + + + 函数的参数: + + + + + + + + + 榜单过期时间: + + + + + + + + 展示类型(多个用逗号隔开): + + + + + + + 活动开始时间: + + + + + + 活动结束时间: + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/game/GameChannelView.vue b/src/views/game/GameChannelView.vue new file mode 100644 index 0000000..44a69a6 --- /dev/null +++ b/src/views/game/GameChannelView.vue @@ -0,0 +1,357 @@ + + + + + 游戏厂商 + + + + + + 增加 + + + 厂商名: + 查询 + + + + + + + + + x + 游戏厂商新增 + + + + + + + + 厂商渠道ID: + + + + + + IP或者域名: + + + + + + 厂商名: + + + + + + appKey: + + + + + + + + + + + + + + + + x + 游戏厂商编辑 + + + + + + + + IP或者域名: + + + + + + 厂商名: + + + + + + appKey: + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/game/GameFaceView.vue b/src/views/game/GameFaceView.vue new file mode 100644 index 0000000..95ac0ac --- /dev/null +++ b/src/views/game/GameFaceView.vue @@ -0,0 +1,388 @@ + + + + + 游戏表情 + + + + + + 增加 + + 表情类型: + --全部-- + 游戏 + + 查询 + + + + + + + + + x + 新增 + + + + + + + 游戏表情: + + + + 上传 + + + + + 类型: + + 游戏 + + + + + + + + + + + + + + x + 编辑 + + + + + + 游戏图标: + + + + 上传 + + + + + 类型: + + 游戏 + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/game/GameInfoView.vue b/src/views/game/GameInfoView.vue new file mode 100644 index 0000000..86da46a --- /dev/null +++ b/src/views/game/GameInfoView.vue @@ -0,0 +1,1059 @@ + + + + + 游戏信息管理 + + + + + + 增加 + + 游戏名: + 查询 + + + + + + + + + x + 游戏信息 + + + + + + + 游戏ID: + + + + + + 游戏名: + + + + + + 游戏厂商: + + + + + + -- 请选择 -- + + + + + 游戏图标: + + + + 上传 + + + + + 游戏图标(IM/多人房): + + + + 上传 + + + + + 标签图标: + + + + 上传 + + + + + 优先级: + + + + + + + 生效时间: + + + + + + 失效时间: + + + + + + + 激活设置: + + 上架中 + 未上架 + 下架 + + + + 游戏类型: + + 1v1游戏 + 多人游戏 + + + + 展示平台: + + 所有平台 + 只展示ios + 只展示安卓 + 都不展示 + + + + + 组id: + + + + + + 组名: + + + + + + + + + + + + + + + + x + 游戏信息编辑 + + + + + + + 游戏名: + + + + + + 游戏厂商: + + + + + + + + -- 请选择 -- + + + + + 游戏图标: + + + + 上传 + + + + + + 游戏图标(IM/多人房): + + + + 上传 + + + + + + 标签图标: + + + + 上传 + + + + + + 优先级: + + + + + + + 生效时间: + + + + + + 失效时间: + + + + + + + 激活设置: + + 上架中 + 未上架 + 下架 + + + + 游戏类型: + + 1v1游戏 + 多人游戏 + + + + 展示平台: + + 所有平台 + 只展示ios + 只展示安卓 + 都不展示 + + + + + + + + + + + 组id: + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/gamemanage/GameBillRecordAdminView.vue b/src/views/gamemanage/GameBillRecordAdminView.vue new file mode 100644 index 0000000..bc54e02 --- /dev/null +++ b/src/views/gamemanage/GameBillRecordAdminView.vue @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + 平台号: + 账单类型: + + 开始时间: + 结束时间: + 查询 + 导出 + + + + + + + + + \ No newline at end of file diff --git a/src/views/gamemanage/GameManageBannerView.vue b/src/views/gamemanage/GameManageBannerView.vue new file mode 100644 index 0000000..ee314d7 --- /dev/null +++ b/src/views/gamemanage/GameManageBannerView.vue @@ -0,0 +1,1022 @@ + + + + + + + + + + + 跳转类型: + --全部-- + 跳转app内部 + + 跳转H5页面 + + 状态: + --全部-- + 激活启用中 + 未激活 + + app: + --全部-- + + banner位置: + --全部-- + 首页 + + + + + 开始日期: + + 结束日期: + 查询 + + + 增加 + + + + 删除选中 + + + + + + + + + + + x + banner信息 + + + + + Banner名字: + + + + + + + banner图: + + + + 上传 + 注意:图片尺寸请注意在750*250,选择图片后请点击上传按钮 + + + + + 跳转链接: + + 跳转app内部 + + 跳转H5页面 + + + + + + + 起始时间: + + + + + + 结束时间: + + + + + + 排序设置: + + + + + + + ios版本号: + + + + + + 安卓版本号: + + + + + 注:app版本号大于配置的版本号才显示该banner + + + + 不展示的渠道: + + + + + 注:留空则为所有渠道展示。多个渠道用英文逗号“,”隔开 + + + 激活设置: + + 激活 + 不激活 + + + + + + + + + Banner位置: + + + 首页 + + + + + + + + + + + + + + 展示平台: + + 全平台展示 + 只展示IOS + 只展示安卓 + 都不展示 + + + + + + + 活动限制等级经验: + + + + + + h5页面是否全屏展示: + + 全屏 + 非全屏 + + + + 活动入口展示规则: + + 始终展示 + 达到限制等级展示 + + + + + + + + + + + + + + + x + 新增banner + + + + + Banner名字: + + + + + + banner图: + + + + 上传 + + + + + 跳转链接: + + 跳转app内部 + + 跳转H5页面 + + + + + + + 起始时间: + + + + + + 结束时间: + + + + + + 排序设置: + + + + + + + + ios版本号: + + + + + + 安卓版本号: + + + + + 注意:app版本号大于配置的版本号才显示该banner + + + + 不展示的渠道: + + + + + 注:留空则为所有渠道展示。多个渠道用英文逗号“,”隔开 + + + 激活设置: + + 激活 + 不激活 + + + + + + + + + + Banner位置: + + + 首页 + + + + + + + + + + + + + 展示平台: + + 全平台展示 + 只展示IOS + 只展示安卓 + 都不展示 + + + + + + 活动限制等级经验: + + + + + + h5页面是否全屏展示: + + 全屏 + 非全屏 + + + + 活动入口展示规则: + + 始终展示 + 达到限制等级展示 + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/gamemanage/GameManageChannelTicketView.vue b/src/views/gamemanage/GameManageChannelTicketView.vue new file mode 100644 index 0000000..597ca1f --- /dev/null +++ b/src/views/gamemanage/GameManageChannelTicketView.vue @@ -0,0 +1,541 @@ + + + + + + + + + + + + + + 新增门票包 + + + + + + + + + + + + × + + 新增/编辑渠道门票包 + + + + + + 门票id: + + + + + + 总张数: + + + + + + 每人可领取: + + + + + + 截止领取时间: + + + + + + 门票包文案: + + + + + + 渠道标: + + + + + + 安卓渠道包: + + + + 上传 + + + + + + 门票包链接: + + 暂未生成链接 + + + + + + + + + + + + + + 提示信息 + + + + + + + + + + + × + + + + + + + + + + + + + + + + + + × + + + + + + + + + + + + + + + + diff --git a/src/views/gamemanage/GameManageGiveTicketView.vue b/src/views/gamemanage/GameManageGiveTicketView.vue new file mode 100644 index 0000000..061130f --- /dev/null +++ b/src/views/gamemanage/GameManageGiveTicketView.vue @@ -0,0 +1,106 @@ + + + + + + + + + + + + + 获赠约玩号(多个用,分隔): + + + + + + 门票ID: + + + + 每人获赠数量: + + 确认 + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/gamemanage/GameManageGroupAdminView.vue b/src/views/gamemanage/GameManageGroupAdminView.vue new file mode 100644 index 0000000..83ff3d6 --- /dev/null +++ b/src/views/gamemanage/GameManageGroupAdminView.vue @@ -0,0 +1,396 @@ + + + + + + + + + + + + 添加 + + + + + + + + + + + + + + + + × + + 添加 + + + + + + 名称* + : + + + + + + 游戏分类: + + + 和平精英 + + + + + 排序*: + + + + + + 入口图片*: + + + + 上传 + + + + + + + + + + + + + + + + + × + + 编辑 + + + + + + 名称* + : + + + + + + 游戏分类: + + + 和平精英 + + + + + 排序*: + + + + + + 入口图片*: + + + + 上传 + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/gamemanage/GameManageInfoAdminView.vue b/src/views/gamemanage/GameManageInfoAdminView.vue new file mode 100644 index 0000000..2530004 --- /dev/null +++ b/src/views/gamemanage/GameManageInfoAdminView.vue @@ -0,0 +1,1233 @@ + + + + + + + + + + + + + + + + + + + 比赛集合: + 请选择 + + 比赛状态: + 请选择 + 报名中 + + 已报满 + 进场中 + 比赛中 + 未开始报名 + 结束统计中 + 完结 + 已关闭(未报满) + 已关闭 + + 主播引流赛: + 不限制 + 是 + 否 + + 开始时间: + 结束时间: + 查询 + + 新建比赛 + + + + 总报名费 : + 总奖励现金 : + + + + + + + + + + + + + + + + × + + 新建/编辑 + + + + + + 游戏分类: + + + 和平精英 + + + + + 比赛集合: + + + 请选择 + + + + + 比赛名称*: + + + + + + 比赛平台:* + : + + + QQ + 微信 + + + + + 参赛规模:*: + + + 单排 + 双排 + 四排 + + + + + 报名要求: + + + 请选择 + + + + + 报名名额*: + + + + + + 最小开赛人数*: + + + + + + 比赛开始时间* + : + + + + + + 奖励模式*: + + 排名 + 淘汰数 + + + + 是否主播引流*: + + 否 + 是 + + + + 奖励*: + + + + + + 比赛规则*: + + + + + + 聊天室房间号: + + + + + + 比赛图标*: + + + + 上传 + + + + + + + + + + + + + + + + + + × + + + + + + + + + + + + + + + + + + × + + + + + + + + + + + + + + + + + + × + + 上传进场链接 + + + + + + 进场链接*: + + + + + + + + + + + + + + + + + + × + + 操作关闭 + + + + + + 关闭原因*: + + + + + + 是否退门票: + + 否 + 是 + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/gamemanage/GameManageQuickGameInfoAdminView.vue b/src/views/gamemanage/GameManageQuickGameInfoAdminView.vue new file mode 100644 index 0000000..cb8028a --- /dev/null +++ b/src/views/gamemanage/GameManageQuickGameInfoAdminView.vue @@ -0,0 +1,1336 @@ + + + + + + + + + + + + 新建快速赛类型 + + 游戏平台: + 不限制 + QQ + 微信 + + 查询 + + + + + + + + + + + + + + + + × + + 新建/编辑 + + + + + + 游戏分类: + + + 和平精英 + + + + + 比赛名称*: + + + + + + 比赛平台:* + : + + + QQ + 微信 + + + + + 参赛规模:*: + + + 单排 + 双排 + 四排 + + + + + 报名要求: + + + 请选择 + + + + + 报名名额*: + + + + + + 最小开赛人数*: + + + + + + 单场流局时间* + : + + + + + + 可报名总场次数: + + + + + + 排序: + + + + + + 奖励模式*: + + 排名 + 淘汰数 + + + + 奖励*: + + + + + + 比赛规则*: + + + + + + 聊天室房间号: + + + + + + 比赛图标*: + + + + 上传 + + + + + + + + + + + + + + + + + + × + + + + + + + + + + + + + + + + + + + × + + + + + + + + + + + + + + + + + + × + + + + + + + + + + + + + + + + + + × + + 上传进场链接 + + + + + + 进场链接*: + + + + + + + + + + + + + + + + + + × + + 操作关闭 + + + + + + 关闭原因*: + + + + + + 是否退门票: + + 否 + 是 + + + + + + + + + + + + + + + + × + + 添加机器人 + + + + + + 添加数量*: + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/gamemanage/GameManageTicketAccessView.vue b/src/views/gamemanage/GameManageTicketAccessView.vue new file mode 100644 index 0000000..664a9bd --- /dev/null +++ b/src/views/gamemanage/GameManageTicketAccessView.vue @@ -0,0 +1,316 @@ + + + + + + + + + + + + + + + + + + + + + + + × + + 编辑 + + + + + + 路径: + + + + + + 门票ID: + + + + + + + + + + + + + + 可获赠次数: + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/gamemanage/GameManageTicketHistoryAdminView.vue b/src/views/gamemanage/GameManageTicketHistoryAdminView.vue new file mode 100644 index 0000000..40de123 --- /dev/null +++ b/src/views/gamemanage/GameManageTicketHistoryAdminView.vue @@ -0,0 +1,231 @@ + + + + + + + + + + + + 门票ID: + 门票名称: + 平台号: + 类型及方式: + 请选择、 + 商城充值币购买 + 注册获赠/ + 每日登录获赠 + 每周登录获赠 + 成功邀请好友参赛获赠 + 参赛使用 + 退还 + 后台赠送 + 渠道门票包领取 + + 开始时间: + 结束时间: + + 查询 + 导出 + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/gamemanage/GameManageWithdrawAdminView.vue b/src/views/gamemanage/GameManageWithdrawAdminView.vue new file mode 100644 index 0000000..3962c69 --- /dev/null +++ b/src/views/gamemanage/GameManageWithdrawAdminView.vue @@ -0,0 +1,585 @@ + + + + + + + + + + + + + + 平台号: + + + 手机号码: + + + 支付宝账号: + + + 支付宝名称: + + + + 开始时间: + + + + 结束时间: + + + 状态: + + + 全部 + 已作废 + 申请中 + 已批准 + 已驳回 + + + + 支付状态: + + + 全部 + 计划中 + 申请中 + 支付成功 + 支付失败 + + + + + 用户状态: + + + 全部 + 正常 + 黑名单 + + + + 账号类型: + + + 全部 + 支付宝 + 银行卡 + + + + + + + + 查询 + + + 导出 + + + 批量批准 + + + + + + 批量驳回 + + + + + + + + + + + + + + + × + + 提现申请审批 + + + + + + 驳回原因 + + + + + + + + + + + + + + + 提示信息 + + + + + + + + + + \ No newline at end of file diff --git a/src/views/gamemanage/TicketManageView.vue b/src/views/gamemanage/TicketManageView.vue new file mode 100644 index 0000000..c1ff8aa --- /dev/null +++ b/src/views/gamemanage/TicketManageView.vue @@ -0,0 +1,384 @@ + + + + + + + + + + + + + + 新建门票 + + + + + + + + + + + + × + + 门票信息 + + + + + + 状态 + + 上架 + 下架 + + + + 名称 + + + + + + 购买方式 + + + 充值币 + + + + + 价格 + + + + + + 排序 + + + + + + 说明 + + + + + + 库存 + + + + + + 图片: + + + + 上传 + + + + + + + + + + + + + + + 提示信息 + + + + + + + + + + \ No newline at end of file diff --git a/src/views/giftwall/GiftAchievementAdminView.vue b/src/views/giftwall/GiftAchievementAdminView.vue new file mode 100644 index 0000000..efd7446 --- /dev/null +++ b/src/views/giftwall/GiftAchievementAdminView.vue @@ -0,0 +1,620 @@ + + + + + + + + + + + 礼物名称: + 礼物分类: + 状态: + 全部 + 待上架 + 上架中 + 已下架 + + + 上架时间: + 下架时间: + + + 搜索 + + + 增加 + + + + + + + + + + + + × + + 新增礼物 + + + + + 礼物名称: + + + + + + + 礼物分类: + + + + + + + 礼物tip: + + + + + + 是否上架: + + 是 + 否 + + + + + 上架时间: + + + + + + 下架时间: + + + + + + + 权重: + + + + + + + + + + + + + + + + × + + 编辑礼物 + + + + + 礼物名称: + + + + + + + 礼物分类: + + + + + + + 礼物tip: + + + + + + 是否上架: + + 是 + 否 + + + + + 上架时间: + + + + + + 下架时间: + + + + + + + 权重: + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/giftwall/GiftAchievementStatisticsAdminView.vue b/src/views/giftwall/GiftAchievementStatisticsAdminView.vue new file mode 100644 index 0000000..48315a7 --- /dev/null +++ b/src/views/giftwall/GiftAchievementStatisticsAdminView.vue @@ -0,0 +1,218 @@ + + + + + + + + + + + + 用户ID: + 礼物成就分类: + + 完成时间区间: + 至 + + + + 搜索 + + + 导出 + + + 完成收集总人数: + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/giftwall/GiftAchievementTypeAdminView.vue b/src/views/giftwall/GiftAchievementTypeAdminView.vue new file mode 100644 index 0000000..000ad9b --- /dev/null +++ b/src/views/giftwall/GiftAchievementTypeAdminView.vue @@ -0,0 +1,457 @@ + + + + + + + + + + + 分类名称: + 状态: + 全部 + 展示 + 隐藏 + + + + 搜索 + + + 增加 + + + + + + + + + + + + × + + 新增分类 + + + + + 分类名称: + + + + + + 状态: + + 展示 + 隐藏 + + + + 卡片背景: + + + + 上传 + + + + + 权重: + + + + + + + + + + + + + + + + × + + 编辑礼物 + + + + + 分类名称: + + + + + + + 状态: + + 展示 + 隐藏 + + + + 卡片背景: + + + + 上传 + + + + + 权重: + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/world/WorldAdminView.vue b/src/views/world/WorldAdminView.vue new file mode 100644 index 0000000..e4b5c5b --- /dev/null +++ b/src/views/world/WorldAdminView.vue @@ -0,0 +1,673 @@ + + + + + + + + + + + 创始人ID: + + + 状态: + + 已解散 + 有效 + + + 创建时间: + + 至: + + + + + 人数: + + 至: + + + 分类: + + 全部 + + + 推荐状态: + + 全部 + 未推荐 + 推荐中 + 待推荐 + + + + + 查询 + + + 增加 + + + + + + + + + + + + + + + + + + x + + + + + + + + + + 标题: + + + + + + 描述: + + + + + + 公告: + + + + + + 话题分类: + + + 请选择... + + + + + 创始人ID: + + + + + + 头像: + + + + 上传 + + 请上传图片文件 + + + + + 标签: + + 最新 + 最热 + 官方 + + + + 排序: + + + + + + 是否推荐: + + + 不推荐 + + + 推荐: + + 至 + + + + + + 权限: + + 申请同意后 + 所有人可进 + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/world/WorldMemberAdminView.vue b/src/views/world/WorldMemberAdminView.vue new file mode 100644 index 0000000..cec724d --- /dev/null +++ b/src/views/world/WorldMemberAdminView.vue @@ -0,0 +1,310 @@ + + + + + + + + + + 66ID: + + + 世界ID: + + + 状态: + + 已删除 + 有效 + + + + + 查询 + + + 添加成员 + + + 批量移除 + + + + + + + + + + + + + + + + + + x + + + + + + + + + 世界id + + + + + + 66Id: + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/world/WorldTypeAdminView.vue b/src/views/world/WorldTypeAdminView.vue new file mode 100644 index 0000000..0b2bc23 --- /dev/null +++ b/src/views/world/WorldTypeAdminView.vue @@ -0,0 +1,424 @@ + + + + + + + + + + 标题: + + + 状态: + + 已删除 + 有效 + + + 创建时间: + + 至: + + + + + + 查询 + + + 增加 + + + + + + + + + + + + + + + + + + x + + + + + + + + + + 标题 + + + + + + 排序: + + + + + + 世界广场: + + + 请选择... + 展示 + 隐藏 + + + + + 标签: + + + + 上传 + + + 请上传图片文件 + + + + + 图标: + + + + 上传 + + + 请上传图片文件 + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/world/community/CommentVerifyView.vue b/src/views/world/community/CommentVerifyView.vue new file mode 100644 index 0000000..543d748 --- /dev/null +++ b/src/views/world/community/CommentVerifyView.vue @@ -0,0 +1,703 @@ + + + + + + + + + + + + + + 平台号: + + + 昵称: + + + 状态: + + + 全部 + + + + + 发布时间: + + 至 + + + 话题名称: + + + 全部 + 动态广场 + + + + + + + 查询 + + + 重置 + + + 导出 + + + 批量下架 + + + + + + + + + + + × + 请选择下架原因 + + + + + + + + + + 評論可能包含辱罵、攻擊他人等不文明內容 + 評論涉及色情、暴力、病毒等違規內容 + 評論包含政治敏感信息 + 評論包含廣告、營銷內容 + 評論可能包含個人隱私信息或涉及他人營私信息 + 評論可能涉及線下交易 + 評論內容無意義 + 其他(手動填寫) + + + + + + + + + + + + + + + + + + + + + × + 请选择下架原因 + + + + + + + + 評論可能包含辱罵、攻擊他人等不文明內容 + 評論涉及色情、暴力、病毒等違規內容 + 評論包含政治敏感信息 + 評論包含廣告、營銷內容 + 評論可能包含個人隱私信息或涉及他人營私信息 + 評論可能涉及線下交易 + 評論內容無意義 + 其他(手動填寫) + + + + + + + + + + + + + + + + + + + + + × + 评论详情 + + + + + 话题: + + + + + + 动态内容: + + + + + + + + + 相关评论: + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/world/community/DynamicDataView.vue b/src/views/world/community/DynamicDataView.vue new file mode 100644 index 0000000..4dc24d4 --- /dev/null +++ b/src/views/world/community/DynamicDataView.vue @@ -0,0 +1,883 @@ + + + + + + + + + + + + + + 平台号: + + + 昵称: + + + 话题类型: + + + 全部 + 非话题动态 + + + 是否置顶: + + + 全部 + 广场置顶 + 话题置顶 + 否 + + + + + 发布时间: + + 至 + + + + + 标签类型: + + + 全部 + 官方 + 活动 + 互动 + 热门 + 推荐 + 新 + 无 + + + + + + + + 查询 + + + 重置 + + + 导出 + + + + + + + + + + + + + × + 查看 + + + + + + + + + + + + + + + + × + 修改热度值 + + + + + + + 标签: + + 官方 + 活动 + 互动 + 热门 + 推荐 + 新 + + + + + + + + + + + + × + 修改规则 + + + + + 热度值 = 分享人数* + + + 评论人数 * + + + 点赞人数 * + + + + + + + + + + + + + × + 查看动态内容详情 + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/world/community/DynamicStatView.vue b/src/views/world/community/DynamicStatView.vue new file mode 100644 index 0000000..f2d7eb5 --- /dev/null +++ b/src/views/world/community/DynamicStatView.vue @@ -0,0 +1,405 @@ + + + + + + + + + + + + + 话题: + + + 所有 + 全部 + 动态广场 + + + 时间: + + + + 至 + + + + + + 今日 + + + + + 查询 + + + 重置 + + + 导出 + + + + 发布总数/总用户数:0 /0 + 点赞总数/总用户数:0 /0 + 评论总数/总用户数:0 /0 + 分享总数/总用户数:0 /0 + 阅读总数/总用户数:0 /0 + + + + + + + + + + \ No newline at end of file diff --git a/src/views/world/community/DynamicVerifyView.vue b/src/views/world/community/DynamicVerifyView.vue new file mode 100644 index 0000000..2aa36fa --- /dev/null +++ b/src/views/world/community/DynamicVerifyView.vue @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + 平台号: + + + 昵称: + + + 状态: + + + 全部 + + + + + 发布时间: + + 至 + + + 话题名称: + + + 全部 + 动态广场 + + + + + + + 查询 + + + 重置 + + + 导出 + + + + + + + + + + + + × + 查看 + + + + + + + + + + + + + + + + + × + 请选择原因 + + + + + + + + + 動態可能包含抽煙、喝酒、辱罵、攻擊他人等不文明內容 + 動態涉及色情、暴力、病毒等違規內容 + 動態包含政治敏感信息 + 動態包含廣告、營銷內容 + 動態可能包含個人隱私信息或涉及他人營私信息 + 動態可能涉及線下交易 + 動態內容無意義 + 動態內容與世界主題無關 + 動態可能涉嫌侵犯他人版權 + 其他 + + + + + + + + + + + + + + + + + + + + + × + 查看动态内容详情 + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/world/community/RecommendWorldAdminView.vue b/src/views/world/community/RecommendWorldAdminView.vue new file mode 100644 index 0000000..fff53ce --- /dev/null +++ b/src/views/world/community/RecommendWorldAdminView.vue @@ -0,0 +1,533 @@ + + + + + + + + + + + + 话题: + + + 请选择 + + + 上架时间: + + + + 下架时间: + + + + + + + 查询 + + + 新增 + + + 批量下架 + + + + + + + + + + + + + + + + x + + + + + + + + + + 话题名称: + + + 请选择... + + + + + 上架时间: + + + + + + 下架时间: + + + + + + 权重: + + + + + + + + + + + + + + + + \ No newline at end of file