Initial import of frappe sunderer app
This commit is contained in:
Generated
-4
@@ -1087,7 +1087,6 @@
|
|||||||
"resolved": "https://registry.npmmirror.com/css-render/-/css-render-0.15.14.tgz",
|
"resolved": "https://registry.npmmirror.com/css-render/-/css-render-0.15.14.tgz",
|
||||||
"integrity": "sha512-9nF4PdUle+5ta4W5SyZdLCCmFd37uVimSjg1evcTqKJCyvCEEj12WKzOSBNak6r4im4J4iYXKH1OWpUV5LBYFg==",
|
"integrity": "sha512-9nF4PdUle+5ta4W5SyZdLCCmFd37uVimSjg1evcTqKJCyvCEEj12WKzOSBNak6r4im4J4iYXKH1OWpUV5LBYFg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@emotion/hash": "~0.8.0",
|
"@emotion/hash": "~0.8.0",
|
||||||
"csstype": "~3.0.5"
|
"csstype": "~3.0.5"
|
||||||
@@ -1110,7 +1109,6 @@
|
|||||||
"resolved": "https://registry.npmmirror.com/date-fns/-/date-fns-4.1.0.tgz",
|
"resolved": "https://registry.npmmirror.com/date-fns/-/date-fns-4.1.0.tgz",
|
||||||
"integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==",
|
"integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"peer": true,
|
|
||||||
"funding": {
|
"funding": {
|
||||||
"type": "github",
|
"type": "github",
|
||||||
"url": "https://github.com/sponsors/kossnocorp"
|
"url": "https://github.com/sponsors/kossnocorp"
|
||||||
@@ -1747,7 +1745,6 @@
|
|||||||
"integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==",
|
"integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"esbuild": "^0.21.3",
|
"esbuild": "^0.21.3",
|
||||||
"postcss": "^8.4.43",
|
"postcss": "^8.4.43",
|
||||||
@@ -1819,7 +1816,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/vue/-/vue-3.5.26.tgz",
|
"resolved": "https://registry.npmjs.org/vue/-/vue-3.5.26.tgz",
|
||||||
"integrity": "sha512-SJ/NTccVyAoNUJmkM9KUqPcYlY+u8OVL1X5EW9RIs3ch5H2uERxyyIUI4MRxVCSOiEcupX9xNGde1tL9ZKpimA==",
|
"integrity": "sha512-SJ/NTccVyAoNUJmkM9KUqPcYlY+u8OVL1X5EW9RIs3ch5H2uERxyyIUI4MRxVCSOiEcupX9xNGde1tL9ZKpimA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/compiler-dom": "3.5.26",
|
"@vue/compiler-dom": "3.5.26",
|
||||||
"@vue/compiler-sfc": "3.5.26",
|
"@vue/compiler-sfc": "3.5.26",
|
||||||
|
|||||||
@@ -80,13 +80,13 @@ const menuOptions = [
|
|||||||
label: 'Dashboard',
|
label: 'Dashboard',
|
||||||
key: 'dashboard',
|
key: 'dashboard',
|
||||||
icon: renderIcon(BookIcon),
|
icon: renderIcon(BookIcon),
|
||||||
props: { onClick: () => router.push('/app/dashboard') }
|
props: { onClick: () => router.push('/sundererapp/dashboard') }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Users',
|
label: 'Users',
|
||||||
key: 'users',
|
key: 'users',
|
||||||
icon: renderIcon(PersonIcon),
|
icon: renderIcon(PersonIcon),
|
||||||
props: { onClick: () => router.push('/app/users') }
|
props: { onClick: () => router.push('/sundererapp/users') }
|
||||||
},
|
},
|
||||||
// 添加更多菜单项...
|
// 添加更多菜单项...
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ const setupPassword = async () => {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
const response = await fetch('http://172.25.162.172:8000/api/method/frappe.core.doctype.user.user.update_password', {
|
const response = await fetch('/api/method/frappe.core.doctype.user.user.update_password', {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
credentials: 'include',
|
credentials: 'include',
|
||||||
headers: { 'Content-Type': 'application/json' },
|
headers: { 'Content-Type': 'application/json' },
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ async function handleLogin() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 跳转到 Frappe 后台
|
// 跳转到 Frappe 后台
|
||||||
window.location.href = 'http://172.25.162.172:8000/app'
|
window.location.href = '/sundererapp'
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
error.value = err.message
|
error.value = err.message
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@@ -24,13 +24,13 @@ export default defineConfig({
|
|||||||
manifest: true,
|
manifest: true,
|
||||||
rollupOptions: {
|
rollupOptions: {
|
||||||
output: {
|
output: {
|
||||||
entryFileNames: 'js/[name].[hash].js',
|
entryFileNames: 'js/index.js',
|
||||||
chunkFileNames: 'js/[name].[hash].js',
|
chunkFileNames: 'js/[name].js',
|
||||||
assetFileNames: (assetInfo) => {
|
assetFileNames: (assetInfo) => {
|
||||||
if (assetInfo.name.endsWith('.css')) {
|
if (assetInfo.name.endsWith('.css')) {
|
||||||
return 'css/[name].[hash].[ext]';
|
return 'css/index.css';
|
||||||
}
|
}
|
||||||
return 'assets/[name].[hash].[ext]';
|
return 'assets/[name][extname]';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,9 +42,9 @@ export default defineConfig({
|
|||||||
format: 'umd', // 设置输出格式为 UMD
|
format: 'umd', // 设置输出格式为 UMD
|
||||||
name: 'SundererApp', // 指定全局变量名,构建后应用会挂载到 window.IncreaseAccApp
|
name: 'SundererApp', // 指定全局变量名,构建后应用会挂载到 window.IncreaseAccApp
|
||||||
// 可以保留 hash 以利用缓存,但 UMD 通常用于简单场景,可选
|
// 可以保留 hash 以利用缓存,但 UMD 通常用于简单场景,可选
|
||||||
entryFileNames: 'js/sundererapp.[hash].js', // 例如: increaseacc.js (或 [name].[hash].js)
|
entryFileNames: 'js/sundererapp.js', // 例如: increaseacc.js (或 [name].[hash].js)
|
||||||
chunkFileNames: 'js/sundererapp.[hash].js',
|
chunkFileNames: 'js/[name].js',
|
||||||
assetFileNames: 'js/sundererapp.[hash].[ext]', // 例如: increaseacc.css (或 [name].[hash].[ext])
|
assetFileNames: 'assets/[name][extname]', // 例如: increaseacc.css (或 [name].[hash].[ext])
|
||||||
// UMD 格式可能需要外部依赖,如果 Vue 是全局引入的,需要声明
|
// UMD 格式可能需要外部依赖,如果 Vue 是全局引入的,需要声明
|
||||||
// globals: {
|
// globals: {
|
||||||
// vue: 'Vue' // 假设 Vue 已通过 script 标签全局引入
|
// vue: 'Vue' // 假设 Vue 已通过 script 标签全局引入
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
+24
-2
@@ -1,11 +1,33 @@
|
|||||||
{
|
{
|
||||||
"index.html": {
|
"index.html": {
|
||||||
"file": "js/index.c1R21Jxr.js",
|
"file": "js/index.js",
|
||||||
"name": "index",
|
"name": "index",
|
||||||
"src": "index.html",
|
"src": "index.html",
|
||||||
"isEntry": true,
|
"isEntry": true,
|
||||||
|
"dynamicImports": [
|
||||||
|
"src/views/sundererapp/DashboardView.vue",
|
||||||
|
"src/views/sundererapp/UsersView.vue"
|
||||||
|
],
|
||||||
"css": [
|
"css": [
|
||||||
"css/index.CJO3dQ9s.css"
|
"css/index.css"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src/views/sundererapp/DashboardView.vue": {
|
||||||
|
"file": "js/DashboardView.js",
|
||||||
|
"name": "DashboardView",
|
||||||
|
"src": "src/views/sundererapp/DashboardView.vue",
|
||||||
|
"isDynamicEntry": true,
|
||||||
|
"imports": [
|
||||||
|
"index.html"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src/views/sundererapp/UsersView.vue": {
|
||||||
|
"file": "js/UsersView.js",
|
||||||
|
"name": "UsersView",
|
||||||
|
"src": "src/views/sundererapp/UsersView.vue",
|
||||||
|
"isDynamicEntry": true,
|
||||||
|
"imports": [
|
||||||
|
"index.html"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+2
-2
@@ -5,8 +5,8 @@
|
|||||||
<link rel="icon" type="image/svg+xml" href="/assets/sunderer_app/dist/icon3.svg" />
|
<link rel="icon" type="image/svg+xml" href="/assets/sunderer_app/dist/icon3.svg" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>决裂者终端用户中心</title>
|
<title>决裂者终端用户中心</title>
|
||||||
<script type="module" crossorigin src="/assets/sunderer_app/dist/js/index.c1R21Jxr.js"></script>
|
<script type="module" crossorigin src="/assets/sunderer_app/dist/js/index.js"></script>
|
||||||
<link rel="stylesheet" crossorigin href="/assets/sunderer_app/dist/css/index.CJO3dQ9s.css">
|
<link rel="stylesheet" crossorigin href="/assets/sunderer_app/dist/css/index.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="app"></div>
|
<div id="app"></div>
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
import{c as l,a as e,b as c,w as o,r as a,o as d,d as _}from"./index.js";const u={__name:"DashboardView",setup(i){return(p,t)=>{const n=a("n-h2"),s=a("n-statistic"),r=a("n-card");return d(),l("div",null,[e(n,null,{default:o(()=>[...t[0]||(t[0]=[_("Dashboard",-1)])]),_:1}),t[1]||(t[1]=c("p",null,"Welcome to your admin dashboard!",-1)),e(r,{title:"Quick Stats",style:{"margin-top":"20px"}},{default:o(()=>[e(s,{label:"Total Users",value:"12345"})]),_:1})])}}};export{u as default};
|
||||||
+261
File diff suppressed because one or more lines are too long
-25
File diff suppressed because one or more lines are too long
Vendored
+56
File diff suppressed because one or more lines are too long
@@ -16,6 +16,6 @@
|
|||||||
<!-- 构建后文件会出现在 sunderer_app/public/ 目录下,例如: sundererapp.a1b2c3d4.js -->
|
<!-- 构建后文件会出现在 sunderer_app/public/ 目录下,例如: sundererapp.a1b2c3d4.js -->
|
||||||
<!-- 所以这里的 src 应该是 /sundererapp.[hash].js -->
|
<!-- 所以这里的 src 应该是 /sundererapp.[hash].js -->
|
||||||
<!-- 注意:你需要将 [hash] 替换为实际构建后生成的哈希值 -->
|
<!-- 注意:你需要将 [hash] 替换为实际构建后生成的哈希值 -->
|
||||||
<script src="/assets/sunderer_app/SundererPage/js/sundererapp.BRnFqPg_.js"></script>
|
<script src="/assets/sunderer_app/SundererPage/js/sundererapp.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -5,8 +5,8 @@
|
|||||||
<link rel="icon" type="image/svg+xml" href="/assets/sunderer_app/dist/icon3.svg" />
|
<link rel="icon" type="image/svg+xml" href="/assets/sunderer_app/dist/icon3.svg" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>决裂者终端用户中心</title>
|
<title>决裂者终端用户中心</title>
|
||||||
<script type="module" crossorigin src="/assets/sunderer_app/dist/js/index.c1R21Jxr.js"></script>
|
<script type="module" crossorigin src="/assets/sunderer_app/dist/js/index.js"></script>
|
||||||
<link rel="stylesheet" crossorigin href="/assets/sunderer_app/dist/css/index.CJO3dQ9s.css">
|
<link rel="stylesheet" crossorigin href="/assets/sunderer_app/dist/css/index.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="app"></div>
|
<div id="app"></div>
|
||||||
|
|||||||
@@ -16,6 +16,6 @@
|
|||||||
<!-- 构建后文件会出现在 sunderer_app/public/ 目录下,例如: sundererapp.a1b2c3d4.js -->
|
<!-- 构建后文件会出现在 sunderer_app/public/ 目录下,例如: sundererapp.a1b2c3d4.js -->
|
||||||
<!-- 所以这里的 src 应该是 /sundererapp.[hash].js -->
|
<!-- 所以这里的 src 应该是 /sundererapp.[hash].js -->
|
||||||
<!-- 注意:你需要将 [hash] 替换为实际构建后生成的哈希值 -->
|
<!-- 注意:你需要将 [hash] 替换为实际构建后生成的哈希值 -->
|
||||||
<script src="/assets/sunderer_app/SundererPage/js/sundererapp.BRnFqPg_.js"></script>
|
<script src="/assets/sunderer_app/SundererPage/js/sundererapp.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
Reference in New Issue
Block a user