mirror of
https://github.com/LingChair/LingChair-V0.git
synced 2025-12-08 01:55:50 +08:00
chore: 剪贴板相关
This commit is contained in:
@@ -43,3 +43,12 @@ body {
|
||||
margin-top: 60px;
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
[n-id=pageChatSeesion]::after {
|
||||
content: "";
|
||||
position: sticky;
|
||||
bottom: 0;
|
||||
display: block;
|
||||
height: var(--pseudo-height); /* 设置伪元素的高度 */
|
||||
z-index: -1; /* 防止遮挡实际内容 */
|
||||
}
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
<!-- 代替私人 fixed 并提供更好的兼容性 -->
|
||||
<script src="https://cdn.jsdelivr.net/gh/wilddeer/stickyfill@2.1.0/dist/stickyfill.min.js"></script>
|
||||
<script src="https://unpkg.com/jquery@3.7.1/dist/jquery.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/clipboard@2.0.11/dist/clipboard.min.js"></script>
|
||||
<link rel="icon" href="icon.ico" />
|
||||
<title>铃之椅</title>
|
||||
</head>
|
||||
@@ -49,7 +50,7 @@
|
||||
class="mdui-theme-primary-teal mdui-theme-accent-teal mdui-drawer-body-left mdui-appbar-with-toolbar mdui-theme-layout-auto"
|
||||
id="app">
|
||||
|
||||
<input n-id="textCopier" class="mdui-hidden" />
|
||||
<input n-id="textCopierBtn" class="mdui-hidden" />
|
||||
|
||||
<div id="lingchair-app" style="height: 100%;">
|
||||
<!-- 侧滑栏 -->
|
||||
@@ -94,7 +95,10 @@
|
||||
<a onclick="ContactsList.reloadList()" n-id="contactsRefresh" class="mdui-btn mdui-btn-icon mdui-ripple">
|
||||
<i class="mdui-icon material-icons">refresh</i>
|
||||
</a>
|
||||
<a class="mdui-btn mdui-btn-icon mdui-ripple" n-id="switchNotifications" mdui-tooltip="{content:'开/关通知'}">
|
||||
<a onclick="ContactsList.openAddDialog()" n-id="contactsAdd" class="mdui-btn mdui-btn-icon mdui-ripple">
|
||||
<i class="mdui-icon material-icons">add</i>
|
||||
</a>
|
||||
<a class="mdui-btn mdui-btn-icon mdui-ripple" n-id="switchNotifications">
|
||||
<i class="mdui-icon material-icons" n-id="switchNotificationsIcon">notifications_off</i>
|
||||
</a>
|
||||
<a mdui-menu="{target: '#appbar-menu'}" class="mdui-btn mdui-btn-icon mdui-ripple">
|
||||
@@ -136,7 +140,7 @@
|
||||
<div class="mdui-center" style="margin: 15px;"><a href="javascript:;" onclick="ChatMsgAdapter.loadMore()"
|
||||
class="mdui-text-color-theme">点我</a>继续加载前面的聊天记录, 或者<a href="javascript:;"
|
||||
onclick="ChatMsgAdapter.scrollToBottom()" class="mdui-text-color-theme">回到底部</a></div>
|
||||
<div n-id="pageChatSeesion" style="flex: 1 1 auto;display: flex;flex-direction: column;"></div>
|
||||
<div n-id="pageChatSeesion" style="flex: 1 1 auto;display: flex;flex-direction: column;position: relative;"></div>
|
||||
</div>
|
||||
<!-- 妈的黑化了 私人玩意这么难整 早知道 z-index 弄死它得了 浪费我时间 我就没试过这么离谱的样式表 第三方库真难写CSS 就应该先写后端的 啊啊啊啊啊啊 -->
|
||||
<!-- 不黑化了 因为 stickyfill -->
|
||||
|
||||
@@ -189,11 +189,12 @@ if (localStorage.useNotifications == "true")
|
||||
|
||||
// https://www.runoob.com/w3cnote/javascript-copy-clipboard.html
|
||||
function copyText(t) {
|
||||
let cp = viewBinding.textCopier.get(0)
|
||||
cp.value = t
|
||||
cp.select()
|
||||
cp.setSelectionRange(0, 99999)
|
||||
navigator.clipboard.writeText(cp.value)
|
||||
let btn = viewBinding.textCopierBtn
|
||||
btn.attr("data-clipboard-text", t)
|
||||
new ClipboardJS(btn.get(0)).on('success', (e) => {
|
||||
e.clearSelection()
|
||||
})
|
||||
btn.click()
|
||||
}
|
||||
|
||||
// https://zhuanlan.zhihu.com/p/162910462
|
||||
@@ -407,8 +408,10 @@ class ChatMsgAdapter {
|
||||
static addSystemMsg(m, re) {
|
||||
let e
|
||||
if (re)
|
||||
// 加到头部
|
||||
e = $($.parseHTML(m)).prependTo(viewBinding.pageChatSeesion)
|
||||
else
|
||||
// 加到尾部
|
||||
e = $($.parseHTML(m)).appendTo(viewBinding.pageChatSeesion)
|
||||
return e
|
||||
}
|
||||
@@ -416,7 +419,8 @@ class ChatMsgAdapter {
|
||||
let elementRect = viewBinding.pageChatSeesion.get(0).getBoundingClientRect()
|
||||
return (elementRect.bottom <= window.innerHeight)
|
||||
}
|
||||
// 不会压栈 只添加消息 返回消息的JQ对象
|
||||
// 添加消息 返回消息的JQ对象
|
||||
// name: 用户id m: 消息 t: 时间戳 re: 默认加到尾部 msgid: 消息id
|
||||
static async addMsg(name, m, t, re, msgid) {
|
||||
|
||||
let nick = await NickCache.getNick(name) // re.data == null ? name : re.data.nick
|
||||
@@ -716,7 +720,7 @@ else
|
||||
// 登录到账号
|
||||
let dialogSignIn
|
||||
// 谨防 localStorage 字符串数据大坑
|
||||
if (localStorage.isSignIn === "false")
|
||||
if (localStorage.isSignIn == "false")
|
||||
dialogSignIn = new mdui.Dialog(viewBinding.dialogSignIn.get(0), {
|
||||
modal: true,
|
||||
closeOnEsc: false,
|
||||
|
||||
Reference in New Issue
Block a user