NineDfish / Trains

培训小程序,实现线上报名缴费、学员签到、培训证书、数据统计等功能

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

培训课程V1.0

mini_front 前端小程序

Laravel 做后端管理和API

概要说明

小程序培训报名+后端管理

功能说明

1、实现了线上报名,线下参加培训的功能。 
2、依据client不同,支持多客户端,绑定角色,实现分管。
3、支持培训证书发放
4、数据统计

部署安装

小程序

  • 开发者工具打开mini_front
  • 修改config.js文件的host,接口地址
  • 小程序后台配置消息模板

后台部署

  • 导入数据库train.sql
  • 修改.env数据库配置
  • 修改小程序配置和商户支付配置,/config/wechat.php mini项

参考

微信sdk

https://github.com/overtrue/laravel-wechat

后台管理系统框架

https://github.com/DukeAnn/Laradmin/blob/master

https://lipis.github.io/bootstrap-sweetalert/

https://github.com/andersao/l5-repository

性能优化

1、配置信息缓存
php artisan config:cache //生成
php artisan config:clear //取消
2、路由缓存
php artisan route:cache //生成
php artisan route:clear //取消
3、类映射缓存
php artisan optimize
php artisan clear-compiled
4、自动加载
composer dumpautoload -o
5、关闭应用debug app.debug=false
6、开启php7的OPcache扩展,配置如下
        opcache.memory_consumption=128
        opcache.interned_strings_buffer=8
        opcache.max_accelerated_files=4000
        opcache.revalidate_freq=60
        opcache.fast_shutdown=1
        opcache.enable_cli=1
7、nginx开启gzip压缩

培训课程V2.0

数据库修改脚本

#添加表备注
alter table t_pay_info comment "成功支付信息表";
alter table `t_phone_code` comment "短信验证码表";
alter table `t_nursery_students` comment "园所学员表";
alter table `t_trains` comment "培训课程表";
alter table t_train_charge comment "培训课程扩展表";
alter table t_wx_user comment "用户表";
alter table `t_train_order` comment "培训订单表";
alter table `t_order_students` comment "订单学员表";
alter table t_train_cert comment "培训证书表";
alter table t_refund comment "退款表";
alter table `t_refund_log` comment "退款日志表";

#修改退款表
CREATE TABLE `t_refund_log` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `order_sn` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '订单号',
  `transaction_id` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '微信交易号',
  `total_fee` decimal(10,2) unsigned NOT NULL COMMENT '交易金额',
  `refund_no` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '退款号',
  `refund_id` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '退款交易号',
  `refund_fee` decimal(10,2) unsigned NOT NULL COMMENT '退款金额',
  `refund_desc` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '退款描述',
  `is_refund` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '0 未退款 1已退款',
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建日期',
  `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '更新日期',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='退款日志表';
CREATE TABLE `t_leave` (
  `leave_id` int(10) NOT NULL AUTO_INCREMENT,
  `leave_month` char(7) NOT NULL DEFAULT '' COMMENT '请假月份',
  `leave_reason` tinyint(2) NOT NULL DEFAULT '0' COMMENT '请假原因',
  `leave_source` tinyint(1) NOT NULL DEFAULT '1' COMMENT '请假来源 1-个人 2-官方',
  `num` int(2) NOT NULL DEFAULT '0' COMMENT '请假节数',
  `doing_order_id` int(10) NOT NULL DEFAULT '0' COMMENT '订单id',
  `doing_goods_id` int(10) NOT NULL DEFAULT '0' COMMENT '课程id',
  `doing_student_id` int(10) NOT NULL DEFAULT '0' COMMENT '学员id',
  `uid` int(10) NOT NULL DEFAULT '0' COMMENT '用户id',
  `type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0请假1销假',
  `status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0正常1已销假',
  `remark` varchar(200) NOT NULL DEFAULT '' COMMENT '有效期备注',
  `create_time` int(10) NOT NULL DEFAULT '0' COMMENT '创建时间',
  `update_time` int(10) NOT NULL DEFAULT '0' COMMENT '修改时间',
  `cancel_leave_id` int(10) NOT NULL DEFAULT '0' COMMENT '取消的请假id',
  `img_ids` char(64) NOT NULL DEFAULT '' COMMENT '请假证明',
  PRIMARY KEY (`leave_id`),
  KEY `doing_order_id` (`doing_order_id`),
  KEY `doing_student_id` (`doing_student_id`),
  KEY `uid` (`uid`)
) ENGINE=InnoDB AUTO_INCREMENT=73770 DEFAULT CHARSET=utf8 COMMENT='请假表';

CREATE TABLE `t_leave_log` (
  `doing_leave_log_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `doing_order_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '订单id',
  `add_leave_nums` tinyint(1) NOT NULL DEFAULT '0' COMMENT '本次操作更新的请假次数',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '操作时间',
  PRIMARY KEY (`doing_leave_log_id`),
  KEY `idx_doing_order_id` (`doing_order_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='请假日志表';

CREATE TABLE `t_leave_num` (
  `leave_num_id` int(10) NOT NULL AUTO_INCREMENT,
  `order_id` int(10) NOT NULL DEFAULT '0' COMMENT '订单id',
  `leave_num` tinyint(3) NOT NULL DEFAULT '0' COMMENT '请假次数',
  `course_date` tinyint(3) NOT NULL DEFAULT '0' COMMENT '原课时',
  PRIMARY KEY (`leave_num_id`),
  KEY `idx_order_id` (`order_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='请假次数表';

开发辅助命令

https://packagist.org/packages/prettus/l5-repository php artisan make:entity Post php artisan make:repository "Blog\Post" php artisan make:repository "Blog\Post" --fillable="title,content" php artisan make:entity Cat --fillable="title:string,content:text" --rules="title=>required|min:2, content=>sometimes|min:10"

Route::resource('cats', CatsController::class); php artisan make:bindings Cats

TIP

Email:lhf2008@yeah.net

About

培训小程序,实现线上报名缴费、学员签到、培训证书、数据统计等功能

License:Apache License 2.0


Languages

Language:PHP 35.5%Language:JavaScript 33.3%Language:HTML 31.0%Language:CSS 0.2%Language:Vue 0.0%