新手司机第一次单独上路,老司机们有什么建议吗?

开车这件事,无非几点:

1.不懂交规;

2.不懂危险点;

3.车辆配置;

下面简单说一下:

遵守交规是安全行驶的必要条件,不然在违法的情况下,安全只是运气。

车辆盲区及常见的危险,这个要靠经验积累,或者借鉴别人总结的:梦飞驾道有出了三本书,可以公众号搜索:梦飞驾道

车辆配置这个事,建议借助360影像,关注自身车辆的行驶位置,特别是窄路。另外车道保持也可以借助。

不要相信别人说的那些建议:什么开慢车,别人会让你,开几次就会了。

记住:守法,知危险,会避险,了解车,这是开车安全的基本要求。

靠运气只会让交通环境越来越差。

看看那些陋习:

变道不打灯,强制变道,不会看交通标志,乱开远光灯,超速行驶,不系安全带,开车玩手机打电话等等。

wordpress添加post_type自定义内容类型

wordpress默认的内容模型只有文章,如果想增加其它的,就要使用到  post_type,通过post_type自定义内容模型,例如影视,图片,链接等模型。

只需在主题的function.php文件中添加对应post_type代码即可。

相关注释说明:

# 在 'init' 钩子上注册自定义文章类型.
add_action('init', 'my_register_post_types');

/**
* 注册插件需要的文章类型
*
* @since 1.0.0
* @access public
* @return void
*/
function my_register_post_types()
{

// 设置文章类型参数
$args = (

// 文章类型的简介,貌似没有在 WordPress 内核中使用,不过我们可以在主题或插件中使用
'description' => __('This is a description for my post type.', 'wprs'),
// 字符串

// 文章类型是否公开给管理员或者前端用户使用,这个参数的值是后面很多参数的默认值
'public' => true,
// bool (default is FALSE)

// 是否可以在前端作为 parse_request() 的一部分查询该文章类型
'publicly_queryable' => true,
// bool (默认为 'public' 参数的值).

// 是否在前端搜索中隐藏该文章类型
'exclude_from_search' => false,
// bool (默认为 'public' 反值)

// 是否可以在导航菜单中选择
'show_in_nav_menus' => false,
// bool (默认为 'public' 参数的值)

// 是否在管理界面生成默认的管理界面,使用后面的参数,可以控制生成的 UI 组件,如果我们要构建自己的管理界面,
//设置该参数为 False
'show_ui' => true,
// bool (默认为 'public' 的值)

// 是否在管理菜单中显示,'show_ui' 参数必须设置为 True,这个参数才有效,我们页可以设置该参数为一个顶级菜单
//(如:'tools.php'),这种情况下,该文章类型的管理菜单出现在 Tools 菜单下面
'show_in_menu' => true,
// bool (默认为 'show_ui' 的值)

// 是否在管理工具条中显示该文章类型,如果设置为 true,WordPress 会在管理工具条中添加一个新建该文章类型文章的链接
'show_in_admin_bar' => true,
// bool (默认为 'show_in_menu' 的值)

// 该文章类型在管理菜单中出现的位置,'show_in_menu' 必须设置为 true,该参数才有用
'menu_position' => null,
// int (默认为 25 - 出现在「评论」菜单后面)

// 管理菜单的图标 URI,或者 Dashicon 的类名称. 参见: https://developer.wordpress.org/resource/dashicons/
'menu_icon' => null,
// 字符串 (默认使用文章图标)

// 属于该文章类型的文章是否可以通过 WordPress 导入/导出插件或者类型的插件导出
'can_export' => true,
// bool (默认为 TRUE)

// 是否暴露在 Rest API 中
'show_in_rest',
// 布尔值,默认为 false

// 使用 Rest API 访问的基础 URI 别名
'rest_base',
// 字符串,默认为文章类型别名

// 使用自定义 Rest API 控制器而不是默认的 WP_REST_Posts_Controller,自定义控制器必须继承 WP_REST_Controller
'rest_controller_class',
// 字符串,默认为 WP_REST_Posts_Controller

// 是否在删除用户时,删除他们撰写的文章
'delete_with_user' => false,
// bool (如果文章类型支持 ‘author’ 功能,该参数默认为 TRUE)

// 该文章类型是否支持多级文章(父级文章/子文章/等等.)
'hierarchical' => false,
// bool (默认为 FALSE)

// 是否为该文章类型开启存档页面 index/archive/root 页面,如果设置为 TRUE, 该文章类型名称将作为存档页面别名使用,
//当然,我们页可以设置自定义存档别名
'has_archive' => 'example',
// bool|string (默认为 FALSE)

// 为该文章类型设置 query_var 键,如果设置为 TRUE, 将使用文章类型名称,如果需要,也可以设置自定义字符串
'query_var' => 'example',
// bool|string (默认为 TRUE - 文章类型名称)

// 用于构建该文章类型的编辑、删除、阅读权限的字符串,可以设置字符串或者数组,如果单词的负数不是加“s”的形式,我们需要
//设置一个数组,array( 'box', 'boxes' )
'capability_type' => 'example',
// string|array (默认为 'post')

// 是否让 WordPress 映射权限元数据 (edit_post, read_post, delete_post),如果设置为 FALSE, 我们需要自己通过
//过滤 “map_meta_cap” 钩子来设置文章类型权限
'map_meta_cap' => true,
// bool (默认为 FALSE)

// 设置更精确的文章类型权限,WordPress 默认使用 'capability_type' 参数来构建权限,多数情况下,我们不需要像文章
//或页面这么完整的权限,下面是我经常使用的几个权限: 'manage_examples', 'edit_examples', 'create_examples'.
// 每个文章类型都是独特的,我们可以根据需要调整这些权限
'capabilities' => (

// meta caps (don't assign these to roles)
'edit_post' => 'edit_example',
'read_post' => 'read_example',
'delete_post' => 'delete_example',

// primitive/meta caps
'create_posts' => 'create_examples',

// primitive caps used outside of map_meta_cap()
'edit_posts' => 'edit_examples',
'edit_others_posts' => 'manage_examples',
'publish_posts' => 'manage_examples',
'read_private_posts' => 'read',

// primitive caps used inside of map_meta_cap()
'read' => 'read',
'delete_posts' => 'manage_examples',
'delete_private_posts' => 'manage_examples',
'delete_published_posts' => 'manage_examples',
'delete_others_posts' => 'manage_examples',
'edit_private_posts' => 'edit_examples',
'edit_published_posts' => 'edit_examples',
),

// 定义该文章类型的 URL 结构,我们可以设置一个具体的参数或一个布尔值,如果设置为 false,该文章类型将不支持
// URL Rewrite 功能
'rewrite' => (

// 文章类型的别名
'slug' => 'example', // string (默认为文章类型名称)

// 是否在固定链接中显示 $wp_rewrite->front 文章类型别名
'with_front' => false, // bool (默认为 TRUE)

// 是否允许文章类型中的文章通过 <!--nextpage--> 快捷标签实现分页
'pages' => true, // bool (默认为 TRUE)

// 是否为订阅源创建漂亮的固定链接feeds.
'feeds' => true, // bool (默认为 'has_archive' 的值)

// 为固定链接设置设置 endpoint 遮罩
'ep_mask' => EP_PERMALINK, // const (默认为 EP_PERMALINK)
),

// 文章类型支持的 WordPress 功能,许多参数在文章编辑界面非常有用。这有助于其他主题和插件决定让用户使用什么功能
//或者提供什么数据,我们可以为该参数设置一个数组,也可以设置为 false,以防止添加任何功能,文章类型创建后,我们
//可以使用 add_post_type_support() 添加功能,或使用 remove_post_type_support() 删除功能。默认功能是“标题
//”和“编辑器”。
'supports' => (
'title',// 文章标题 ($post->post_title).
'editor', // 文章内容 ($post->post_content).
'excerpt', // 文章摘要 ($post->post_excerpt).
'author', // 文章作者 ($post->post_author).
'thumbnail',// 特色图像 (当前站点使用的主题必须支持 'post-thumbnails').
'comments', // 显示评论元数据盒子,如果设置了该值, 这个文章类型将支持评论
'trackbacks', // 在编辑界面显示允许发送链接通知的元数据盒子
'custom-fields', // 显示自定义字段元数据盒子
'revisions', // 显示版本元数据盒子,如果设置了该参数,WordPress 将在数据库中保存文章版本
'page-attributes', // 显示“页面属性”元数据盒子,包含父级页面或页面排序字段。
'post-formats',// 显示文章格式元数据盒子,并允许该文章类型使用文章格式
),
// 标签用来在管理界面或前端显示该文章类型的名称,标签参数不会自动改写文章更新、错误等信息中的字段,我们需要过滤
// 'post_updated_messages' 钩子来自定义这些消息。
'labels' => (
'name' => __('Posts', 'wprs'),
'singular_name' => __('Post', 'wprs'),
'menu_name' => __('Posts', 'wprs'),
'name_admin_bar' => __('Posts', 'wprs'),
'add_new' => __('Add New', 'wprs'),
'add_new_item' => __('Add New Post', 'wprs'),
'edit_item' => __('Edit Post', 'wprs'),
'new_item' => __('New Post', 'wprs'),
'view_item' => __('View Post', 'wprs'),
'search_items' => __('Search Posts', 'wprs'),
'not_found' => __('No posts found', 'wprs'),
'not_found_in_trash' => __('No posts found in trash', 'wprs'),
'all_items' => __('All Posts', 'wprs'),
'featured_image' => __('Featured Image', 'wprs'),
'set_featured_image' => __('Set featured image', 'wprs'),
'remove_featured_image' => __('Remove featured image', 'wprs'),
'use_featured_image' => __('Use as featred image', 'wprs'),
'insert_into_item' => __('Insert into post', 'wprs'),
'uploaded_to_this_item' => __('Uploaded to this post', 'wprs'),
'views' => __('Filter posts list', 'wprs'),
'pagination' => __('Posts list navigation', 'wprs'),
'list' => __('Posts list', 'wprs'),

// 只在分级文章类型中使用的标签
'parent_item' => __('Parent Post', 'wprs'),
'parent_item_colon' => __('Parent Post:', 'wprs'),
),
);

// 注册文章类型
register_post_type(
'example', // 文章类型名称,最多 20 个字符,不支持大写或空格
$args // 文章类型的参数
);

}

post_type自定义产品模型参考:

// Register Custom Post Type
function products_post_type() {

$labels = array(
'name' => _x( 'Products', 'Post Type General Name', 'text_domain' ),
'singular_name' => _x( 'Product', 'Post Type Singular Name', 'text_domain' ),
'menu_name' => __( 'Products', 'text_domain' ),
'name_admin_bar' => __( 'Product', 'text_domain' ),
'archives' => __( 'Item Archives', 'text_domain' ),
'attributes' => __( 'Item Attributes', 'text_domain' ),
'parent_item_colon' => __( 'Parent Product:', 'text_domain' ),
'all_items' => __( 'All Products', 'text_domain' ),
'add_new_item' => __( 'Add New Product', 'text_domain' ),
'add_new' => __( 'New Product', 'text_domain' ),
'new_item' => __( 'New Item', 'text_domain' ),
'edit_item' => __( 'Edit Product', 'text_domain' ),
'update_item' => __( 'Update Product', 'text_domain' ),
'view_item' => __( 'View Product', 'text_domain' ),
'view_items' => __( 'View Items', 'text_domain' ),
'search_items' => __( 'Search products', 'text_domain' ),
'not_found' => __( 'No products found', 'text_domain' ),
'not_found_in_trash' => __( 'No products found in Trash', 'text_domain' ),
'featured_image' => __( 'Featured Image', 'text_domain' ),
'set_featured_image' => __( 'Set featured image', 'text_domain' ),
'remove_featured_image' => __( 'Remove featured image', 'text_domain' ),
'use_featured_image' => __( 'Use as featured image', 'text_domain' ),
'insert_into_item' => __( 'Insert into item', 'text_domain' ),
'uploaded_to_this_item' => __( 'Uploaded to this item', 'text_domain' ),
'items_list' => __( 'Items list', 'text_domain' ),
'items_list_navigation' => __( 'Items list navigation', 'text_domain' ),
'filter_items_list' => __( 'Filter items list', 'text_domain' ),
);
$args = array(
'label' => __( 'Product', 'text_domain' ),
'description' => __( 'Product information pages.', 'text_domain' ),
'labels' => $labels,
'supports' => array( 'title', 'editor', 'thumbnail', 'comments', 'custom-fields' ),
'taxonomies' => array( 'category', 'post_tag' ),
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'menu_position' => 5,
'show_in_admin_bar' => true,
'show_in_nav_menus' => true,
'can_export' => true,
'has_archive' => true,
'exclude_from_search' => false,
'publicly_queryable' => true,
'capability_type' => 'page',
);
register_post_type( 'product', $args );

}
add_action( 'init', 'products_post_type', 0 );

文章模型参考:

// Register Custom Post Type
function articles_post_type() {

$labels = array(
'name' => _x( 'Articles', 'Post Type General Name', 'text_domain' ),
'singular_name' => _x( 'Article', 'Post Type Singular Name', 'text_domain' ),
'menu_name' => __( 'Articles', 'text_domain' ),
'name_admin_bar' => __( 'Article', 'text_domain' ),
'archives' => __( 'Item Archives', 'text_domain' ),
'attributes' => __( 'Item Attributes', 'text_domain' ),
'parent_item_colon' => __( 'Parent Item:', 'text_domain' ),
'all_items' => __( 'All Items', 'text_domain' ),
'add_new_item' => __( 'Add New Item', 'text_domain' ),
'add_new' => __( 'Add New', 'text_domain' ),
'new_item' => __( 'New Item', 'text_domain' ),
'edit_item' => __( 'Edit Item', 'text_domain' ),
'update_item' => __( 'Update Item', 'text_domain' ),
'view_item' => __( 'View Item', 'text_domain' ),
'view_items' => __( 'View Items', 'text_domain' ),
'search_items' => __( 'Search Item', 'text_domain' ),
'not_found' => __( 'Not found', 'text_domain' ),
'not_found_in_trash' => __( 'Not found in Trash', 'text_domain' ),
'featured_image' => __( 'Featured Image', 'text_domain' ),
'set_featured_image' => __( 'Set featured image', 'text_domain' ),
'remove_featured_image' => __( 'Remove featured image', 'text_domain' ),
'use_featured_image' => __( 'Use as featured image', 'text_domain' ),
'insert_into_item' => __( 'Insert into item', 'text_domain' ),
'uploaded_to_this_item' => __( 'Uploaded to this item', 'text_domain' ),
'items_list' => __( 'Items list', 'text_domain' ),
'items_list_navigation' => __( 'Items list navigation', 'text_domain' ),
'filter_items_list' => __( 'Filter items list', 'text_domain' ),
);
$args = array(
'label' => __( 'Article', 'text_domain' ),
'description' => __( 'Site articles.', 'text_domain' ),
'labels' => $labels,
'supports' => array( 'title', 'editor', 'thumbnail', 'comments', 'revisions' ),
'taxonomies' => array( 'category', 'post_tag' ),
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'menu_position' => 5,
'show_in_admin_bar' => true,
'show_in_nav_menus' => true,
'can_export' => true,
'has_archive' => true,
'exclude_from_search' => false,
'publicly_queryable' => true,
'capability_type' => 'page',
);
register_post_type( 'articles', $args );

}
add_action( 'init', 'articles_post_type', 0 );

添加自定义 Meta Box 需要用到 add_meta_box 函数,注册一个 Meta Box :

add_action( 'add_meta_boxes', 'movie_director' );
function movie_director() {
add_meta_box(
'movie_director',
'电影导演',
'movie_director_meta_box',
'movie',
'side',
'low'
);
}

然后在配置参数里面指定了回调函数 movie_director_meta_box,我们需要在这个函数里面创建表单:

function movie_director_meta_box($post) {
// 创建临时隐藏表单,为了安全
wp_nonce_field( 'movie_director_meta_box', 'movie_director_meta_box_nonce' );
// 获取之前存储的值
$value = get_post_meta( $post->ID, '_movie_director', true );
?>
<label for="movie_director"></label>
<input type="text" id="movie_director" name="movie_director" value="" placeholder="输入导演名称" >
<?php
}

自定义 Meta Box 数据的保存

add_action( 'save_post', 'movie_director_save_meta_box' );
function movie_director_save_meta_box($post_id){
// 安全检查
// 检查是否发送了一次性隐藏表单内容(判断是否为第三者模拟提交)
if ( ! isset( $_POST['movie_director_meta_box_nonce'] ) ) {
return;
}
// 判断隐藏表单的值与之前是否相同
if ( ! wp_verify_nonce( $_POST['movie_director_meta_box_nonce'], 'movie_director_meta_box' ) ) {
return;
}
// 判断该用户是否有权限
if ( ! current_user_can( 'edit_post', $post_id ) ) {
return;
}
// 判断 Meta Box 是否为空
if ( ! isset( $_POST['movie_director'] ) ) {
return;
}
$movie_director = sanitize_text_field( $_POST['movie_director'] );
update_post_meta( $post_id, '_movie_director', $movie_director );
}

输出自定义 Meta Box 数据参考:

echo '导演:'.get_post_meta( get_the_ID(), '_movie_director', true );

后台列表中显示更多字段,使用 manage_$post_type_posts_custom_column 即可实现

add_action("manage_posts_custom_column", "movie_custom_columns");
add_filter("manage_edit-movie_columns", "movie_edit_columns");
function movie_custom_columns($column){
global $post;
switch ($column) {
case "movie_director":
echo get_post_meta( $post->ID, '_movie_director', true );
break;
}
}
function movie_edit_columns($columns){
$columns['movie_director'] = '导演';
return $columns;
}

即添加了列导演字段,并从每篇文章中读取出来。

 

调用自定义post_type内容模型方法,需要在主题function.php文件添加 pre_get_posts 这个 action 处理:

add_action( 'pre_get_posts', 'add_my_post_types_to_query' );
function add_my_post_types_to_query( $query ) {
if ( is_home() && $query->is_main_query() )
$query->set( 'post_type', array( 'post', 'page', 'movie' ) );
return $query;
}

在上面的 $query 变量里面设置的 post_type 数组就是要在主循环里面展示的内容,将你的自定义 Post Type 填写进去就可以在首页中显示出来了。

新建product的post_type模板archive-product.php,代码参考:

<?php $args = array( 'post_type' => 'product', 'posts_per_page' => 10);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); ?>
<div class="col-4">
<a href="<?php the_permalink(); ?>" class="item wow zoomIn"> 
<b><?php the_title(); ?></b>
</div>
</a>
</div>
<?php endwhile; ?>
<?php
the_posts_pagination( array(
'mid_size' => 2,
'prev_text' => __( 'Prev', 'textdomain' ),
'next_text' => __( 'Next', 'textdomain' ),
) );
?>

本文参考:

https://www.cnblogs.com/ytkah/p/11868158.html

https://www.cnblogs.com/ytkah/p/11926186.html

https://blog.wpjam.com/article/wordpress-post-type/

 

电子书epub转pdf在线工具

epub转pdf工具网址:

https://epub2pdf.io/cn/

更多工具请在网站右上角进行选择。

其它转换有:epub转mobi,拆分pdf,pdf转epub,djvu转pdf,mobi转pdf,pdf转mobi等

目前网站是100%免费提供服务。

 

 

某电影的简评

怎么说呢。一些现实的小片段,一个胖子的逆袭,人情冷暖。没啥出彩的地方。

跟那个《来都来了》算是一类电影。一个分几个故事,一个一个故事。

可以看一下,有些笑料。比如剧中她妹婚内出轨有了别人的娃,离了后还想问老公要抚养费,娃要上学,想要她的房。

帮亲戚,自己上电视台参加求职节目,节目组恶意剪辑自己的视频,打造成一个骂亲妈的人设,亲戚还让自己装晕倒,倒了还要抓拍流泪,没流泪还挖苦。

感悟:综艺节目真是全是演的啊

自己的发小,抢自己对象,然后两人结婚要自己当伴娘,发小说:你不去,别人都会当我是小三。

拳击馆为了业绩让长得帅的拳手去参加比赛(自己的教练有能力去的),自己给拳击馆的拳手钱,让教练去参加比赛(教练的梦想是赢一场)。
比赛时,自己的教练又收钱输给对手(梦想又不能生活)。

 

新年减肥计划

新年减肥计划

准备阶段

在开始任何减肥计划之前,建议先去看医生,确保你的身体状况适合减肥。同时,记录下你的初始体重、身体围度(如腰围、臀围等),以便日后追踪进度。

饮食计划

  1. 控制热量摄入:使用饮食追踪应用或日记,记录每日摄入的热量,确保摄入量低于或等于你的每日消耗热量。
  2. 均衡饮食:确保每餐都包含蛋白质、碳水化合物和脂肪,并多吃蔬菜和水果。
  3. 定时定量:遵循“三餐不可少,零食要控制”的原则,避免暴饮暴食。
  4. 减少高糖和高脂食品:避免或减少摄入含糖饮料、油炸食品和甜点。
  5. 增加膳食纤维:多吃全谷类、豆类、坚果和种子等富含纤维的食物,有助于增加饱腹感。

运动计划

  1. 有氧运动:每周至少进行3-5次,每次30-60分钟的中等强度运动(如快走、慢跑、游泳、骑自行车等)。
  2. 力量训练:每周至少2次的力量训练,可以是哑铃、健身器械或自身体重训练。
  3. 柔韧性练习:每次运动后做拉伸,增加身体柔韧性,减少运动伤害。
  4. 逐步增加强度:开始时选择适合自己的运动强度,然后逐渐增加强度和时间。

生活习惯

  1. 充足睡眠:每晚保证7-8小时的睡眠,有助于身体恢复和减少食欲。
  2. 减少压力:通过冥想、瑜伽、深呼吸等方式减轻压力,避免情绪性进食。
  3. 建立支持系统:与家人和朋友分享你的减肥计划,他们的鼓励和支持会帮助你坚持下去。
  4. 定期监测:每周量一次体重和身体围度,但不要过于频繁,以免因短期波动而影响信心。

应对挑战

  1. 遇到平台期:当体重不再下降时,不要气馁。可以尝试调整饮食或增加运动量来突破平台期。
  2. 食欲增加:多喝水、增加高纤维食物的摄入,或尝试短暂的快走来抑制食欲。
  3. 时间管理:如果时间紧张,可以选择短时间高强度的运动,如HIIT(高强度间歇训练)。
  4. 保持动力:设置短期和长期的奖励目标,每达到一个小目标就给自己一点奖励。

总结

减肥是一个需要耐心和持久性的过程。重要的是要找到一种你可以长期坚持的健康生活方式,而不仅仅是一个短期的饮食或运动计划。记住,小改变也能带来大不同,持续的努力终将带来显著的成果。祝你新年快乐,减肥成功!

pdf.js报错MIME type of "application/octet-stream"的解决方法

版本:pdfjs-4.0.379-legacy-dist

原因,新版pdf.js有properties,bcmap和mjs三种格式文件,默认情况下,服务器环境不支持,需要单独配置对应的MIME类型。

解决方法:

服务器配置MIME类型。

nginx服务器如果配置文件中有

http
{
include mime.types;

就可以直接在mime.types中添加三行:

application/javascript mjs;
application/octet-stream properties;
application/octet-stream bcmap;

其它类型服务器可以参考添加。

FRP专用反代配置备份

 

http
{
......
resolver 1.1.1.1;#添加这一行,避免出现502错误
......

## FRP专用反代配置开始

server
{
listen 80;
server_name *.xxxx.net;
location / {
proxy_pass http://$host:8080;
proxy_set_header Host $host:80;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_hide_header X-Powered-By;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
proxy_pass http://$host:8080;#添加这一行
expires 30d;
}

location ~ .*\.(js|css)?$
{
proxy_pass http://$host:8080;#添加这一行
expires 12h;
}
location ~ /\.
{
deny all;
}
}

server
{
listen 80;
server_name www.xxxx.net;
location / {
proxy_pass http://$host:8080;
proxy_set_header Host $host:80;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_hide_header X-Powered-By;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
proxy_pass http://$host:8080;#添加这一行
expires 30d;
}

location ~ .*\.(js|css)?$
{
proxy_pass http://$host:8080;#添加这一行
expires 12h;
}
location ~ /\.
{
deny all;
}
}

server
{
listen 80;
listen 443 ssl http2;
server_name yun.xxxxx.net;
large_client_header_buffers 4 1m;

location / {
proxy_pass http://$host:8080;
proxy_set_header Host $host:80;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_hide_header X-Powered-By;
proxy_buffer_size 64k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
}

ssl_certificate /frps/yun.xxxx.net/fullchain.pem;
ssl_certificate_key /frps/yun.xxxx.net/privkey.pem;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
error_page 497 https://$host$request_uri;

#SSL-END

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
proxy_pass http://$host:8080;#添加这一行
expires 30d;
}

location ~ .*\.(js|css)?$
{
proxy_pass http://$host:8080;#添加这一行
expires 12h;
}
location ~ /\.
{
deny all;
}
}

## FRP专用反代配置结束

 

 

经典七言春联47条

来源于网络。

1.财运亨通全家乐  事业有成满堂春  横批:吉星高照
2.万象更新迎百福  一帆风顺纳千祥  横批:喜迎新春
3.占天时地利人和  取五湖四海财宝  横批:万象更新
4.花开富贵重重喜  运转乾坤步步高  横批:吉星高照
5.一年好景同春到  四季财源顺时来  横批:吉星高照
6.东成西就全家福  南通北达广生财  横批:大展宏图
7.春至百花香满地  时来万事喜盈门  横批:喜迎新春
8.吉星高照家富有  大地回春人安康  横批:财源广进
9.和顺满门添百福  平安二字值千金  横批:万象更新
10.和顺一门生百福  平安二字值千金  横批:吉星高照
11.一门天赐平安福  四海人与富贵春  横批:喜迎新春
12.财发如春多得意  福来似海正逢时  横批:万象更新
13.恭喜发财财到手  迎春按福福满堂  横批:欢度春节
14.平安富贵财源进  如意吉祥事业兴  横批:喜迎新春
15.爆竹四起接五福  梅花一枝报三春  横批:万事如意
16.喜居宝地千年旺  福照家门万事兴  横批:喜气盈门
17.荣华富贵盈门喜  福寿唐宋满户春  横批:喜气盈门
18.门迎晓日财源广  户纳春风吉庆多  横批:新春大吉
19.好日子舒心如意  美生活幸福平安  横批:家庭幸福
20.一帆风顺全家福  万事如意满门春  横批:喜气盈门
21.开门迎春春满院 抬头见喜事多  横批:辞旧迎春
22.一年四季春常在  万自千红永开花  横批:欢度春节
23.八方财宝进门庭  四面贵人相照应  横批:大展宏图
24.门迎春夏秋冬福  户纳东南西北财  横批:五福临门
25.年年顺景财源进  岁岁平安福寿临  横批:大展宏图
26.春回大地春光好  福降人间福禄多  横批:春意盎然
27.春到人间人增寿  喜临门第门生辉  横批:新春大吉
28.辞旧岁家业兴旺  迎新年百福呈祥  横批:新春大吉
29.福来小院四季乐  春到门户合家欢  横批:喜气盈门
30.和气盈门迎瑞气  春光满眼映文光  横批:喜气盈门
31.一家欢笑春风暖  四季平安淑景新  横派:辞旧迎春
32.迎新春年年如意  接鸿福步步登高  横批:新春大吉
33.富贵双全人如意  财喜两旺家和睦  横批:万事如意
34.合家欢乐迎富贵  满堂欢喜永平安  横批:万事如意
35.春风得意财源广  平安富贵家业兴  横批:前程似锦
36.天赐宝地财源广  地助富门吉祥家  横批:五福临门
37.迎春迎喜迎富贵  接财接福接平安  横批:心想事成
38.风水宝地千财旺  天顺人和万事兴  横批:五福临门
39.迎新春前程似锦  贺佳节事业辉煌  横批:辞旧迎春
40.人兴财旺鸿福长  家和事顺好运来  横批:心想事成
41.福门家业腾云起  宝地财源乘风来  横批:万事如意
42.占地利生意兴隆  得天时财源广进  横批:四季兴隆
43.通天生意腾云起  遍地商机鸿云来  横批:财源广进
44.生意如同春意美  财源更比水源长  横批:财源广进
45.三阳开泰财源广  六合荣春生意兴  横批:四季兴隆
46.生意兴隆通四海  财源茂盛达三江  横批:财源不断
47.五湖生意如云集  四海财源似水来  横批:生意兴隆

Umi-OCR 免费开源文字识别工具

免费,开源,可批量的离线OCR软件,适用于 Windows7 x64 及以上

开源地址:https://github.com/hiroi-sora/Umi-OCR

免费:本项目所有代码开源,完全免费。
方便:解压即用,离线运行,无需网络。
高效:自带高效率离线OCR引擎。只要电脑性能足够,可以比在线OCR服务更快。
灵活:支持命令行、HTTP接口等多种调用方式。
功能:截图OCR / 批量OCR / 二维码 / 公式识别(测试中) / PDF识别(测试中)