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.
Files changed (63) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +7 -1
  3. package/dist/index.mjs +6 -6
  4. package/package.json +1 -1
  5. package/src/index.ts +6 -1
  6. package/template-electron-win7/.vscode/extensions.json +5 -0
  7. package/template-electron-win7/.vscode/settings.json +49 -0
  8. package/template-electron-win7/README.md +65 -0
  9. package/template-electron-win7/RELEASE_NOTES.md +11 -0
  10. package/template-electron-win7/_gitignore +27 -0
  11. package/template-electron-win7/dev-app-update.yml +2 -0
  12. package/template-electron-win7/electron/config/0.local.config.ts +13 -0
  13. package/template-electron-win7/electron/config/1.dev.config.ts +13 -0
  14. package/template-electron-win7/electron/config/2.test.config.ts +13 -0
  15. package/template-electron-win7/electron/config/3.wtest.config.ts +13 -0
  16. package/template-electron-win7/electron/config/4.online.config.ts +13 -0
  17. package/template-electron-win7/electron/config.ts +13 -0
  18. package/template-electron-win7/electron/electron-env.d.ts +58 -0
  19. package/template-electron-win7/electron/main.ts +318 -0
  20. package/template-electron-win7/electron/preload.ts +23 -0
  21. package/template-electron-win7/electron/update.ts +78 -0
  22. package/template-electron-win7/electron-builder.yaml +67 -0
  23. package/template-electron-win7/env/.env +1 -0
  24. package/template-electron-win7/env/.env.development +9 -0
  25. package/template-electron-win7/env/.env.production +9 -0
  26. package/template-electron-win7/eslint.config.mjs +33 -0
  27. package/template-electron-win7/index.html +16 -0
  28. package/template-electron-win7/package.json +71 -0
  29. package/template-electron-win7/public/icon.ico +0 -0
  30. package/template-electron-win7/scripts/afterPack.mjs +36 -0
  31. package/template-electron-win7/scripts/build.mjs +55 -0
  32. package/template-electron-win7/src/App.vue +23 -0
  33. package/template-electron-win7/src/auto-imports.d.ts +305 -0
  34. package/template-electron-win7/src/components/UpdateDialog.vue +166 -0
  35. package/template-electron-win7/src/components.d.ts +18 -0
  36. package/template-electron-win7/src/layouts/blank.vue +11 -0
  37. package/template-electron-win7/src/layouts/default.vue +13 -0
  38. package/template-electron-win7/src/main.ts +36 -0
  39. package/template-electron-win7/src/modules/1-router.ts +72 -0
  40. package/template-electron-win7/src/modules/2-pinia.ts +13 -0
  41. package/template-electron-win7/src/styles/variables.scss +8 -0
  42. package/template-electron-win7/src/types/global.d.ts +0 -0
  43. package/template-electron-win7/src/utils/env.ts +4 -0
  44. package/template-electron-win7/src/utils/ls.ts +118 -0
  45. package/template-electron-win7/src/views/[...all_404].vue +539 -0
  46. package/template-electron-win7/src/views/index.vue +34 -0
  47. package/template-electron-win7/src/vite-env.d.ts +27 -0
  48. package/template-electron-win7/tsconfig.json +29 -0
  49. package/template-electron-win7/tsconfig.node.json +11 -0
  50. package/template-electron-win7/uno.config.ts +32 -0
  51. package/template-electron-win7/vite.config.ts +78 -0
  52. package/template-electron-win7/yarn.lock +5964 -0
  53. package/template-nuxt-admin/error.vue +3 -3
  54. package/template-nuxt-admin/nuxt.config.ts +20 -7
  55. package/template-nuxt-admin/package.json +5 -3
  56. package/template-nuxt-admin/yarn.lock +3438 -2586
  57. package/template-nuxt-website/app.vue +45 -1
  58. package/template-nuxt-website/layouts/default.vue +18 -16
  59. package/template-nuxt-website/layouts/home.vue +14 -12
  60. package/template-nuxt-website/layouts/tabbar.vue +18 -16
  61. package/template-nuxt-website/nuxt.config.ts +20 -5
  62. package/template-nuxt-website/package.json +2 -1
  63. 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: 2023-10-27 16:31:29
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: 2023-11-08 09:26:21
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
- <!-- PC 顶部导航栏 & 移动端首页导航栏 -->
64
- <YoungHeader lt-md="!hidden" />
65
- <!-- 移动端其他页面导航 -->
66
- <MobileNavBar v-if="$route.meta.name" :title="$route.meta.name" />
63
+ <div>
64
+ <!-- PC 顶部导航栏 & 移动端首页导航栏 -->
65
+ <YoungHeader lt-md="!hidden" />
66
+ <!-- 移动端其他页面导航 -->
67
+ <MobileNavBar v-if="$route.meta.name" :title="$route.meta.name" />
67
68
 
68
- <main
69
- 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="{
70
- backgroundColor: bgColor,
71
- }"
72
- >
73
- <div class="m-auto" lt-md="px-10px" :class="[isFull ? 'w-full' : 'container']">
74
- <NuxtPage />
75
- </div>
76
- </main>
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
- <LazyYoungFooter lt-md="!hidden" />
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: 2023-11-08 10:56:14
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
- <!-- PC 顶部导航栏 & 移动端首页导航栏 -->
63
- <YoungHeader />
62
+ <div>
63
+ <!-- PC 顶部导航栏 & 移动端首页导航栏 -->
64
+ <YoungHeader />
64
65
 
65
- <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)]']">
66
- <div class="m-auto" lt-md="px-10px" :class="[isFull ? 'w-full' : 'container']">
67
- <NuxtPage />
68
- </div>
69
- </main>
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
- <LazyYoungFooter />
73
- <!-- 移动端 tabbar -->
74
- <LazyYoungTabbar />
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: 2023-11-08 10:56:34
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
- <!-- PC 顶部导航栏 & 移动端首页导航栏 -->
63
- <YoungHeader lt-md="!hidden" />
64
- <main
65
- class="m-auto mt-80px min-h-[calc(100vh-80px)] lt-md:mt-0 min-h-100vh" :style="{
66
- backgroundColor: bgColor,
67
- }"
68
- >
69
- <div class="m-auto" lt-md="px-10px" :class="[isFull ? 'w-full' : 'container']">
70
- <NuxtPage />
71
- </div>
72
- </main>
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
- <LazyYoungFooter lt-md="!hidden" />
76
- <!-- 移动端 tabbar -->
77
- <LazyYoungTabbar />
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: 2023-11-30 11:05:04
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': 'X-UA-Compatible', 'content': 'IE=edge,chrome=1' },
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.5.1",
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"