Commit 181ff181 authored by Jobin's avatar Jobin 🤞🏻

init project

parent cad021c3
Pipeline #688 failed with stages
# port # port
VITE_PORT = 3100 VITE_PORT = 5000
# spa-title # spa-title
VITE_GLOB_APP_TITLE = Vben Admin VITE_GLOB_APP_TITLE = 纳九后台管理系统
# spa shortname # spa shortname
VITE_GLOB_APP_SHORT_NAME = vue_vben_admin VITE_GLOB_APP_SHORT_NAME = najiu_admin
#!/bin/sh
if [ -z "$husky_skip_init" ]; then
debug () {
[ "$HUSKY_DEBUG" = "1" ] && echo "husky (debug) - $1"
}
readonly hook_name="$(basename "$0")"
debug "starting $hook_name..."
if [ "$HUSKY" = "0" ]; then
debug "HUSKY env variable is set to 0, skipping hook"
exit 0
fi
if [ -f ~/.huskyrc ]; then
debug "sourcing ~/.huskyrc"
. ~/.huskyrc
fi
export readonly husky_skip_init=1
sh -e "$0" "$@"
exitCode="$?"
if [ $exitCode != 0 ]; then
echo "husky - $hook_name hook exited with code $exitCode (error)"
exit $exitCode
fi
exit 0
fi
import { generate } from '@ant-design/colors'; import { generate } from '@ant-design/colors';
export const primaryColor = '#0960bd'; export const primaryColor = '#1890ff';
export const darkMode = 'light'; export const darkMode = 'light';
......
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" id="htmlRoot"> <html lang="zh" id="htmlRoot">
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
......
...@@ -5,11 +5,11 @@ export function createFakeUserList() { ...@@ -5,11 +5,11 @@ export function createFakeUserList() {
return [ return [
{ {
userId: '1', userId: '1',
username: 'vben', username: 'najiu',
realName: 'Vben Admin', realName: '纳九管理员',
avatar: 'https://q1.qlogo.cn/g?b=qq&nk=190848757&s=640', avatar: 'http://najiu-saas-new-test2.inajiu.com:7011/favicon.ico',
desc: 'manager', desc: 'manager',
password: '123456', password: '123456Aa',
token: 'fakeToken1', token: 'fakeToken1',
roles: [ roles: [
{ {
......
public/favicon.ico

894 Bytes | W: | H:

public/favicon.ico

20.9 KB | W: | H:

public/favicon.ico
public/favicon.ico
public/favicon.ico
public/favicon.ico
  • 2-up
  • Swipe
  • Onion skin
public/resource/img/logo.png

3.95 KB | W: | H:

public/resource/img/logo.png

20.9 KB | W: | H:

public/resource/img/logo.png
public/resource/img/logo.png
public/resource/img/logo.png
public/resource/img/logo.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/images/logo.png

27.6 KB | W: | H:

src/assets/images/logo.png

20.9 KB | W: | H:

src/assets/images/logo.png
src/assets/images/logo.png
src/assets/images/logo.png
src/assets/images/logo.png
  • 2-up
  • Swipe
  • Onion skin
...@@ -155,7 +155,8 @@ ...@@ -155,7 +155,8 @@
&-vertical &-submenu-title { &-vertical &-submenu-title {
position: relative; position: relative;
z-index: 1; z-index: 1;
padding: 14px 24px; //padding: 14px 24px;
padding: 12px 24px;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
@import 'easing'; @import 'easing';
@import 'breakpoint'; @import 'breakpoint';
@namespace: vben; @namespace: najiu;
// tabs // tabs
@multiple-height: 30px; @multiple-height: 30px;
......
...@@ -41,12 +41,14 @@ ...@@ -41,12 +41,14 @@
<FullScreen v-if="getShowFullScreen" :class="`${prefixCls}-action__item fullscreen-item`" /> <FullScreen v-if="getShowFullScreen" :class="`${prefixCls}-action__item fullscreen-item`" />
<!--
<AppLocalePicker <AppLocalePicker
v-if="getShowLocalePicker" v-if="getShowLocalePicker"
:reload="true" :reload="true"
:showText="false" :showText="false"
:class="`${prefixCls}-action__item`" :class="`${prefixCls}-action__item`"
/> />
-->
<UserDropDown :theme="getHeaderTheme" /> <UserDropDown :theme="getHeaderTheme" />
...@@ -72,7 +74,7 @@ ...@@ -72,7 +74,7 @@
import { MenuModeEnum, MenuSplitTyeEnum } from '/@/enums/menuEnum'; import { MenuModeEnum, MenuSplitTyeEnum } from '/@/enums/menuEnum';
import { SettingButtonPositionEnum } from '/@/enums/appEnum'; import { SettingButtonPositionEnum } from '/@/enums/appEnum';
import { AppLocalePicker } from '/@/components/Application'; // import { AppLocalePicker } from '/@/components/Application';
import { UserDropDown, LayoutBreadcrumb, FullScreen, Notify, ErrorAction } from './components'; import { UserDropDown, LayoutBreadcrumb, FullScreen, Notify, ErrorAction } from './components';
import { useAppInject } from '/@/hooks/web/useAppInject'; import { useAppInject } from '/@/hooks/web/useAppInject';
...@@ -90,7 +92,7 @@ ...@@ -90,7 +92,7 @@
LayoutBreadcrumb, LayoutBreadcrumb,
LayoutMenu, LayoutMenu,
UserDropDown, UserDropDown,
AppLocalePicker, // AppLocalePicker,
FullScreen, FullScreen,
Notify, Notify,
AppSearch, AppSearch,
......
...@@ -65,7 +65,7 @@ export default { ...@@ -65,7 +65,7 @@ export default {
signUpFormTitle: '注册', signUpFormTitle: '注册',
forgetFormTitle: '重置密码', forgetFormTitle: '重置密码',
signInTitle: '开箱即用的中后台管理系统', signInTitle: '纳九后台管理系统',
signInDesc: '输入您的个人详细信息开始使用!', signInDesc: '输入您的个人详细信息开始使用!',
policy: '我同意xxx隐私政策', policy: '我同意xxx隐私政策',
scanSign: `扫码后点击"确认",即可完成登录`, scanSign: `扫码后点击"确认",即可完成登录`,
......
import { ThemeEnum } from '../enums/appEnum'; import { ThemeEnum } from '../enums/appEnum';
export const prefixCls = 'vben'; export const prefixCls = 'najiu';
export const darkMode = ThemeEnum.LIGHT; export const darkMode = ThemeEnum.LIGHT;
......
<template> <template>
<div :class="prefixCls" class="relative w-full h-full px-4"> <div :class="prefixCls" class="relative w-full h-full px-4">
<AppLocalePicker <!-- <AppLocalePicker-->
class="absolute text-white top-4 right-4 enter-x xl:text-gray-600" <!-- class="absolute text-white top-4 right-4 enter-x xl:text-gray-600"-->
:showText="false" <!-- :showText="false"-->
v-if="!sessionTimeout && showLocale" <!-- v-if="!sessionTimeout && showLocale"-->
/> <!-- />-->
<AppDarkModeToggle class="absolute top-3 right-7 enter-x" v-if="!sessionTimeout" /> <AppDarkModeToggle class="absolute top-3 right-7 enter-x" v-if="!sessionTimeout" />
<span class="-enter-x xl:hidden"> <span class="-enter-x xl:hidden">
...@@ -51,10 +51,10 @@ ...@@ -51,10 +51,10 @@
" "
> >
<LoginForm /> <LoginForm />
<ForgetPasswordForm /> <!-- <ForgetPasswordForm />-->
<RegisterForm /> <!-- <RegisterForm />-->
<MobileForm /> <!-- <MobileForm />-->
<QrCodeForm /> <!-- <QrCodeForm />-->
</div> </div>
</div> </div>
</div> </div>
...@@ -65,12 +65,13 @@ ...@@ -65,12 +65,13 @@
import { defineComponent, computed } from 'vue'; import { defineComponent, computed } from 'vue';
import { AppLogo } from '/@/components/Application'; import { AppLogo } from '/@/components/Application';
import { AppLocalePicker, AppDarkModeToggle } from '/@/components/Application'; // import { AppLocalePicker, AppDarkModeToggle } from '/@/components/Application';
import { AppDarkModeToggle } from '/@/components/Application';
import LoginForm from './LoginForm.vue'; import LoginForm from './LoginForm.vue';
import ForgetPasswordForm from './ForgetPasswordForm.vue'; // import ForgetPasswordForm from './ForgetPasswordForm.vue';
import RegisterForm from './RegisterForm.vue'; // import RegisterForm from './RegisterForm.vue';
import MobileForm from './MobileForm.vue'; // import MobileForm from './MobileForm.vue';
import QrCodeForm from './QrCodeForm.vue'; // import QrCodeForm from './QrCodeForm.vue';
import { useGlobSetting } from '/@/hooks/setting'; import { useGlobSetting } from '/@/hooks/setting';
import { useI18n } from '/@/hooks/web/useI18n'; import { useI18n } from '/@/hooks/web/useI18n';
...@@ -82,11 +83,11 @@ ...@@ -82,11 +83,11 @@
components: { components: {
AppLogo, AppLogo,
LoginForm, LoginForm,
ForgetPasswordForm, // ForgetPasswordForm,
RegisterForm, // RegisterForm,
MobileForm, // MobileForm,
QrCodeForm, // QrCodeForm,
AppLocalePicker, // AppLocalePicker,
AppDarkModeToggle, AppDarkModeToggle,
}, },
props: { props: {
...@@ -161,6 +162,7 @@ ...@@ -161,6 +162,7 @@
height: 100%; height: 100%;
margin-left: -48%; margin-left: -48%;
background-image: url(/@/assets/svg/login-bg.svg); background-image: url(/@/assets/svg/login-bg.svg);
//background-image: url(/@/assets/images/login_bg.png);
background-position: 100%; background-position: 100%;
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: auto 100%; background-size: auto 100%;
......
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
{{ t('sys.login.registerButton') }} {{ t('sys.login.registerButton') }}
</Button> --> </Button> -->
</FormItem> </FormItem>
<ARow class="enter-x"> <!-- <ARow class="enter-x">
<ACol :xs="24" :md="8"> <ACol :xs="24" :md="8">
<Button block @click="setLoginState(LoginStateEnum.MOBILE)"> <Button block @click="setLoginState(LoginStateEnum.MOBILE)">
{{ t('sys.login.mobileSignInFormTitle') }} {{ t('sys.login.mobileSignInFormTitle') }}
...@@ -73,20 +73,20 @@ ...@@ -73,20 +73,20 @@
<AlipayCircleFilled /> <AlipayCircleFilled />
<GoogleCircleFilled /> <GoogleCircleFilled />
<TwitterCircleFilled /> <TwitterCircleFilled />
</div> </div>-->
</Form> </Form>
</template> </template>
<script lang="ts"> <script lang="ts">
import { defineComponent, reactive, ref, toRaw, unref, computed } from 'vue'; import { defineComponent, reactive, ref, toRaw, unref, computed } from 'vue';
import { Checkbox, Form, Input, Row, Col, Button, Divider } from 'ant-design-vue'; import { Checkbox, Form, Input, Row, Col, Button } from 'ant-design-vue';
import { // import {
GithubFilled, // GithubFilled,
WechatFilled, // WechatFilled,
AlipayCircleFilled, // AlipayCircleFilled,
GoogleCircleFilled, // GoogleCircleFilled,
TwitterCircleFilled, // TwitterCircleFilled,
} from '@ant-design/icons-vue'; // } from '@ant-design/icons-vue';
import LoginFormTitle from './LoginFormTitle.vue'; import LoginFormTitle from './LoginFormTitle.vue';
import { useI18n } from '/@/hooks/web/useI18n'; import { useI18n } from '/@/hooks/web/useI18n';
...@@ -107,14 +107,14 @@ ...@@ -107,14 +107,14 @@
Form, Form,
FormItem: Form.Item, FormItem: Form.Item,
Input, Input,
Divider, // Divider,
LoginFormTitle, LoginFormTitle,
InputPassword: Input.Password, InputPassword: Input.Password,
GithubFilled, // GithubFilled,
WechatFilled, // WechatFilled,
AlipayCircleFilled, // AlipayCircleFilled,
GoogleCircleFilled, // GoogleCircleFilled,
TwitterCircleFilled, // TwitterCircleFilled,
}, },
setup() { setup() {
const { t } = useI18n(); const { t } = useI18n();
...@@ -130,8 +130,8 @@ ...@@ -130,8 +130,8 @@
const rememberMe = ref(false); const rememberMe = ref(false);
const formData = reactive({ const formData = reactive({
account: 'vben', account: 'najiu',
password: '123456', password: '123456Aa',
}); });
const { validForm } = useFormValid(formRef); const { validForm } = useFormValid(formRef);
......
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment