title('笔记配置')
// ->body($this->buildPreviewButton())
// ->body($this->newline())
->body(
<<{$this->form_post()->render()}
HTML
);
}
protected function form_post(){
$form = new Form();
$form->confirm('您确定要提交表单吗?', 'content');
$form->disableResetButton();
global $__MINI_GLOBAL_TENANT_ID__;
$form->tab('列表式', function (Form $form) {
global $__MINI_GLOBAL_TENANT_ID__;
$form->html(function () {
return '
列表式布局生效
';
}, '');
$form->html(function () {
return '
';
}, '');
$form->radio('sticky_list_media_style', '媒体')->options([1 => '九宫格', 2 =>'满屏滑动'])->default(Settings::get('sticky_list_media_style', 2, true));
$form->html(function () {
return '
';
}, '');
$form->text('sticky_list_foot_tool', '卡片底部')->default( Settings::get('sticky_list_foot_tool', '1|234', true) );
if($__MINI_GLOBAL_TENANT_ID__ === 0) {
$form->radio('post_list_footer_share_icon', '分享图标')->options(['e67e' => '', 'e60d' => '', 'e68d' => '', 'e61e' => ''])->help('每次更改需要重新下载编译前端')->default(trim(Settings::get('post_list_footer_share_icon', 'e67e'), '\\'));
}
});
if($__MINI_GLOBAL_TENANT_ID__ === 0){
$form->tab('充电', function (Form $form) {
$form->radio('is_reward', '笔记是否开启充电')->options($this->options)->help('平台分成比例设置')->default(Settings::get('is_reward', 0));
});
}
$form->tab('随机背景', function (Form $form) {
$form->html(function () {
return 'Tips: 最少配置4个
';
}, '');
$form->image('sticky_random_bg_1', '随机背景1')->help('建议图片 100*100 px。 点击下载默认图')->url('files/uploads')->uniqueName()->autoUpload()->default(Settings::get('sticky_random_bg_1', '', true));
$form->image('sticky_random_bg_2', '随机背景2')->help('建议图片 100*100 px。 点击下载默认图')->url('files/uploads')->uniqueName()->autoUpload()->default(Settings::get('sticky_random_bg_2', '', true));
$form->image('sticky_random_bg_3', '随机背景3')->help('建议图片 100*100 px。 点击下载默认图')->url('files/uploads')->uniqueName()->autoUpload()->default(Settings::get('sticky_random_bg_3', '', true));
$form->image('sticky_random_bg_4', '随机背景4')->help('建议图片 100*100 px。 点击下载默认图')->url('files/uploads')->uniqueName()->autoUpload()->default(Settings::get('sticky_random_bg_4', '', true));
$form->image('sticky_random_bg_5', '随机背景5')->help('建议图片 100*100 px。 点击下载默认图')->url('files/uploads')->uniqueName()->autoUpload()->default(Settings::get('sticky_random_bg_5', '', true));
$form->image('sticky_random_bg_6', '随机背景6')->help('建议图片 100*100 px。 点击下载默认图')->url('files/uploads')->uniqueName()->autoUpload()->default(Settings::get('sticky_random_bg_6', '', true));
$form->image('sticky_random_bg_7', '随机背景7')->help('建议图片 100*100 px。 点击下载默认图')->url('files/uploads')->uniqueName()->autoUpload()->default(Settings::get('sticky_random_bg_7', '', true));
$form->image('sticky_random_bg_8', '随机背景8')->help('建议图片 100*100 px。 点击下载默认图')->url('files/uploads')->uniqueName()->autoUpload()->default(Settings::get('sticky_random_bg_8', '', true));
$form->image('sticky_random_bg_9', '随机背景9')->help('建议图片 100*100 px。 点击下载默认图')->url('files/uploads')->uniqueName()->autoUpload()->default(Settings::get('sticky_random_bg_9', '', true));
$form->image('sticky_random_bg_10', '随机背景10')->help('建议图片 100*100 px。 点击下载默认图')->url('files/uploads')->uniqueName()->autoUpload()->default(Settings::get('sticky_random_bg_10', '', true));
$form->image('sticky_random_bg_11', '随机背景11')->help('建议图片 100*100 px。 点击下载默认图')->url('files/uploads')->uniqueName()->autoUpload()->default(Settings::get('sticky_random_bg_11', '', true));
$form->image('sticky_random_bg_12', '随机背景12')->help('建议图片 100*100 px。 点击下载默认图')->url('files/uploads')->uniqueName()->autoUpload()->default(Settings::get('sticky_random_bg_12', '', true));
});
$form->tab('详情页', function (Form $form) {
$form->textarea('sticky_content_statement', '内容声明')->help('在内容详情页笔记底部展示')->default(Settings::get('sticky_content_statement', '© 本文著作权归作者所有,未经许可,请勿转载', true));
$form->number('sticky_reach_bottom_comment_page', '滑动加载评论页数')->help('若没有开启[相关推荐],则配置为0即可,代表一直滑动加载,若开启了相关推荐,则推荐配置为1,代表滑动加载一次评论后,后面的评论手动点击加载')->default(Settings::get('sticky_reach_bottom_comment_page', 0, true));
$form->html(function () {
return 'Tips: 开启相关推荐之后,在评论变成[点击加载]之后,才会开始加载相关推荐, 也就是说,滑动加载评论完的时候,才加载“相关推荐”。
';
}, '');
$form->radio('is_sticky_content_recommendation', '相关推荐')->options([0=>'关闭', 1=>'开启'])->help('暂时需要[付费1:搜索模块]后面更新后端时,再加普通的版本。')->default(Settings::get('is_sticky_content_recommendation', 0, true));
});
$form->tab('评论', function (Form $form) {
$form->number('sticky_comments_child_num', '评论加载回复数量')->help('第一次加载时,加载的二级回复数量,超过这个数量才会出现 "展开更多回复"')->default(Settings::get('sticky_comments_child_num', 3, true));
$form->radio('sticky_comment_force_bind_phone', '强制绑定手机号')->options([0=>'不强制', 1=>'强制'])->default(Settings::get('sticky_comment_force_bind_phone', 0, true));
$form->radio('sticky_comment_force_real_name', '强制实名')->options([0=>'不强制', 1=>'强制'])->default(Settings::get('sticky_comment_force_real_name', 0, true));
global $__MINI_GLOBAL_TENANT_ID__;
$form->radio('sticky_comment_force_subscribe_mp', '强制关注公众号')->options([0=>'不强制', 1=>'强制'])->help($__MINI_GLOBAL_TENANT_ID__ > 0 ? '必须开启服务器地址' : '必须开启服务器地址,具体请去[全局配置-支付-微信-公众号]')->default(Settings::get('sticky_comment_force_subscribe_mp', 0, true));
$form->multipleSelect('sticky_comment_force_university', '强制学生认证')->options(function ($sids) {
if($sids){
$res = ['-1'=>'全域'];
foreach ($sids as $sid){
$university = WxUniversity::where('sid', $sid)->first();
if ($university) {
$res[$university->sid] = $university->name;
}
}
return $res;
}else{
return ['-1'=>'全域'];
}
})->placeholder('请输入学校名字进行搜索')->ajax('select/universities')->default(Settings::get('sticky_comment_force_university', [], true));
});
$form->tab('视频', function (Form $form) {
$form->html(function () {
$res24 = __system__paycode__tip__(24);
Tooltip::make('.mini_global_admin_open_not_support_tip')
->bottom()
->title($res24['tip']);
return $res24['text'];
}, '一、仿抖音滑动视频开关');
$form->switch('sticky_video_slide_in_mp', '小程序')->help('完美')->default(Settings::get('sticky_video_slide_in_mp', 0, true));
$form->switch('sticky_video_slide_in_h5', 'H5网页')->help('部分浏览器不能自动播放')->default(Settings::get('sticky_video_slide_in_h5', 0, true));
$form->switch('sticky_video_slide_in_android_app', '安卓App')->help('暂不能评论和分享')->default(Settings::get('sticky_video_slide_in_android_app', 0, true));
$form->switch('sticky_video_slide_in_ios_app', 'IOS App')->help('暂不能评论和分享')->default(Settings::get('sticky_video_slide_in_ios_app', 0, true));
});
$form->tab('分享至', function (Form $form) {
$form->html(function () {
return 'Tips: 有时候你在这里开启了,但前端没显示,不用怀疑别的,肯定是对应的appid啥的你没配置,QQ和微博的appid在生成前端的页面进行配置。
';
}, '');
$form->html(function () {
return '';
}, '一、分享弹窗');
$form->checkbox('app_post_social_share_types', '社交分享')->options([
'refer' => '转发',
'wechat' => '微信',
'timeline' => '朋友圈',
'qq' => 'QQ',
'qzone' => 'QQ空间',
'weibo' => '微博',
])->default(Settings::get('app_post_social_share_types', ['refer', 'wechat', 'timeline', 'qq', 'qzone', 'weibo'], true));
$form->checkbox('app_post_social_system_types', '系统功能')->options([
'showCode' => '生成海报',
'poster2' => '小海报',
'edit' => '编辑',
'copyUrl' => '复制链接',
'feedback-notlike-1' => '不喜欢',
'video-url' => '视频下载',
'promotion' => '付费推广',
'report' => '举报',
])->default(Settings::get('app_post_social_system_types', ['showCode', 'copyUrl', 'feedback-notlike-1', 'promotion', 'report'], true));
$form->html(function () {
return '';
}, '二、笔记海报');
$form->text('app_post_poster_bottom_tip', '海报底部提示')->help('示例效果,默认值:❤ 扫一扫,找到你想要的生活')->default( Settings::get('app_post_poster_bottom_tip', '❤ 扫一扫,找到你想要的生活', true));
$form->checkbox('app_post_poster_share_types', '海报分享媒介')->options([
'wechat' => '微信',
'timeline' => '朋友圈',
'qq' => 'QQ',
'qzone' => 'QQ空间',
'weibo' => '微博',
'save' => '保存图片',
])->default(Settings::get('app_post_poster_share_types', ['wechat', 'timeline', 'qq', 'qzone', 'weibo', 'save'], true));
});
$form->tab('笔记推广', function (Form $form) {
global $__MINI_GLOBAL_TENANT_ID__;
$form->decimal('app_promoted_post_refresh_cost', '刷新一次费用/一个时间点费用')->default(Settings::get('app_promoted_post_refresh_cost', ($__MINI_GLOBAL_TENANT_ID__ > 0 ? Settings::get('app_promoted_post_refresh_cost', 1.0) : 1.0), true));
$form->divider();
$form->html(function () {
return '解释:
1、推广的场景:
首页-推荐tab,
圈子页-推荐tab,
搜索页-热帖榜
2、该模块依赖“计算热度”来实现,所以需要先解锁:
付费5 首页内容弱算法排序
3、首页场景和圈子场景,还需要设置排序,
点击查看 ';
}, '');
$form->table('app_promoted_post_options','付费置顶', function (NestedForm $table) {
$table->text('tip', '提示')->help('只是起到说明作用,比如:一天,一星期');
$table->number('hour', '增加时间(小时)')->help('置顶的时长');
$table->select('credit_type', '类型')->options([1=>'余额'])->default(1);
$table->text('price', '价格');
})->default(Settings::get('app_promoted_post_options', ($__MINI_GLOBAL_TENANT_ID__ > 0 ? Settings::get('app_promoted_post_options', '') : ''),true));
});
$form->tab('浏览量', function (Form $form) {
$form->html(function () {
return '我们有一个基础的浏览量,这个数据是真实的,我们可以选择根据其他表现数据,增加一些浏览量的展示, 这个虚拟的浏览量只给普通用户展示,超级管理员无效。
';
}, '');
$form->html(function () {
return '';
}, '一、本身加成');
$form->decimal('sticky_views_conver_view_count', '+浏览数 / 每浏览人')->help('同一用户多次浏览算作一次')->default(Settings::get('sticky_views_conver_view_count', 0.0));
$form->decimal('sticky_views_conver_img_count', '+浏览数 / 每图片')->default(Settings::get('sticky_views_conver_img_count', 0.0));
$form->decimal('sticky_views_conver_video_count', '+浏览数 / 有视频')->default(Settings::get('sticky_views_conver_video_count', 0.0));
$form->decimal('sticky_views_conver_vote_count', '+浏览数 / 有投票')->default(Settings::get('sticky_views_conver_vote_count', 0.0));
$form->decimal('sticky_views_conver_time_minute_count', '+浏览数 / 每分钟')->help('会自动 * loge(n分钟) 的系数进行增长减缓')->default(Settings::get('sticky_views_conver_time_minute_count', 0.0));
$form->divider();
$form->html(function () {
return '';
}, '二、笔记加成');
$form->decimal('sticky_views_conver_comment_count', '+浏览数 / 每评论')->default(Settings::get('sticky_views_conver_comment_count', 0.0));
$form->decimal('sticky_views_conver_collect_count', '+浏览数 / 每收藏')->default(Settings::get('sticky_views_conver_collect_count', 0.0));
$form->decimal('sticky_views_conver_liked_count', '+浏览数 / 每喜欢')->default(Settings::get('sticky_views_conver_liked_count', 0.0));
$form->divider();
$form->html(function () {
return '';
}, '三、作者加成');
$form->decimal('sticky_views_conver_author_followed_count', '+浏览数 / 每粉丝')->default(Settings::get('sticky_views_conver_author_followed_count', 0.0));
$form->decimal('sticky_views_conver_author_liked_count', '+浏览数 / 每被喜欢')->default(Settings::get('sticky_views_conver_author_liked_count', 0.0));
$form->divider();
$form->html(function () {
return '';
}, '四、圈子加成');
$form->decimal('sticky_views_conver_circle_follow_count', '+浏览数 / 每粉丝')->default(Settings::get('sticky_views_conver_circle_follow_count', 0.0));
});
$form->action('settings/action/post');
return $form;
}
public function post(Request $request){
SiteUtils::forget_config_data();
global $__MINI_GLOBAL_TENANT_ID__;
$foot_tool = $request->input('sticky_list_foot_tool');
$foot_tool_arr = explode('|', $foot_tool);
$footer = [
'left' => [],
'right' => []
];
if($foot_tool_arr && count($foot_tool_arr) == 2){
Cache::forget(_multi_key('config:app:post:list:footer'));
if($foot_tool_arr[0]){
for ($i = 0; $i < strlen($foot_tool_arr[0]); $i++){
$footer['left'][] = (int)$foot_tool_arr[0][$i];
}
}
if($foot_tool_arr[1]){
for ($i = 0; $i < strlen($foot_tool_arr[1]); $i++){
$footer['right'][] = (int)$foot_tool_arr[1][$i];
}
}
Cache::put(_multi_key('config:app:post:list:footer'), json_encode($footer));
}
if($__MINI_GLOBAL_TENANT_ID__ === 0){
Settings::set('is_reward', $request->input('is_reward'), true);
}
Settings::set('sticky_list_media_style', $request->input('sticky_list_media_style'), true, true);
Settings::set('sticky_list_foot_tool', $request->input('sticky_list_foot_tool'), true, true);
Settings::set('sticky_random_bg_1', $request->input('sticky_random_bg_1'), true, true);
Settings::set('sticky_random_bg_2', $request->input('sticky_random_bg_2'), true, true);
Settings::set('sticky_random_bg_3', $request->input('sticky_random_bg_3'), true, true);
Settings::set('sticky_random_bg_4', $request->input('sticky_random_bg_4'), true, true);
Settings::set('sticky_random_bg_5', $request->input('sticky_random_bg_5'), true, true);
Settings::set('sticky_random_bg_6', $request->input('sticky_random_bg_6'), true, true);
Settings::set('sticky_random_bg_7', $request->input('sticky_random_bg_7'), true, true);
Settings::set('sticky_random_bg_8', $request->input('sticky_random_bg_8'), true, true);
Settings::set('sticky_random_bg_9', $request->input('sticky_random_bg_9'), true, true);
Settings::set('sticky_random_bg_10', $request->input('sticky_random_bg_10'), true, true);
Settings::set('sticky_random_bg_11', $request->input('sticky_random_bg_11'), true, true);
Settings::set('sticky_random_bg_12', $request->input('sticky_random_bg_12'), true, true);
Settings::set('sticky_content_statement', $request->input('sticky_content_statement'), true, true);
Settings::set('sticky_reach_bottom_comment_page', _abs($request->input('sticky_reach_bottom_comment_page')), true, true);
Settings::set('is_sticky_content_recommendation', $request->input('is_sticky_content_recommendation'), true, true);
Settings::set('sticky_comments_child_num', $request->input('sticky_comments_child_num'), true, true);
Settings::set('sticky_comment_force_bind_phone', $request->input('sticky_comment_force_bind_phone'), true, true);
Settings::set('sticky_comment_force_real_name', $request->input('sticky_comment_force_real_name'), true, true);
Settings::set('sticky_comment_force_subscribe_mp', $request->input('sticky_comment_force_subscribe_mp'), true, true);
Settings::set('sticky_comment_force_university', $request->input('sticky_comment_force_university'), true, true);
$force_university = $request->input('sticky_comment_force_university');
if(_empty_(end($force_university))){
array_pop($force_university);
}
if(!_empty_($force_university)){
$str = '';
foreach ($force_university as $sid){
if(!_empty_($str)){
$str .= '、';
}
$str .= WxUniversity::where('sid', $sid)->value('name');
}
Settings::set('sticky_comment_force_university_tip', $str, true, true);
}
Settings::set('app_post_poster_bottom_tip', $request->input('app_post_poster_bottom_tip'), true, true);
Settings::set('app_post_social_share_types', $request->input('app_post_social_share_types'), true, true);
Settings::set('app_post_social_system_types', $request->input('app_post_social_system_types'), true, true);
Settings::set('app_post_poster_share_types', $request->input('app_post_poster_share_types'), true, true);
if($__MINI_GLOBAL_TENANT_ID__ === 0){
Settings::set('post_list_footer_share_icon', $request->input('post_list_footer_share_icon'), true);
}
Settings::set('sticky_video_slide_in_mp', $request->input('sticky_video_slide_in_mp') == 1 ? 1 : 0, true, true);
Settings::set('sticky_video_slide_in_h5', $request->input('sticky_video_slide_in_h5') == 1 ? 1 : 0, true, true);
Settings::set('sticky_video_slide_in_android_app', $request->input('sticky_video_slide_in_android_app') == 1 ? 1 : 0, true, true);
Settings::set('sticky_video_slide_in_ios_app', $request->input('sticky_video_slide_in_ios_app') == 1 ? 1 : 0, true, true);
Settings::set('app_promoted_post_refresh_cost', _between_($request->input('app_promoted_post_refresh_cost'),0, 100000), true, true);
Settings::set('app_promoted_post_options', AdminUtils::_table_data($request->input('app_promoted_post_options')), true, true);
$__global_config_version__ = Settings::get('__global_config_version__', 1) + 1;
Settings::set('__global_config_version__', $__global_config_version__);
GatewayUtils::success('all', 13, [ 'version' => $__global_config_version__, 'file' => basename(__FILE__) ]);
return $this->response()->success('成功!');
}
}