create-young-proj 1.5.0 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/package.json +1 -1
  3. package/template-nuxt-admin/README.md +1 -1
  4. package/template-nuxt-admin/nuxt.config.ts +4 -5
  5. package/template-nuxt-admin/package.json +0 -1
  6. package/template-nuxt-admin/server/plugins/env.ts +8 -0
  7. package/template-nuxt-admin/yarn.lock +0 -5
  8. package/template-nuxt-mobile/.nvmrc +1 -0
  9. package/{template-vue-mobile → template-nuxt-mobile}/.vscode/extensions.json +5 -3
  10. package/template-nuxt-mobile/.vscode/settings.json +39 -0
  11. package/{template-vue-mobile → template-nuxt-mobile}/Dockerfile +12 -13
  12. package/template-nuxt-mobile/README.md +90 -0
  13. package/template-nuxt-mobile/_gitignore +26 -0
  14. package/template-nuxt-mobile/_npmrc +2 -0
  15. package/template-nuxt-mobile/_nvmrc +1 -0
  16. package/template-nuxt-mobile/app.vue +79 -0
  17. package/template-nuxt-mobile/boot.mjs +17 -0
  18. package/template-nuxt-mobile/components/young/CodeInput.vue +72 -0
  19. package/template-nuxt-mobile/composables/api.ts +57 -0
  20. package/template-nuxt-mobile/composables/apis/get.ts +22 -0
  21. package/template-nuxt-mobile/composables/apis/index.ts +8 -0
  22. package/template-nuxt-mobile/composables/apis/post.ts +39 -0
  23. package/template-nuxt-mobile/composables/share.ts +22 -0
  24. package/template-nuxt-mobile/composables/user.ts +48 -0
  25. package/template-nuxt-mobile/composables/utils.ts +80 -0
  26. package/template-nuxt-mobile/config/.devrc +2 -0
  27. package/template-nuxt-mobile/env.d.ts +65 -0
  28. package/template-nuxt-mobile/error.vue +69 -0
  29. package/template-nuxt-mobile/eslint.config.js +33 -0
  30. package/template-nuxt-mobile/layouts/blank.vue +11 -0
  31. package/template-nuxt-mobile/layouts/default.vue +32 -0
  32. package/template-nuxt-mobile/layouts/tabbar.vue +29 -0
  33. package/template-nuxt-mobile/middleware/auth.global.ts +34 -0
  34. package/template-nuxt-mobile/nuxt.config.ts +78 -0
  35. package/template-nuxt-mobile/package.json +40 -0
  36. package/template-nuxt-mobile/pages/base/login.vue +124 -0
  37. package/template-nuxt-mobile/pages/base/resetPasswd.vue +84 -0
  38. package/template-nuxt-mobile/pages/index.vue +22 -0
  39. package/template-nuxt-mobile/pages/my.vue +18 -0
  40. package/template-nuxt-mobile/pages/sub/[id].vue +21 -0
  41. package/template-nuxt-mobile/public/favicon.ico +0 -0
  42. package/template-nuxt-mobile/public/robots.txt +2 -0
  43. package/template-nuxt-mobile/server/plugins/init.ts +94 -0
  44. package/template-nuxt-mobile/server/routes/get/env.ts +13 -0
  45. package/template-nuxt-mobile/server/tsconfig.json +3 -0
  46. package/template-nuxt-mobile/server/utils/index.ts +12 -0
  47. package/template-nuxt-mobile/server/utils/proxy.ts +59 -0
  48. package/template-nuxt-mobile/tsconfig.json +4 -0
  49. package/template-nuxt-mobile/typings/system.d.ts +22 -0
  50. package/template-nuxt-mobile/uno.config.ts +40 -0
  51. package/template-nuxt-mobile/utils/tool.ts +153 -0
  52. package/template-nuxt-mobile/yarn.lock +7737 -0
  53. package/template-nuxt-website/README.md +3 -1
  54. package/template-nuxt-website/nuxt.config.ts +4 -5
  55. package/template-vue-mobile/.vscode/base.code-snippets +0 -24
  56. package/template-vue-mobile/.vscode/settings.json +0 -7
  57. package/template-vue-mobile/README.md +0 -71
  58. package/template-vue-mobile/_env +0 -6
  59. package/template-vue-mobile/_gitignore +0 -30
  60. package/template-vue-mobile/boot.mjs +0 -16
  61. package/template-vue-mobile/build/custom-plugin.ts +0 -30
  62. package/template-vue-mobile/build/index.ts +0 -7
  63. package/template-vue-mobile/build/plugins.ts +0 -68
  64. package/template-vue-mobile/config/.devrc +0 -2
  65. package/template-vue-mobile/index.html +0 -25
  66. package/template-vue-mobile/nitro.config.ts +0 -19
  67. package/template-vue-mobile/package.json +0 -48
  68. package/template-vue-mobile/plugins/env.ts +0 -26
  69. package/template-vue-mobile/public/vite.svg +0 -1
  70. package/template-vue-mobile/rome.json +0 -24
  71. package/template-vue-mobile/routes/[...all].ts +0 -11
  72. package/template-vue-mobile/routes/get/env.ts +0 -25
  73. package/template-vue-mobile/src/App.vue +0 -29
  74. package/template-vue-mobile/src/auto-components.d.ts +0 -24
  75. package/template-vue-mobile/src/auto-imports.d.ts +0 -289
  76. package/template-vue-mobile/src/components/Init.vue +0 -36
  77. package/template-vue-mobile/src/global.d.ts +0 -7
  78. package/template-vue-mobile/src/hooks/useVerifyCode.ts +0 -46
  79. package/template-vue-mobile/src/layouts/blank.vue +0 -9
  80. package/template-vue-mobile/src/layouts/default.vue +0 -27
  81. package/template-vue-mobile/src/layouts/sub.vue +0 -20
  82. package/template-vue-mobile/src/main.ts +0 -35
  83. package/template-vue-mobile/src/modules/1-router.ts +0 -40
  84. package/template-vue-mobile/src/modules/2-pinia.ts +0 -10
  85. package/template-vue-mobile/src/modules/3-net.ts +0 -46
  86. package/template-vue-mobile/src/modules/4-auth.ts +0 -64
  87. package/template-vue-mobile/src/views/[...all_404].vue +0 -557
  88. package/template-vue-mobile/src/views/base/login.vue +0 -110
  89. package/template-vue-mobile/src/views/base/resetPasswd.vue +0 -88
  90. package/template-vue-mobile/src/views/index.vue +0 -18
  91. package/template-vue-mobile/src/views/my.vue +0 -15
  92. package/template-vue-mobile/src/views/sub.vue +0 -18
  93. package/template-vue-mobile/src/vite-env.d.ts +0 -43
  94. package/template-vue-mobile/tsconfig.json +0 -21
  95. package/template-vue-mobile/tsconfig.node.json +0 -9
  96. package/template-vue-mobile/unocss.config.ts +0 -47
  97. package/template-vue-mobile/vite.config.ts +0 -32
  98. package/template-vue-mobile/yarn.lock +0 -4395
  99. /package/{template-vue-mobile → template-nuxt-mobile}/config/.onlinerc +0 -0
  100. /package/{template-vue-mobile → template-nuxt-mobile}/config/.testrc +0 -0
@@ -1,88 +0,0 @@
1
- <!--
2
- * @Author: zhangyang
3
- * @Date: 2021-09-09 12:07:27
4
- * @LastEditTime: 2023-01-13 16:50:21
5
- * @Description: 重置密码 | 修改密码
6
- -->
7
- <route lang="yaml">
8
- meta:
9
- title: 用户登录
10
- layout: blank
11
- </route>
12
-
13
- <script lang="ts" setup>
14
- import { isMobile } from '@bluesyoung/utils';
15
- import { useVerifyCode } from '@/hooks/useVerifyCode';
16
- import type { FormInstance } from 'vant';
17
- import { router } from '@/modules/1-router';
18
-
19
- const { countDown, isClicked, sendClick } = useVerifyCode();
20
- const formRef = ref<FormInstance>();
21
-
22
- const form = ref({
23
- tel: '',
24
- code: '',
25
- passwd: '',
26
- passwd_again: ''
27
- });
28
- const validPasswd = () => {
29
- const { passwd: p1, passwd_again: p2 } = form.value;
30
- return p1 === p2;
31
- };
32
- const [showPass1, toggle1] = useToggle(false);
33
- const [showPass2, toggle2] = useToggle(false);
34
- const sure = async () => {
35
- try {
36
- await formRef.value?.validate();
37
- // todo: 修改密码,移除登录信息
38
- // await mod_passwd(form.value);
39
- showToast('修改成功,请重新登录!');
40
- // removeToken();
41
- router.push('/base/login');
42
- } catch (error) {
43
- return;
44
- }
45
- };
46
-
47
- </script>
48
- <template>
49
- <VanNavBar title="重置密码" safe-area-inset-bottom @click-left="$router.back()" />
50
- <div v-bind="$attrs" class="w-full h-full mt-10">
51
- <VanForm ref="formRef">
52
- <VanCellGroup inset>
53
- <VanField v-model.trim="form.tel" placeholder="手机号" :rules="[
54
- { required: true, message: '请填写手机号' },
55
- { validator: isMobile, message: '请输入合法的手机号' }
56
- ]" />
57
- <VanField v-model.trim="form.code" placeholder="验证码" :rules="[{ required: true, message: '请填写验证码' }]">
58
- <template #button>
59
- <VanButton v-if="!isClicked" :disabled="!isMobile(form.tel)" size="small" type="primary" plain
60
- @click="sendClick">发送验证码</VanButton>
61
- <VanButton v-else size="small" :disabled="true">
62
- {{ countDown.current.value.seconds }}秒后重发
63
- </VanButton>
64
- </template>
65
- </VanField>
66
- <VanField v-model.trim="form.passwd" placeholder="输入新密码" :type="showPass1 ? 'text' : 'password'" clearable
67
- :rules="[{ required: true, message: '请填写新密码' }]">
68
- <template #right-icon>
69
- <VanIcon :name="showPass1 ? 'eye' : 'closed-eye'" @click="toggle1(!showPass1)" />
70
- </template>
71
- </VanField>
72
- <VanField v-model.trim="form.passwd_again" placeholder="再次确认新密码" :type="showPass2 ? 'text' : 'password'" :rules="[
73
- { required: true, message: '请确认新密码' },
74
- { validator: validPasswd, message: '两次输入的密码不一致' }
75
- ]">
76
- <template #right-icon>
77
- <VanIcon :name="showPass2 ? 'eye' : 'closed-eye'" @click="toggle2(!showPass2)" />
78
- </template>
79
- </VanField>
80
- </VanCellGroup>
81
- <div class="m-4">
82
- <VanButton block type="primary" @click="sure">
83
- 确定
84
- </VanButton>
85
- </div>
86
- </VanForm>
87
- </div>
88
- </template>
@@ -1,18 +0,0 @@
1
- <!--
2
- * @Author: zhangyang
3
- * @Date: 2022-12-03 16:23:19
4
- * @LastEditTime: 2023-02-01 11:39:25
5
- * @Description:
6
- -->
7
- <route lang="yaml">
8
- meta:
9
- title: 首页
10
- </route>
11
-
12
- <template>
13
- <div>
14
- 我是首页,我会使用默认布局
15
- <br />
16
- <RouterLink class="text-blue-500 mr-2" to="/sub">进入子页面</RouterLink>
17
- </div>
18
- </template>
@@ -1,15 +0,0 @@
1
- <!--
2
- * @Author: zhangyang
3
- * @Date: 2023-02-01 11:25:59
4
- * @LastEditTime: 2023-02-01 11:26:02
5
- * @Description:
6
- -->
7
- <route lang="yaml">
8
- meta:
9
- auth: true
10
- title: 我的
11
- </route>
12
-
13
- <template>
14
- <div>我的</div>
15
- </template>
@@ -1,18 +0,0 @@
1
- <!--
2
- * @Author: zhangyang
3
- * @Date: 2022-12-03 16:23:19
4
- * @LastEditTime: 2023-02-01 11:39:49
5
- * @Description:
6
- -->
7
- <route lang="yaml">
8
- meta:
9
- auth: true
10
- title: 子页面
11
- layout: sub
12
- </route>
13
-
14
- <template>
15
- <div>
16
- 我是子页面,我会使用 sub 布局
17
- </div>
18
- </template>
@@ -1,43 +0,0 @@
1
- /*
2
- * @Author: zhangyang
3
- * @Date: 2022-12-03 15:57:40
4
- * @LastEditTime: 2023-02-01 11:55:56
5
- * @Description:
6
- */
7
- /// <reference types="vite/client" />
8
- /// <reference types="vite-plugin-pages/client" />
9
- /// <reference types="vite-plugin-vue-layouts/client" />
10
-
11
- declare module 'virtual:local-server' {
12
- /**
13
- * 本地服务地址
14
- */
15
- export const server: string;
16
- }
17
-
18
- declare module '*.vue' {
19
- import type { DefineComponent } from 'vue'
20
- const component: DefineComponent<{}, {}, any>
21
- export default component
22
- }
23
-
24
- /**
25
- * import.meta.env 类型提示
26
- */
27
- declare interface ImportMetaEnv {
28
- /**
29
- * 标题
30
- */
31
- VITE_TITLE: string;
32
- /**
33
- * 是否启用 VConsole
34
- */
35
- VITE_ENABLE_VCONSOLE?: string | boolean;
36
- }
37
-
38
- /**
39
- * 扩充 window
40
- */
41
- interface Window {
42
- __YOUNG_VITE_ENV__: ImportMetaEnv;
43
- }
@@ -1,21 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ESNext",
4
- "useDefineForClassFields": true,
5
- "module": "ESNext",
6
- "moduleResolution": "Node",
7
- "strict": true,
8
- "jsx": "preserve",
9
- "resolveJsonModule": true,
10
- "isolatedModules": true,
11
- "esModuleInterop": true,
12
- "lib": ["ESNext", "DOM"],
13
- "skipLibCheck": true,
14
- "noEmit": true,
15
- "paths": {
16
- "@/*": ["./src/*"]
17
- }
18
- },
19
- "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue", "config/**/*", ".nitro/**/*"],
20
- "references": [{ "path": "./tsconfig.node.json" }]
21
- }
@@ -1,9 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "composite": true,
4
- "module": "ESNext",
5
- "moduleResolution": "Node",
6
- "allowSyntheticDefaultImports": true
7
- },
8
- "include": ["vite.config.ts", "build/**/*.ts"]
9
- }
@@ -1,47 +0,0 @@
1
- /*
2
- * @Author: zhangyang
3
- * @Date: 2022-03-01 19:11:11
4
- * @LastEditTime: 2022-05-21 18:32:05
5
- * @Description:
6
- */
7
- import {
8
- defineConfig,
9
- presetAttributify,
10
- presetIcons,
11
- presetTypography,
12
- presetUno,
13
- presetWebFonts,
14
- transformerDirectives,
15
- transformerVariantGroup,
16
- } from 'unocss';
17
-
18
- export default defineConfig({
19
- shortcuts: [
20
- [
21
- 'btn',
22
- 'px-4 py-1 rounded inline-block bg-teal-700 text-white cursor-pointer hover:bg-teal-800 disabled:cursor-default disabled:bg-gray-600 disabled:opacity-50',
23
- ],
24
- [
25
- 'icon-btn',
26
- 'inline-block cursor-pointer select-none opacity-75 transition duration-200 ease-in-out hover:opacity-100 hover:text-teal-600',
27
- ],
28
- ],
29
- presets: [
30
- presetUno(),
31
- presetAttributify(),
32
- presetIcons({
33
- scale: 1.2,
34
- warn: true,
35
- }),
36
- presetTypography(),
37
- presetWebFonts({
38
- fonts: {
39
- sans: 'DM Sans',
40
- serif: 'DM Serif Display',
41
- mono: 'DM Mono',
42
- },
43
- }),
44
- ],
45
- transformers: [transformerDirectives(), transformerVariantGroup()],
46
- safelist: 'prose prose-sm m-auto text-left'.split(' '),
47
- });
@@ -1,32 +0,0 @@
1
- /*
2
- * @Author: zhangyang
3
- * @Date: 2022-12-03 15:57:40
4
- * @LastEditTime: 2023-01-13 10:07:24
5
- * @Description:
6
- */
7
- import { fileURLToPath, URL } from 'node:url';
8
- import { defineConfig, loadEnv } from 'vite';
9
- import type { ConfigEnv, UserConfigExport } from 'vite';
10
- import { usePlugins, localServer } from './build';
11
-
12
- // https://vitejs.dev/config/
13
- export default ({ command, mode }: ConfigEnv): UserConfigExport => {
14
- const root = process.cwd();
15
- const viteEnv = loadEnv(mode, root);
16
- console.log('🚀 ~ file: vite.config.ts ~ line 36 ~ viteEnv', viteEnv);
17
- return defineConfig({
18
- base: './',
19
- plugins: usePlugins(),
20
- resolve: {
21
- alias: {
22
- '@': fileURLToPath(new URL('./src', import.meta.url)),
23
- },
24
- },
25
- server: {
26
- host: true,
27
- proxy: {
28
- '/api': localServer,
29
- },
30
- },
31
- });
32
- };