create-young-proj 2.0.0 → 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +39 -0
- package/README.md +7 -1
- package/dist/index.mjs +6 -6
- package/package.json +1 -1
- package/src/index.ts +6 -1
- package/template-electron-win7/.vscode/extensions.json +5 -0
- package/template-electron-win7/.vscode/settings.json +49 -0
- package/template-electron-win7/README.md +65 -0
- package/template-electron-win7/RELEASE_NOTES.md +11 -0
- package/template-electron-win7/_gitignore +27 -0
- package/template-electron-win7/dev-app-update.yml +2 -0
- package/template-electron-win7/electron/config/0.local.config.ts +13 -0
- package/template-electron-win7/electron/config/1.dev.config.ts +13 -0
- package/template-electron-win7/electron/config/2.test.config.ts +13 -0
- package/template-electron-win7/electron/config/3.wtest.config.ts +13 -0
- package/template-electron-win7/electron/config/4.online.config.ts +13 -0
- package/template-electron-win7/electron/config.ts +13 -0
- package/template-electron-win7/electron/electron-env.d.ts +58 -0
- package/template-electron-win7/electron/main.ts +318 -0
- package/template-electron-win7/electron/preload.ts +23 -0
- package/template-electron-win7/electron/update.ts +78 -0
- package/template-electron-win7/electron-builder.yaml +67 -0
- package/template-electron-win7/env/.env +1 -0
- package/template-electron-win7/env/.env.development +9 -0
- package/template-electron-win7/env/.env.production +9 -0
- package/template-electron-win7/eslint.config.mjs +33 -0
- package/template-electron-win7/index.html +16 -0
- package/template-electron-win7/package.json +71 -0
- package/template-electron-win7/public/icon.ico +0 -0
- package/template-electron-win7/scripts/afterPack.mjs +36 -0
- package/template-electron-win7/scripts/build.mjs +55 -0
- package/template-electron-win7/src/App.vue +23 -0
- package/template-electron-win7/src/auto-imports.d.ts +305 -0
- package/template-electron-win7/src/components/UpdateDialog.vue +166 -0
- package/template-electron-win7/src/components.d.ts +18 -0
- package/template-electron-win7/src/layouts/blank.vue +11 -0
- package/template-electron-win7/src/layouts/default.vue +13 -0
- package/template-electron-win7/src/main.ts +36 -0
- package/template-electron-win7/src/modules/1-router.ts +72 -0
- package/template-electron-win7/src/modules/2-pinia.ts +13 -0
- package/template-electron-win7/src/styles/variables.scss +8 -0
- package/template-electron-win7/src/types/global.d.ts +0 -0
- package/template-electron-win7/src/utils/env.ts +4 -0
- package/template-electron-win7/src/utils/ls.ts +118 -0
- package/template-electron-win7/src/views/[...all_404].vue +539 -0
- package/template-electron-win7/src/views/index.vue +34 -0
- package/template-electron-win7/src/vite-env.d.ts +27 -0
- package/template-electron-win7/tsconfig.json +29 -0
- package/template-electron-win7/tsconfig.node.json +11 -0
- package/template-electron-win7/uno.config.ts +32 -0
- package/template-electron-win7/vite.config.ts +78 -0
- package/template-electron-win7/yarn.lock +5964 -0
- package/template-nuxt-admin/error.vue +3 -3
- package/template-nuxt-admin/nuxt.config.ts +20 -7
- package/template-nuxt-admin/package.json +5 -3
- package/template-nuxt-admin/yarn.lock +3438 -2586
- package/template-nuxt-website/app.vue +45 -1
- package/template-nuxt-website/layouts/default.vue +18 -16
- package/template-nuxt-website/layouts/home.vue +14 -12
- package/template-nuxt-website/layouts/tabbar.vue +18 -16
- package/template-nuxt-website/nuxt.config.ts +20 -5
- package/template-nuxt-website/package.json +2 -1
- package/template-nuxt-website/yarn.lock +4677 -3598
@@ -1,9 +1,10 @@
|
|
1
1
|
<!--
|
2
2
|
* @Author: zhangyang
|
3
3
|
* @Date: 2023-05-25 19:53:07
|
4
|
-
* @LastEditTime:
|
4
|
+
* @LastEditTime: 2024-06-17 12:02:16
|
5
5
|
* @Description:
|
6
6
|
-->
|
7
|
+
|
7
8
|
<script lang="ts" setup>
|
8
9
|
import '@unocss/reset/tailwind-compat.css'
|
9
10
|
|
@@ -18,6 +19,49 @@ app.hook('page:start', () => {
|
|
18
19
|
app.hook('page:finish', () => {
|
19
20
|
// console.log('loading end ...')
|
20
21
|
hideLoading()
|
22
|
+
|
23
|
+
/**
|
24
|
+
* ua: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0
|
25
|
+
* 解析出版本号 120.0.0.0
|
26
|
+
* todo: 按需调整版本号
|
27
|
+
*/
|
28
|
+
const ua = navigator.userAgent
|
29
|
+
|
30
|
+
const version = ua.match(/Chrome\/(\d+)\./)?.[1] ?? ''
|
31
|
+
|
32
|
+
// 旧版浏览器
|
33
|
+
if (version && Number.parseInt(version) < 63) {
|
34
|
+
console.warn('浏览器版本过低,可能会出问题')
|
35
|
+
showConfirmDialog({
|
36
|
+
title: '温馨提示',
|
37
|
+
message:
|
38
|
+
'当前浏览器版本过低,可能会导致部分功能无法正常使用,建议您升级到最新版本的浏览器。',
|
39
|
+
confirmButtonText: '立即升级',
|
40
|
+
cancelButtonText: '仍要使用',
|
41
|
+
cancelButtonColor: 'red',
|
42
|
+
})
|
43
|
+
.then(() => {
|
44
|
+
location.href = 'https://support.dmeng.net/upgrade-your-browser.html'
|
45
|
+
})
|
46
|
+
.catch(() => {
|
47
|
+
// on cancel
|
48
|
+
// todo: 记住选项,不再弹窗
|
49
|
+
console.log('用户选择继续使用')
|
50
|
+
})
|
51
|
+
}
|
52
|
+
else if (
|
53
|
+
(/Alipay/i.test(ua) && /\(iPhone|iPod|iPad\)/i.test(ua))
|
54
|
+
|| (/QQ\//i.test(ua) && /\(iPhone|iPod|iPad\)/i.test(ua))
|
55
|
+
) {
|
56
|
+
// ios:
|
57
|
+
// 支付宝内置浏览器
|
58
|
+
// QQ 内置浏览器
|
59
|
+
console.warn('ios alipay/qq, has useFetch 400 problem, please use native app')
|
60
|
+
showConfirmDialog({
|
61
|
+
title: '温馨提示',
|
62
|
+
message: '当前环境访问受限,可能会导致部分功能无法正常使用,建议您使用系统自带浏览器访问',
|
63
|
+
}).catch(() => null)
|
64
|
+
}
|
21
65
|
})
|
22
66
|
</script>
|
23
67
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<!--
|
2
2
|
* @Author: zhangyang
|
3
3
|
* @Date: 2023-09-27 14:15:48
|
4
|
-
* @LastEditTime:
|
4
|
+
* @LastEditTime: 2024-06-14 17:30:20
|
5
5
|
* @Description:
|
6
6
|
-->
|
7
7
|
<script lang="ts" setup>
|
@@ -60,21 +60,23 @@ const bgColor = computed(() => (route.meta.bgColor as string) || '#fff')
|
|
60
60
|
</script>
|
61
61
|
|
62
62
|
<template>
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
63
|
+
<div>
|
64
|
+
<!-- PC 顶部导航栏 & 移动端首页导航栏 -->
|
65
|
+
<YoungHeader lt-md="!hidden" />
|
66
|
+
<!-- 移动端其他页面导航 -->
|
67
|
+
<MobileNavBar v-if="$route.meta.name" :title="$route.meta.name" />
|
67
68
|
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
69
|
+
<main
|
70
|
+
class="m-auto" :class="[showAd ? 'mt-160px min-h-[calc(100vh-160px)] lt-md:mt-80px lt-md:min-h-[calc(100vh-80px)]' : 'mt-80px min-h-[calc(100vh-80px)] lt-md:mt-44px min-h-[calc(100vh-44px)]']" :style="{
|
71
|
+
backgroundColor: bgColor,
|
72
|
+
}"
|
73
|
+
>
|
74
|
+
<div class="m-auto" lt-md="px-10px" :class="[isFull ? 'w-full' : 'container']">
|
75
|
+
<NuxtPage />
|
76
|
+
</div>
|
77
|
+
</main>
|
77
78
|
|
78
|
-
|
79
|
-
|
79
|
+
<!-- 底部 -->
|
80
|
+
<LazyYoungFooter lt-md="!hidden" />
|
81
|
+
</div>
|
80
82
|
</template>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<!--
|
2
2
|
* @Author: zhangyang
|
3
3
|
* @Date: 2023-10-11 17:30:55
|
4
|
-
* @LastEditTime:
|
4
|
+
* @LastEditTime: 2024-06-14 17:19:56
|
5
5
|
* @Description:
|
6
6
|
-->
|
7
7
|
<script lang="ts" setup>
|
@@ -59,17 +59,19 @@ const isFull = computed(() => route.query.full || route.meta.full)
|
|
59
59
|
</script>
|
60
60
|
|
61
61
|
<template>
|
62
|
-
|
63
|
-
|
62
|
+
<div>
|
63
|
+
<!-- PC 顶部导航栏 & 移动端首页导航栏 -->
|
64
|
+
<YoungHeader />
|
64
65
|
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
66
|
+
<main class="m-auto" :class="[showAd ? 'mt-160px min-h-[calc(100vh-160px)] lt-md:mt-80px lt-md:min-h-[calc(100vh-80px)]' : 'mt-80px min-h-[calc(100vh-80px)] lt-md:mt-44px min-h-[calc(100vh-44px)]']">
|
67
|
+
<div class="m-auto" lt-md="px-10px" :class="[isFull ? 'w-full' : 'container']">
|
68
|
+
<NuxtPage />
|
69
|
+
</div>
|
70
|
+
</main>
|
70
71
|
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
72
|
+
<!-- 底部 -->
|
73
|
+
<LazyYoungFooter />
|
74
|
+
<!-- 移动端 tabbar -->
|
75
|
+
<LazyYoungTabbar />
|
76
|
+
</div>
|
75
77
|
</template>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<!--
|
2
2
|
* @Author: zhangyang
|
3
3
|
* @Date: 2023-10-16 14:15:51
|
4
|
-
* @LastEditTime:
|
4
|
+
* @LastEditTime: 2024-06-14 17:29:19
|
5
5
|
* @Description:
|
6
6
|
-->
|
7
7
|
<script lang="ts" setup>
|
@@ -59,20 +59,22 @@ const bgColor = computed(() => (route.meta.bgColor as string) || '#fff')
|
|
59
59
|
</script>
|
60
60
|
|
61
61
|
<template>
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
<
|
71
|
-
|
72
|
-
|
62
|
+
<div>
|
63
|
+
<!-- PC 顶部导航栏 & 移动端首页导航栏 -->
|
64
|
+
<YoungHeader lt-md="!hidden" />
|
65
|
+
<main
|
66
|
+
class="m-auto mt-80px min-h-[calc(100vh-80px)] lt-md:mt-0 min-h-100vh" :style="{
|
67
|
+
backgroundColor: bgColor,
|
68
|
+
}"
|
69
|
+
>
|
70
|
+
<div class="m-auto" lt-md="px-10px" :class="[isFull ? 'w-full' : 'container']">
|
71
|
+
<NuxtPage />
|
72
|
+
</div>
|
73
|
+
</main>
|
73
74
|
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
75
|
+
<!-- 底部 -->
|
76
|
+
<LazyYoungFooter lt-md="!hidden" />
|
77
|
+
<!-- 移动端 tabbar -->
|
78
|
+
<LazyYoungTabbar />
|
79
|
+
</div>
|
78
80
|
</template>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/*
|
2
2
|
* @Author: zhangyang
|
3
3
|
* @Date: 2023-09-21 15:57:55
|
4
|
-
* @LastEditTime:
|
4
|
+
* @LastEditTime: 2024-06-17 12:00:53
|
5
5
|
* @Description:
|
6
6
|
*/
|
7
7
|
import { resolve } from 'node:path'
|
@@ -21,7 +21,7 @@ export default defineNuxtConfig({
|
|
21
21
|
{ name: 'renderer', content: 'webkit' },
|
22
22
|
{ name: 'mobile-web-app-capable', content: 'yes' },
|
23
23
|
{ name: 'creator', content: 'BluesYoung-web' },
|
24
|
-
{ 'http-equiv': '
|
24
|
+
{ 'http-equiv': 'x-ua-compatible', 'content': 'IE=edge,chrome=1' },
|
25
25
|
{ id: 'viewportMeta', name: 'viewport', content: 'maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0' },
|
26
26
|
{ name: 'format-detection', content: 'telephone=no,email=no,date=no,address=no' },
|
27
27
|
],
|
@@ -45,6 +45,11 @@ export default defineNuxtConfig({
|
|
45
45
|
}
|
46
46
|
`,
|
47
47
|
},
|
48
|
+
// ! 必须在这里导入,ResizeObserver 写在 additionalLegacyPolyfills 里面不生效
|
49
|
+
// ? 基于 polyfill.io 按需导入
|
50
|
+
{
|
51
|
+
src: '//cdn.polyfill.io/v3/polyfill.min.js?features=ResizeObserver%2CElement.prototype.getAttributeNames',
|
52
|
+
},
|
48
53
|
],
|
49
54
|
link: [
|
50
55
|
{ rel: 'icon', type: 'image/png', href: '/favicon.ico' },
|
@@ -59,6 +64,7 @@ export default defineNuxtConfig({
|
|
59
64
|
},
|
60
65
|
'devtools': { enabled: false },
|
61
66
|
'modules': [
|
67
|
+
'nuxt-vite-legacy',
|
62
68
|
'nuxt-swiper',
|
63
69
|
'@nuxtjs/device',
|
64
70
|
'@pinia/nuxt',
|
@@ -95,12 +101,17 @@ export default defineNuxtConfig({
|
|
95
101
|
'*': { swr: true },
|
96
102
|
},
|
97
103
|
|
104
|
+
// 兼容旧浏览器
|
105
|
+
// Optionally, provide @vitejs/plugin-legacy options.
|
106
|
+
// For example, for Chrome 49 you could use:
|
107
|
+
'legacy': {
|
108
|
+
targets: ['chrome 49'],
|
109
|
+
},
|
110
|
+
|
98
111
|
'vite': {
|
99
112
|
build: {
|
100
113
|
sourcemap: false,
|
101
|
-
|
102
|
-
target: ['chrome58'],
|
103
|
-
cssTarget: ['chrome58'],
|
114
|
+
cssTarget: ['chrome49'],
|
104
115
|
},
|
105
116
|
},
|
106
117
|
'runtimeConfig': {
|
@@ -111,4 +122,8 @@ export default defineNuxtConfig({
|
|
111
122
|
cacheTime: 10,
|
112
123
|
},
|
113
124
|
},
|
125
|
+
|
126
|
+
'experimental': {
|
127
|
+
appManifest: false,
|
128
|
+
},
|
114
129
|
})
|
@@ -32,8 +32,9 @@
|
|
32
32
|
"@vueuse/nuxt": "^10.5.0",
|
33
33
|
"element-plus": "^2.3.14",
|
34
34
|
"eslint": "^8.51.0",
|
35
|
-
"nuxt": "3.
|
35
|
+
"nuxt": "^3.12.2",
|
36
36
|
"nuxt-swiper": "^1.2.2",
|
37
|
+
"nuxt-vite-legacy": "^1.2.0",
|
37
38
|
"sass": "^1.69.5",
|
38
39
|
"typescript": "^5.2.2",
|
39
40
|
"vant": "^4.7.3"
|