SDYY大学普通话考试报名系统说明文档
创始人
2024-05-27 09:56:01
0

系列文章目录

  1. 健康云平台开发说明文档
  2. SD申报系统迭代说明文档
  3. 漏刻有时物联网传感器API接口对接说明文档
  4. Echarts数据分析系统Data Analysis Platform使用说明文档
  5. 漏刻有时云守护数据可视化v2.0迭代升级说明文档
  6. 百度地图POI多信息点标注开发说明文档
  7. 漏刻有时云守护数据可视化画质感知状态迭代说明文档
  8. Zabbix物联网可视化开发文档
  9. Echarts动态排名柱状图(自适应电脑和手机端)说明文档
  10. 漏刻有时文档系统之XE培训系统二次开发配置手册

文章目录

  • 系列文章目录
  • 前言
  • 一、用户前端
    • 1.前端登录
    • 2.绑定手机和修改密码
    • 3.流程管控
    • 3.越权安全
      • cookie传参
      • url加密传参
      • 数据验证
  • 二、后台管理
    • 1.数据大屏
    • 2.用户管理
      • 群发短信
      • 一键审核
    • 3.数据分表
      • 配置文件
      • 切换数据分表
      • 添加数据分表
      • 删除数据分表


前言

一、账户登录
1.SDYY大学普通话考试报名系统的账户为学号,不能自行注册,其中默认密码ZYY#身份证后6位,X大写;

2.输入学号和系统默认密码登录,建议登录后马上修改自己的密码,防止信息泄露;

3.如忘记密码,请联系系统管理员,重新设置;

二、信息认证

1.注册状态,由系统管理员导入完成,能登录即表明已完成该状态;

2.身份认证,系统核对姓名、性别、民族和身份证号,如非实名,则无法提交;

3.基础信息,所在学院、班级、CET状态、联系电话和证件照,用于生成准考证;

4.费用缴纳,考生扫描条码后,系统会自动认证,一经认证,基础信息无法修改;

5.准考制证,系统根据审核情况,进行自动制证。生成后,可打开下载或打印


一、用户前端

1.前端登录

在这里插入图片描述

  1. 后台导入用户信息,以学号为准,默认账号为学号,默认密码ZYY#身份证后6位,X大写;
  2. 支持手机号绑定,但在导入时未涉及到手机号,因此需要在用户首次登录后,强制绑定手机和修改默认密码;

2.绑定手机和修改密码

在这里插入图片描述

    /*强制弹出修改密码*/if (user_agree == "0") {getConfirm('?m=Index&a=userBind', '90%', '90%', 'no', '首次登录绑定手机');}//确认协议弹出模态框
function getConfirm(url, width, height, pop, title) {layer.open({type: 2,fix: false,shade: 0.6,title: title,maxmin: false,area: [width, height],closeBtn: 0,shadeClose: false,anim: 3,isOutAnim: true,content: [url, pop]});
}

3.流程管控

在这里插入图片描述

        var stepData = [{'title': "注册用户",links:"#", "desc": "2022-11-12 00:00:00"},{'title': "身份认证",links:"?m=Index&a=infomationIdentity&act=showIdentity", "desc": "2022-11-12 00:00:00"},{'title': "报名信息",links:"?m=Index&a=infomationEdit&act=showInfo", "desc": "2022-11-12 00:00:00"},{'title': "费用缴纳",links:"?m=Index&a=infomationPay", "desc": "2022-11-12 00:00:00"},{'title': "下载准考证",links:"?m=Index&a=infomationExam&act=showExam", "desc": "2022-11-12 00:00:00"}];$.ajax({type: "get",url: "api/api.php?act=getUserStatus&token=3cab7ce4142608c0f40c785b5ab5ca24",async: true,data: {},dataType: "json",success: function (res) {var data = res.data[0]['user_status'];//更新状态steps.make(stepData, '#steps', data);}});

3.越权安全

多用户系统,使用user_id数字时,容易明文越权,即通过手动修改user_id,可访问不同用户的信息,为了保证用户信息的私密性和完整性,需要对用户信息进行越权控制。

cookie传参

即用户登录后,将user_id设置为cookie,在后台处理时,默认传参。

$user_id = AuthCode($_COOKIE['db_id'], 'DECODE', '', '');

url加密传参

将user_id加密,后台解密,实现参数的密文传参。
m=Index&a=indexDeal&act=preview&user_id=6d0ed7O1wKrWZ8uLeIV3Q8wymU8EUzlCcuwI4CBAtvqf。由于生成的密钥,默认带+,带url传参的时候,系统会默认将+转为空格,因此在get方法获取user_id时,需要将空格替换为+.

$sys_id = str_ireplace(' ', '+', get_param('user_id'));//未解码
$user_id = AuthCode($sys_id, 'DECODE', '', '');//已解码

在这里插入图片描述

数据验证

在后台读取数据库记录,如果为空,直接跳转到信息提示页。

 $row = $db->fetch($current_table, '*', array('user_id' => $user_id), ' user_id DESC');if (!$row) {redirect('?m=Index&a=tips&act=tips&tips_id=7');}

二、后台管理

1.数据大屏

调用echarts展示各个学院的报名情况(未报名、已报名)
在这里插入图片描述

2.用户管理

在这里插入图片描述

群发短信

//发送短信;case "sendSms";$user_id = $_POST['user_id'];//var_dump($user_id);if (is_array($user_id)) {//循环发送信息;for ($i = 0; $i < count($user_id); $i++) {$row = $db->fetch($current_table, 'user_name,user_sms,user_phone', array('user_id' => $user_id[$i]), ' user_id DESC');if ($row['user_phone'] == NULL || $row['user_phone'] == "") {$res['code'] = 0;$res['msg'] = $row['user_name'] . "手机号码有误,无法发送";die(json_encode_lockdata($res));}//发送短信 TODO//更新发送短信次数$user_sms = $row['user_sms'] + 1;$db->update($current_table, array('user_sms' => $user_sms), array('user_id' => $user_id[$i]));}$res['code'] = 1;$res['msg'] = "短信发送成功";die(json_encode_lockdata($res));} else {$row = $db->fetch($current_table, 'user_name,user_sms,user_phone', array('user_id' => $user_id), ' user_id DESC');if ($row['user_phone'] == NULL || $row['user_phone'] == "") {$res['code'] = 0;$res['msg'] = $row['user_name'] . "手机号码有误,无法发送";die(json_encode_lockdata($res));}//发送短信 TODO//更新发送短信次数$user_sms = $row['user_sms'] + 1;$db->update($current_table, array('user_sms' => $user_sms), array('user_id' => $user_id));$res['code'] = 1;$res['msg'] = $row['user_name'] . ",短信发送成功";die(json_encode_lockdata($res));}break;

一键审核

 //一键审核;case "sendVerify";$user_id = $_POST['user_id'];//var_dump($user_id);if (is_array($user_id)) {//循环发送信息;for ($i = 0; $i < count($user_id); $i++) {$row = $db->fetch($current_table, 'user_name,user_sms,user_phone', array('user_id' => $user_id[$i]), ' user_id DESC');$db->update($current_table, array('user_verify' => 2), array('user_id' => $user_id[$i]));}$res['code'] = 1;$res['msg'] = "报名审核成功";die(json_encode_lockdata($res));} else {$row = $db->fetch($current_table, 'user_name,user_sms,user_phone', array('user_id' => $user_id), ' user_id DESC');$db->update($current_table, array('user_verify' => 2), array('user_id' => $user_id));$res['code'] = 1;$res['msg'] = $row['user_name'] . ",短信发送成功";die(json_encode_lockdata($res));}break;

3.数据分表

为了提高系统的复合利用率,系统增加了数据分表。即:不同批次的学生报名时,切换数据表,当前使用的为当期的。
在这里插入图片描述

配置文件

config.table.php

 '2024'];

切换数据分表

 //切换数据分表;case "sendVerify";$tb_name = $_POST['tb_name'];if ($tb_name == "") {$res['code'] = 0;$res['msg'] = "未选择数据表";die(json_encode_lockdata($res));} else {//生成数据分表的配置文件config.table.php$config_table = " '" . $tb_name . "'];";@file_put_contents('conf/config.table.php', $config_table);//更新状态码;$db->update('subtables', array('tb_use' => 0), array(''));$db->update('subtables', array('tb_use' => 1), array('tb_name' => $tb_name));//操作日志;addlogs($_COOKIE["admin_name"], $tb_name . '切换数据分表,STATUS:OK', '', time(), getip());$res['code'] = 1;$res['msg'] = "数据分表切换成功";die(json_encode_lockdata($res));}break;

添加数据分表

case "add";$tb_name = $_POST['tb_name'];$tb_times = time();$row = $db->fetch('subtables', '*', array('tb_name' => trim(addslashes($tb_name))), ' tb_id DESC');if ($row) {$res['code'] = 0;$res['msg'] = "数据表名已存在,请更换名称。";die(json_encode_lockdata($res));}//创建数据;$db->insert('subtables', array('tb_name' => $tb_name, 'tb_use' => 0, 'tb_times' => $tb_times));//创建分表;$sql = "CREATE TABLE IF NOT EXISTS `" . $CONF['db_prefix'] . 'user_' . $tb_name . "` (`user_id` int(11) NOT NULL,`user_ticket` varchar(64) DEFAULT NULL COMMENT '学号',`user_phone` varchar(32) DEFAULT NULL COMMENT '手机',`user_name` varchar(32) DEFAULT NULL COMMENT '姓名',`user_pwd` varchar(64) DEFAULT NULL COMMENT '密码',`user_gender` varchar(32) DEFAULT NULL COMMENT '性别',`user_nation` varchar(32) DEFAULT NULL COMMENT '民族',`user_cet` varchar(32) DEFAULT NULL COMMENT '四六级',`user_card` varchar(32) DEFAULT NULL COMMENT '身份证',`user_campus` varchar(64) DEFAULT NULL COMMENT '所在校区',`major_id` int(11) DEFAULT '0' COMMENT '学院Id',`user_work` varchar(255) DEFAULT NULL COMMENT '学院',`user_class` varchar(32) DEFAULT NULL COMMENT '班级',`user_time` int(11) DEFAULT NULL COMMENT '注册时间',`user_photo` varchar(255) DEFAULT NULL COMMENT '证件照',`user_sms` int(2) DEFAULT '0' COMMENT '短信发送次数',`user_verify` int(2) DEFAULT '0' COMMENT '0未报名1已报名2已审核',`user_pay` int(2) DEFAULT '0' COMMENT '0未交费1已缴费',`user_status` int(2) DEFAULT '0' COMMENT '1已注册2已认证3已完善4已缴费5已通过',`user_ip` varchar(255) DEFAULT NULL COMMENT 'ip',`user_agree` int(2) NOT NULL DEFAULT '0' COMMENT '0未验证1已验证',`user_period` varchar(64) DEFAULT NULL COMMENT '用户批次',`user_salt` varchar(64) DEFAULT NULL,`user_city` varchar(32) DEFAULT NULL COMMENT '地级市',`user_area` varchar(32) DEFAULT NULL COMMENT '地区',`user_province` varchar(32) DEFAULT NULL COMMENT '省份',`exam_no` varchar(255) DEFAULT NULL COMMENT '准考证号',`exam_times` varchar(255) DEFAULT NULL COMMENT '考试时间',`exam_place` varchar(255) DEFAULT NULL COMMENT '考试地点',`exam_class` varchar(255) DEFAULT NULL COMMENT '考场号',`exam_seat` varchar(255) DEFAULT NULL COMMENT '座位号',`exam_prepare` varchar(255) DEFAULT NULL COMMENT '备考室',`exam_notice` text COMMENT '考生须知') ENGINE=InnoDB AUTO_INCREMENT=4457 DEFAULT CHARSET=utf8 COMMENT='信息表';";$row = $db->queryall($sql);$res['code'] = 1;$res['msg'] = "数据分表创建成功,请在conf/config中配置切换";die(json_encode_lockdata($res));//操作日志;addlogs($_COOKIE["admin_name"], $tb_name . '数据分表创建,STATUS:OK', '', time(), getip());break;

删除数据分表

//删除数据分表;case "del";$tb_id = get_param('tb_id');$tb_name = get_param('tb_name');if (is_array($tb_id)) {$tb_id = implode(",", $tb_id);}if ($tb_id == '') {die("tb_id错误");}//删除记录;$db->delete('subtables', 'tb_id in(' . $tb_id . ')');//删除数据表;$sql = "DROP TABLE IF EXISTS " . $CONF['db_prefix'] . $tb_name;$row = $db->queryall($sql);//操作日志;addlogs($_COOKIE["admin_name"], $tb_id . '数据分表删除,STATUS:OK', '', time(), getip());break;

@漏刻有时

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...