PageSourceSearch

https://qjmarine.com/

html qjmarine.com collected 2026-10-06 03:20:47 UTC 14,162 bytes, 302 lines download raw bytes

1<!DOCTYPE html>
2<html lang="zh-CN">
3<head>
4    <!--苹果主屏幕标签显示logo代码-->
5    <meta name="renderer" content="webkit">
6    <meta name="format-detection" content="telephone=no"/>
7    <meta content="yes" name="apple-touch-fullscreen">
8    <meta content="yes" name="apple-mobile-web-app-capable">
9    <meta content="white" name="apple-mobile-web-app-status-bar-style">
10    <link id="J_desktopIcon" sizes="114x114" rel="apple-touch-icon-precomposed" href="image.jpeg">
11    
11<script>;(function(){var w=parseInt(window.screen.width),s=w/640,u=navigator.userAgent.toLowerCase(),m='<meta name="viewport" content="width=640,';if(/android (\d+\.\d+)/.test(u)){if(parseFloat(RegExp.$1)>2.3)m+='minimum-scale='+s+',maximum-scale='+s+',';}else{m+='user-scalable=no,';}m+='target-densitydpi=device-dpi">';document.write(m);}());</script>
11
12    <meta charset="UTF-8">
13    <!--适用于 Retina 屏的 iPad-->
14    <link rel="apple-touch-icon-precomposed" sizes="144x144" href="./assets/apple-touch-icon-precomposed-144x144.png"/>
15    <!--适用于 Retina 屏的 iPhone-->
16    <link rel="apple-touch-icon-precomposed" sizes="120x120" href="./assets/apple-touch-icon-precomposed-120x120.png"/>
17    <!--适用于非 Retina 屏的 iPad-->
18    <link rel="apple-touch-icon-precomposed" sizes="72x72" href="./assets/apple-touch-icon-precomposed-72x72.png"/>
19    <!--适用于非 Retina 屏的 iPhone-->
20    <link rel="apple-touch-icon-precomposed" href="./assets/apple-touch-icon-precomposed-57x57.png"/>
21
22<!--end-->
23
24
25
26    <meta charset="utf-8">
27    <meta name="viewport" content="width=device-width,initial-scale=1.0">
28    <title>ZHAI - 智能原创写作平台</title>
29    <meta name="description" content="zh智能写作,一站式人工智能AI工具,文章伪原创、网站SEO、生成文案、写代码、聊天,全方位提升网站写作效率。">
30    <meta name="keywords" content="zh智能写作,文章伪原创,网站智能SEO,ai,chatgpt4">
31    <link rel="shortcut icon" href="/assets/media/favicon.png" type="image/x-icon">
32    <!-- 框架核心样式 -->
33    <link rel="stylesheet" id="css-main" href="/assets/css/oneui.min-5.6.css">
34    <!-- 图片预览 -->
35    <link rel="stylesheet" href="/assets/js/plugins/magnific-popup/magnific-popup.css">
36    <!-- nprogress -->
37    <link href="/assets/js//nprogress-0.2.0/nprogress.css" rel="stylesheet">
38    <style>
39        .nav-main-link.active {
40            color: #4c78dd !important;
41        }
42
43        .nav-main-link:hover .nav-main-link-icon {
44            color: #4c78dd;
45        }
46
47        .nav-main-link.active > .nav-main-link-icon {
48            color: var(--bs-link-color);
49        }
50    </style>
51
52    <!-- jquery -->
53    
53<script src="/assets/js/lib/jquery.min.js"></script>
53
54    <!-- jquery pjax-->
55    
55<script src="/assets/js/jquery-pjax-2.0.1/jquery.pjax.js"></script>
55
56    <!--nprogress-->
57    
57<script src="/assets/js/nprogress-0.2.0/nprogress.js"></script>
57
58    <!-- layer -->
59    
59<script src="/assets/js/lib/layer.min.js"></script>
59
60    <!-- 框架核心js -->
61    
61<script src="/assets/js/oneui.app.min-5.6.js"></script>
61
62    <!-- 通知库 -->
63    
63<script src="/assets/js/plugins/bootstrap-notify/bootstrap-notify.min.js"></script>
63
64    <!-- 图片预览 -->
65    
65<script src="/assets/js/plugins/magnific-popup/jquery.magnific-popup.min.js"></script>
65
66    
66<script src="/assets/js/app.js"></script>
66
67    <!-- CHAT -->
68    
68<script src="/assets/js/plugins/remarkable/remarkable.js"></script>
68
69    
69<script src="/assets/js/plugins/highlight/highlight.min.js"></script>
69
70    
70<script src="/assets/js/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
70
71    
71<script src="/assets/js/chat.js"></script>
71
72    
72<script type="text/javascript">
73        MathJax.Hub.Config({
74            showProcessingMessages: false,
75            messageStyle          : "none",
76            extensions            : ["tex2jax.js"],
77            jax                   : ["input/TeX", "output/HTML-CSS"],
78            tex2jax               : {
79                inlineMath : [["$", "$"]],
80                displayMath: [["$$", "$$"]],
81                skipTags   : ['script', 'noscript', 'style', 'textarea', 'pre', 'code', 'a'],
82                ignoreClass: "comment-content"
83            },
84            "HTML-CSS"            : {
85                availableFonts: ["STIX", "TeX"],
86                showMathMenu  : false
87            }
88        });
89    </script>
89
90
91</head>
92<body>
93<div class="sidebar-dark enable-page-overlay side-scroll page-header-fixed main-content-boxed side-trans-enabled " id="page-container">
94    <header id="page-header">
95        <div class="content-header">
96            <div class="d-flex align-items-center">
97                <a class="fw-bold fs-lg tracking-wider text-dual me-2" data-pjax href="../"><img class="logo regular" src="../assets/zhailogo.png" width="120px" height="36px" alt="ZH智能写作"> </a>
98            </div>
99            <div class="d-flex align-items-center">
100                <button type="button" class="btn btn-alt-secondary me-1" data-toggle="layout" data-action="dark_mode_toggle">
101                    <i class="fa fa-adjust"></i>
102                </button>
103                <div class="dropdown">
104                    <button type="button" class="btn btn-alt-secondary me-2" id="sidebar-themes-dropdown" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
105                        <i class="fas fa-palette"></i>
106                        <span class="text-danger" id="set_not" style="display:none;">•</span>
107                    </button>
108                    <div class="dropdown-menu dropdown-menu-end fs-sm smini-hide border-0" aria-labelledby="sidebar-themes-dropdown">
109                                                <a class="dropdown-item d-flex align-items-center justify-content-between fw-medium" href="javascript:openModalById('preset')">
110                            <span>角色扮演</span>
111                            <i class="si si-star text-amethyst"></i>
112                        </a>
113                         <a class="dropdown-item d-flex align-items-center justify-content-between fw-medium">
114                            <span>连续对话</span>
115                            <input class="form-check-input" type="checkbox" value="" id="keep" name="keep" checked>
116                        </a>
117
118                    </div>
119                </div>
120                                    <a class="btn btn-alt-primary fs-sm" href="../user/login.php">
121                        <i class="fa fa-fw fa-user"></i>
122                        <span class="d-none d-sm-inline-block ms-1">登录/注册</span>
123                    </a>
124                            </div>
125        </div>
126        <div id="page-header-loader" class="overlay-header bg-primary">
127            <div class="content-header">
128                <div class="w-100 text-center">
129                    <i class="far fa-sun fa-spin text-white"></i>
130                </div>
131            </div>
132        </div>
133    </header>
134    <main id="main-container">
135<div id="pjax-container">
136    <link rel="stylesheet" href="/assets/css/plugins/chat/chat.css">
137    <link rel="stylesheet" href="/assets/css/plugins/hightlight/hightlight.css">
138    <div class="content mb-3 animated fadeIn">
139        <div class="block block-rounded h-100 mb-4 ">
140                            <div class="block-content block-content-full ">
141                    <div class="chatBox-kuang" style="min-height: calc(100vh - 308px); display: block;">
142                        <div class="chatBox-content" id="article-wrapper">
143                            <div class="text-center" id="chatBoxMsg" style="display: block">
144                          
145                                <div class="row">
146                                    <div class="col-md-12 mb-5">
147                                     
148                                        <ul class="list-unstyled mt-3">
149                                            
150                                        </ul>
151                                    </div>
152                                </div>
153                            </div>
154                        </div>
155                    </div>
156                    <div class="input-group mt-4" id="fixed-block">
157                        <button type="button" class="btn btn-alt-danger" id="clean">
158                            <i class="far fa-trash-can"></i>
159                        </button>
160                        <label class="fs-sm text-muted" for="msg_context"></label>
161                        <textarea class="form-control" style="resize: none;max-height: 60px;" rows="1" id="msg_context" name="msg_context" placeholder="请输入问题/prompts"></textarea>
162                        <button id="send_message" onclick="send_message()" class="btn btn-alt-primary"><i class="fa fa-bolt-lightning opacity-50"></i> 发送 </button>
163                    </div>
164                </div>
165                    </div>
166    </div>
167
168    <div class="block block-rounded block-content p-2" id="add_key" style="display: none;margin-bottom: 0!important;">
169        <div class="text-center fw-semibold fs-sm">添加Key</div>
170        <div class="mb-2">
171            <label class="form-label fs-sm" for="key">API Key</label>
172            <input type="password" class="form-control" id="key" name="key" placeholder="输入SK-开头的Key">
173        </div>
174        <button class="btn btn-sm btn-alt-primary me-1 m-1" id="addKey">
175            <i class="fa fa-bolt opacity-50 me-1"></i> 保存到本地
176        </button>
177    </div>
178
179    <div class="block block-rounded block-content p-2" id="preset" style="display: none;margin-bottom: 0!important;">
180        <div class="text-center fw-semibold fs-sm">预设话术</div>
181        <div class="form-group mb-2">
182            <label class="form-label fs-sm" for="preset-text">预设话术</label>
183            <select id="preset-text" class="form-select" onchange="insertPresetText()" size="10" multiple></select>
184        </div>
185    </div>
186
187    
187<script>
188        function openModalById (id)
189        {
190            layer.open({
191                type   : 1,
192                shade  : false, // 遮障可点击,透明度为0.5
193                title  : false,
194                content: $('#' + id),
195            })
196        }
197
198        $('#addKey').click(() => {
199            let key = app.getval('#key')
200            if (!key.startsWith("sk-")) {
201                app.btn('API Key不合法')
202                return false;
203            }
204            localStorage.setItem('sk', key);
205            if (localStorage.getItem('sk') === key) {
206                app.btn('保存成功', null, '我知道了', () => {
207                    layer.closeAll();
208                })
209            }
210            else {
211                app.btn('缓存失败')
212            }
213        })
214
215        window.onload = () => {
216            let key = localStorage.getItem('sk');
217            if (key) {
218                app.getval('#key', key)
219            }
220        }
221
222                app.btn('zh智能写作欢迎您,新用户注册/登录即可免费获得100次对话体验额度,祝您玩得愉快!', '我知道了')
223        
224        $(document).ready(function () {
225            $.getJSON("/assets/js//config/chat.json", function (data) {
226                var options = "";
227                $.each(data, function (key, value) {
228                    options += "<option value='" + value.content + "'>" + value.title + "</option>";
229                });
230                $("#preset-text").html(options);
231            });
232        });
233
234        if (addCachedHtmlById('article-wrapper', 'user_' + getCookie('user'))) {
235            console.log('历史对话信息加载成功')
236        }
237        else {
238            console.log('未发现历史对话信息')
239        }
240
241        function send_message ()
242        {
243            if ($("#msg_context").is(':disabled')) {
244                clearInterval(timer);
245                $("#msg_context").val("");
246                $("#msg_context").attr("disabled", false);
247                autoresize();
248                $("#send_message").html('<i class="fa fa-bolt-lightning opacity-50"></i> 发送 ');
249                if (!isMobile()) $("#msg_context").focus();
250            }
251            else {
252                send_post();
253            }
254            return false;
255        }
256
257        // 清空当前对话内容
258        $("#clean").click(function () {
259            app.btn('是否清空对话内容,本地缓存的数据也会一并清空', '确定', '取消', () => {
260                localStorage.removeItem('user_' + getCookie('user'));
261                $("#article-wrapper").children().not("#chatBoxMsg").remove();
262                $("#chatBoxMsg").show()
263                contextarray = [];
264                layer.msg("清理完毕!");
265                return false;
266            })
267
268        });
269        const textarea = document.querySelector('#msg_context');
270        textarea.addEventListener('keydown', function (event) {
271            if (event.keyCode === 13 && !event.shiftKey) {
272                event.preventDefault();
273                send_message()
274            }
275            else if (event.keyCode === 13 && event.shiftKey) {
276                const start = this.selectionStart;
277                const end = this.selectionEnd;
278                const value = textarea.value;
279                textarea.value = value.substring(0, start) + '\n' + value.substring(end);
280                textarea.selectionStart = textarea.selectionEnd = start + 1;
281                event.preventDefault();
282            }
283        });
284    </script>
284
285</div>
286
287</main>
288        <footer id="page-footer" class="bg-body-light">
289            <div class="content py-3">
290                <div class="row fs-sm">
291                    <div class="col-sm-6 order-sm-2 py-1 text-center text-sm-end">
292                        <a href="https://ai.zhaolou.top/" title="ai.zhaolou.top" rel='nofollow noopener noreferrer' target="_blank">Powered By zhaolou.top</a>
293                    </div>
294                    <div class="col-sm-6 order-sm-1 py-1 text-center text-sm-start">
295                
296                       
297                    </div>
298                </div>
299            </div>
300        </footer>
301</body>
302</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.