Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
O
Open-Platform
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
杜宇森
Open-Platform
Commits
0a60f1b6
Commit
0a60f1b6
authored
Sep 01, 2021
by
UtopiaXC
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
📧
邮件模板
parent
8378f151
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
328 additions
and
4 deletions
+328
-4
VerityLinkMail.php
app/Mail/VerityLinkMail.php
+35
-0
constants.php
config/System/constants.php
+1
-1
main.min.css
public/css/main.min.css
+1
-1
verify_link.blade.php
resources/views/email/verify_link.blade.php
+277
-0
app.blade.php
resources/views/root/app.blade.php
+14
-1
root.blade.php
resources/views/root/root.blade.php
+0
-1
No files found.
app/Mail/VerityLinkMail.php
0 → 100644
View file @
0a60f1b6
<?php
namespace
App\Mail
;
use
Illuminate\Bus\Queueable
;
use
Illuminate\Contracts\Queue\ShouldQueue
;
use
Illuminate\Mail\Mailable
;
use
Illuminate\Queue\SerializesModels
;
class
VerityLinkMail
extends
Mailable
{
use
Queueable
,
SerializesModels
;
protected
$link
;
/**
* Create a new message instance.
*
* @return void
*/
public
function
__construct
(
$link
)
{
//
$this
->
$link
=
$link
;
}
/**
* Build the message.
*
* @return $this
*/
public
function
build
()
{
return
$this
->
view
(
'email.verify_link'
);
}
}
config/System/constants.php
View file @
0a60f1b6
...
...
@@ -69,5 +69,5 @@ class DefaultSiteProfile
{
const
WEB_TITLE
=
'Utopia 开放平台'
;
const
SITE_URL
=
'http://localhost'
;
const
WEB_FOOTER
=
'Copyright ©2021 <a
href="https://www.utopiaxc.cn/">UtopiaXC</a> All Rights Reserved.
| Powered By <a href="https://github.com/UtopiaXC/Utopia-Open-Platform" target="_blank">Utopia Open Platform</a>'
;
const
WEB_FOOTER
=
'Copyright ©2021 <a
target="_blank" href="https://www.utopiaxc.cn/">UtopiaXC</a> All Rights Reserved
| Powered By <a href="https://github.com/UtopiaXC/Utopia-Open-Platform" target="_blank">Utopia Open Platform</a>'
;
}
public/css/main.min.css
View file @
0a60f1b6
resources/views/email/verify_link.blade.php
0 → 100644
View file @
0a60f1b6
<!DOCTYPE html>
<html
lang=
"en"
>
<head>
<meta
charset=
"UTF-8"
>
<title>
CodePen - Material VCard
</title>
<style>
@import
url(https://fonts.googleapis.cn/css?family=Open+Sans:400,300,700)
;
*
{
box-sizing
:
border-box
;
}
body
{
min-height
:
100vh
;
display
:
flex
;
background-color
:
#eaeaea
;
font-family
:
Open
Sans
;
font-weight
:
300
;
line-height
:
1.8
;
background-size
:
cover
;
background-repeat
:
no-repeat
;
}
.contact
{
position
:
absolute
;
top
:
30px
;
left
:
50px
;
z-index
:
6
;
color
:
rgba
(
0
,
0
,
0
,
0.5
);
text-transform
:
uppercase
;
letter-spacing
:
3px
;
font-size
:
12px
;
font-weight
:
700
;
padding
:
5px
15px
;
border-radius
:
20px
;
background
:
rgba
(
0
,
0
,
0
,
0.1
);
line-height
:
1
;
cursor
:
pointer
;
text-shadow
:
0
1px
0px
rgba
(
255
,
255
,
255
,
0.1
);
}
.contact-form
{
position
:
absolute
;
width
:
100%
;
height
:
100%
;
left
:
0
;
top
:
0
;
background
:
white
;
z-index
:
5
;
padding
:
80px
50px
;
transform
:
translate3d
(
-100%
,
0
,
0
);
transition
:
0.3s
ease
;
border-radius
:
5px
;
}
.contact-form.active
{
transform
:
translate3d
(
0
,
0
,
0
);
}
.contact-form
.close
{
color
:
rgba
(
0
,
0
,
0
,
0.7
);
position
:
absolute
;
right
:
30px
;
top
:
30px
;
}
.cards
{
margin
:
auto
;
background
:
#fefefe
;
border-radius
:
5px
;
overflow
:
hidden
;
box-shadow
:
0
2px
10px
rgba
(
0
,
0
,
0
,
0.1
),
3px
5px
20px
rgba
(
0
,
0
,
0
,
0.2
);
width
:
768px
;
height
:
550px
;
position
:
relative
;
display
:
flex
;
align-items
:
flex-end
;
padding
:
30px
;
}
.cards
.card
{
display
:
inline-block
;
margin-right
:
20px
;
}
.cards
.card-toggle
{
z-index
:
4
;
position
:
relative
;
width
:
48px
;
height
:
48px
;
border-radius
:
50%
;
display
:
block
;
text-align
:
center
;
line-height
:
1.8
;
font-size
:
24px
;
cursor
:
pointer
;
border
:
2px
solid
transparent
;
transition
:
0.3s
ease
;
}
.cards
.card-toggle.active
{
color
:
white
;
border-color
:
white
;
}
.cards
.card-content
{
position
:
absolute
;
width
:
100%
;
height
:
100%
;
left
:
0
;
top
:
0
;
transition
:
-webkit-clip-path
1s
ease
;
padding
:
100px
0
0
;
overflow
:
hidden
;
border-radius
:
5px
;
}
.cards
.card-content
.row
{
display
:
table
;
width
:
100%
;
height
:
100%
;
}
.cards
.card-content
.col
{
width
:
50%
;
height
:
100%
;
display
:
table-cell
;
transition
:
0.3s
ease
0.3s
;
transform
:
translate3d
(
0
,
0
,
0
);
vertical-align
:
top
;
}
.cards
.card-content
.col
h2
{
font-weight
:
300
;
font-size
:
3em
;
line-height
:
1
;
margin
:
0
0
30px
;
}
.cards
.card-content
.col
h2
strong
{
font-weight
:
700
;
display
:
block
;
}
.cards
.card-content
.col
img
{
max-width
:
90%
;
width
:
100%
;
}
.cards
.card-content
.col.left
{
transform
:
translate3d
(
0
,
0
,
0
);
opacity
:
0
;
padding-left
:
50px
;
}
.cards
.card-content
.col.right
{
transform
:
translate3d
(
100px
,
0
,
0
);
opacity
:
0
;
padding-left
:
30px
;
}
.cards
.card.active
.col
{
transform
:
translate3d
(
0
,
0
,
0
);
opacity
:
1
;
}
.cards
#overview
.card-toggle
{
position
:
absolute
;
top
:
30px
;
right
:
30px
;
opacity
:
1
;
color
:
white
;
}
.cards
#overview
.card-content
{
background-color
:
#efefef
;
-webkit-clip-path
:
circle
(
0%
at
91.5%
75px
);
}
.cards
#overview
.active
.card-toggle
{
opacity
:
0
;
}
.cards
#overview
.active
.card-content
{
-webkit-clip-path
:
circle
(
270%
at
91.5%
75px
);
}
.cards
#overview
.right
{
background-size
:
contain
;
}
.cards
#dribbble
.card-content
,
.cards
#behance
.card-content
,
.cards
#linkedin
.card-content
,
.cards
#twitter
.card-content
{
color
:
white
;
}
.cards
#dribbble
.card-content
p
,
.cards
#behance
.card-content
p
,
.cards
#linkedin
.card-content
p
,
.cards
#twitter
.card-content
p
{
color
:
rgba
(
255
,
255
,
255
,
0.8
);
}
.cards
#dribbble
.card-content
{
background-color
:
#F46899
;
-webkit-clip-path
:
circle
(
0%
at
76px
88%
);
clip-path
:
circle
(
0%
at
50px
88%
);
}
.cards
#dribbble
.active
.card-content
{
-webkit-clip-path
:
circle
(
270%
at
76px
88%
);
clip-path
:
circle
(
270%
at
50px
88%
);
}
.cards
#behance
.card-content
{
background-color
:
#2F98D1
;
-webkit-clip-path
:
circle
(
0%
at
150px
88%
);
clip-path
:
circle
(
0%
at
150px
88%
);
}
.cards
#behance
.active
.card-content
{
-webkit-clip-path
:
circle
(
270%
at
150px
88%
);
clip-path
:
circle
(
270%
at
150px
88%
);
}
.cards
#linkedin
.card-content
{
background-color
:
#03679B
;
-webkit-clip-path
:
circle
(
0%
at
220px
88%
);
clip-path
:
circle
(
0%
at
220px
88%
);
}
.cards
#linkedin
.active
.card-content
{
-webkit-clip-path
:
circle
(
270%
at
220px
88%
);
clip-path
:
circle
(
270%
at
220px
88%
);
}
.cards
#twitter
.card-content
{
background-color
:
#7FD0ED
;
-webkit-clip-path
:
circle
(
0%
at
292px
88%
);
clip-path
:
circle
(
0%
at
292px
88%
);
}
.cards
#twitter
.active
.card-content
{
-webkit-clip-path
:
circle
(
270%
at
292px
88%
);
clip-path
:
circle
(
270%
at
292px
88%
);
}
form
.control
{
position
:
relative
;
margin-bottom
:
10px
;
padding-top
:
20px
;
}
form
.control
label
{
position
:
absolute
;
top
:
30px
;
left
:
0
;
transition
:
0.3s
ease
;
text-transform
:
uppercase
;
font-weight
:
600
;
letter-spacing
:
2px
;
font-size
:
14px
;
}
form
.control.submit
{
text-align
:
right
;
}
form
input
,
form
textarea
{
width
:
100%
;
border
:
none
;
border-bottom
:
1px
solid
#e3e3e3
;
outline
:
none
;
padding
:
10px
0
;
}
form
.filled
label
,
form
input
:focus
+
label
,
form
textarea
:focus
+
label
{
top
:
0
;
font-size
:
12px
;
}
form
textarea
{
height
:
100px
;
}
form
input
[
type
=
submit
]
{
width
:
auto
;
background-color
:
#F06292
;
padding
:
10px
40px
;
color
:
white
;
border-radius
:
40px
;
}
</style>
</head>
<body>
<div
class=
"cards"
>
<div
class=
"contact"
>
Utopia Open Platform
</div>
<div
class=
"card active"
id=
"overview"
>
<div
class=
"card-content"
>
<div
class=
"row"
>
<div
class=
"left col"
>
<h2>
Personal
<strong>
Social Card
</strong></h2>
<p>
Click one of the social icons below to switch between card or click Contact Me link to show the contact form card.
<br
/><em>
Make sure you're running this experiment in the latest Chrome browser.
</em></p>
</div>
<div
class=
"right col"
>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
resources/views/root/app.blade.php
View file @
0a60f1b6
@
php
$site_profile
=
app
(
'request'
)
->
get
(
HeaderKey
::
SITE_PROFILE
);
@
endphp
@
extends
(
'root.root'
)
@
section
(
'page_header'
)
...
...
@@ -9,7 +17,7 @@
<
div
class
='
loader
'>
<div class='
spinner
-
grow
text
-
primary
' role='
status
'><span class='
sr
-
only
'>Loading...</span></div>
</div>
<div class="page-container">
<div class="page-container"
style="min-height: calc(100vh - 50px);"
>
@yield("page_header")
<div class="page-content">
<div class="main-wrapper">
...
...
@@ -17,6 +25,11 @@
</div>
</div>
</div>
<footer style="text-align: center; height: 50px;">
<div>
{!! $site_profile[SiteProfileTypeEnum::WEB_FOOTER] !!}
</div>
</footer>
</body>
@endsection
...
...
resources/views/root/root.blade.php
View file @
0a60f1b6
...
...
@@ -10,7 +10,6 @@
<meta
name=
"author"
content=
"@yield('author')"
>
@include('style.style')
</head>
@yield('body')
@include('script.scripts')
@yield('script')
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment