xiaozhian commited on
Commit
532d68c
·
verified ·
1 Parent(s): 2ac9a24

Upload 5 files

Browse files
.gitattributes CHANGED
@@ -38,3 +38,5 @@ dist/assets/js/vue-vendor-C9tKH67p.js.br filter=lfs diff=lfs merge=lfs -text
38
  dist/favicon.ico filter=lfs diff=lfs merge=lfs -text
39
  dist/static/avatar/miobot.png filter=lfs diff=lfs merge=lfs -text
40
  dist/static/background/default.png filter=lfs diff=lfs merge=lfs -text
 
 
 
38
  dist/favicon.ico filter=lfs diff=lfs merge=lfs -text
39
  dist/static/avatar/miobot.png filter=lfs diff=lfs merge=lfs -text
40
  dist/static/background/default.png filter=lfs diff=lfs merge=lfs -text
41
+ dist/icons/icon-192.png filter=lfs diff=lfs merge=lfs -text
42
+ dist/icons/icon-512.png filter=lfs diff=lfs merge=lfs -text
dist/icons/icon-192.png ADDED

Git LFS Details

  • SHA256: 1aad0acbfa9383c56be2ddc4728eea6261f2b628c37ce85a2bae0c4311b7944f
  • Pointer size: 131 Bytes
  • Size of remote file: 245 kB
dist/icons/icon-512.png ADDED

Git LFS Details

  • SHA256: 1aad0acbfa9383c56be2ddc4728eea6261f2b628c37ce85a2bae0c4311b7944f
  • Pointer size: 131 Bytes
  • Size of remote file: 245 kB
dist/index.html ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" href="/favicon.ico" />
6
+ <meta
7
+ name="viewport"
8
+ content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"
9
+ />
10
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
11
+ <meta name="renderer" content="webkit" />
12
+ <link rel="dns-prefetch" href="/api" />
13
+ <link rel="preconnect" href="/api" />
14
+ <link rel="manifest" href="/manifest.json" />
15
+ <meta name="theme-color" content="#4f46e5" />
16
+ <meta name="apple-mobile-web-app-capable" content="yes" />
17
+ <meta name="apple-mobile-web-app-status-bar-style" content="black" />
18
+ <meta name="apple-mobile-web-app-title" content="MioChat" />
19
+ <link rel="apple-touch-icon" href="/favicon.ico" />
20
+ <title>Mio-Chat 加载中...</title>
21
+ <script type="text/javascript">
22
+ (function (c, l, a, r, i, t, y) {
23
+ c[a] =
24
+ c[a] ||
25
+ function () {
26
+ (c[a].q = c[a].q || []).push(arguments);
27
+ };
28
+ t = l.createElement(r);
29
+ t.async = 1;
30
+ t.src = "https://www.clarity.ms/tag/" + i;
31
+ y = l.getElementsByTagName(r)[0];
32
+ y.parentNode.insertBefore(t, y);
33
+ })(window, document, "clarity", "script", "qdc7jeq81j");
34
+ </script>
35
+ <script type="module" crossorigin src="/assets/js/index-4XH0zhJT.js"></script>
36
+ <link rel="modulepreload" crossorigin href="/assets/js/vendor-YBFrpnnw.js">
37
+ <link rel="modulepreload" crossorigin href="/assets/js/vue-vendor-D0VPqAlb.js">
38
+ <link rel="modulepreload" crossorigin href="/assets/js/components-DKTinEtP.js">
39
+ <link rel="modulepreload" crossorigin href="/assets/js/emoji-BVjhSaBE.js">
40
+ <link rel="modulepreload" crossorigin href="/assets/js/views-esxRcLAZ.js">
41
+ <link rel="stylesheet" crossorigin href="/assets/css/vue-vendor-D16_wjd0.css">
42
+ <link rel="stylesheet" crossorigin href="/assets/css/components-Bx885qAH.css">
43
+ <link rel="stylesheet" crossorigin href="/assets/css/views-blOgTL1D.css">
44
+ <link rel="stylesheet" crossorigin href="/assets/css/index-D6wnVaRe.css">
45
+ </head>
46
+ <body>
47
+ <div id="app"></div>
48
+ <script>
49
+ // 检查浏览器是否支持服务工作线程
50
+ if ('serviceWorker' in navigator) {
51
+ window.addEventListener('load', () => {
52
+ navigator.serviceWorker.register('/sw.js')
53
+ .then(registration => {
54
+ console.log('ServiceWorker 注册成功: ', registration.scope);
55
+ })
56
+ .catch(error => {
57
+ console.log('ServiceWorker 注册失败: ', error);
58
+ });
59
+ });
60
+ }
61
+ </script>
62
+ </body>
63
+ </html>
dist/manifest.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "蜜柚——MioChat",
3
+ "short_name": "MioChat",
4
+ "description": "AI智能聊天助手",
5
+ "start_url": "/",
6
+ "display": "standalone",
7
+ "background_color": "#ffffff",
8
+ "theme_color": "#4f46e5",
9
+ "icons": [
10
+ {
11
+ "src": "/favicon.ico",
12
+ "sizes": "64x64",
13
+ "type": "image/x-icon"
14
+ },
15
+ {
16
+ "src": "/icons/icon-192.png",
17
+ "sizes": "192x192",
18
+ "type": "image/png",
19
+ "purpose": "any maskable"
20
+ },
21
+ {
22
+ "src": "/icons/icon-512.png",
23
+ "sizes": "512x512",
24
+ "type": "image/png"
25
+ }
26
+ ],
27
+ "orientation": "portrait",
28
+ "lang": "zh-CN",
29
+ "prefer_related_applications": false
30
+ }
dist/sw.js ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // 服务工作线程版本,用于更新缓存
2
+ const CACHE_VERSION = 'v1';
3
+ const CACHE_NAME = `miochat-${CACHE_VERSION}`;
4
+
5
+ // 需要缓存的资源
6
+ const urlsToCache = [
7
+ '/',
8
+ '/index.html',
9
+ '/manifest.json',
10
+ '/favicon.ico',
11
+ '/assets/css/index-D6wnVaRe.css',
12
+ '/assets/js/index-4XH0zhJT.js'
13
+ ];
14
+
15
+ // 安装服务工作线程,预缓存资源
16
+ self.addEventListener('install', event => {
17
+ event.waitUntil(
18
+ caches.open(CACHE_NAME)
19
+ .then(cache => {
20
+ console.log('打开缓存');
21
+ return cache.addAll(urlsToCache);
22
+ })
23
+ );
24
+ });
25
+
26
+ // 激活服务工作线程,清理旧缓存
27
+ self.addEventListener('activate', event => {
28
+ event.waitUntil(
29
+ caches.keys().then(cacheNames => {
30
+ return Promise.all(
31
+ cacheNames.filter(name => name.startsWith('miochat-') && name !== CACHE_NAME)
32
+ .map(name => caches.delete(name))
33
+ );
34
+ })
35
+ );
36
+ });
37
+
38
+ // 拦截请求,优先使用缓存
39
+ self.addEventListener('fetch', event => {
40
+ event.respondWith(
41
+ caches.match(event.request)
42
+ .then(response => {
43
+ // 如果找到缓存的响应,则返回
44
+ if (response) {
45
+ return response;
46
+ }
47
+
48
+ // 克隆请求,因为请求是流,只能使用一次
49
+ const fetchRequest = event.request.clone();
50
+
51
+ // 发起网络请求
52
+ return fetch(fetchRequest).then(response => {
53
+ // 检查响应是否有效
54
+ if (!response || response.status !== 200 || response.type !== 'basic') {
55
+ return response;
56
+ }
57
+
58
+ // 克隆响应,因为响应是流,只能使用一次
59
+ const responseToCache = response.clone();
60
+
61
+ // 将新响应添加到缓存
62
+ caches.open(CACHE_NAME)
63
+ .then(cache => {
64
+ cache.put(event.request, responseToCache);
65
+ });
66
+
67
+ return response;
68
+ });
69
+ })
70
+ );
71
+ });