Toggle navigation
Toggle navigation
This project
Loading...
Sign in
OnePoem
/
OnePoem-Server
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
李帅
2022-01-28 13:51:22 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
3420c0afdf62d2aa0bd12706826b3d6f8d05c43c
3420c0af
1 parent
94391f60
制作推送模板基本完成,可使用
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
238 additions
and
23 deletions
app/Admin/Controllers/PickPoetryVerseController.php
app/Admin/Controllers/VideoTempController.php
app/Admin/routes.php
composer.json
composer.lock
resources/views/admin/form/push.blade.php
app/Admin/Controllers/PickPoetryVerseController.php
View file @
3420c0a
...
...
@@ -23,10 +23,10 @@ class PickPoetryVerseController extends AdminController
$grid
->
column
(
'verse_id'
);
$grid
->
column
(
'created_at'
);
$grid
->
column
(
'updated_at'
)
->
sortable
();
$grid
->
filter
(
function
(
Grid\Filter
$filter
)
{
$filter
->
equal
(
'id'
);
});
});
}
...
...
@@ -58,11 +58,45 @@ class PickPoetryVerseController extends AdminController
{
return
Form
::
make
(
new
PickPoetryVerse
(),
function
(
Form
$form
)
{
$form
->
display
(
'id'
);
$form
->
text
(
'pick_id'
);
$form
->
text
(
'verse_id'
);
$form
->
block
(
8
,
function
(
Form\BlockForm
$form
)
{
// 设置标题
$form
->
title
(
'基本设置'
);
// 显示底部提交按钮
$form
->
showFooter
();
// 设置字段宽度
$form
->
width
(
8
,
3
);
$form
->
radio
(
'plant'
)
->
addElementClass
(
'plant'
)
->
options
([
1
=>
'Android'
,
2
=>
'IOS'
])
->
default
(
2
);
$form
->
text
(
'title'
);
$form
->
textarea
(
'content'
);
$form
->
radio
(
'push_type'
,
'发送时间'
)
->
options
([
1
=>
'立即'
,
2
=>
'定时'
])
->
default
(
1
)
->
when
(
2
,
function
(
Form\BlockForm
$form
)
{
$form
->
datetime
(
'push_time'
);
});
$form
->
select
(
'action_type'
)
->
options
([
'打开应用'
,
'临境'
,
'会员介绍页'
,
'众妙页'
]);
$form
->
radio
(
'user_type'
,
'目标人群'
)
->
options
([
1
=>
'所有人'
,
2
=>
'指定用户'
])
->
default
(
1
)
->
when
(
2
,
function
(
Form\BlockForm
$form
)
{
$form
->
text
(
'user_id'
);
});
});
$form
->
block
(
4
,
function
(
Form\BlockForm
$form
)
{
$form
->
html
(
view
(
'admin.form.push'
));
});
$form
->
display
(
'created_at'
);
$form
->
display
(
'updated_at'
);
});
}
public
function
store
()
{
dd
(
request
()
->
all
());
}
}
...
...
app/Admin/Controllers/VideoTempController.php
View file @
3420c0a
...
...
@@ -7,6 +7,7 @@ use Dcat\Admin\Form;
use
Dcat\Admin\Grid
;
use
Dcat\Admin\Show
;
use
Dcat\Admin\Http\Controllers\AdminController
;
use
Illuminate\Http\Request
;
class
VideoTempController
extends
AdminController
{
...
...
@@ -20,23 +21,21 @@ class VideoTempController extends AdminController
{
return
Grid
::
make
(
new
VideoTemp
(),
function
(
Grid
$grid
)
{
// 设置自定义视图
$grid
->
view
(
'admin.grid.custom'
);
$grid
->
setActionClass
(
Grid\Displayers\Actions
::
class
);
//
$grid->column('id',__('ID'))->sortable();
//
$grid->column('title');
//
$grid->column('type');
//
$grid->column('bg_type');
// $grid->column('bg_url
');
//
$grid->column('bg_music');
//
$grid->column('state');
//
$grid->column('sn');
//
$grid->column('top');
//
$grid->column('left');
//
$grid->column('font_size');
//
$grid->column('created_at');
//
$grid->column('updated_at')->sortable();
$grid
->
column
(
'id'
,
__
(
'ID'
))
->
sortable
();
$grid
->
column
(
'title'
);
$grid
->
column
(
'type'
);
$grid
->
column
(
'bg_type'
);
$grid
->
column
(
'bg_url'
)
->
image
(
'/storage/
'
);
$grid
->
column
(
'bg_music'
);
$grid
->
column
(
'state'
);
$grid
->
column
(
'sn'
);
$grid
->
column
(
'top'
);
$grid
->
column
(
'left'
);
$grid
->
column
(
'font_size'
);
$grid
->
column
(
'created_at'
);
$grid
->
column
(
'updated_at'
)
->
sortable
();
//
// $grid->filter(function (Grid\Filter $filter) {
// $filter->equal('id');
...
...
@@ -120,7 +119,8 @@ class VideoTempController extends AdminController
$form
->
number
(
'top'
);
$form
->
number
(
'left'
);
$form
->
number
(
'font_size'
);
$form
->
color
(
'text_color'
)
->
addElementClass
(
'text_color'
);
$form
->
color
(
'text_color'
)
->
default
(
'#f5f5f5'
)
->
addElementClass
(
'text_color'
);
$form
->
color
(
'text_bg_color'
)
->
addElementClass
(
'text_bg_color'
);
$form
->
number
(
'opacity'
)
->
min
(
0
)
->
max
(
100
)
->
addElementClass
(
'opacity'
)
->
default
(
90
)
...
...
app/Admin/routes.php
View file @
3420c0a
...
...
@@ -27,13 +27,19 @@ Route::group([
/** 视频模板*/
$router
->
resource
(
'/template'
,
'VideoTempController'
);
/** 订单*/
$router
->
resource
(
'/order'
,
'OrderController'
);
$router
->
group
([
'prefix'
=>
'/tool'
],
function
(
Router
$router
){
/** 每日一言*/
$router
->
resource
(
'/
tool/
every-poem'
,
'EverydayPoemController'
);
$router
->
resource
(
'/every-poem'
,
'EverydayPoemController'
);
/** 推荐*/
// $router->resource('/tool/recommend','');
/** 推送服务*/
$router
->
resource
(
'/push'
,
'PickPoetryVerseController'
);
// $router->resource('/push', 'PushController');
});
});
...
...
composer.json
View file @
3420c0a
...
...
@@ -11,6 +11,7 @@
"guzzlehttp/guzzle"
:
"^7.0.1"
,
"jiannei/laravel-enum"
:
"^3.0"
,
"jiannei/laravel-response"
:
"^4.0"
,
"jpush/jpush"
:
"^3.6"
,
"laravel/framework"
:
"^8.75"
,
"laravel/sanctum"
:
"^2.11"
,
"laravel/socialite"
:
"^5.2"
,
...
...
composer.lock
View file @
3420c0a
...
...
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies"
,
"This file is @generated automatically"
],
"content-hash"
:
"
298c2071717850e70431d14a67202770
"
,
"content-hash"
:
"
4a78406ea73ce29697f2238eadcbec83
"
,
"packages"
:
[
{
"name"
:
"asm89/stack-cors"
,
...
...
@@ -1722,6 +1722,59 @@
"time"
:
"2021-12-24T08:17:43+00:00"
},
{
"name"
:
"jpush/jpush"
,
"version"
:
"v3.6.8"
,
"source"
:
{
"type"
:
"git"
,
"url"
:
"https://github.com/jpush/jpush-api-php-client.git"
,
"reference"
:
"ebb191e8854a35c3fb7a6626028b3a23132cbe2c"
},
"dist"
:
{
"type"
:
"zip"
,
"url"
:
"https://api.github.com/repos/jpush/jpush-api-php-client/zipball/ebb191e8854a35c3fb7a6626028b3a23132cbe2c"
,
"reference"
:
"ebb191e8854a35c3fb7a6626028b3a23132cbe2c"
,
"shasum"
:
""
,
"mirrors"
:
[
{
"url"
:
"https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%"
,
"preferred"
:
true
}
]
},
"require"
:
{
"ext-curl"
:
"*"
,
"php"
:
">=5.3.3"
},
"require-dev"
:
{
"phpunit/phpunit"
:
"*"
},
"type"
:
"library"
,
"autoload"
:
{
"psr-4"
:
{
"JPush
\\
"
:
"src/JPush/"
}
},
"notification-url"
:
"https://packagist.org/downloads/"
,
"license"
:
[
"MIT"
],
"authors"
:
[
{
"name"
:
"JPush"
,
"email"
:
"support@jpush.cn"
,
"homepage"
:
"https://www.jpush.cn/"
,
"role"
:
"Developer"
}
],
"description"
:
"JPush API PHP Client"
,
"homepage"
:
"https://github.com/jpush/jpush-api-php-client"
,
"support"
:
{
"issues"
:
"https://github.com/jpush/jpush-api-php-client/issues"
,
"source"
:
"https://github.com/jpush/jpush-api-php-client/tree/v3.6.8"
},
"time"
:
"2021-08-12T07:43:39+00:00"
},
{
"name"
:
"laravel/framework"
,
"version"
:
"v8.77.1"
,
"source"
:
{
...
...
resources/views/admin/form/push.blade.php
0 → 100644
View file @
3420c0a
<style>
.box-card
{
width
:
380px
;
border
:
1px
solid
rgb
(
220
,
223
,
230
);
border-radius
:
40px
;
margin-right
:
24px
;
padding
:
37px
20px
;
min-height
:
679px
;
}
.phone-content
{
border
:
1px
solid
rgb
(
220
,
223
,
230
);
height
:
625px
;
overflow
:
hidden
;
position
:
relative
;
background
:
rgb
(
245
,
245
,
245
);
}
.notification-app-name
,
.notification-title
,
.notification-detail
{
position
:
absolute
;
overflow
:
hidden
;
color
:
#181919
;
}
.notification-app-name
{
width
:
160px
;
font-size
:
12px
;
top
:
222px
;
left
:
90px
;
}
.notification-title
{
width
:
210px
;
font-size
:
14px
;
top
:
242px
;
left
:
65px
;
}
.notification-detail
{
width
:
210px
;
font-size
:
13px
;
top
:
265px
;
left
:
65px
;
word-break
:
break-all
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
}
</style>
<button
type=
"button"
class=
"btn btn-primary sync"
><i
class=
"feather icon-repeat"
></i>
预览看效果
</button>
<hr>
<div
class=
"box-card"
>
<div
class=
"phone-content"
>
<img
src=
"{{asset('storage/image/ios1-2.png')}}"
alt=
""
width=
"338"
height=
"625"
id=
"bg_img"
>
<div
class=
"notification-app-name"
>
一言-临境
</div>
<div
class=
"notification-title"
>
demo 标题
</div>
<div
class=
"notification-detail"
>
开发者249d42a097c1944e进行了广播推送,这是一条广播
</div>
</div>
</div>
<script>
Dcat
.
ready
(
function
()
{
var
asset
=
"{{asset('/storage/')}}"
;
$
(
document
).
off
(
'click'
,
'.sync'
).
on
(
'click'
,
'.sync'
,
function
()
{
let
plant
=
parseInt
(
$
(
'.plant:checked'
).
val
());
if
(
plant
===
1
)
{
$
(
'#bg_img'
).
attr
(
'src'
,
asset
+
'/image/android-2.png'
);
$
(
'.notification-app-name'
).
css
(
'top'
,
'244px'
).
css
(
'left'
,
'80px'
);
$
(
'.notification-title'
).
css
(
'top'
,
'264px'
).
css
(
'left'
,
'55px'
);
$
(
'.notification-detail'
).
css
(
'top'
,
'287px'
).
css
(
'left'
,
'55px'
);
}
else
{
$
(
'#bg_img'
).
attr
(
'src'
,
asset
+
'/image/ios1-2.png'
);
$
(
'.notification-app-name'
).
css
(
'top'
,
'222px'
).
css
(
'left'
,
'90px'
);
$
(
'.notification-title'
).
css
(
'top'
,
'242px'
).
css
(
'left'
,
'65px'
);
$
(
'.notification-detail'
).
css
(
'top'
,
'265px'
).
css
(
'left'
,
'65px'
);
}
// let ori_top = 80;
// let top = parseInt($('.field_top').val()) + ori_top;
// let left = $('.field_left').val();
// let font = $('.field_font_size').val();
// let content_size = 12 + parseInt(font);
// let title_size = 14 + parseInt(font);
// let text_color = $('.text_color').val() || 'whitesmoke';
// let text_bg_color = $('.text_bg_color').val() || '#5c6bc6';
// let opacity = parseInt($('.opacity').val()) / 100;
//
// $('.poem-block').css('top', top + 'px').css('left', left + 'px')
// .css('background-color', text_bg_color).css('opacity', opacity);
// $('.poem-title').css('font-size', title_size + 'px').css('color', text_color);
// $('.poem-content').css('font-size', content_size + 'px').css('color', text_color);
//
//
// let bg_img_url = $('.bg_img_url').find("input[type='hidden'][name='bg_url']").val();
// if (bg_img_url !== '') {
// $('.bg_img').attr('src', asset + '/' + bg_img_url).css('display', 'block');
// }
//
// let bg_video_url = $('.bg_video_url').find("input[type='hidden'][name='bg_url']").val();
// if (bg_video_url !== ''){
// $('#bg_video').attr('src', asset + '/' + bg_video_url).css('display', 'block');
// let bg_video = document.getElementById('bg_video');
// bg_video.autoplay = true;
// bg_video.loop = true;
// }
//
// let bgm_url = $('.bgm_url').find("input[type='hidden'][name='bgm_url']").val();
// if (bgm_url !== ''){
// $('#bg_audio').attr('src', asset + '/' + bgm_url);
// let bg_audio = document.getElementById('bg_audio');
// bg_audio.autoplay = true;
// bg_audio.loop = true;
// }
})
})
</script>
\ No newline at end of file
Please
register
or
login
to post a comment