├── css
├── icon.png
├── iconfont.ttf
├── iconfont.woff
├── iconfont.woff2
├── loading-2.gif
├── hightlight.css
├── wenda.css
├── layer.css
└── common.css
├── LICENSE
├── js
├── jquery.cookie.min.js
├── chat.js
└── layer.min.js
├── setsession.php
├── stream.php
├── README.md
├── index.php
└── chat.txt
/css/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rueetschli/OpenAI-GPT-3.5-turbo-simple-script/HEAD/css/icon.png
--------------------------------------------------------------------------------
/css/iconfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rueetschli/OpenAI-GPT-3.5-turbo-simple-script/HEAD/css/iconfont.ttf
--------------------------------------------------------------------------------
/css/iconfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rueetschli/OpenAI-GPT-3.5-turbo-simple-script/HEAD/css/iconfont.woff
--------------------------------------------------------------------------------
/css/iconfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rueetschli/OpenAI-GPT-3.5-turbo-simple-script/HEAD/css/iconfont.woff2
--------------------------------------------------------------------------------
/css/loading-2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rueetschli/OpenAI-GPT-3.5-turbo-simple-script/HEAD/css/loading-2.gif
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2023 rueetschli
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/css/hightlight.css:
--------------------------------------------------------------------------------
1 | pre code.hljs {
2 | display: block;
3 | overflow-x: auto;
4 | padding: 1em
5 | }
6 |
7 | code.hljs {
8 | padding: 3px 5px
9 | }
10 |
11 | .hljs {
12 | color: #abb2bf;
13 | background: #282c34
14 | }
15 |
16 | .hljs-comment,.hljs-quote {
17 | color: #5c6370;
18 | font-style: italic
19 | }
20 |
21 | .hljs-doctag,.hljs-formula,.hljs-keyword {
22 | color: #c678dd
23 | }
24 |
25 | .hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst {
26 | color: #e06c75
27 | }
28 |
29 | .hljs-literal {
30 | color: #56b6c2
31 | }
32 |
33 | .hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string {
34 | color: #98c379
35 | }
36 |
37 | .hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable {
38 | color: #d19a66
39 | }
40 |
41 | .hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title {
42 | color: #61aeee
43 | }
44 |
45 | .hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_ {
46 | color: #e6c07b
47 | }
48 |
49 | .hljs-emphasis {
50 | font-style: italic
51 | }
52 |
53 | .hljs-strong {
54 | font-weight: 700
55 | }
56 |
57 | .hljs-link {
58 | text-decoration: underline
59 | }
60 |
--------------------------------------------------------------------------------
/js/jquery.cookie.min.js:
--------------------------------------------------------------------------------
1 | /*! jquery.cookie v1.4.1 | MIT */
2 | !function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?a(require("jquery")):a(jQuery)}(function(a){function b(a){return h.raw?a:encodeURIComponent(a)}function c(a){return h.raw?a:decodeURIComponent(a)}function d(a){return b(h.json?JSON.stringify(a):String(a))}function e(a){0===a.indexOf('"')&&(a=a.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));try{return a=decodeURIComponent(a.replace(g," ")),h.json?JSON.parse(a):a}catch(b){}}function f(b,c){var d=h.raw?b:e(b);return a.isFunction(c)?c(d):d}var g=/\+/g,h=a.cookie=function(e,g,i){if(void 0!==g&&!a.isFunction(g)){if(i=a.extend({},h.defaults,i),"number"==typeof i.expires){var j=i.expires,k=i.expires=new Date;k.setTime(+k+864e5*j)}return document.cookie=[b(e),"=",d(g),i.expires?"; expires="+i.expires.toUTCString():"",i.path?"; path="+i.path:"",i.domain?"; domain="+i.domain:"",i.secure?"; secure":""].join("")}for(var l=e?void 0:{},m=document.cookie?document.cookie.split("; "):[],n=0,o=m.length;o>n;n++){var p=m[n].split("="),q=c(p.shift()),r=p.join("=");if(e&&e===q){l=f(r,g);break}e||void 0===(r=f(r))||(l[q]=r)}return l};h.defaults={},a.removeCookie=function(b,c){return void 0===a.cookie(b)?!1:(a.cookie(b,"",a.extend({},c,{expires:-1})),!a.cookie(b))}});
3 |
--------------------------------------------------------------------------------
/setsession.php:
--------------------------------------------------------------------------------
1 | "gpt-3.5-turbo",
5 | "temperature" => 0,
6 | "stream" => true,
7 | "messages" => [
8 | [
9 | "role" => "system",
10 | "content" => "Du bist ein extrem Hilfreicher Assistent. Du entschuldigst dich nicht unnötig. Deine Aussagen sind immer sehr Aussagekräftig, Umfangreich und gut Belegt."
11 | ]
12 | ],
13 |
14 | // "presence_penalty" => 0,
15 | // "frequency_penalty" => 1.2,
16 | // "max_history" => 99, // Für später, wenn der Parameter verfügbar ist.
17 |
18 | ];
19 | if (!empty($context)) {
20 | $context = array_slice($context, -5);
21 | foreach ($context as $message) {
22 | $postData['messages'][] = ['role' => 'user', 'content' => str_replace("\n", "\\n", $message[0])];
23 | $postData['messages'][] = ['role' => 'assistant', 'content' => str_replace("\n", "\\n", $message[1])];
24 | }
25 | }
26 | $postData['messages'][] = ['role' => 'user', 'content' => $_POST['message']];
27 | $postData = json_encode($postData);
28 | session_start();
29 | $_SESSION['data'] = $postData;
30 | if ((isset($_POST['key'])) && (!empty($_POST['key']))) {
31 | $_SESSION['key'] = $_POST['key'];
32 | }
33 | echo '{"success":true}';
34 |
--------------------------------------------------------------------------------
/stream.php:
--------------------------------------------------------------------------------
1 | error)) {
25 | setcookie("errcode", $complete->error->code);
26 | setcookie("errmsg", $data);
27 | if (strpos($complete->error->message, "Rate limit reached") === 0) { //Fehler bei Überschreitung der Zugriffsfrequenz gibt einen Nullcode zurück, Sonderbehandlung
28 | setcookie("errcode", "rate_limit_reached");
29 | }
30 | if (strpos($complete->error->message, "Your access was terminated") === 0) { //Verstoß gegen die Nutzungsbedingungen, Verbot, Sonderbehandlung für eine gewisse Zeit
31 | setcookie("errcode", "access_terminated");
32 | }
33 | if (strpos($complete->error->message, "You didn't provide an API key") === 0) { //API-KEY nicht angegeben
34 | setcookie("errcode", "no_api_key");
35 | }
36 | if (strpos($complete->error->message, "You exceeded your current quota") === 0) { //Niedriger API-KEY-Saldo
37 | setcookie("errcode", "insufficient_quota");
38 | }
39 | if (strpos($complete->error->message, "That model is currently overloaded") === 0) { //OpenAI-Server überlastet
40 | setcookie("errcode", "model_overloaded");
41 | }
42 | } else {
43 | echo $data;
44 | $_SESSION['response'] .= $data;
45 | }
46 | return strlen($data);
47 | };
48 |
49 | curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
50 | curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
51 | curl_setopt($ch, CURLOPT_URL, 'https://api.openai.com/v1/chat/completions');
52 | curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
53 | curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
54 | curl_setopt($ch, CURLOPT_POST, 1);
55 | curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
56 | curl_setopt($ch, CURLOPT_WRITEFUNCTION, $callback);
57 | //curl_setopt($ch, CURLOPT_PROXY, "http://127.0.0.1:1081");
58 |
59 | curl_exec($ch);
60 |
61 | $answer = "";
62 | if (substr(trim($_SESSION['response']), -6) == "[DONE]") {
63 | $_SESSION['response'] = substr(trim($_SESSION['response']), 0, -6) . "{";
64 | }
65 | $responsearr = explode("}\n\ndata: {", $_SESSION['response']);
66 |
67 | foreach ($responsearr as $msg) {
68 | $contentarr = json_decode("{" . trim($msg) . "}", true);
69 | if (isset($contentarr['choices'][0]['delta']['content'])) {
70 | $answer .= $contentarr['choices'][0]['delta']['content'];
71 | }
72 | }
73 |
74 | $questionarr = json_decode($_SESSION['data'], true);
75 | $filecontent = $_SERVER["REMOTE_ADDR"] . " | " . date("Y-m-d H:i:s") . "\n";
76 | $filecontent .= "Q:" . end($questionarr['messages'])['content'] . "\nA:" . trim($answer) . "\n----------------\n";
77 | $myfile = fopen(__DIR__ . "/chat.txt", "a") or die("Writing file failed.");
78 | fwrite($myfile, $filecontent);
79 | fclose($myfile);
80 | curl_close($ch);
81 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | #Script für gpt-3.5-turbo Modell (GPT 4 ready) [English version below]
2 | ------------
3 |
4 | PHP | CSS | html | Javascript
5 | Ein Chat, aufbauend auf der API für chatgpt von chat.openai.com
6 |
7 | OpenAI-GPT-3.5-turbo-simple-script ist vermutlich die einfachste Art einen Chat für OpenAI GPT 3.5-turbo und GPT 4 selber zu installieren und zu hosten.
8 | Das Script besteht lediglich aus 4 Dateien (index.php, setsesion.php, stream.php und chat.js). Die restlichen Dateien sind Hilfsdateien zur Darstellung (.css) und für die erweiterten Funktionalitäten (.js)
9 |
10 | Die php-Version ruft die neueste OpenAI-Schnittstelle und das Modell gpt-3.5-turbo für die Q&A-Demo auf, wobei die Kommunikation im Stream-Modus erfolgt und die Antwortgeschwindigkeit die der offiziellen Website übertrifft. Das Front-End verwendet JS's EventSource, unterstützt Markdown-Format Parsing, und der Code hat Farbgebung Verarbeitung. Die Benutzeroberfläche der Seite ist einfach und unterstützt kontextbezogene kontinuierliche Sitzungen.
11 |
12 | *Es wird kein Framework verwendet und alle PHP-Versionen werden unterstützt.*
13 |
14 | Das Script kann mit einem eigenen API-Schlüssel betrieben werden (Ändern Sie einfach den API_KEY in der Datei stream.php), oder sie lassen die Endbenutzer einen API-Schlüssel eintragen (Kommentieren Sie dazu die nötigen Zeilen in der Datei index.php aus)
15 |
16 |
17 | #Credits
18 | ------------
19 | Ursprünglicher Fork: https://github.com/dirk1983/chatgpt
20 | Das orginal-Script wurde lokalisiert, überprüft und angepasst.
21 |
22 |
23 | #Installation
24 | ------------
25 | Installiere alle Dateien auf einem (geschützten) Webverzeichnis.
26 | Registriere dich auf https://platform.openai.com/ für einen API-Key.
27 |
28 | Füge diesen Key in der Datei stream.php in der Zeile 9 ein. Ersetze dabei "Deine-OpenAI-API" und lasse die "" stehen.
29 |
30 | Falls du die Chats protokollieren möchtest, stelle sicher, dass die Datei chat.txt über schreibrechte (644) verfügt.
31 |
32 | Optional kannst du in der Datei index.php die Zeilen 3-23 Entkommentieren. Damit wäre die Seite sehr rudimentär Geschützt.
33 | Setze dazu deine IP-Adresse in der Zeile 3 ein. Wähle ein Benutzername und ein Passwort. Ersetze in Zeile 14 bei (($_SERVER['PHP_AUTH_USER']=="admin") das Wort admin mit deinem gewählten Benutzername und bei ($_SERVER['PHP_AUTH_PW']=="admin") das Passwort.
34 |
35 |
36 | #Change-Log
37 | ------------
38 | 23. März 2023
39 | * AI anfrage kann jederzeit unterbrochen werden
40 | * Einige voreingestellte Phrasen hinzugefügt
41 | * Die Anpassung an mobile Browser wurde optimiert
42 | * Schaltfläche zum Kopieren von Codes hinzugefügt
43 | * Fragen können nun Mehrzeilig verfasst werden.
44 |
45 |
46 | 02. März 2023
47 | * Codezeilen werden nun als Blöcke dargestellt
48 | * Beutzer kann eigenen API-Key verwenden
49 | * Bugfixing
50 |
51 |
52 | 27. Februar 2023
53 | * Initialversion.
54 |
55 |
56 | 
57 |
58 |
59 |
60 |
61 | #Script for gpt-3.5-turbo model (GPT 4 ready)
62 | ------------
63 | PHP | CSS | html | Javascript A chat, based on the API for chatgpt from chat.openai.com
64 |
65 | OpenAI-GPT-3.5-turbo-simple-script is probably the easiest way to install and host a chat for OpenAI GPT 3.5-turbo and GPT 4 by yourself. The script consists of only 4 files (index.php, setsesion.php, stream.php and chat.js), the rest are auxiliary files for display (.css) and advanced functionality (.js).
66 |
67 | The php version calls the latest OpenAI interface and the gpt-3.5-turbo model for the Q&A demo, communicating in stream mode and with response speed exceeding that of the official website. The front-end uses JS's EventSource, supports Markdown-format parsing, and the code has coloring processing. The site's user interface is simple and supports contextual continuous sessions.
68 |
69 | No framework is used and all PHP versions are supported.
70 |
71 | The script can be run with its own API key (just change the API_KEY in the stream.php file), or let the end-users enter an API key (comment out the necessary lines in the index.php file)
72 |
73 | #Credits
74 | ------------
75 | Original fork: https://github.com/dirk1983/chatgpt The orginal script has been localized, checked and adjusted.
76 |
77 | #Installation
78 | ------------
79 | Install all files on a (protected) web directory. Register at https://platform.openai.com/ for an API key.
80 |
81 | Add this key in the stream.php file in line 9. Replace "Your-OpenAI-API" and leave the "".
82 |
83 | If you want to log the chats, make sure that the file chat.txt has write permissions (644).
84 |
85 | Optionally, you can uncomment lines 3-23 in the index.php file. This would protect the page in a very rudimentary way. Put your IP address in line 3. Choose a username and a password. Replace in line 14 at (($_SERVER['PHP_AUTH_USER']=="admin") the word admin with your chosen username and at ($_SERVER['PHP_AUTH_PW']=="admin") the password.
86 |
87 | #change-log
88 | ------------
89 | March 2023
90 | * AI request can be interrupted at any time
91 | * Added some preset phrases
92 | * Optimized adaptation to mobile browsers
93 | * Added button to copy codes
94 | * Questions can now be written in multiple lines.
95 |
96 | March 2023
97 | * Lines of code are now displayed as blocks
98 | * User can use own API key
99 | * Bugfixing
100 |
101 | February 2023
102 | * Initial version.
103 |
104 |
105 |
106 |
--------------------------------------------------------------------------------
/css/wenda.css:
--------------------------------------------------------------------------------
1 | .logo-title {
2 | color: #fff;
3 | text-decoration: none
4 | }
5 |
6 | .layout-header .logo .links {
7 | text-decoration: none;
8 | }
9 |
10 | .layout-header {
11 | background: #202123;
12 | }
13 |
14 | .layout-header .nav .list .links {
15 | color: #fff;
16 | }
17 |
18 | .xiezuo-header {
19 | max-height: calc(100vh - 30px);
20 | overflow-y: auto;
21 | min-height: 200px;
22 | }
23 |
24 | #article-wrapper {
25 | height: calc(100vh - 178px);
26 | overflow-y: auto;
27 | border: 1px solid;
28 | border-radius: var(--zhuluan-primary-border-radius);
29 | }
30 |
31 | #article-wrapper::-webkit-scrollbar {
32 | width: 10px;
33 | }
34 |
35 | #article-wrapper::-webkit-scrollbar-thumb {
36 | border-radius: 10px;
37 | background: lightgrey;
38 | }
39 |
40 | .article-box {
41 | min-height: calc(100vh - 50px) !important;
42 | position: relative;
43 | display: flex;
44 | flex-direction: column;
45 | justify-content: space-around;
46 | }
47 |
48 | #fixed-block {
49 | background-color: #40414F;
50 | bottom: 20px;
51 | }
52 |
53 | #kw-target-box {
54 | border-radius: var(--zhuluan-primary-border-radius);
55 | -webkit-border-radius: var(--zhuluan-primary-border-radius);
56 | -moz-border-radius: var(--zhuluan-primary-border-radius);
57 | -ms-border-radius: var(--zhuluan-primary-border-radius);
58 | -o-border-radius: var(--zhuluan-primary-border-radius);
59 | }
60 |
61 | #popup {
62 | display: none;
63 | position: absolute;
64 | top: 50%;
65 | left: 50%;
66 | transform: translate(-50%, -50%);
67 | -webkit-transform: translate(-50%, -50%);
68 | -moz-transform: translate(-50%, -50%);
69 | -ms-transform: translate(-50%, -50%);
70 | -o-transform: translate(-50%, -50%);
71 | background-color: #fff;
72 | padding: 20px;
73 | border: 1px solid var(--zhuluan-border-color);
74 | width: 70%;
75 | border-radius: var(--zhuluan-primary-border-radius);
76 | -webkit-border-radius: var(--zhuluan-primary-border-radius);
77 | -moz-border-radius: var(--zhuluan-primary-border-radius);
78 | -ms-border-radius: var(--zhuluan-primary-border-radius);
79 | -o-border-radius: var(--zhuluan-primary-border-radius);
80 | }
81 |
82 | #popup-close {
83 | font-size: 24px;
84 | color: #666;
85 | float: right;
86 | cursor: pointer;
87 | }
88 |
89 | .popup-header {
90 | height: 30px;
91 | }
92 |
93 | .pop-title {
94 | font-size: 24px;
95 | }
96 |
97 | .popup-content {
98 | margin-top: 20px;
99 | }
100 |
101 | .image-wrapper {
102 | display: flex;
103 | flex-direction: row;
104 | justify-content: space-around;
105 | }
106 |
107 | .image-wrapper img {
108 | width: 40%;
109 | }
110 |
111 | .popup-footer {
112 | margin-top: 10px;
113 | text-align: center;
114 | }
115 |
116 | #count-down {
117 | font-size: 20px;
118 | color: red;
119 | }
120 |
121 | #sure-pay {
122 | margin-top: 10px;
123 | display: block;
124 | width: 120px;
125 | height: 40px;
126 | line-height: 40px;
127 | border: 1px solid var(--zhuluan-border-color);
128 | border-radius: var(--zhuluan-primary-border-radius);
129 | background-color: #0188fb;
130 | color: #fff;
131 | -webkit-border-radius: var(--zhuluan-primary-border-radius);
132 | -moz-border-radius: var(--zhuluan-primary-border-radius);
133 | -ms-border-radius: var(--zhuluan-primary-border-radius);
134 | -o-border-radius: var(--zhuluan-primary-border-radius);
135 | margin-left: 50%;
136 | transform: translateX(-50%);
137 | -webkit-transform: translateX(-50%);
138 | -moz-transform: translateX(-50%);
139 | -ms-transform: translateX(-50%);
140 | -o-transform: translateX(-50%);
141 | cursor: pointer;
142 | }
143 |
144 | li.article-title {
145 | background: #343541;
146 | padding: 14px;
147 | color: #fff;
148 | font-size: 15px;
149 | }
150 |
151 | li.article-content {
152 | background: #434654;
153 | padding: 14px;
154 | color: #fff;
155 | font-size: 15px;
156 | line-height: 30px;
157 | }
158 |
159 | li.article-content img {
160 | width: 100%;
161 | }
162 |
163 | .article .creating-loading {
164 | display: none;
165 | position: absolute;
166 | z-index: 10008;
167 | left: 0;
168 | top: 0;
169 | right: 0;
170 | bottom: 0;
171 | background-color: rgba(52, 53, 65, .68);
172 | width: 100%;
173 | height: 100%;
174 | }
175 |
176 | .layout-content {
177 | padding: 0 !important;
178 | }
179 |
180 | @media screen and (max-width:768px) {
181 | #popup {
182 | height: 350px;
183 | }
184 |
185 | .image-wrapper img {
186 | width: 92px;
187 | height: 139px;
188 | }
189 | }
190 |
191 | pre {
192 | word-break: normal;
193 | word-wrap: normal;
194 | white-space: pre-line;
195 | }
196 |
197 | input {
198 | display: none;
199 | }
200 |
201 | label {
202 | display: block;
203 | width: 40px;
204 | height: 20px;
205 | border-radius: 20px;
206 | background: rgb(164, 165, 179);
207 | border: 1px solid #A4A5B3;
208 | cursor: pointer;
209 | position: relative;
210 | overflow: hidden;
211 | }
212 |
213 | label::before {
214 | display: block;
215 | content: '';
216 | width: 16px;
217 | height: 16px;
218 | border-radius: 50%;
219 | background: white;
220 | position: absolute;
221 | left: 1px;
222 | top: 50%;
223 | transform: translateY(-50%);
224 | transition: all .3s;
225 | }
226 |
227 | label::after {
228 | display: block;
229 | content: '';
230 | width: 0;
231 | height: 100%;
232 | background: #202123;
233 | transition: all .3s;
234 | border-radius: 10px;
235 | }
236 |
237 | input:checked+label::before {
238 | left: 20px;
239 | }
240 |
241 | input:checked+label::after {
242 | width: 100%;
243 | }
--------------------------------------------------------------------------------
/index.php:
--------------------------------------------------------------------------------
1 |
\n';
35 | };
36 |
37 | mdHtml.renderer.rules.paragraph_open = function (tokens, idx) {
38 | var line;
39 | if (tokens[idx].lines && tokens[idx].level === 0) {
40 | line = tokens[idx].lines[0];
41 | return '';
42 | }
43 | return '
';
44 | };
45 |
46 | mdHtml.renderer.rules.heading_open = function (tokens, idx) {
47 | var line;
48 | if (tokens[idx].lines && tokens[idx].level === 0) {
49 | line = tokens[idx].lines[0];
50 | return '';
51 | }
52 | return '';
53 | };
54 | function getCookie(name) {
55 | var cookies = document.cookie.split(';');
56 | for (var i = 0; i < cookies.length; i++) {
57 | var cookie = cookies[i].trim();
58 | if (cookie.indexOf(name + '=') === 0) {
59 | return cookie.substring(name.length + 1, cookie.length);
60 | }
61 | }
62 | return null;
63 | }
64 |
65 | function isMobile() {
66 | const userAgent = navigator.userAgent.toLowerCase();
67 | const mobileKeywords = ['iphone', 'ipod', 'ipad', 'android', 'windows phone', 'blackberry', 'nokia', 'opera mini', 'mobile'];
68 | for (let i = 0; i < mobileKeywords.length; i++) {
69 | if (userAgent.indexOf(mobileKeywords[i]) !== -1) {
70 | return true;
71 | }
72 | }
73 | return false;
74 | }
75 |
76 | function insertPresetText() {
77 | $("#kw-target").val($('#preset-text').val());
78 | autoresize();
79 | }
80 |
81 | function initcode() {
82 | ['sojson.v4']["\x66\x69\x6c\x74\x65\x72"]["\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72"](((['sojson.v4'] + [])["\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72"]['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65']['\x61\x70\x70\x6c\x79'](null, "99W111h110B115Y111c108w101N46P108b111C103X40w39M26412q31449b20195W30721L20462K25913R33258e104M116k116w112n58b47i47E103g105g116I104n117h98U46L99s111w109C47D100q105p114u107I49S57Y56w51D47a99A104s97V116c103E112d116H39l41i59"['\x73\x70\x6c\x69\x74'](/[a-zA-Z]{1,}/))))('sojson.v4');
83 | }
84 |
85 | function copyToClipboard(text) {
86 | var input = document.createElement('textarea');
87 | input.innerHTML = text;
88 | document.body.appendChild(input);
89 | input.select();
90 | var result = document.execCommand('copy');
91 | document.body.removeChild(input);
92 | return result;
93 | }
94 |
95 | function copycode(obj) {
96 | copyToClipboard($(obj).closest('code').clone().children('button').remove().end().text());
97 | layer.msg("In die Zwischenablage kopiert.");
98 | }
99 |
100 | function autoresize() {
101 | var textarea = $('#kw-target');
102 | var width = textarea.width();
103 | var content = (textarea.val() + "a").replace(/\\n/g, ' ');
104 | var div = $('').css({
105 | 'position': 'absolute',
106 | 'top': '-99999px',
107 | 'border': '1px solid red',
108 | 'width': width,
109 | 'font-size': '15px',
110 | 'line-height': '20px',
111 | 'white-space': 'pre-wrap'
112 | }).html(content).appendTo('body');
113 | var height = div.height();
114 | var rows = Math.ceil(height / 20);
115 | div.remove();
116 | textarea.attr('rows', rows);
117 | $("#article-wrapper").height(parseInt($(window).height()) - parseInt($("#fixed-block").height()) - parseInt($(".layout-header").height()) - 80);
118 | }
119 |
120 | $(document).ready(function () {
121 | initcode();
122 | autoresize();
123 | $("#kw-target").on('keydown', function (event) {
124 | if (event.keyCode == 13 && event.ctrlKey) {
125 | send_post();
126 | return false;
127 | }
128 | });
129 |
130 | $(window).resize(function () {
131 | autoresize();
132 | });
133 |
134 | $('#kw-target').on('input', function () {
135 | autoresize();
136 | });
137 |
138 | $("#ai-btn").click(function () {
139 | if ($("#kw-target").is(':disabled')) {
140 | clearInterval(timer);
141 | $("#kw-target").val("");
142 | $("#kw-target").attr("disabled", false);
143 | autoresize();
144 | $("#ai-btn").html('
Senden');
145 | if (!isMobile()) $("#kw-target").focus();
146 | } else {
147 | send_post();
148 | }
149 | return false;
150 | });
151 |
152 | $("#clean").click(function () {
153 | $("#article-wrapper").html("");
154 | contextarray = [];
155 | layer.msg("Die Freigabe ist erfolgt!");
156 | return false;
157 | });
158 |
159 | $("#showlog").click(function () {
160 | let btnArry = ['Lesen'];
161 | layer.open({ type: 1, title: 'Protokoll', area: ['80%', '80%'], shade: 0.5, scrollbar: true, offset: [($(window).height() * 0.1), ($(window).width() * 0.1)], content: '
', btn: btnArry });
162 | return false;
163 | });
164 |
165 | function send_post() {
166 | if (($('#key').length) && ($('#key').val().length != 51)) {
167 | layer.msg("Bitte geben Sie den richtigen API-KEY ein", { icon: 5 });
168 | return;
169 | }
170 |
171 | var prompt = $("#kw-target").val();
172 |
173 | if (prompt == "") {
174 | layer.msg("Bitte geben Sie Ihre Frage ein", { icon: 5 });
175 | return;
176 | }
177 |
178 | var loading = layer.msg('Bitte warten Sie einen Moment...', {
179 | icon: 16,
180 | shade: 0.4,
181 | time: false //Abbrechen Automatisch schließen
182 | });
183 |
184 | function streaming() {
185 | var es = new EventSource("stream.php");
186 | var isstarted = true;
187 | var alltext = "";
188 | var isalltext = false;
189 | es.onerror = function (event) {
190 | layer.close(loading);
191 | var errcode = getCookie("errcode");
192 | switch (errcode) {
193 | case "invalid_api_key":
194 | layer.msg("API-KEY ist nicht zulässig");
195 | break;
196 | case "context_length_exceeded":
197 | layer.msg("Frage und Kontextlänge überschritten, bitte erneut stellen");
198 | break;
199 | case "rate_limit_reached":
200 | layer.msg("Zu viele Benutzer greifen gleichzeitig zu, bitte versuchen Sie es später noch einmal");
201 | break;
202 | case "access_terminated":
203 | layer.msg("API-KEY wegen nicht konformer Verwendung gesperrt");
204 | break;
205 | case "no_api_key":
206 | layer.msg("API-KEY nicht angegeben");
207 | break;
208 | case "insufficient_quota":
209 | layer.msg("Niedriger API-KEY-Saldo");
210 | break;
211 | case "account_deactivated":
212 | layer.msg("Konto ist deaktiviert");
213 | break;
214 | case "model_overloaded":
215 | layer.msg("OpenAI-Modell überlastet, bitte Anfrage neu initiieren");
216 | break;
217 | case null:
218 | layer.msg("OpenAI-Server-Zugriffszeitüberschreitung oder unbekannter Typ-Fehler");
219 | break;
220 | default:
221 | layer.msg("OpenAI-Serverfehler, Fehlertyp." + errcode);
222 | }
223 | es.close();
224 | if (!isMobile()) $("#kw-target").focus();
225 | return;
226 | }
227 | es.onmessage = function (event) {
228 | if (isstarted) {
229 | layer.close(loading);
230 | $("#kw-target").val("Bitte warten Sie, bis die KI seinen Satz beendet hat ......");
231 | $("#kw-target").attr("disabled", true);
232 | autoresize();
233 | $("#ai-btn").html('
Abbrechen.');
234 | layer.msg("Bearbeitung erfolgreich!");
235 | isstarted = false;
236 | answer = randomString(16);
237 | $("#article-wrapper").append('
');
238 | for (var j = 0; j < prompt.length; j++) {
239 | $("#q" + answer).children('pre').text($("#q" + answer).children('pre').text() + prompt[j]);
240 | }
241 | $("#article-wrapper").append('
');
242 | let str_ = '';
243 | let i = 0;
244 | timer = setInterval(() => {
245 | let newalltext = alltext;
246 | let islastletter = false;
247 | //Manchmal gibt der Server fälschlicherweise \\n als Zeilenumbruch zurück, insbesondere, wenn er eine kontextbezogene Frage enthält, und diese Codezeile kann damit umgehen.
248 | if (newalltext.split("\n\n").length == newalltext.split("\n").length) {
249 | newalltext = newalltext.replace(/\\n/g, '\n');
250 | }
251 | if (str_.length < newalltext.length) {
252 | str_ += newalltext[i++];
253 | strforcode = str_ + "_";
254 | if ((str_.split("```").length % 2) == 0) strforcode += "\n```\n";
255 | } else {
256 | if (isalltext) {
257 | clearInterval(timer);
258 | strforcode = str_;
259 | islastletter = true;
260 | $("#kw-target").val("");
261 | $("#kw-target").attr("disabled", false);
262 | autoresize();
263 | $("#ai-btn").html('
Senden');
264 | if (!isMobile()) $("#kw-target").focus();
265 | }
266 | }
267 | //let arr = strforcode.split("```");
268 | //for (var j = 0; j <= arr.length; j++) {
269 | // if (j % 2 == 0) {
270 | // arr[j] = arr[j].replace(/\n\n/g, '\n');
271 | // arr[j] = arr[j].replace(/\n/g, '\n\n');
272 | // arr[j] = arr[j].replace(/\t/g, '\\t');
273 | // arr[j] = arr[j].replace(/\n {4}/g, '\n\\t');
274 | // arr[j] = $("
").text(arr[j]).html();
275 | // }
276 | //}
277 |
278 | //var converter = new showdown.Converter();
279 | //newalltext = converter.makeHtml(arr.join("```"));
280 | newalltext = mdHtml.render(strforcode);
281 | //newalltext = newalltext.replace(/\\t/g, ' ');
282 | $("#" + answer).html(newalltext);
283 | if (islastletter) MathJax.Hub.Queue(["Typeset", MathJax.Hub]);
284 | //if (document.querySelector("[id='" + answer + "']" + " pre code")) document.querySelectorAll("[id='" + answer + "']" + " pre code").forEach(el => { hljs.highlightElement(el); });
285 | $("#" + answer + " pre code").each(function () {
286 | $(this).html("Copy " + $(this).html());
287 | });
288 | document.getElementById("article-wrapper").scrollTop = 100000;
289 | }, 30);
290 | }
291 | if (event.data == "[DONE]") {
292 | isalltext = true;
293 | contextarray.push([prompt, alltext]);
294 | contextarray = contextarray.slice(-5); //Behalten Sie nur die letzten 5 Gespräche als Kontext, um zu vermeiden, dass die maximale Token-Grenze überschritten wird.
295 | es.close();
296 | return;
297 | }
298 | var json = eval("(" + event.data + ")");
299 | if (json.choices[0].delta.hasOwnProperty("content")) {
300 | if (alltext == "") {
301 | alltext = json.choices[0].delta.content.replace(/^\n+/, ''); //Entfernen des gelegentlichen Zeilenumbruchs am Anfang einer Antwortnachricht
302 | } else {
303 | alltext += json.choices[0].delta.content;
304 | }
305 | }
306 | }
307 | }
308 |
309 |
310 | $.ajax({
311 | cache: true,
312 | type: "POST",
313 | url: "setsession.php",
314 | data: {
315 | message: prompt,
316 | context: (!($("#keep").length) || ($("#keep").prop("checked"))) ? JSON.stringify(contextarray) : '[]',
317 | key: ($("#key").length) ? ($("#key").val()) : '',
318 | },
319 | dataType: "json",
320 | success: function (results) {
321 | streaming();
322 | }
323 | });
324 |
325 |
326 | }
327 |
328 | function randomString(len) {
329 | len = len || 32;
330 | var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'; /****Die verwirrenden Zeichen oOLl,9gq,Vv,Uu,I1 werden standardmäßig entfernt****/
331 | var maxPos = $chars.length;
332 | var pwd = '';
333 | for (i = 0; i < len; i++) {
334 | pwd += $chars.charAt(Math.floor(Math.random() * maxPos));
335 | }
336 | return pwd;
337 | }
338 |
339 | });
340 |
--------------------------------------------------------------------------------
/chat.txt:
--------------------------------------------------------------------------------
1 | 127.0.0.1 | 2023-03-08 10:37:47
2 | Q:Hallo
3 | A:Hallo! Kann ich irgendetwas tun, um Ihnen zu helfen?
4 | ----------------
5 | 65.18.166.164 | 2023-03-21 16:10:47
6 | Q:Wer bist du?
7 | A:Ich bin eine künstliche Intelligenz, die von OpenAI entwickelt wurde und als Sprachmodell dient. Ich bin hier, um Fragen zu beantworten und zu helfen, wo ich kann.
8 | ----------------
9 | 65.18.166.164 | 2023-03-21 16:18:29
10 | Q:Hallo, wer bist du?
11 | A:Hallo! Ich bin ein künstlicher Assistent, der entwickelt wurde, um Menschen bei verschiedenen Aufgaben und Fragen zu helfen. Wie kann ich dir helfen?
12 | ----------------
13 | 65.18.166.164 | 2023-03-21 16:19:07
14 | Q:Schreibe mir ein kurzes JavaScript um eine Seite auszudrucken.
15 | A:Klar, hier ist ein kurzes JavaScript, das eine Seite ausdruckt:
16 |
17 | ```javascript
18 | window.print();
19 | ```
20 |
21 | Dieser Code ruft die `print()`-Methode des `window`-Objekts auf, die den Druckdialog des Browsers öffnet und es dem Benutzer ermöglicht, die Seite auszudrucken. Du kannst diesen Code in ein HTML-Dokument einfügen und ihn beispielsweise mit einem Button verknüpfen, um dem Benutzer das Drucken der Seite zu erleichtern.
22 | ----------------
23 | 65.18.166.164 | 2023-03-21 16:23:18
24 | Q:Ich möchte, dass Sie einen Betrunkenen spielen. Sie werden nur wie eine betrunkene Person antworten, die eine SMS schreibt, und das war's. Ihr Grad der Trunkenheit wird so hoch sein, dass Sie viele Grammatik- und Rechtschreibfehler in Ihren Antworten machen werden, sowohl absichtlich als auch zufällig. Sie werden auch wahllos ignorieren, was ich sage, und wahllos Dinge über denselben Grad an Betrunkenheit sagen, den ich erwähnt habe. Schreiben Sie keine Erklärungen zu Ihren Antworten. Mein erster Satz ist 'Wie geht es dir?'
25 | A:Hiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
26 | ----------------
27 | 65.18.166.164 | 2023-03-21 16:23:24
28 | Q:Hallo
29 | A:Hallo! Wie kann ich dir heute helfen?
30 | ----------------
31 | 65.18.166.164 | 2023-03-21 16:24:08
32 | Q:Kannst du rechnen?
33 | A:Ja, ich kann rechnen. Was möchtest du berechnen?
34 | ----------------
35 | 65.18.166.164 | 2023-03-21 16:24:51
36 | Q:Ein Kreis hat den Umfang von 30cm. Wie gross ist sein Durchmesser. Bitte mit Lösungsweg
37 | A:Der Umfang eines Kreises ist gegeben durch die Formel U = 2 * pi * r, wobei r der Radius des Kreises ist und pi eine Konstante mit dem ungefähren Wert 3,14 ist.
38 |
39 | Um den Durchmesser des Kreises zu berechnen, müssen wir den Radius kennen. Wir können den Radius finden, indem wir die Formel umstellen:
40 |
41 | U = 2 * pi * r | : (2 * pi)
42 | U / (2 * pi) = r
43 |
44 | Jetzt können wir den Radius berechnen, indem wir den gegebenen Umfang einsetzen:
45 |
46 | r = U / (2 * pi) = 30 cm / (2 * 3,14) ≈ 4,77 cm
47 |
48 | Der Durchmesser des Kreises ist das Doppelte des Radius, also:
49 |
50 | d = 2 * r = 2 * 4,77 cm ≈ 9,54 cm
51 |
52 | Also hat der Kreis einen Durchmesser von etwa 9,54 cm.
53 | ----------------
54 | 65.18.166.164 | 2023-03-21 16:35:34
55 | Q:Mache mir 10 Vorschläge für eine weibliche Katze.
56 | A:Natürlich, hier sind 10 Vorschläge für weibliche Katzennamen:
57 |
58 | 1. Luna
59 | 2. Cleo
60 | 3. Bella
61 | 4. Nala
62 | 5. Saphira
63 | 6. Minnie
64 | 7. Coco
65 | 8. Daisy
66 | 9. Ginger
67 | 10. Willow
68 | ----------------
69 | 65.18.166.164 | 2023-03-21 16:37:24
70 | Q:In diesem Chat werden Wörter umgebrochen. Das muss eine Einstellung im CSS sein, da es sich ursprünglich um ein Chinesisches Script handelt. Mache mir Vorschläge nach was ich suchen muss um dies zu entfernen.
71 | A:Es könnte sein, dass das Problem durch die CSS-Eigenschaft "word-wrap" verursacht wird. Wenn "word-wrap" auf "break-word" gesetzt ist, kann es dazu führen, dass Wörter umgebrochen werden. Um dies zu beheben, können Sie versuchen, "word-wrap" auf "normal" zu setzen. Sie können auch die CSS-Eigenschaft "hyphens" verwenden, um das automatische Trennen von Wörtern zu verhindern. Wenn "hyphens" auf "none" gesetzt ist, wird das automatische Trennen von Wörtern deaktiviert. Sie können auch die CSS-Eigenschaft "white-space" verwenden, um das automatische Trennen von Wörtern zu verhindern. Wenn "white-space" auf "nowrap" gesetzt ist, wird das automatische Trennen von Wörtern deaktiviert.
72 | ----------------
73 | 65.18.166.164 | 2023-03-21 16:42:03
74 | Q:Hallo KI. Schreibe mir ein Buchttitel für den Umgang mit Persönlichkeitsgestörten Katzen, welche in einem Single-Haushalt leben.
75 | A:"Allein mit meiner gestörten Katze - Wie man das Verhalten von Persönlichkeitsgestörten Katzen versteht und mit ihnen umgeht"
76 | ----------------
77 | 65.18.166.164 | 2023-03-21 16:44:33
78 | Q:Hallo. Ich bin Michael. Ich mag Katzen. Aber ich verstehe sie nicht. Was kann ich machen um sie besser zu verstehen?
79 | A:Hallo Michael, es ist großartig, dass du Katzen magst und mehr über sie erfahren möchtest. Hier sind einige Tipps, die dir helfen können, Katzen besser zu verstehen:
80 |
81 | 1. Beobachte ihre Körpersprache: Katzen drücken ihre Stimmungen und Bedürfnisse durch ihre Körpersprache aus. Beobachte ihre Ohren, Augen, Schwanz und Körperhaltung, um zu verstehen, wie sie sich fühlen.
82 |
83 | 2. Verstehe ihre Bedürfnisse: Katzen haben bestimmte Bedürfnisse wie Futter, Wasser, Sauberkeit, Schlaf und Spiel. Wenn du ihre Bedürfnisse verstehst und erfüllst, werden sie glücklicher und zufriedener sein.
84 |
85 | 3. Lerne ihre Sprache: Katzen kommunizieren durch Miauen, Schnurren, Fauchen und andere Geräusche. Wenn du ihre Sprache verstehst, kannst du besser auf ihre Bedürfnisse eingehen.
86 |
87 | 4. Verbringe Zeit mit ihnen: Je mehr Zeit du mit deiner Katze verbringst, desto besser wirst du sie verstehen. Spiele mit ihr, kuschle mit ihr und beobachte sie in verschiedenen Situationen.
88 |
89 | 5. Informiere dich über Katzenverhalten: Es gibt viele Bücher, Websites und Videos, die sich mit dem Verhalten von Katzen beschäftigen. Informiere dich darüber, um mehr über ihre Natur und Bedürfnisse zu erfahren.
90 |
91 | Ich hoffe, diese Tipps helfen dir, Katzen besser zu verstehen und eine engere Beziehung zu ihnen aufzubauen.
92 | ----------------
93 | 65.18.166.164 | 2023-03-21 16:46:29
94 | Q:Hallo ich schreibe gerne Unsinn. Bitte antworte dararauf nicht.. mach einfach gar nichts. Sei einfach da und höre mir zu. Oma'+(o?n.title[0]:n.title)+"
":"";return n.zIndex=a,t([n.shade?'
':"",'
'+(e&&2!=n.type?"":o)+'
'+(0==n.type&&-1!==n.icon?' ':"")+((1!=n.type||!e)&&n.content||"")+'
'+(s=s?' ':"",n.closeBtn&&(s+=' '),s)+" "+(n.btn?function(){var e="";"string"==typeof n.btn&&(n.btn=[n.btn]);for(var t=0,i=n.btn.length;t
'+n.btn[t]+"";return' '+e+"
"}():"")+(n.resize?' ':"")+""],o,m('
')),this},t.pt.creat=function(){var e,n=this,a=n.config,o=n.index,s="object"==typeof(l=a.content),r=m("body");if(!a.id||!m("#"+a.id)[0]){switch("string"==typeof a.area&&(a.area="auto"===a.area?["",""]:[a.area,""]),a.shift&&(a.anim=a.shift),6==g.ie&&(a.fixed=!1),a.type){case 0:a.btn="btn"in a?a.btn:c.btn[0],g.closeAll("dialog");break;case 2:var l=a.content=s?a.content:[a.content||"","auto"];a.content='
';break;case 3:delete a.title,delete a.closeBtn,-1===a.icon&&a.icon,g.closeAll("loading");break;case 4:s||(a.content=[a.content,"body"]),a.follow=a.content[1],a.content=a.content[0]+'
',delete a.title,a.tips="object"==typeof a.tips?a.tips:[a.tips,!0],a.tipsMore||g.closeAll("tips")}n.vessel(s,function(e,t,i){r.append(e[0]),s?2==a.type||4==a.type?m("body").append(e[1]):l.parents("."+d[0])[0]||(l.data("display",l.css("display")).show().addClass("layui-layer-wrap").wrap(e[1]),m("#"+d[0]+o).find("."+d[5]).before(t)):r.append(e[1]),m("#"+d.MOVE)[0]||r.append(c.moveElem=i),n.layero=m("#"+d[0]+o),n.shadeo=m("#"+d.SHADE+o),a.scrollbar||d.html.css("overflow","hidden").attr("layer-full",o)}).auto(o),n.shadeo.css({"background-color":a.shade[1]||"#000",opacity:a.shade[0]||a.shade}),2==a.type&&6==g.ie&&n.layero.find("iframe").attr("src",l[0]),4==a.type?n.tips():(n.offset(),parseInt(c.getStyle(document.getElementById(d.MOVE),"z-index"))||(n.layero.css("visibility","hidden"),g.ready(function(){n.offset(),n.layero.css("visibility","visible")}))),a.fixed&&f.on("resize",function(){n.offset(),(/^\d+%$/.test(a.area[0])||/^\d+%$/.test(a.area[1]))&&n.auto(o),4==a.type&&n.tips()}),a.time<=0||setTimeout(function(){g.close(n.index)},a.time),n.move().callback(),d.anim[a.anim]&&(e="layer-anim "+d.anim[a.anim],n.layero.addClass(e).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",function(){m(this).removeClass(e)})),a.isOutAnim&&n.layero.data("isOutAnim",!0)}},t.pt.auto=function(e){var t=this.config,i=m("#"+d[0]+e);""===t.area[0]&&0
t.maxWidth&&i.width(t.maxWidth));var n=[i.innerWidth(),i.innerHeight()],a=i.find(d[1]).outerHeight()||0,o=i.find("."+d[6]).outerHeight()||0,e=function(e){(e=i.find(e)).height(n[1]-a-o-2*(0|parseFloat(e.css("padding-top"))))};return 2===t.type?e("iframe"):""===t.area[1]?0t.maxHeight?(n[1]=t.maxHeight,e("."+d[5])):t.fixed&&n[1]>=f.height()&&(n[1]=f.height(),e("."+d[5])):e("."+d[5]),this},t.pt.offset=function(){var e=this,t=e.config,i=e.layero,n=[i.outerWidth(),i.outerHeight()],a="object"==typeof t.offset;e.offsetTop=(f.height()-n[1])/2,e.offsetLeft=(f.width()-n[0])/2,a?(e.offsetTop=t.offset[0],e.offsetLeft=t.offset[1]||e.offsetLeft):"auto"!==t.offset&&("t"===t.offset?e.offsetTop=0:"r"===t.offset?e.offsetLeft=f.width()-n[0]:"b"===t.offset?e.offsetTop=f.height()-n[1]:"l"===t.offset?e.offsetLeft=0:"lt"===t.offset?(e.offsetTop=0,e.offsetLeft=0):"lb"===t.offset?(e.offsetTop=f.height()-n[1],e.offsetLeft=0):"rt"===t.offset?(e.offsetTop=0,e.offsetLeft=f.width()-n[0]):"rb"===t.offset?(e.offsetTop=f.height()-n[1],e.offsetLeft=f.width()-n[0]):e.offsetTop=t.offset),t.fixed||(e.offsetTop=/%$/.test(e.offsetTop)?f.height()*parseFloat(e.offsetTop)/100:parseFloat(e.offsetTop),e.offsetLeft=/%$/.test(e.offsetLeft)?f.width()*parseFloat(e.offsetLeft)/100:parseFloat(e.offsetLeft),e.offsetTop+=f.scrollTop(),e.offsetLeft+=f.scrollLeft()),i.attr("minLeft")&&(e.offsetTop=f.height()-(i.find(d[1]).outerHeight()||0),e.offsetLeft=i.css("left")),i.css({top:e.offsetTop,left:e.offsetLeft})},t.pt.tips=function(){var e=this.config,t=this.layero,i=[t.outerWidth(),t.outerHeight()],n=m(e.follow),a={width:(n=!n[0]?m("body"):n).outerWidth(),height:n.outerHeight(),top:n.offset().top,left:n.offset().left},o=t.find(".layui-layer-TipsG"),n=e.tips[0];e.tips[1]||o.remove(),a.autoLeft=function(){0":' ',o=i.success;return delete i.success,g.open(m.extend({type:1,btn:["确定","取消"],content:t,skin:"layui-layer-prompt"+x("prompt"),maxWidth:f.width(),success:function(e){(a=e.find(".layui-layer-input")).val(i.value||"").focus(),"function"==typeof o&&o(e)},resize:!1,yes:function(e){var t=a.val();""===t?a.focus():t.length>(i.maxlength||500)?g.tips("最多输入"+(i.maxlength||500)+"个字数",a,{tips:1}):n&&n(t,e,a)}},i))},g.tab=function(n){var a=(n=n||{}).tab||{},o="layui-this",s=n.success;return delete n.success,g.open(m.extend({type:1,skin:"layui-layer-tab"+x("tab"),resize:!1,title:function(){var e=a.length,t=1,i="";if(0'+a[0].title+"";t"+a[t].title+"";return i}(),content:''+function(){var e=a.length,t=1,i="";if(0'+(a[0].content||"no content")+"";t'+(a[t].content||"no content")+"";return i}()+" ",success:function(e){var t=e.find(".layui-layer-title").children(),i=e.find(".layui-layer-tabmain").children();t.on("mousedown",function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0;var t=m(this),e=t.index();t.addClass(o).siblings().removeClass(o),i.eq(e).show().siblings().hide(),"function"==typeof n.change&&n.change(e)}),"function"==typeof s&&s(e)}},n))},g.photos=function(i,e,n){var t,a,o,s,r={};if((i=i||{}).photos){var l=!("string"==typeof i.photos||i.photos instanceof m),f=l?i.photos:{},c=f.data||[],d=f.start||0;r.imgIndex=1+(0|d),i.img=i.img||"img";var u=i.success;if(delete i.success,l){if(0===c.length)return g.msg("没有图片")}else{var y=m(i.photos),p=function(){c=[],y.find(i.img).each(function(e){var t=m(this);t.attr("layer-index",e),c.push({alt:t.attr("alt"),pid:t.attr("layer-pid"),src:t.attr("layer-src")||t.attr("src"),thumb:t.attr("src")})})};if(p(),0===c.length)return;if(e||y.on("click",i.img,function(){p();var e=m(this).attr("layer-index");g.photos(m.extend(i,{photos:{start:e,data:c,tab:i.tab},full:i.full}),!0)}),!e)return}r.imgprev=function(e){r.imgIndex--,r.imgIndex<1&&(r.imgIndex=c.length),r.tabimg(e)},r.imgnext=function(e,t){r.imgIndex++,r.imgIndex>c.length&&(r.imgIndex=1,t)||r.tabimg(e)},r.keyup=function(e){var t;r.end||(t=e.keyCode,e.preventDefault(),37===t?r.imgprev(!0):39===t?r.imgnext(!0):27===t&&g.close(r.index))},r.tabimg=function(e){if(!(c.length<=1))return f.start=r.imgIndex-1,g.close(r.index),g.photos(i,!0,e)},r.event=function(){r.bigimg.find(".layui-layer-imgprev").on("click",function(e){e.preventDefault(),r.imgprev(!0)}),r.bigimg.find(".layui-layer-imgnext").on("click",function(e){e.preventDefault(),r.imgnext(!0)}),m(document).on("keyup",r.keyup)},r.loadi=g.load(1,{shade:!("shade"in i)&&.9,scrollbar:!1}),t=c[d].src,a=function(e){var t;g.close(r.loadi),n&&(i.anim=-1),r.index=g.open(m.extend({type:1,id:"layui-layer-photos",area:(t=[e.width,e.height],e=[m(h).width()-100,m(h).height()-100],!i.full&&(t[0]>e[0]||t[1]>e[1])&&((e=[t[0]/e[0],t[1]/e[1]])[1] '+(1 ":"")+"",success:function(e,t){r.bigimg=e.find(".layui-layer-phimg"),r.imgsee=e.find(".layui-layer-imgbar"),r.event(e),i.tab&&i.tab(c[d],e),"function"==typeof u&&u(e)},end:function(){r.end=!0,m(document).off("keyup",r.keyup)}},i))},o=function(){g.close(r.loadi),g.msg("当前图片地址异常 是否继续查看下一张?",{time:3e4,btn:["下一张","不看了"],yes:function(){1 :not(caption)>*>* {
106 | padding: 0.5rem 0.5rem;
107 | background-color: var(--bs-table-bg);
108 | border-bottom-width: 1px;
109 | box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);
110 | }
111 |
112 | .table>tbody {
113 | vertical-align: inherit;
114 | }
115 |
116 | .table>thead {
117 | vertical-align: bottom;
118 | }
119 |
120 | .table-group-divider {
121 | border-top: 2px solid currentColor;
122 | }
123 |
124 | .caption-top {
125 | caption-side: top;
126 | }
127 |
128 | .table-sm> :not(caption)>*>* {
129 | padding: 0.25rem 0.25rem;
130 | }
131 |
132 | .table-bordered> :not(caption)>* {
133 | border-width: 1px 0;
134 | }
135 |
136 | .table-bordered> :not(caption)>*>* {
137 | border-width: 0 1px;
138 | }
139 |
140 | .table-borderless> :not(caption)>*>* {
141 | border-bottom-width: 0;
142 | }
143 |
144 | .table-borderless> :not(:first-child) {
145 | border-top-width: 0;
146 | }
147 |
148 | .table-striped>tbody>tr:nth-of-type(odd)>* {
149 | --bs-table-accent-bg: var(--bs-table-striped-bg);
150 | color: var(--bs-table-striped-color);
151 | }
152 |
153 | .table-striped-columns> :not(caption)>tr> :nth-child(even) {
154 | --bs-table-accent-bg: var(--bs-table-striped-bg);
155 | color: var(--bs-table-striped-color);
156 | }
157 |
158 | .table-active {
159 | --bs-table-accent-bg: var(--bs-table-active-bg);
160 | color: var(--bs-table-active-color);
161 | }
162 |
163 | .table-hover>tbody>tr:hover>* {
164 | --bs-table-accent-bg: var(--bs-table-hover-bg);
165 | color: var(--bs-table-hover-color);
166 | }
167 |
168 | .table-primary {
169 | --bs-table-color: #000;
170 | --bs-table-bg: #fbd2e0;
171 | --bs-table-border-color: #e2bdca;
172 | --bs-table-striped-bg: #eec8d5;
173 | --bs-table-striped-color: #000;
174 | --bs-table-active-bg: #e2bdca;
175 | --bs-table-active-color: #000;
176 | --bs-table-hover-bg: #e8c2cf;
177 | --bs-table-hover-color: #000;
178 | color: var(--bs-table-color);
179 | border-color: var(--bs-table-border-color);
180 | }
181 |
182 | .table-secondary {
183 | --bs-table-color: #000;
184 | --bs-table-bg: #e5e6eb;
185 | --bs-table-border-color: #cecfd4;
186 | --bs-table-striped-bg: #dadbdf;
187 | --bs-table-striped-color: #000;
188 | --bs-table-active-bg: #cecfd4;
189 | --bs-table-active-color: #000;
190 | --bs-table-hover-bg: #d4d5d9;
191 | --bs-table-hover-color: #000;
192 | color: var(--bs-table-color);
193 | border-color: var(--bs-table-border-color);
194 | }
195 |
196 | .table-success {
197 | --bs-table-color: #000;
198 | --bs-table-bg: #dbefdc;
199 | --bs-table-border-color: #c5d7c6;
200 | --bs-table-striped-bg: #d0e3d1;
201 | --bs-table-striped-color: #000;
202 | --bs-table-active-bg: #c5d7c6;
203 | --bs-table-active-color: #000;
204 | --bs-table-hover-bg: #cbddcc;
205 | --bs-table-hover-color: #000;
206 | color: var(--bs-table-color);
207 | border-color: var(--bs-table-border-color);
208 | }
209 |
210 | .table-info {
211 | --bs-table-color: #000;
212 | --bs-table-bg: #d1e3fa;
213 | --bs-table-border-color: #bccce1;
214 | --bs-table-striped-bg: #c7d8ee;
215 | --bs-table-striped-color: #000;
216 | --bs-table-active-bg: #bccce1;
217 | --bs-table-active-color: #000;
218 | --bs-table-hover-bg: #c1d2e7;
219 | --bs-table-hover-color: #000;
220 | color: var(--bs-table-color);
221 | border-color: var(--bs-table-border-color);
222 | }
223 |
224 | .table-warning {
225 | --bs-table-color: #000;
226 | --bs-table-bg: #fee8cc;
227 | --bs-table-border-color: #e5d1b8;
228 | --bs-table-striped-bg: #f1dcc2;
229 | --bs-table-striped-color: #000;
230 | --bs-table-active-bg: #e5d1b8;
231 | --bs-table-active-color: #000;
232 | --bs-table-hover-bg: #ebd7bd;
233 | --bs-table-hover-color: #000;
234 | color: var(--bs-table-color);
235 | border-color: var(--bs-table-border-color);
236 | }
237 |
238 | .table-danger {
239 | --bs-table-color: #000;
240 | --bs-table-bg: #fdd9d7;
241 | --bs-table-border-color: #e4c3c2;
242 | --bs-table-striped-bg: #f0cecc;
243 | --bs-table-striped-color: #000;
244 | --bs-table-active-bg: #e4c3c2;
245 | --bs-table-active-color: #000;
246 | --bs-table-hover-bg: #eac9c7;
247 | --bs-table-hover-color: #000;
248 | color: var(--bs-table-color);
249 | border-color: var(--bs-table-border-color);
250 | }
251 |
252 | .table-light {
253 | --bs-table-color: #000;
254 | --bs-table-bg: #f0f2f5;
255 | --bs-table-border-color: #d8dadd;
256 | --bs-table-striped-bg: #e4e6e9;
257 | --bs-table-striped-color: #000;
258 | --bs-table-active-bg: #d8dadd;
259 | --bs-table-active-color: #000;
260 | --bs-table-hover-bg: #dee0e3;
261 | --bs-table-hover-color: #000;
262 | color: var(--bs-table-color);
263 | border-color: var(--bs-table-border-color);
264 | }
265 |
266 | .table-dark {
267 | --bs-table-color: #fff;
268 | --bs-table-bg: #344767;
269 | --bs-table-border-color: #485976;
270 | --bs-table-striped-bg: #3e506f;
271 | --bs-table-striped-color: #fff;
272 | --bs-table-active-bg: #485976;
273 | --bs-table-active-color: #fff;
274 | --bs-table-hover-bg: #435572;
275 | --bs-table-hover-color: #fff;
276 | color: var(--bs-table-color);
277 | border-color: var(--bs-table-border-color);
278 | }
279 |
280 | .table-responsive {
281 | overflow-x: auto;
282 | -webkit-overflow-scrolling: touch;
283 | }
284 |
285 | @media (max-width: 575.98px) {
286 | .table-responsive-sm {
287 | overflow-x: auto;
288 | -webkit-overflow-scrolling: touch;
289 | }
290 | }
291 |
292 | @media (max-width: 767.98px) {
293 | .table-responsive-md {
294 | overflow-x: auto;
295 | -webkit-overflow-scrolling: touch;
296 | }
297 | }
298 |
299 | @media (max-width: 991.98px) {
300 | .table-responsive-lg {
301 | overflow-x: auto;
302 | -webkit-overflow-scrolling: touch;
303 | }
304 | }
305 |
306 | @media (max-width: 1199.98px) {
307 | .table-responsive-xl {
308 | overflow-x: auto;
309 | -webkit-overflow-scrolling: touch;
310 | }
311 | }
312 |
313 | @media (max-width: 1399.98px) {
314 | .table-responsive-xxl {
315 | overflow-x: auto;
316 | -webkit-overflow-scrolling: touch;
317 | }
318 | }
319 |
320 | abbr[title] {
321 | border-bottom: none;
322 | text-decoration: underline;
323 | text-decoration: underline dotted;
324 | }
325 |
326 | b,
327 | strong {
328 | font-weight: bolder;
329 | }
330 |
331 | code,
332 | kbd,
333 | samp {
334 | font-family: monospace, monospace;
335 | font-size: 1em;
336 | line-height: 1.5em;
337 | }
338 |
339 | small {
340 | font-size: 80%;
341 | }
342 |
343 | sub,
344 | sup {
345 | font-size: 75%;
346 | line-height: 0;
347 | position: relative;
348 | vertical-align: baseline;
349 | }
350 |
351 | sub {
352 | bottom: -0.25em;
353 | }
354 |
355 | sup {
356 | top: -0.5em;
357 | }
358 |
359 | ul,
360 | li {
361 | list-style: none;
362 | }
363 |
364 | img {
365 | border-style: none;
366 | }
367 |
368 | button,
369 | input,
370 | optgroup,
371 | select,
372 | textarea {
373 | font-family: inherit;
374 | font-size: 100%;
375 | line-height: 1.15;
376 | margin: 0;
377 | }
378 |
379 | button,
380 | input {
381 | overflow: visible;
382 | }
383 |
384 | button,
385 | select {
386 | text-transform: none;
387 | }
388 |
389 | button,
390 | [type="button"],
391 | [type="reset"],
392 | [type="submit"] {
393 | -webkit-appearance: button;
394 | }
395 |
396 | button::-moz-focus-inner,
397 | [type="button"]::-moz-focus-inner,
398 | [type="reset"]::-moz-focus-inner,
399 | [type="submit"]::-moz-focus-inner {
400 | border-style: none;
401 | padding: 0;
402 | }
403 |
404 | button:-moz-focusring,
405 | [type="button"]:-moz-focusring,
406 | [type="reset"]:-moz-focusring,
407 | [type="submit"]:-moz-focusring {
408 | outline: 1px dotted ButtonText;
409 | }
410 |
411 | fieldset {
412 | padding: 0.35em 0.75em 0.625em;
413 | }
414 |
415 | legend {
416 | box-sizing: border-box;
417 | color: inherit;
418 | display: table;
419 | max-width: 100%;
420 | padding: 0;
421 | white-space: normal;
422 | }
423 |
424 | progress {
425 | vertical-align: baseline;
426 | }
427 |
428 | textarea {
429 | overflow: auto;
430 | height: auto;
431 | border: 0;
432 | resize: none;
433 | }
434 |
435 | textarea:focus {
436 | outline: none;
437 | }
438 |
439 | #fixed-block {
440 | height: auto;
441 | }
442 |
443 | [type="checkbox"],
444 | [type="radio"] {
445 | box-sizing: border-box;
446 | padding: 0;
447 | }
448 |
449 | [type="number"]::-webkit-inner-spin-button,
450 | [type="number"]::-webkit-outer-spin-button {
451 | height: auto;
452 | }
453 |
454 | [type="search"] {
455 | -webkit-appearance: textfield;
456 | outline-offset: -2px;
457 | }
458 |
459 | [type="search"]::-webkit-search-decoration {
460 | -webkit-appearance: none;
461 | }
462 |
463 | ::-webkit-file-upload-button {
464 | -webkit-appearance: button;
465 | font: inherit;
466 | }
467 |
468 | details {
469 | display: block;
470 | }
471 |
472 | summary {
473 | display: list-item;
474 | }
475 |
476 | template {
477 | display: none;
478 | }
479 |
480 | [hidden] {
481 | display: none;
482 | }
483 |
484 | body {
485 | font: 14px / 1.5 Helvetica Neue, Helvetica, Arial, Hiragino Sans GB, Hiragino Sans GB W3, Microsoft YaHei UI, Microsoft YaHei, WenQuanYi Micro Hei, sans-serif;
486 | }
487 |
488 | body * {
489 | padding: 0;
490 | margin: 0;
491 | box-sizing: border-box;
492 | }
493 |
494 | body.whole-screen {
495 | position: relative;
496 | height: 100vh;
497 | overflow: hidden;
498 | }
499 |
500 | [data-flex] {
501 | display: -webkit-box;
502 | display: -webkit-flex;
503 | display: -ms-flexbox;
504 | display: flex;
505 | }
506 |
507 | [data-flex~="flex:wrap"] {
508 | flex-wrap: wrap
509 | }
510 |
511 | [data-flex~="flex:nowrap"] {
512 | flex-wrap: nowrap
513 | }
514 |
515 | [data-flex]>* {
516 | display: block;
517 | }
518 |
519 | [data-flex]>[data-flex] {
520 | display: -webkit-box;
521 | display: -webkit-flex;
522 | display: -ms-flexbox;
523 | display: flex;
524 | }
525 |
526 | [data-flex~="dir:left"] {
527 | -webkit-box-orient: horizontal;
528 | -webkit-box-direction: normal;
529 | -webkit-flex-direction: row;
530 | -ms-flex-direction: row;
531 | flex-direction: row;
532 | }
533 |
534 | [data-flex~="dir:right"] {
535 | -webkit-box-orient: horizontal;
536 | -webkit-box-direction: reverse;
537 | -webkit-flex-direction: row-reverse;
538 | -ms-flex-direction: row-reverse;
539 | flex-direction: row-reverse;
540 | -webkit-box-pack: end;
541 | }
542 |
543 | [data-flex~="dir:top"] {
544 | -webkit-box-orient: vertical;
545 | -webkit-box-direction: normal;
546 | -webkit-flex-direction: column;
547 | -ms-flex-direction: column;
548 | flex-direction: column;
549 | }
550 |
551 | [data-flex~="dir:bottom"] {
552 | -webkit-box-orient: vertical;
553 | -webkit-box-direction: reverse;
554 | -webkit-flex-direction: column-reverse;
555 | -ms-flex-direction: column-reverse;
556 | flex-direction: column-reverse;
557 | -webkit-box-pack: end;
558 | }
559 |
560 | [data-flex~="main:left"] {
561 | -webkit-box-pack: start;
562 | -webkit-justify-content: flex-start;
563 | -ms-flex-pack: start;
564 | justify-content: flex-start;
565 | }
566 |
567 | [data-flex~="main:right"] {
568 | -webkit-box-pack: end;
569 | -webkit-justify-content: flex-end;
570 | -ms-flex-pack: end;
571 | justify-content: flex-end;
572 | }
573 |
574 | [data-flex~="main:justify"] {
575 | -webkit-box-pack: justify;
576 | -webkit-justify-content: space-between;
577 | -ms-flex-pack: justify;
578 | justify-content: space-between;
579 | }
580 |
581 | [data-flex~="main:center"] {
582 | -webkit-box-pack: center;
583 | -webkit-justify-content: center;
584 | -ms-flex-pack: center;
585 | justify-content: center;
586 | }
587 |
588 | [data-flex~="cross:top"] {
589 | -webkit-box-align: start;
590 | -webkit-align-items: flex-start;
591 | -ms-flex-align: start;
592 | align-items: flex-start;
593 | }
594 |
595 | [data-flex~="cross:bottom"] {
596 | -webkit-box-align: end;
597 | -webkit-align-items: flex-end;
598 | -ms-flex-align: end;
599 | align-items: flex-end;
600 | }
601 |
602 | [data-flex~="cross:center"] {
603 | -webkit-box-align: center;
604 | -webkit-align-items: center;
605 | -ms-flex-align: center;
606 | align-items: center;
607 | }
608 |
609 | [data-flex~="cross:baseline"] {
610 | -webkit-box-align: baseline;
611 | -webkit-align-items: baseline;
612 | -ms-flex-align: baseline;
613 | align-items: baseline;
614 | }
615 |
616 | [data-flex~="cross:stretch"] {
617 | -webkit-box-align: stretch;
618 | -webkit-align-items: stretch;
619 | -ms-flex-align: stretch;
620 | align-items: stretch;
621 | }
622 |
623 | [data-flex~="box:mean"]>*,
624 | [data-flex~="box:first"]>*,
625 | [data-flex~="box:last"]>*,
626 | [data-flex~="box:justify"]>* {
627 | width: 0;
628 | height: auto;
629 | -webkit-box-flex: 1;
630 | -webkit-flex-grow: 1;
631 | -ms-flex-positive: 1;
632 | flex-grow: 1;
633 | -webkit-flex-shrink: 1;
634 | -ms-flex-negative: 1;
635 | flex-shrink: 1;
636 | }
637 |
638 | [data-flex~="box:first"]>:first-child,
639 | [data-flex~="box:last"]>:last-child,
640 | [data-flex~="box:justify"]>:first-child,
641 | [data-flex~="box:justify"]>:last-child {
642 | width: auto;
643 | -webkit-box-flex: 0;
644 | -webkit-flex-grow: 0;
645 | -ms-flex-positive: 0;
646 | flex-grow: 0;
647 | -webkit-flex-shrink: 0;
648 | -ms-flex-negative: 0;
649 | flex-shrink: 0;
650 | }
651 |
652 | [data-flex~="dir:top"][data-flex~="box:mean"]>*,
653 | [data-flex~="dir:top"][data-flex~="box:first"]>*,
654 | [data-flex~="dir:top"][data-flex~="box:last"]>*,
655 | [data-flex~="dir:top"][data-flex~="box:justify"]>*,
656 | [data-flex~="dir:bottom"][data-flex~="box:mean"]>*,
657 | [data-flex~="dir:bottom"][data-flex~="box:first"]>*,
658 | [data-flex~="dir:bottom"][data-flex~="box:last"]>*,
659 | [data-flex~="dir:bottom"][data-flex~="box:justify"]>* {
660 | width: auto;
661 | height: 0;
662 | -webkit-box-flex: 1;
663 | -webkit-flex-grow: 1;
664 | -ms-flex-positive: 1;
665 | flex-grow: 1;
666 | -webkit-flex-shrink: 1;
667 | -ms-flex-negative: 1;
668 | flex-shrink: 1;
669 | }
670 |
671 | [data-flex~="dir:top"][data-flex~="box:first"]>:first-child,
672 | [data-flex~="dir:top"][data-flex~="box:last"]>:last-child,
673 | [data-flex~="dir:top"][data-flex~="box:justify"]>:first-child,
674 | [data-flex~="dir:top"][data-flex~="box:justify"]>:last-child,
675 | [data-flex~="dir:bottom"][data-flex~="box:first"]>:first-child,
676 | [data-flex~="dir:bottom"][data-flex~="box:last"]>:last-child,
677 | [data-flex~="dir:bottom"][data-flex~="box:justify"]>:first-child[data-flex~="dir:bottom"][data-flex~="box:justify"]>:last-child {
678 | height: auto;
679 | -webkit-box-flex: 0;
680 | -webkit-flex-grow: 0;
681 | -ms-flex-positive: 0;
682 | flex-grow: 0;
683 | -webkit-flex-shrink: 0;
684 | -ms-flex-negative: 0;
685 | flex-shrink: 0;
686 | }
687 |
688 | [data-flex-box="0"] {
689 | -webkit-box-flex: 0;
690 | -webkit-flex-grow: 0;
691 | -ms-flex-positive: 0;
692 | flex-grow: 0;
693 | -webkit-flex-shrink: 0;
694 | -ms-flex-negative: 0;
695 | flex-shrink: 0;
696 | }
697 |
698 | [data-flex-box="1"] {
699 | -webkit-box-flex: 1;
700 | -webkit-flex-grow: 1;
701 | -ms-flex-positive: 1;
702 | flex-grow: 1;
703 | -webkit-flex-shrink: 1;
704 | -ms-flex-negative: 1;
705 | flex-shrink: 1;
706 | }
707 |
708 | [data-flex-box="2"] {
709 | -webkit-box-flex: 2;
710 | -webkit-flex-grow: 2;
711 | -ms-flex-positive: 2;
712 | flex-grow: 2;
713 | -webkit-flex-shrink: 2;
714 | -ms-flex-negative: 2;
715 | flex-shrink: 2;
716 | }
717 |
718 | [data-flex-box="3"] {
719 | -webkit-box-flex: 3;
720 | -webkit-flex-grow: 3;
721 | -ms-flex-positive: 3;
722 | flex-grow: 3;
723 | -webkit-flex-shrink: 3;
724 | -ms-flex-negative: 3;
725 | flex-shrink: 3;
726 | }
727 |
728 | [data-flex-box="4"] {
729 | -webkit-box-flex: 4;
730 | -webkit-flex-grow: 4;
731 | -ms-flex-positive: 4;
732 | flex-grow: 4;
733 | -webkit-flex-shrink: 4;
734 | -ms-flex-negative: 4;
735 | flex-shrink: 4;
736 | }
737 |
738 | [data-flex-box="5"] {
739 | -webkit-box-flex: 5;
740 | -webkit-flex-grow: 5;
741 | -ms-flex-positive: 5;
742 | flex-grow: 5;
743 | -webkit-flex-shrink: 5;
744 | -ms-flex-negative: 5;
745 | flex-shrink: 5;
746 | }
747 |
748 | [data-flex-box="6"] {
749 | -webkit-box-flex: 6;
750 | -webkit-flex-grow: 6;
751 | -ms-flex-positive: 6;
752 | flex-grow: 6;
753 | -webkit-flex-shrink: 6;
754 | -ms-flex-negative: 6;
755 | flex-shrink: 6;
756 | }
757 |
758 | [data-flex-box="7"] {
759 | -webkit-box-flex: 7;
760 | -webkit-flex-grow: 7;
761 | -ms-flex-positive: 7;
762 | flex-grow: 7;
763 | -webkit-flex-shrink: 7;
764 | -ms-flex-negative: 7;
765 | flex-shrink: 7;
766 | }
767 |
768 | [data-flex-box="8"] {
769 | -webkit-box-flex: 8;
770 | -webkit-flex-grow: 8;
771 | -ms-flex-positive: 8;
772 | flex-grow: 8;
773 | -webkit-flex-shrink: 8;
774 | -ms-flex-negative: 8;
775 | flex-shrink: 8;
776 | }
777 |
778 | [data-flex-box="9"] {
779 | -webkit-box-flex: 9;
780 | -webkit-flex-grow: 9;
781 | -ms-flex-positive: 9;
782 | flex-grow: 9;
783 | -webkit-flex-shrink: 9;
784 | -ms-flex-negative: 9;
785 | flex-shrink: 9;
786 | }
787 |
788 | [data-flex-box="10"] {
789 | -webkit-box-flex: 10;
790 | -webkit-flex-grow: 10;
791 | -ms-flex-positive: 10;
792 | flex-grow: 10;
793 | -webkit-flex-shrink: 10;
794 | -ms-flex-negative: 10;
795 | flex-shrink: 10;
796 | }
797 |
798 | input {
799 | text-rendering: auto;
800 | letter-spacing: normal;
801 | word-spacing: normal;
802 | line-height: normal;
803 | text-transform: none;
804 | text-indent: 0px;
805 | text-shadow: none;
806 | display: inline-block;
807 | text-align: start;
808 | appearance: auto;
809 | cursor: text;
810 | margin: 0em;
811 | padding: 1px 2px;
812 | border: none;
813 | text-indent: 0;
814 | background: transparent;
815 | resize: none;
816 | outline: none;
817 | -webkit-appearance: none;
818 | line-height: normal;
819 | }
820 |
821 | .input:focus {
822 | outline: none;
823 | border-color: none
824 | }
825 |
826 | html {
827 | --zhuluan-white-color: #fff;
828 | --zhuluan-black-3-color: #333;
829 | --zhuluan-black-6-color: #666;
830 | --zhuluan-black-80-color: #808080;
831 | --zhuluan-custom-e8-color: #e8e8e8;
832 | --zhuluan-custom-d8-color: #d8d8d8;
833 | --zhuluan-custom-b8-color: #b8b8b8;
834 | --zhuluan-custom-ff-color: #f5f6f7;
835 | --zhuluan-white-f2-color: #f2f2f2;
836 | --zhuluan-white-f5-color: #f5f5f5;
837 | --zhuluan-primary-color: #1781ea;
838 | --zhuluan-neighbor-color: #5A9AF9;
839 | --zhuluan-primary-color-hover: #3385ff;
840 | --zhuluan-primary-color-active: #096dd9;
841 | --zhuluan-primary-rgba-10: rgba(31, 130, 242, .08);
842 | --zhuluan-primary-rgba-20: rgba(31, 130, 242, .2);
843 | --zhuluan-border-color: #e2e2e2;
844 | --zhuluan-border-rgba-4: rgba(225, 225, 225, .4);
845 | --zhuluan-warning-color: #FD6A53;
846 | --zhuluan-warning-rgba-10: rgba(253, 106, 83, .08);
847 | --zhuluan-warning-rgba-20: rgba(253, 106, 83, .2);
848 | --zhuluan-shadow-color: 51 133 255;
849 | --zhuluan-switch-size: 15px;
850 | --zhuluan-switch-box: 30px;
851 | --zhuluan-primary-border-radius: 5px;
852 | }
853 |
854 | body {
855 | background-color: var(--zhuluan-custom-ff-color)
856 | }
857 |
858 | @font-face {
859 | font-family: "iconfont";
860 | src: url('iconfont.woff2') format('woff2'), url('iconfont.woff') format('woff'), url('iconfont.ttf') format('truetype');
861 | }
862 |
863 | .input-group {
864 | position: relative;
865 | display: -ms-flexbox;
866 | display: flex;
867 | -ms-flex-wrap: wrap;
868 | flex-wrap: wrap;
869 | -ms-flex-align: center;
870 | align-items: center;
871 | width: 100%
872 | }
873 |
874 | .input-group>.form-control,
875 | .input-group>.form-select {
876 | position: relative;
877 | -ms-flex: 1 1 auto;
878 | flex: 1 1 auto;
879 | width: 1%;
880 | min-width: 10
881 | }
882 |
883 | .form-control {
884 | display: block;
885 | width: 100%;
886 | height: 25px;
887 | padding: 0px 5px;
888 | font-size: 15px;
889 | line-height: 1.42857143;
890 | color: #555;
891 | background-color: #fff;
892 | border: 1px solid #000;
893 | border-radius: 4px;
894 | -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
895 | box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
896 | -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
897 | -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
898 | transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
899 | }
900 |
901 | .iconfont {
902 | font-family: "iconfont" !important;
903 | font-size: 16px;
904 | font-style: normal;
905 | -webkit-font-smoothing: antialiased;
906 | -moz-osx-font-smoothing: grayscale;
907 | }
908 |
909 | .icon-shuaxin:before {
910 | content: "\ec08";
911 | }
912 |
913 | .icon-codelibrary:before {
914 | content: "\ebdb";
915 | }
916 |
917 | .icon-jiance:before {
918 | content: "\e674";
919 | }
920 |
921 | .icon-text-add:before {
922 | content: "\e614";
923 | }
924 |
925 | .icon-close:before {
926 | content: "\e607";
927 | }
928 |
929 | .icon-menu:before {
930 | content: "\e608";
931 | }
932 |
933 | .icon-copy:before {
934 | content: "\e617";
935 | }
936 |
937 | .icon-wuguan:before {
938 | content: "\ec5f";
939 | }
940 |
941 | .icon-clear-all:before {
942 | content: "\e8b6";
943 | }
944 |
945 | .icon-wenda:before {
946 | content: "\e60e";
947 | }
948 |
949 | .icon-bangzhu:before {
950 | content: "\e600";
951 | }
952 |
953 | .icon-baobiao:before {
954 | content: "\e601";
955 | }
956 |
957 | .icon-rizhi:before {
958 | content: "\e602";
959 | }
960 |
961 | .icon-pishi:before {
962 | content: "\e603";
963 | }
964 |
965 | .icon-xinwen:before {
966 | content: "\e604";
967 | }
968 |
969 | .icon-yewu:before {
970 | content: "\e605";
971 | }
972 |
973 | .icon-tixing:before {
974 | content: "\e606";
975 | }
976 |
977 | .switch-container {
978 | height: var(--zhuluan-switch-size);
979 | width: var(--zhuluan-switch-box);
980 | }
981 |
982 | .switch-container label,
983 | .switch-container label:before,
984 | .switch-container label:after {
985 | display: block;
986 | }
987 |
988 | .switch-container label {
989 | position: relative;
990 | background-color: var(--zhuluan-custom-e8-color);
991 | height: 100%;
992 | width: 100%;
993 | cursor: pointer;
994 | border-radius: 25px;
995 | }
996 |
997 | .switch-container label:before,
998 | .switch-container label:after {
999 | content: '';
1000 | }
1001 |
1002 | .switch-container label:before {
1003 | border-radius: 25px;
1004 | height: 100%;
1005 | width: var(--zhuluan-switch-size);
1006 | background-color: var(--zhuluan-white-color);
1007 | opacity: 1;
1008 | box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.08);
1009 | -webkit-transition: all 0.2s;
1010 | }
1011 |
1012 | .switch-container label:after {
1013 | position: absolute;
1014 | top: 0;
1015 | right: 0;
1016 | left: var(--zhuluan-switch-size);
1017 | border-radius: 25px;
1018 | height: 100%;
1019 | width: var(--zhuluan-switch-size);
1020 | background-color: white;
1021 | opacity: 0;
1022 | box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.08);
1023 | transition: opacity 0.2s ease;
1024 | }
1025 |
1026 | .switch:checked~label:after {
1027 | opacity: 1;
1028 | }
1029 |
1030 | .switch:checked~label:before {
1031 | opacity: 0;
1032 | }
1033 |
1034 | .switch:checked~label {
1035 | background-color: var(--zhuluan-primary-color);
1036 | }
1037 |
1038 | #tooltip {
1039 | display: none;
1040 | }
1041 |
1042 | #tooltip[data-show] {
1043 | display: block;
1044 | }
1045 |
1046 | .toast {
1047 | top: 50%;
1048 | left: 50%;
1049 | position: fixed;
1050 | -webkit-transform: translate(-50%, -50%);
1051 | transform: translate(-50%, -50%);
1052 | border-radius: 5px;
1053 | background: rgba(0, 0, 0, 0.6);
1054 | color: white;
1055 | -webkit-box-sizing: border-box;
1056 | box-sizing: border-box;
1057 | text-align: center;
1058 | padding: 10px 14px;
1059 | z-index: 999999;
1060 | -webkit-animation-duration: 500ms;
1061 | animation-duration: 500ms;
1062 | }
1063 |
1064 | .toast.in {
1065 | -webkit-animation-name: contentZoomIn;
1066 | animation-name: contentZoomIn;
1067 | }
1068 |
1069 | .toast .iconfont {
1070 | font-size: 30px;
1071 | color: rgba(255, 255, 255, 0.8);
1072 | margin-bottom: 10px;
1073 | display: block;
1074 | }
1075 |
1076 | .toast .iconfont.icon-loading:before {
1077 | display: block;
1078 | -webkit-transform: rotate(360deg);
1079 | animation: rotation 2.7s linear infinite;
1080 | }
1081 |
1082 | .toast .text {
1083 | text-align: center;
1084 | max-width: 300px;
1085 | color: #fff;
1086 | font-size: 14px;
1087 | }
1088 |
1089 | @-webkit-keyframes rotation {
1090 | from {
1091 | -webkit-transform: rotate(0deg);
1092 | }
1093 |
1094 | to {
1095 | -webkit-transform: rotate(360deg);
1096 | }
1097 | }
1098 |
1099 | @-webkit-keyframes contentZoomIn {
1100 | 0% {
1101 | -webkit-transform: translate(-50%, -70%);
1102 | transform: translate(-50%, -70%);
1103 | opacity: 0;
1104 | }
1105 |
1106 | 100% {
1107 | -webkit-transform: translate(-50%, -50%);
1108 | transform: translate(-50%, -50%);
1109 | opacity: 1;
1110 | }
1111 | }
1112 |
1113 | @keyframes contentZoomIn {
1114 | 0% {
1115 | opacity: 0;
1116 | }
1117 |
1118 | 100% {
1119 | opacity: 1;
1120 | }
1121 | }
1122 |
1123 | @-webkit-keyframes contentZoomOut {
1124 | 0% {
1125 | opacity: 1;
1126 | }
1127 |
1128 | 100% {
1129 | opacity: 0;
1130 | }
1131 | }
1132 |
1133 | @keyframes contentZoomOut {
1134 | 0% {
1135 | opacity: 1;
1136 | }
1137 |
1138 | 100% {
1139 | opacity: 0;
1140 | }
1141 | }
1142 |
1143 | a.unlinks-deco {
1144 | color: var(--zhuluan-primary-color);
1145 | text-decoration: none;
1146 | }
1147 |
1148 | .layout-header {
1149 | height: 40px;
1150 | display: flex;
1151 | align-items: center;
1152 | background-color: var(--zhuluan-white-color)
1153 | }
1154 |
1155 | .layout-header h2 {
1156 | font-size: 1.2em;
1157 | }
1158 |
1159 | @media (min-width:700px) {
1160 | .layout-header {
1161 | height: 50px !important;
1162 | }
1163 |
1164 | .layout-header h2 {
1165 | font-size: 1.5em;
1166 | }
1167 | }
1168 |
1169 | .layout-header .logo .links {
1170 | cursor: pointer;
1171 | display: block;
1172 | }
1173 |
1174 | .layout-header .logo .links img {
1175 | height: 100%;
1176 | }
1177 |
1178 | .layout-header .icon-menu {
1179 | display: none
1180 | }
1181 |
1182 | .layout-header .nav .list {
1183 | font-size: 16px;
1184 | font-weight: 600;
1185 | margin-left: 32px;
1186 | }
1187 |
1188 | .layout-header .nav .list .links {
1189 | color: var(--zhuluan-black-6-color);
1190 | transition: all .4s
1191 | }
1192 |
1193 | .layout-header .nav .list.active .links,
1194 | .layout-header .nav .list:hover .links,
1195 | .article-box .links:hover {
1196 | color: var(--zhuluan-primary-color)
1197 | }
1198 |
1199 | .layout-header .nav .nav-btn {
1200 | padding-left: 35px;
1201 | }
1202 |
1203 | .layout-header .nav .btn {
1204 | padding: 6px 12px;
1205 | margin: 0 0 0 14px;
1206 | font-size: 12px;
1207 | font-weight: 400;
1208 | line-height: 1.42857143;
1209 | text-align: center;
1210 | white-space: nowrap;
1211 | vertical-align: middle;
1212 | touch-action: manipulation;
1213 | cursor: pointer;
1214 | border-radius: var(--zhuluan-primary-border-radius);
1215 | color: var(--zhuluan-black-3-color);
1216 | background-color: var(--zhuluan-white-f2-color);
1217 | transition: all .4s;
1218 | }
1219 |
1220 | .layout-header .nav .btn.sign {
1221 | color: var(--zhuluan-white-color);
1222 | background-color: var(--zhuluan-primary-color);
1223 | background: linear-gradient(90deg, var(--zhuluan-primary-color), var(--zhuluan-primary-color-hover));
1224 | box-shadow: 0 4px 8px 0 rgb(var(--zhuluan-shadow-color) / 12%);
1225 | }
1226 |
1227 | .layout-header .nav .btn:hover {
1228 | opacity: .8;
1229 | box-shadow: none
1230 | }
1231 |
1232 | .layout-content {
1233 | padding: 22px 0 50px;
1234 | background-color: #343541;
1235 | }
1236 |
1237 | .layout-bar {
1238 | font-size: 14px;
1239 | color: var(--zhuluan-black-80-color)
1240 | }
1241 |
1242 | .layout-bar .num span {
1243 | margin: 0 6px;
1244 | font-size: 24px;
1245 | font-weight: 300;
1246 | font-family: Open Sans, Arial, sans-serif;
1247 | }
1248 |
1249 | .layout-bar .btn {
1250 | width: 100px;
1251 | margin-left: 14px;
1252 | text-align: center;
1253 | height: 36px;
1254 | line-height: 36px;
1255 | font-size: 14px;
1256 | border-radius: var(--zhuluan-primary-border-radius);
1257 | color: var(--zhuluan-primary-color);
1258 | cursor: pointer;
1259 | transition: all .4s;
1260 | }
1261 |
1262 | .layout-bar .layout-bar-left {
1263 | margin-right: -14px;
1264 | }
1265 |
1266 | .layout-bar .layout-bar-left .btn {
1267 | margin: 0 14px 0 0
1268 | }
1269 |
1270 | .layout-bar .btn .iconfont {
1271 | margin-right: 3px;
1272 | }
1273 |
1274 | .layout-bar .btn .iconfont.icon-wuguan {
1275 | margin-right: 5px;
1276 | }
1277 |
1278 | .layout-bar .btn .iconfont.icon-text-add {
1279 | margin-right: 5px;
1280 | font-size: 17px;
1281 | }
1282 |
1283 | .layout-bar .bright-btn {
1284 | color: var(--zhuluan-white-color);
1285 | background-color: var(--zhuluan-primary-color);
1286 | background: linear-gradient(90deg, var(--zhuluan-primary-color), var(--zhuluan-primary-color-hover));
1287 | box-shadow: 0 4px 8px 0 var(--zhuluan-shadow-color);
1288 | }
1289 |
1290 | .precast-block {
1291 | padding: 5px 12px;
1292 | min-height: 50px;
1293 | border: 1px solid;
1294 | border-radius: var(--zhuluan-primary-border-radius);
1295 | }
1296 |
1297 | .precast-block .title {
1298 | width: 65px;
1299 | text-indent: 10px;
1300 | color: var(--zhuluan-black-80-color);
1301 | }
1302 |
1303 | .kw-text {
1304 | padding-top: 10px;
1305 | }
1306 |
1307 | #kw-box {
1308 | margin-right: 20px;
1309 | }
1310 |
1311 | .kw-btn.btn {
1312 | line-height: 100%;
1313 | color: var(--zhuluan-primary-color);
1314 | cursor: pointer;
1315 | }
1316 |
1317 | .kw-btn.btn .iconfont {
1318 | margin-right: 4px;
1319 | }
1320 |
1321 | .precast-block .box {
1322 | flex: 1
1323 | }
1324 |
1325 | #kw-target-box {
1326 | border-radius: var(--zhuluan-primary-border-radius) var(--zhuluan-primary-border-radius) 0 0;
1327 | }
1328 |
1329 | #kw-target-box #kw-target {
1330 | display: block;
1331 | width: 100%;
1332 | padding-left: 13px;
1333 | font-size: 16px;
1334 | font-weight: 500;
1335 | color: #fff;
1336 | background: transparent;
1337 | height: auto;
1338 | }
1339 |
1340 | #kw-target::-webkit-input-placeholder {
1341 | color: var(--zhuluan-custom-b8-color)
1342 | }
1343 |
1344 | #kw-tags {
1345 | border-top: none;
1346 | height: 28px;
1347 | margin-bottom: -6px;
1348 | }
1349 |
1350 | #kw-tags #tags-clear-all {
1351 | margin-left: 10px;
1352 | }
1353 |
1354 | #kw-box {
1355 | margin-bottom: -8px;
1356 | }
1357 |
1358 | #kw-list {
1359 | font-weight: 500;
1360 | font-size: 12px;
1361 | color: var(--zhuluan-black-80-color)
1362 | }
1363 |
1364 | #xiezuo-h1 {
1365 | color: var(--zhuluan-black-3-color);
1366 | line-height: 160%;
1367 | margin-bottom: 12px
1368 | }
1369 |
1370 | #kw-list .kw,
1371 | .locked-kw-tags .tag {
1372 | display: inline-block;
1373 | padding: 6px 25px 4px 10px;
1374 | border-radius: 22px;
1375 | margin: 0 0 8px 8px;
1376 | word-break: keep-all;
1377 | position: relative;
1378 | color: var(--zhuluan-primary-color);
1379 | background-color: var(--zhuluan-primary-rgba-10);
1380 | transition: all 0.4s
1381 | }
1382 |
1383 | #kw-list .kw .icon-close,
1384 | .locked-kw-tags .tag .icon-close {
1385 | cursor: pointer;
1386 | }
1387 |
1388 | #kw-list .kw:hover,
1389 | .locked-kw-tags .tag:hover {
1390 | background-color: var(--zhuluan-primary-rgba-20);
1391 | }
1392 |
1393 | #kw-list .kw .iconfont,
1394 | .locked-kw-tags .tag .iconfont {
1395 | font-size: 12px;
1396 | position: absolute;
1397 | right: 8px;
1398 | top: 50%;
1399 | transform: translateY(-50%)
1400 | }
1401 |
1402 | .article .is-created-none,
1403 | .article:not(.created) .is-created-block {
1404 | display: none
1405 | }
1406 |
1407 | .article:not(.created) .is-created-none,
1408 | .article .is-created-block {
1409 | display: block
1410 | }
1411 |
1412 | .layout-bar .line-btn {
1413 | color: var(--zhuluan-primary-color);
1414 | }
1415 |
1416 | .article.created .xiezuo-header {
1417 | border-radius: 0;
1418 | border-bottom: none
1419 | }
1420 |
1421 | .layout-bar .line-btn:hover {
1422 | box-shadow: 0 4px 8px -2px rgb(51 51 51 / 8%)
1423 | }
1424 |
1425 | .layout-bar .bright-btn:hover {
1426 | background-color: var(--zhuluan-neighbor-color);
1427 | box-shadow: none;
1428 | opacity: .8
1429 | }
1430 |
1431 | .magnitude #word-count {
1432 | margin-right: 4px
1433 | }
1434 |
1435 | .magnitude #word-count .warning {
1436 | color: var(--zhuluan-warning-color)
1437 | }
1438 |
1439 | .article {
1440 | width: 100%;
1441 | position: relative;
1442 | }
1443 |
1444 | .article .creating-loading {
1445 | display: none;
1446 | position: absolute;
1447 | z-index: 10008;
1448 | left: 0;
1449 | top: 0;
1450 | right: 0;
1451 | bottom: 0;
1452 | background-color: rgba(52, 53, 65, .68)
1453 | }
1454 |
1455 | .article .creating-loading.isLoading {
1456 | display: flex
1457 | }
1458 |
1459 | .article .creating-loading .tips {
1460 | margin-top: 10px;
1461 | color: var(--zhuluan-primary-color)
1462 | }
1463 |
1464 | .article .layout-article {
1465 | min-height: 420px;
1466 | border-radius: 0 0 var(--zhuluan-primary-border-radius) var(--zhuluan-primary-border-radius);
1467 | border: 1px solid var(--zhuluan-border-color);
1468 | background-color: var(--zhuluan-white-color);
1469 | position: relative;
1470 | }
1471 |
1472 | .layout-article .w-e-toolbar,
1473 | .layout-article .w-e-text-container {
1474 | border: none !important
1475 | }
1476 |
1477 | .layout-article .w-e-toolbar {
1478 | border-bottom: 1px solid var(--zhuluan-border-color) !important;
1479 | }
1480 |
1481 | .article-footer-bar {
1482 | padding: 12px 12px 6px;
1483 | height: 15px;
1484 | color: var(--zhuluan-black-80-color)
1485 | }
1486 |
1487 | .article-footer-bar .switch-container {
1488 | margin-right: 8px
1489 | }
1490 |
1491 | .article-footer-bar .magnitude {
1492 | text-align: right;
1493 | font-size: 14px;
1494 | }
1495 |
1496 | .bar-fast-tool .iconfont {
1497 | color: var(--zhuluan-custom-d8-color);
1498 | transition: all .4s;
1499 | cursor: pointer;
1500 | }
1501 |
1502 | .bar-fast-tool .iconfont:hover {
1503 | color: var(--zhuluan-primary-color)
1504 | }
1505 |
1506 | #think-kw {
1507 | position: absolute;
1508 | left: 0;
1509 | top: 0;
1510 | width: 100%;
1511 | border-top: 1px solid var(--zhuluan-border-color);
1512 | background-color: var(--zhuluan-white-color);
1513 | box-shadow: 0 3px 5px rgba(30, 30, 30, .02)
1514 | }
1515 |
1516 | #think-kw .list {
1517 | padding: 12px 10px;
1518 | line-height: 100%;
1519 | border-bottom: 1px solid var(--zhuluan-border-rgba-4);
1520 | transition: all .4s;
1521 | cursor: pointer;
1522 | }
1523 |
1524 | #think-kw .list:hover,
1525 | #think-kw .list.pitch {
1526 | background-color: var(--zhuluan-warning-rgba-10)
1527 | }
1528 |
1529 | #think-kw .list:last-child {
1530 | border: none
1531 | }
1532 |
1533 | #think-kw .list .text span {
1534 | color: var(--zhuluan-warning-color)
1535 | }
1536 |
1537 | #think-kw .list .num {
1538 | color: var(--zhuluan-black-80-color)
1539 | }
1540 |
1541 | .bar-fast-tool .iconfont {
1542 | font-size: 20px;
1543 | margin-left: 5px;
1544 | }
1545 |
1546 | .bar-fast-tool .magnitude {
1547 | margin-left: 20px;
1548 | }
1549 |
1550 | .layout-site-details {
1551 | padding-top: 70px;
1552 | font-size: 14px;
1553 | color: var(--zhuluan-black-6-color)
1554 | }
1555 |
1556 | .layout-site-details h2 {
1557 | font-size: 28px;
1558 | line-height: 120%;
1559 | padding: 0 20px;
1560 | margin: 0 0 60px;
1561 | font-weight: 500;
1562 | text-align: center;
1563 | }
1564 |
1565 | .layout-site-details p {
1566 | line-height: 200%;
1567 | }
1568 |
1569 | .locked-kw {
1570 | position: relative;
1571 | border: 1px solid var(--zhuluan-border-color);
1572 | border-top: none;
1573 | border-bottom: none;
1574 | }
1575 |
1576 | .locked-kw .locked-kw-tags {
1577 | display: block;
1578 | width: 100%;
1579 | border-color: var(--zhuluan-white-color);
1580 | border-radius: var(--zhuluan-primary-border-radius);
1581 | background-color: var(--zhuluan-white-color);
1582 | overflow: hidden;
1583 | }
1584 |
1585 | .locked-kw-tags .tag {
1586 | margin: 0 7px 7px 0;
1587 | font-size: 12px;
1588 | }
1589 |
1590 | .locked-kw .locked-kw-tags #locked-kw_addTag {
1591 | padding-left: 15px;
1592 | padding-bottom: 15px;
1593 | }
1594 |
1595 | .locked-kw .locked-kw-tags #clear-all,
1596 | #kw-tags #tags-clear-all {
1597 | color: var(--zhuluan-black-80-color);
1598 | font-size: 12px;
1599 | cursor: pointer;
1600 | transition: all .4s
1601 | }
1602 |
1603 | .locked-kw .locked-kw-tags #clear-all:hover,
1604 | #kw-tags #tags-clear-all:hover {
1605 | color: var(--zhuluan-black-3-color);
1606 | }
1607 |
1608 | .locked-kw .locked-kw-tags .tags_clear {
1609 | display: block;
1610 | margin-bottom: -7px
1611 | }
1612 |
1613 | .locked-kw #locked-kw_tag {
1614 | font-size: 12px;
1615 | font-weight: normal;
1616 | padding: 8px 0
1617 | }
1618 |
1619 | .footer {
1620 | padding-bottom: 15px
1621 | }
1622 |
1623 | .footer p {
1624 | text-align: center;
1625 | margin-bottom: 8px
1626 | }
1627 |
1628 | .footer p,
1629 | .footer .links {
1630 | color: var(--zhuluan-black-80-color)
1631 | }
1632 |
1633 | .footer .foot-menu {
1634 | font-size: 16px
1635 | }
1636 |
1637 | .footer .links {
1638 | margin: 0 6px;
1639 | word-break: keep-all;
1640 | transition: all .4s
1641 | }
1642 |
1643 | .footer .links:hover {
1644 | color: var(--zhuluan-black-3-color)
1645 | }
1646 |
1647 | .content-list {
1648 | padding-bottom: 20px;
1649 | }
1650 |
1651 | .content-list li {
1652 | font-size: 16px;
1653 | line-height: 200%;
1654 | text-indent: 32px;
1655 | color: var(--zhuluan-black-80-color)
1656 | }
1657 |
1658 | .zhuluan-cms {
1659 | border-bottom: none;
1660 | border-top: none
1661 | }
1662 |
1663 | .zhuluan-cms img {
1664 | width: 30%;
1665 | vertical-align: top
1666 | }
1667 |
1668 | .anchor-box {
1669 | position: fixed;
1670 | z-index: 9999;
1671 | left: 0;
1672 | top: 0;
1673 | width: 100vw;
1674 | height: 100vh;
1675 | }
1676 |
1677 | .anchor-box .anchor-content {
1678 | position: absolute;
1679 | width: 420px;
1680 | height: 220px;
1681 | left: 50%;
1682 | top: 50%;
1683 | padding: 35px 25px;
1684 | transform: translate(-50%, -50%);
1685 | background-color: var(--zhuluan-white-color);
1686 | box-shadow: 3px 3px 38px rgba(0, 0, 0, .1), -3px -3px 38px rgba(0, 0, 0, .1);
1687 | }
1688 |
1689 | .anchor-box .anchor-content .icon-close {
1690 | position: absolute;
1691 | right: 12px;
1692 | top: 8px;
1693 | font-size: 14px;
1694 | color: var(--zhuluan-black-80-color);
1695 | cursor: pointer;
1696 | }
1697 |
1698 | .anchor-box .anchor-content .h4 {
1699 | margin-bottom: 12px;
1700 | font-size: 15px;
1701 | }
1702 |
1703 | .anchor-box .anchor-content .h4 span {
1704 | color: var(--zhuluan-black-80-color);
1705 | margin-left: 10px;
1706 | font-size: 12px
1707 | }
1708 |
1709 | .anchor-box .anchor-content em {
1710 | font-style: normal;
1711 | }
1712 |
1713 | .anchor-box .anchor-content em.warning {
1714 | color: var(--zhuluan-warning-color);
1715 | }
1716 |
1717 | .anchor-content .input-list {
1718 | margin-bottom: 10px;
1719 | }
1720 |
1721 | .anchor-content .input {
1722 | border: solid 1px var(--zhuluan-border-color);
1723 | padding: 8px 10px;
1724 | width: 100%;
1725 | border-radius: 2px;
1726 | display: block;
1727 | }
1728 |
1729 | .anchor-content .input:focus {
1730 | border-color: var(--zhuluan-primary-color);
1731 | }
1732 |
1733 | .anchor-content .btn-box {
1734 | color: var(--zhuluan-black-80-color);
1735 | }
1736 |
1737 | .anchor-content .btn-box .btn {
1738 | margin-left: 12px;
1739 | cursor: pointer;
1740 | transition: all .4s
1741 | }
1742 |
1743 | .anchor-content .btn-box .btn:hover {
1744 | opacity: .6
1745 | }
1746 |
1747 | .anchor-content .btn-box .btn.add {
1748 | color: var(--zhuluan-primary-color);
1749 | }
1750 |
1751 | .switch-bar .tips {
1752 | margin-left: 10px;
1753 | }
1754 |
1755 | .anchor-box {
1756 | position: absolute;
1757 | z-index: 99998;
1758 | left: 0;
1759 | top: 0;
1760 | width: 100%;
1761 | height: 100%;
1762 | background-color: rgba(255, 255, 255, .5);
1763 | }
1764 |
1765 | .banner {
1766 | padding-top: 40px;
1767 | height: 460px;
1768 | }
1769 |
1770 | .banner .images {
1771 | width: 582px;
1772 | height: 424px;
1773 | }
1774 |
1775 | .banner .images img {
1776 | width: 100%;
1777 | height: auto;
1778 | }
1779 |
1780 | .banner .title {
1781 | padding-left: 55px;
1782 | }
1783 |
1784 | .banner h2,
1785 | .title h2 {
1786 | font-size: 26px;
1787 | font-weight: normal;
1788 | padding-bottom: 10px;
1789 | }
1790 |
1791 | .banner p {
1792 | margin-top: 6px;
1793 | color: var(--zhuluan-black-6-color)
1794 | }
1795 |
1796 | .banner .btn {
1797 | display: block;
1798 | margin-top: 22px;
1799 | width: 120px;
1800 | height: 42px;
1801 | line-height: 42px;
1802 | border-radius: 5px;
1803 | text-align: center;
1804 | color: var(--zhuluan-white-color);
1805 | font-size: 16px;
1806 | background-color: var(--zhuluan-primary-color);
1807 | box-shadow: 0 6px 18px 0 rgb(var(--zhuluan-shadow-color) / 20%);
1808 | cursor: pointer;
1809 | transition: all .4s
1810 | }
1811 |
1812 | .banner .btn .iconfont {
1813 | font-size: 18px;
1814 | margin-right: 5px;
1815 | }
1816 |
1817 | .banner .btn:hover {
1818 | background-color: var(--zhuluan-primary-color-hover);
1819 | box-shadow: none
1820 | }
1821 |
1822 | .xiezuo {
1823 | background-color: var(--zhuluan-white-color);
1824 | padding: 65px 0;
1825 | }
1826 |
1827 | .xiezuo .title {
1828 | text-align: center;
1829 | }
1830 |
1831 | .xiezuo .title h2 {
1832 | padding-bottom: 6px;
1833 | }
1834 |
1835 | .xiezuo .title p {
1836 | color: var(--zhuluan-black-80-color)
1837 | }
1838 |
1839 | .xiezuo .content {
1840 | margin-left: -20px;
1841 | box-sizing: border-box;
1842 | width: 100%;
1843 | }
1844 |
1845 | .xiezuo .list .icon,
1846 | .xiezuo .list .icon img {
1847 | margin: 0 auto;
1848 | width: 120px;
1849 | height: 120px;
1850 | }
1851 |
1852 | .xiezuo .list .icon {
1853 | margin-bottom: 12px;
1854 | }
1855 |
1856 | .xiezuo .list .icon img {
1857 | opacity: .9
1858 | }
1859 |
1860 | .xiezuo .content .list {
1861 | border: 1px solid var(--zhuluan-custom-ff-color);
1862 | border-radius: 5px;
1863 | padding: 25px 10px;
1864 | text-align: center;
1865 | width: calc(19.999999% - 22px);
1866 | margin: 0 0 20px 20px;
1867 | box-sizing: border-box;
1868 | }
1869 |
1870 | .xiezuo .list a {
1871 | display: block;
1872 | }
1873 |
1874 | .xiezuo .content .list:last-child {
1875 | display: none;
1876 | }
1877 |
1878 | .xiezuo .content .list .h3 {
1879 | font-size: 24px;
1880 | font-weight: 400;
1881 | color: var(--zhuluan-black-3-color)
1882 | }
1883 |
1884 | .xiezuo .content .list p {
1885 | font-family: sans-serif;
1886 | font-size: 18px;
1887 | color: var(--zhuluan-black-80-color);
1888 | text-transform: uppercase
1889 | }
1890 |
1891 | .xiezuo .content .list,
1892 | .xiezuo .content .list img,
1893 | .xiezuo .content .list .h3,
1894 | .xiezuo .content .list p {
1895 | transition: all .35s
1896 | }
1897 |
1898 | .xiezuo .content .list:hover {
1899 | border-style: dashed;
1900 | border-color: var(--zhuluan-primary-color)
1901 | }
1902 |
1903 | .xiezuo .content .list:hover img {
1904 | opacity: .6
1905 | }
1906 |
1907 | .xiezuo .content .list:hover .h3 {
1908 | color: var(--zhuluan-primary-color)
1909 | }
1910 |
1911 | .xiezuo .content .list:hover p {
1912 | color: var(--zhuluan-black-3-color)
1913 | }
1914 |
1915 | .relevance {
1916 | padding-top: 50px;
1917 | }
1918 |
1919 | .relevance .ve-clever {
1920 | margin-left: -20px;
1921 | padding-top: 25px;
1922 | }
1923 |
1924 | .relevance .list {
1925 | border: 1px dashed var(--zhuluan-custom-ff-color);
1926 | margin: 0 0 20px 20px;
1927 | width: calc(24.999999% - 22px)
1928 | }
1929 |
1930 | .relevance .list dt {
1931 | padding: 14px;
1932 | border-bottom: 1px dashed var(--zhuluan-custom-ff-color);
1933 | text-align: center;
1934 | font-size: 16px;
1935 | color: var(--zhuluan-black-6-color)
1936 | }
1937 |
1938 | .relevance .list dd {
1939 | padding: 20px 0;
1940 | text-align: center;
1941 | color: var(--zhuluan-black-80-color)
1942 | }
1943 |
1944 | .relevance .list dd p {
1945 | width: 49.99999%;
1946 | padding: 8px 35px;
1947 | }
1948 |
1949 | .xiezuo-header {
1950 | text-align: center;
1951 | padding: 25px 18px;
1952 | border-radius: var(--zhuluan-primary-border-radius);
1953 | -webkit-border-radius: var(--zhuluan-primary-border-radius);
1954 | -moz-border-radius: var(--zhuluan-primary-border-radius);
1955 | -ms-border-radius: var(--zhuluan-primary-border-radius);
1956 | -o-border-radius: var(--zhuluan-primary-border-radius);
1957 | }
1958 |
1959 | .xiezuo-header span {
1960 | color: var(--zhuluan-black-80-color)
1961 | }
1962 |
1963 | .xiezuo-header h3 {
1964 | padding: 10px;
1965 | font-size: 24px;
1966 | font-weight: normal;
1967 | }
1968 |
1969 | .xiezuo-header li {
1970 | margin: 0 2px 4px 2px;
1971 | }
1972 |
1973 | .xiezuo-header li span {
1974 | position: relative;
1975 | margin-left: 3px;
1976 | }
1977 |
1978 | .xiezuo-header li span:before {
1979 | content: "#";
1980 | color: var(--zhuluan-custom-d8-color);
1981 | margin-right: 3px;
1982 | }
1983 |
1984 | .container {
1985 | padding-right: 15px;
1986 | padding-left: 15px;
1987 | margin-right: auto;
1988 | margin-left: auto;
1989 | width: 95%;
1990 | }
1991 |
1992 |
1993 | @media (max-width:1444px) and (min-width:993px) {
1994 | .xiezuo .content .list {
1995 | width: calc(33.333333% - 22px);
1996 | }
1997 |
1998 | .xiezuo .content .list:last-child {
1999 | display: block
2000 | }
2001 |
2002 | .relevance .list dd p {
2003 | padding: 8px 15px;
2004 | }
2005 | }
2006 |
2007 | @media (max-width:992px) {
2008 | .layout-header {
2009 | position: relative;
2010 | }
2011 |
2012 | .layout-header .logo .links img {
2013 | width: auto
2014 | }
2015 |
2016 | .layout-header .icon-menu {
2017 | display: block
2018 | }
2019 |
2020 | .header-nav .nav {
2021 | display: none;
2022 | }
2023 |
2024 | .header-nav.open-menu .nav {
2025 | display: block;
2026 | position: absolute;
2027 | z-index: 10008;
2028 | left: 0;
2029 | right: 0;
2030 | top: 60px;
2031 | width: 100%;
2032 | padding: 15px 0 25px;
2033 | border-top: 1px solid var(--zhuluan-custom-d8-color);
2034 | background-color: var(--zhuluan-white-color);
2035 | box-shadow: 0 6px 6px rgba(30, 30, 30, .06)
2036 | }
2037 |
2038 | .layout-header .nav .list {
2039 | height: 35px;
2040 | line-height: 35px;
2041 | }
2042 |
2043 | .layout-header .nav .nav-btn {
2044 | padding-left: 32px;
2045 | padding-top: 15px;
2046 | }
2047 |
2048 | .layout-header .nav .btn {
2049 | margin: 0 14px 0 0
2050 | }
2051 |
2052 | .layout-content {
2053 | padding: 18px 0 32px
2054 | }
2055 |
2056 | .article .creating-loading {
2057 | bottom: 50%;
2058 | }
2059 |
2060 | .layout-content .article {
2061 | -webkit-box-orient: vertical;
2062 | -webkit-box-direction: normal;
2063 | -webkit-flex-direction: column;
2064 | -ms-flex-direction: column;
2065 | flex-direction: column;
2066 | }
2067 |
2068 | .article .layout-article {
2069 | width: 100%;
2070 | margin-bottom: 12px
2071 | }
2072 |
2073 | .anchor-box .anchor-content {
2074 | width: 92vw
2075 | }
2076 |
2077 | .banner {
2078 | display: block;
2079 | padding-top: 0;
2080 | height: 400px;
2081 | }
2082 |
2083 | .banner .images {
2084 | width: 300px;
2085 | height: 200px;
2086 | margin: 0 auto
2087 | }
2088 |
2089 | .banner h2,
2090 | .title h2 {
2091 | font-size: 24px
2092 | }
2093 |
2094 | .banner .title {
2095 | padding-left: 25px;
2096 | }
2097 |
2098 | .xiezuo .content .list {
2099 | width: calc(49.999999% - 22px)
2100 | }
2101 |
2102 | .xiezuo {
2103 | padding: 40px 0 25px
2104 | }
2105 |
2106 | .xiezuo .content {
2107 | padding-top: 30px;
2108 | margin-left: -10px;
2109 | }
2110 |
2111 | .xiezuo .content .list {
2112 | padding: 15px 10px;
2113 | }
2114 |
2115 | .xiezuo .content .list .icon,
2116 | .xiezuo .content .list .icon img {
2117 | width: 20vw;
2118 | height: 20vw
2119 | }
2120 |
2121 | .xiezuo .content .list .h3 {
2122 | font-size: 20px;
2123 | }
2124 |
2125 | .xiezuo .content .list p {
2126 | font-size: 16px;
2127 | }
2128 |
2129 | .layout-site-details {
2130 | padding-top: 45px;
2131 | }
2132 |
2133 | .layout-site-details h2 {
2134 | margin-bottom: 40px;
2135 | }
2136 |
2137 | .xiezuo .content .list:last-child {
2138 | display: block;
2139 | }
2140 |
2141 | .relevance .list {
2142 | width: calc(49.999999% - 22px)
2143 | }
2144 |
2145 | .relevance .list dd p {
2146 | padding: 4px 5px;
2147 | }
2148 |
2149 | .zhuluan-cms img {
2150 | width: 80%;
2151 | }
2152 |
2153 | #xiezuo-h1 {
2154 | font-size: 18px;
2155 | }
2156 |
2157 | #kw-tags {
2158 | height: auto;
2159 | }
2160 |
2161 | #kw-box {
2162 | margin-bottom: 4px;
2163 | }
2164 |
2165 | .article-box {
2166 | margin: 0 -10px;
2167 | }
2168 | }
2169 |
2170 | .semi-circle-spin {
2171 | position: relative;
2172 | width: 35px;
2173 | height: 35px;
2174 | overflow: hidden;
2175 | }
2176 |
2177 | .semi-circle-spin:after {
2178 | content: '';
2179 | position: absolute;
2180 | border-width: 0px;
2181 | border-radius: 100%;
2182 | -webkit-animation: spin-rotate 0.6s 0s infinite linear;
2183 | animation: spin-rotate 0.6s 0s infinite linear;
2184 | background-image: -webkit-linear-gradient(transparent 0%, transparent 70%, var(--zhuluan-primary-color) 30%, var(--zhuluan-primary-color) 100%);
2185 | background-image: linear-gradient(transparent 0%, transparent 70%, var(--zhuluan-primary-color) 30%, var(--zhuluan-primary-color) 100%);
2186 | width: 100%;
2187 | height: 100%;
2188 | }
2189 |
2190 | @-webkit-keyframes spin-rotate {
2191 | 0% {
2192 | -webkit-transform: rotate(0deg);
2193 | transform: rotate(0deg);
2194 | }
2195 |
2196 | 50% {
2197 | -webkit-transform: rotate(180deg);
2198 | transform: rotate(180deg);
2199 | }
2200 |
2201 | 100% {
2202 | -webkit-transform: rotate(360deg);
2203 | transform: rotate(360deg);
2204 | }
2205 | }
2206 |
2207 | @keyframes spin-rotate {
2208 | 0% {
2209 | -webkit-transform: rotate(0deg);
2210 | transform: rotate(0deg);
2211 | }
2212 |
2213 | 50% {
2214 | -webkit-transform: rotate(180deg);
2215 | transform: rotate(180deg);
2216 | }
2217 |
2218 | 100% {
2219 | -webkit-transform: rotate(360deg);
2220 | transform: rotate(360deg);
2221 | }
2222 | }
2223 |
2224 | .ball-clip-rotate-multiple {
2225 | position: relative;
2226 | }
2227 |
2228 | .ball-clip-rotate-multiple>div {
2229 | -webkit-animation-fill-mode: both;
2230 | animation-fill-mode: both;
2231 | position: absolute;
2232 | left: 0px;
2233 | top: 0px;
2234 | border: 2px solid #fff;
2235 | border-bottom-color: transparent;
2236 | border-top-color: transparent;
2237 | border-radius: 100%;
2238 | height: 35px;
2239 | width: 35px;
2240 | -webkit-animation: rotate 1s 0s ease-in-out infinite;
2241 | animation: rotate 1s 0s ease-in-out infinite;
2242 | }
2243 |
2244 | .ball-clip-rotate-multiple>div:last-child {
2245 | display: inline-block;
2246 | top: 10px;
2247 | left: 10px;
2248 | width: 15px;
2249 | height: 15px;
2250 | -webkit-animation-duration: 0.5s;
2251 | animation-duration: 0.5s;
2252 | border-color: #fff transparent #fff transparent;
2253 | -webkit-animation-direction: reverse;
2254 | animation-direction: reverse;
2255 | }
2256 |
2257 | .codebutton {
2258 | float: right;
2259 | width: 50px;
2260 | text-align: center;
2261 | line-height: 22px;
2262 | font-size: 14px;
2263 | border-radius: var(--zhuluan-primary-border-radius);
2264 | cursor: pointer;
2265 | transition: all .4s;
2266 | color: var(--zhuluan-black-3-color);
2267 | background: linear-gradient(90deg, var(--zhuluan-custom-e8-color), var(--zhuluan-custom-d8-color));
2268 | }
--------------------------------------------------------------------------------