Deprecated: mb_substr(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/kxs-php/controllers/NovelController.php on line 303
第99章 鬼儡 - 露水阴缘 跳转到主要内容

第99章 鬼儡

作者:红黄蓝绿青紫
(�/�d�+կ�2q9A P��srLH��d7��i d� `�����m"���.� �H���Ja,4 �GpLTE5�R�Hf�������ղG4^�^�p���������l�s;��Ю� �\ �1�7@�� �AࡎWەw�slS�ec>���]�nXa���7 ������#�٦,��fe������Ͷ�q��R��t�b�]���% G����� ��"�t0UIh�}�0;�n���ᵳ��]�}ļ�Y�>Q�����v�7�9��g� �"�̮�[Zޙ=Y�v�D�W�2w�{�s��=�Wޭ�E�c>$�ʻd��Ŵ�*�c;#��ޒa�� ��Β��>^�9���D�"�RqE{FW���e�,���"��� HA��� `~T�9��S�{? ��n����'���躢�.$`��ԛq���ʻ���_#�]mc�w)ޔ�)�*�����[�m�����ݛ����]<3�#�ͅCF>*�DL����܉�x����ȵ w�����l���'�S��\;K 5�D�������#���ʻ eo�3��l� Y�ҹf}��D�"H֬�8�3�I�\����zļ����D١�OH� ��$2���邱�~���l�z��ʾT�"�������ϫ�Dٜ��ey���V��,xf�`�`h䢑�!����0/w=��ɂ�;lkS�Ty7D8�b�z���!ރ����v�B�7"�=d����wͅO�]8}�x�b��@^S��vh6zȋ���hkg �� ]#���'ds�kg����Q�����#)�*�K�����0{go��Эo��JbxMq��%�6���t9�܅,v?![;K����NUR��[�wg�����'d���]c[�ʕwC�$n�a� �=d/�殧* ɥ��^Fx�-v�����v�L�_#��<�.w�B�!�!���v�2�X^yw����ZI���@(Ѐl�� <�;[y���0s�{��]_���x>�?]/�D�;���ʻ�ɠ.�,2�8-�Ƚ�&"�ٜ�w��?+� o�!��/��R�������W�D�0�2����3:e}1 Uw�m"dD��+?7��.����B��&��� ���������.���!#;���Iq$u̗���v�����rf���]�}7ѸU�' U<�^d�v�H�.�>Yp���� U�u��ʻ ����3�#�W�5|�p��c��R�T?5�3z~f���l�����鹳A�;/Qض��Bs�� ���av��w魼K6|!���1T�ʻ `�0T쵳ti8���V޵���>�}=]�>��t�,��KR\y7�z$��~X�a��s+���E)m��%K� ꃣOn.|�"��%W�=t��ׄ�ʻ�A�F`ևt�gtм��/�O�Y����G�-g���q�M�����p���s��m �٧�-霁t:ƹT%%ʶ�O��0���Wt)NC�e�=���@e����$^�ؽ�� ���V�4r�� �:V�8�s��!kV!���5+s�o���?�x�V�_=@�Wq���r��?�U|�^�1�>�=�� �ݘ��D�����նv�������!�/����}��K�0l+��B����w7^y X$Cg���� ����a���}��G�����# �^����s�n!s�{1�w6UI��[)��eswA�ʻ���G8��NI�O�������� L��ɞL����.�]��P�� &O9�;��ζ�_l;ħ*i�r�%�$S��D�����s=�7>q��pP� ��M�'Gx�=z��w���q\mBv���7�+PYq�N����0@;K"�7�ͯ�s�KʎhXk��SI]���e�f{Ӹ��G"f��H�)(����eo�W�=4�W��f*�����t�_�˲S����T���9HĦ���!` (sC�o�#��\�!�q�b���S%=4�N�4My�$� O��!~����N���䩒$hO�t�i���쩒�ϧJ�T&\ �5��pb�+Ds�\\+Ō�7�"n�[�_ ׬,jx�•w=h�5+��.���}v�z:w}�V�7 O�O�)����J2w�F��6����5���.��*i⸞�G��mn�m�{ )��t�^t���L/vBxe�k��1 ���A���F������S�5ln�3 >l~X잂Ng�Aᐑcln�K�!#O �v�,��rY��xK|<��1�g Ͼ9.w�f��l��Ҷ���N���V�����+x-���+ �a������h�f8.r�ʻ�r����#w�V����YV`8w������2W����ٌ�#)F٥d���A�s�7�9�g�)8�Ϗ���\m��=4|�m�' 6�l���C�g��h\�z��� s�{ ڙ�F|���ԭ�\/v?9K��#t0�s/�SPH�N�[��ɂ-�^y�3��_#�<��D9���zFv*P�a��yt#&Iݎ�f��\�fT�0��1">�I\;K�=�2w�xy���)χ�S�Pu_����Ԟ�6)z�]H�&�㸔�'�x����/���w���Q� �� 3'�ۇ�s׋D|!����yF�gt�� +ri8^*�U����г,s�c|4t�π�p�,58.�|�]q�v �y7 �8."�!#�l?l������������5��6H� N�'�; �( !F�!�4BB�`�I��@��-@�DˆCD̓^q�Ԭ��L������>Ti�b rX�v���.��n�(�B�n���9�9����j�?�b�w�.iRM�Z-�.א4�{�����mXH4IS&u� (�L���$�*!���P؈����D8��ܢJ�-�q��9Pнط4�p$�1${�q���)�wh���S�|������/ 7���N3|�âE�q��hBʤ2 �j�9�/�A�Bb�H��7B�#�H1����{c�.�~U�6G��3��n�� aA���6u :���J���x���˞_~�����2�z\�h�Z|ޡR�&�b�I}D�a�:d�Q��"��T�k�B�E<+�J����x�]��$��> �hj|/z-*�����\P]�86H'`n� �W Ȳ����J�Hk� �,�.;߆��*��/� N�V�bθ$]:Km/�����ٹ���]��g�3s� ot���8%�V#�I�ZC�Sw�<��K���p��H�Q!Q2��İ�j�����������O�p { // 初始化认证状态 initAuthState(); // 注意:阅读历史已由reading_history.js自动处理,无需手动调用 const themeToggle = document.getElementById('theme-toggle'); const themeToggleIcon = document.getElementById('theme-toggle-icon'); const html = document.documentElement; // 检查本地存储中的主题偏好 const currentTheme = localStorage.getItem('theme') || 'light'; html.classList.add(currentTheme); // 更新图标 if (themeToggleIcon) { themeToggleIcon.className = currentTheme === 'dark' ? 'ri-moon-line text-xl' : 'ri-sun-line text-xl'; } // 切换主题 if (themeToggle) { themeToggle.addEventListener('click', () => { const isDark = html.classList.contains('dark'); if (isDark) { html.classList.remove('dark'); html.classList.add('light'); localStorage.setItem('theme', 'light'); if (themeToggleIcon) { themeToggleIcon.className = 'ri-sun-line text-xl'; } } else { html.classList.remove('light'); html.classList.add('dark'); localStorage.setItem('theme', 'dark'); if (themeToggleIcon) { themeToggleIcon.className = 'ri-moon-line text-xl'; } } }); } // 字体大小调整 const content = document.querySelector('.reading-container'); const fontDecreaseBtn = document.getElementById('font-decrease'); const fontIncreaseBtn = document.getElementById('font-increase'); const readingModeBtn = document.getElementById('reading-mode'); const addBookmarkBtn = document.getElementById('add-bookmark'); // 从本地存储获取字体大小设置 let fontSize = parseInt(localStorage.getItem('fontSize')) || 18; content.style.fontSize = `${fontSize}px`; // 减小字体 fontDecreaseBtn.addEventListener('click', () => { if (fontSize > 14) { fontSize -= 1; content.style.fontSize = `${fontSize}px`; localStorage.setItem('fontSize', fontSize); } }); // 增大字体 fontIncreaseBtn.addEventListener('click', () => { if (fontSize < 26) { fontSize += 1; content.style.fontSize = `${fontSize}px`; localStorage.setItem('fontSize', fontSize); } }); // 阅读模式切换 readingModeBtn.addEventListener('click', () => { document.body.classList.toggle('reading-mode'); if (document.body.classList.contains('reading-mode')) { // 隐藏导航和其他元素,只显示内容区 document.querySelector('header').style.display = 'none'; document.querySelectorAll('.section-container > *:not(main)').forEach(el => { el.style.display = 'none'; }); document.querySelector('main').classList.add('reading-mode-active'); document.querySelector('.fixed.bottom-0').style.display = 'none'; // 隐藏移动端底部导航 } else { // 恢复正常显示 document.querySelector('header').style.display = ''; document.querySelectorAll('.section-container > *:not(main)').forEach(el => { el.style.display = ''; }); document.querySelector('main').classList.remove('reading-mode-active'); document.querySelector('.fixed.bottom-0').style.display = ''; // 显示移动端底部导航 } }); // 书签功能 addBookmarkBtn.addEventListener('click', () => { const bookmarks = JSON.parse(localStorage.getItem('bookmarks') || '[]'); const currentBookmark = { novelId: 'lushuiyinyuan', chapterId: '43999294', novelTitle: '露水阴缘', chapterTitle: '第99章 鬼儡', timestamp: new Date().toISOString() }; // 检查是否已存在相同的书签 const exists = bookmarks.some(bookmark => bookmark.novelId === currentBookmark.novelId && bookmark.chapterId === currentBookmark.chapterId ); if (!exists) { // 限制书签数量为10个 if (bookmarks.length >= 10) { bookmarks.pop(); // 移除最旧的书签 } bookmarks.unshift(currentBookmark); // 添加到最前面 localStorage.setItem('bookmarks', JSON.stringify(bookmarks)); // 显示成功提示 alert('书签添加成功'); } else { alert('书签已存在'); } }); });