diff --git a/public/delta-gun-codes.html b/public/delta-gun-codes.html new file mode 100644 index 0000000..06b0eea --- /dev/null +++ b/public/delta-gun-codes.html @@ -0,0 +1,281 @@ + + + + + + 三角洲行动 · 改枪码速查复制 + + + +
+
+
DELTA FORCE · GUN CODE
+

三角洲行动 · 改枪码速查

+

已收录 0 套配置,点击复制即可在游戏内粘贴使用

+
+ +
+ +
+
+ +
+
加载中...
+
+ + +
+ +
+ + + + diff --git a/src/api/delta/delta-gun-code.js b/src/api/delta/delta-gun-code.js new file mode 100644 index 0000000..e2dccf8 --- /dev/null +++ b/src/api/delta/delta-gun-code.js @@ -0,0 +1,67 @@ +import axios from '@/libs/api.request' +import { getToken } from '@/libs/util' + +/** 后台管理-分页查询改枪码列表 **/ +export const getDataList = (data) => { + return axios.request({ + url: 'delta-gun-code/findPageList', + headers: { + 'Authorization': getToken() + }, + data: data, + method: 'post' + }) +} + +/** 后台管理-新增改枪码 **/ +export const add = (data) => { + return axios.request({ + url: 'delta-gun-code/add', + headers: { + 'Authorization': getToken() + }, + data: data, + method: 'post' + }) +} + +/** 后台管理-更新改枪码 **/ +export const update = (data) => { + return axios.request({ + url: 'delta-gun-code/update', + headers: { + 'Authorization': getToken() + }, + data: data, + method: 'post' + }) +} + +/** 后台管理-删除改枪码 **/ +export const remove = (data) => { + return axios.request({ + url: 'delta-gun-code/remove', + headers: { + 'Authorization': getToken() + }, + data: data, + method: 'post' + }) +} + +/** 公开-查询所有启用改枪码(无需鉴权) **/ +export const getPublicList = () => { + return axios.request({ + url: 'delta-gun-code/public/list', + method: 'post' + }) +} + +/** 公开-复制成功增加复制次数(无需鉴权) **/ +export const addCopyCount = (id) => { + return axios.request({ + url: 'delta-gun-code/public/addCopyCount', + params: { id: id }, + method: 'post' + }) +} diff --git a/src/common/js/clipboard.js b/src/common/js/clipboard.js new file mode 100644 index 0000000..1492f1c --- /dev/null +++ b/src/common/js/clipboard.js @@ -0,0 +1,37 @@ +/** + * 文本复制工具 + * 优先使用 navigator.clipboard(需安全上下文),否则降级为隐藏 textarea + execCommand + * @param {String} text 待复制的文本 + * @returns {Promise} 是否复制成功 + */ +const fallbackCopy = (text) => { + const textarea = document.createElement('textarea') + textarea.value = text + textarea.setAttribute('readonly', '') + textarea.style.position = 'fixed' + textarea.style.top = '-9999px' + textarea.style.opacity = '0' + document.body.appendChild(textarea) + textarea.select() + textarea.setSelectionRange(0, textarea.value.length) + let ok = false + try { + ok = document.execCommand('copy') + } catch (e) { + ok = false + } + document.body.removeChild(textarea) + return ok +} + +export const copyText = (text) => { + if (!text) return Promise.resolve(false) + if (navigator.clipboard && window.isSecureContext) { + return navigator.clipboard.writeText(text) + .then(() => true) + .catch(() => fallbackCopy(text)) + } + return Promise.resolve(fallbackCopy(text)) +} + +export default copyText diff --git a/src/view/delta/delta-gun-code.vue b/src/view/delta/delta-gun-code.vue new file mode 100644 index 0000000..5cb8a40 --- /dev/null +++ b/src/view/delta/delta-gun-code.vue @@ -0,0 +1,414 @@ + + + + +