基于javaweb+springboot的婚纱影楼摄影预约网站设计和实现(javaweb+SSM+springboot)

news/2024/5/10 3:13:30/文章来源:https://blog.csdn.net/m0_67990629/article/details/123539285

基于javaweb+springboot的婚纱影楼摄影预约网站设计和实现(javaweb+SSM+springboot)

主要功能设计:
运行环境: java jdk 1.8
环境:IDEA
tomcat环境: Tomcat 7.x、8
主要功能说明: 管理员角色包含以下功能:管理员登录,订单管理,摄影师管理,级别管理,标签管理,摄影地点管理,客片管理,轮播图管理,资讯管理等功能。
客户角色包含以下功能:客户首页,客片欣赏,预约摄影师,会员登录,填写预约摄影师信息,查看活动,订单查看等功能。
技术框架: HTML+CSS+JavaScript+jsp+mysql+Spring+SpringMVC+mybatis+Spring boot
数据库: Mysql数据库

主要功能截图如下:

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

		}return returnResult;}/*** 根据摄影师id查询评论* * @param comment* @param HttpServletRequest* @return*/@RequestMapping(value = "getCommentByPid", method = RequestMethod.GET)@ResponseBodypublic ReturnResult getCommentByPid(Integer pid) {returnResult.setStatus(ReturnCodeType.FAILURE);try {returnResult.setStatus(ReturnCodeType.SUCCESS).setData(commentService.selectBySQL("SELECT a.`comment`,a.createTime,b.`name` FROM t_comment a,t_user b where a.userId=b.id AND a.photographerId="+pid));} catch (Exception e) {logger.error("根据摄影师id查询评论" + e);}
	 * 退出* @param session* @return*/@RequestMapping(value="logout", method = RequestMethod.POST)@ResponseBodypublic ReturnResult logout(HttpSession session) {session.invalidate();return returnResult.setStatus(ReturnCodeType.SUCCESS);}}
评论控制层:
/*** 评论控制层**/
@Controller
@Scope("prototype")
public class CommentController {private static final Logger logger = LoggerFactory.getLogger(CommentController.class);private ReturnResult returnResult = new ReturnResult();@Resource(name = "commentService")
	private IAdminService adminService;/*** 管理员登录* @param admin* @param session* @return*/@RequestMapping(value = "login", method = RequestMethod.POST)@ResponseBodypublic ReturnResult login(TAdmin admin, HttpSession session) {returnResult.setStatus(ReturnCodeType.FAILURE);try {admin = adminService.login(admin);if (admin != null) {admin.setPassword(null);session.setAttribute("admin", admin);returnResult.setStatus(ReturnCodeType.SUCCESS);}} catch (Exception e) {logger.error("登录失败:" + e);}
	public ReturnResult getAllSpots() {returnResult.setStatus(ReturnCodeType.FAILURE);try {returnResult.setStatus(ReturnCodeType.SUCCESS).setData(spotsService.getAllSpots());} catch (Exception e) {logger.error("获取所有启用spots失败" + e);}return returnResult;}/*** 获取所有5条启用的spots* @return*/@RequestMapping(value = "getFiveSpots", method = RequestMethod.POST)@ResponseBodypublic ReturnResult getFiveSpots() {returnResult.setStatus(ReturnCodeType.FAILURE);try {returnResult.setStatus(ReturnCodeType.SUCCESS).setData(spotsService.selectBySQL("select * from t_spots  ORDER BY id DESC limit 0,5"));} catch (Exception e) {
			spots.setCreatetime(new Date());spotsService.insert(spots);returnResult.setStatus(ReturnCodeType.SUCCESS);} catch (Exception e) {logger.error("新增spots失败" + e);}return returnResult;}/*** 修改spots* @param spots* @return*/@RequestMapping(value = "updateSpots", method = RequestMethod.POST)@ResponseBodypublic ReturnResult updateSpots(TSpots spots) {returnResult.setStatus(ReturnCodeType.FAILURE);try {spotsService.updateBySQL("UPDATE t_spots SET name='" + spots.getName() + "',content='"+spots.getContent()+"', status="+spots.getStatus()+" WHERE id=" + spots.getId());returnResult.setStatus(ReturnCodeType.SUCCESS);
	public ReturnResult getFiveSpots() {returnResult.setStatus(ReturnCodeType.FAILURE);try {returnResult.setStatus(ReturnCodeType.SUCCESS).setData(spotsService.selectBySQL("select * from t_spots  ORDER BY id DESC limit 0,5"));} catch (Exception e) {logger.error("获取所有5条启用的spots失败" + e);}return returnResult;}
}
管理员控制层:
/**
	 */@RequestMapping(value = "getSpotsById", method = RequestMethod.POST)@ResponseBodypublic ReturnResult getSpotsById(Integer id) {returnResult.setStatus(ReturnCodeType.FAILURE);try {returnResult.setStatus(ReturnCodeType.SUCCESS).setData(spotsService.selectByPrimaryKey(id));}catch (Exception e) {logger.error("根据获取spots失败" + e);}return returnResult;}/*** 获取所有启用的spots* @return*/@RequestMapping(value = "getAllSpots", method = RequestMethod.POST)@ResponseBodypublic ReturnResult getAllSpots() {returnResult.setStatus(ReturnCodeType.FAILURE);
	@ResponseBodypublic ReturnResult deleteComment(Integer id) {returnResult.setStatus(ReturnCodeType.FAILURE);try {commentService.deleteByPrimaryKey(id);returnResult.setStatus(ReturnCodeType.SUCCESS);} catch (Exception e) {logger.error("删除comment失败" + e);}return returnResult;
	 * @param spots* @param HttpServletRequest* @return*/@RequestMapping(value = "addSpots", method = RequestMethod.POST)@ResponseBodypublic ReturnResult addSpots(TSpots spots, HttpServletRequest request) {returnResult.setStatus(ReturnCodeType.FAILURE);try {Map<String, String> map = OperationFileUtil.multiFileUpload(request,request.getServletContext().getRealPath("/") + "uploads\\spots\\");String filePath = "";for (Map.Entry<String, String> entry : map.entrySet()) {filePath = entry.getValue();}filePath = filePath.replace(request.getServletContext().getRealPath("/"), "/");spots.setPath(filePath);spots.setCreatetime(new Date());spotsService.insert(spots);returnResult.setStatus(ReturnCodeType.SUCCESS);} catch (Exception e) {logger.error("新增spots失败" + e);}return returnResult;
		}return returnResult;}/*** 根据获取id spots* @param id* @return*/@RequestMapping(value = "getSpotsById", method = RequestMethod.POST)@ResponseBodypublic ReturnResult getSpotsById(Integer id) {returnResult.setStatus(ReturnCodeType.FAILURE);
	
}
评论控制层:
/*** 评论控制层**/
@Controller
@Scope("prototype")
public class CommentController {private static final Logger logger = LoggerFactory.getLogger(CommentController.class);private ReturnResult returnResult = new ReturnResult();@Resource(name = "commentService")private ICommentService commentService;/*** 添加评论* 
	@Resource(name = "spotsService")private ISpotsService spotsService;/*** 添加拍摄景点* * @param spots* @param HttpServletRequest* @return*/@RequestMapping(value = "addSpots", method = RequestMethod.POST)@ResponseBodypublic ReturnResult addSpots(TSpots spots, HttpServletRequest request) {returnResult.setStatus(ReturnCodeType.FAILURE);try {Map<String, String> map = OperationFileUtil.multiFileUpload(request,request.getServletContext().getRealPath("/") + "uploads\\spots\\");String filePath = "";for (Map.Entry<String, String> entry : map.entrySet()) {filePath = entry.getValue();}filePath = filePath.replace(request.getServletContext().getRealPath("/"), "/");spots.setPath(filePath);spots.setCreatetime(new Date());
	@RequestMapping(value = "updateSpots", method = RequestMethod.POST)@ResponseBodypublic ReturnResult updateSpots(TSpots spots) {returnResult.setStatus(ReturnCodeType.FAILURE);try {spotsService.updateBySQL("UPDATE t_spots SET name='" + spots.getName() + "',content='"+spots.getContent()+"', status="+spots.getStatus()+" WHERE id=" + spots.getId());returnResult.setStatus(ReturnCodeType.SUCCESS);} catch (Exception e) {logger.error("修改spots失败" + e);}return returnResult;}
@Scope("prototype")
public class SpotsController {private static final Logger logger = LoggerFactory.getLogger(SpotsController.class);private ReturnResult returnResult = new ReturnResult();@Resource(name = "spotsService")private ISpotsService spotsService;/*** 添加拍摄景点* * @param spots* @param HttpServletRequest* @return*/@RequestMapping(value = "addSpots", method = RequestMethod.POST)@ResponseBodypublic ReturnResult addSpots(TSpots spots, HttpServletRequest request) {returnResult.setStatus(ReturnCodeType.FAILURE);try {Map<String, String> map = OperationFileUtil.multiFileUpload(request,request.getServletContext().getRealPath("/") + "uploads\\spots\\");String filePath = "";for (Map.Entry<String, String> entry : map.entrySet()) {filePath = entry.getValue();
@Scope("prototype")
public class CommentController {private static final Logger logger = LoggerFactory.getLogger(CommentController.class);private ReturnResult returnResult = new ReturnResult();@Resource(name = "commentService")private ICommentService commentService;/*** 添加评论* * @param comment* @param HttpServletRequest* @return*/@RequestMapping(value = "addComment", method = RequestMethod.POST)@ResponseBodypublic ReturnResult addInfo(TComment comment,HttpSession session) {
}
管理员控制层:
/*** *管理员控制层*/
@Controller
@RequestMapping("/admin")
@Scope("prototype")
public class AdminController {private static final Logger logger = LoggerFactory.getLogger(AdminController.class);private ReturnResult returnResult = new ReturnResult();@Resource(name = "adminService")private IAdminService adminService;/*** 管理员登录* @param admin* @param session* @return*/@RequestMapping(value = "login", method = RequestMethod.POST)
 * *景点信息控制层*/
@Controller
@Scope("prototype")
public class SpotsController {private static final Logger logger = LoggerFactory.getLogger(SpotsController.class);private ReturnResult returnResult = new ReturnResult();@Resource(name = "spotsService")private ISpotsService spotsService;/*** 添加拍摄景点* * @param spots* @param HttpServletRequest
			returnResult.setStatus(ReturnCodeType.SUCCESS);} catch (Exception e) {logger.error("新增spots失败" + e);}return returnResult;}/*** 修改spots* @param spots* @return*/@RequestMapping(value = "updateSpots", method = RequestMethod.POST)@ResponseBody
	 * * @param spots* @param HttpServletRequest* @return*/@RequestMapping(value = "addSpots", method = RequestMethod.POST)@ResponseBodypublic ReturnResult addSpots(TSpots spots, HttpServletRequest request) {returnResult.setStatus(ReturnCodeType.FAILURE);try {Map<String, String> map = OperationFileUtil.multiFileUpload(request,request.getServletContext().getRealPath("/") + "uploads\\spots\\");String filePath = "";for (Map.Entry<String, String> entry : map.entrySet()) {filePath = entry.getValue();
	 */@RequestMapping(value = "getCommentListByPage", method = RequestMethod.POST)@ResponseBodypublic ReturnResult getCommentListByPage(PageVO page) {returnResult.setStatus(ReturnCodeType.FAILURE);try {Map<String, Object> resultMap = new HashMap<String, Object>();StringBuffer sql = new StringBuffer("SELECT DISTINCT * FROM t_comment WHERE 1=1");List<Map<String, Object>> results = commentService.selectPageBySQL(sql.toString(), page.getPage() - 1,page.getRows());if (!results.isEmpty() && results != null) {int total = commentService.selectCount(new TComment());int rows = page.getRows();rows = rows == 0 ? 10 : rows;resultMap.put("total", (total % rows != 0 ? (total / rows + 1) : (total / rows)));resultMap.put("page", page.getPage());resultMap.put("records", total);resultMap.put("rows", results);
			List<Map<String, Object>> results = spotsService.selectPageBySQL(sql.toString(), page.getPage() - 1,page.getRows());if (!results.isEmpty() && results != null) {int total = spotsService.selectCount(new TSpots());int rows = page.getRows();rows = rows == 0 ? 10 : rows;resultMap.put("total", (total % rows != 0 ? (total / rows + 1) : (total / rows)));resultMap.put("page", page.getPage());resultMap.put("records", total);resultMap.put("rows", results);
		return returnResult.setStatus(ReturnCodeType.SUCCESS);}}
评论控制层:
/*** 评论控制层**/
@Controller
@Scope("prototype")
public class CommentController {private static final Logger logger = LoggerFactory.getLogger(CommentController.class);private ReturnResult returnResult = new ReturnResult();@Resource(name = "commentService")private ICommentService commentService;/*** 添加评论* * @param comment
	@RequestMapping(value = "deleteComment", method = RequestMethod.POST)@ResponseBodypublic ReturnResult deleteComment(Integer id) {returnResult.setStatus(ReturnCodeType.FAILURE);try {commentService.deleteByPrimaryKey(id);returnResult.setStatus(ReturnCodeType.SUCCESS);} catch (Exception e) {logger.error("删除comment失败" + e);}return returnResult;}/*** 根据摄影师id查询评论* * @param comment* @param HttpServletRequest* @return
		try {admin = adminService.login(admin);if (admin != null) {admin.setPassword(null);session.setAttribute("admin", admin);returnResult.setStatus(ReturnCodeType.SUCCESS);}} catch (Exception e) {logger.error("登录失败:" + e);}return returnResult;}/*** 从session获取管理员信息* @param session* @return*/@RequestMapping(value="getAdminInfo", method = RequestMethod.POST)@ResponseBody
	}/*** 分页获取comment* @return*/@RequestMapping(value = "getCommentListByPage", method = RequestMethod.POST)@ResponseBodypublic ReturnResult getCommentListByPage(PageVO page) {returnResult.setStatus(ReturnCodeType.FAILURE);try {Map<String, Object> resultMap = new HashMap<String, Object>();StringBuffer sql = new StringBuffer("SELECT DISTINCT * FROM t_comment WHERE 1=1");
				filePath = entry.getValue();}filePath = filePath.replace(request.getServletContext().getRealPath("/"), "/");spots.setPath(filePath);spots.setCreatetime(new Date());spotsService.insert(spots);returnResult.setStatus(ReturnCodeType.SUCCESS);} catch (Exception e) {logger.error("新增spots失败" + e);}return returnResult;}/**
	@ResponseBodypublic ReturnResult getSpotsListByPage(PageVO page) {returnResult.setStatus(ReturnCodeType.FAILURE);try {Map<String, Object> resultMap = new HashMap<String, Object>();StringBuffer sql = new StringBuffer("SELECT DISTINCT * FROM t_spots WHERE 1=1");List<Map<String, Object>> results = spotsService.selectPageBySQL(sql.toString(), page.getPage() - 1,page.getRows());if (!results.isEmpty() && results != null) {int total = spotsService.selectCount(new TSpots());int rows = page.getRows();rows = rows == 0 ? 10 : rows;resultMap.put("total", (total % rows != 0 ? (total / rows + 1) : (total / rows)));resultMap.put("page", page.getPage());resultMap.put("records", total);resultMap.put("rows", results);returnResult.setStatus(ReturnCodeType.SUCCESS).setData(resultMap);}}catch (Exception e) {
	public ReturnResult getAdminInfo(HttpSession session) {returnResult.setStatus(ReturnCodeType.FAILURE);TAdmin admin = (TAdmin) session.getAttribute("admin");if (admin != null) {returnResult.setStatus(ReturnCodeType.SUCCESS).setData(admin);} else {logger.info("获取管理员信息失败:管理员未登录");}return returnResult;}/*** 退出* @param session* @return*/@RequestMapping(value="logout", method = RequestMethod.POST)@ResponseBodypublic ReturnResult logout(HttpSession session) {
	 */@RequestMapping(value = "deleteComment", method = RequestMethod.POST)@ResponseBodypublic ReturnResult deleteComment(Integer id) {returnResult.setStatus(ReturnCodeType.FAILURE);try {commentService.deleteByPrimaryKey(id);returnResult.setStatus(ReturnCodeType.SUCCESS);} catch (Exception e) {logger.error("删除comment失败" + e);}return returnResult;}/*** 根据摄影师id查询评论* * @param comment* @param HttpServletRequest* @return*/@RequestMapping(value = "getCommentByPid", method = RequestMethod.GET)@ResponseBody

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_882202.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于javaweb+springboot的家政服务网站系统设计和实现(java+Springboot+ssm+mysql+jsp+maven)

基于javawebspringboot的家政服务网站系统设计和实现(javaSpringbootssmmysqljspmaven) 一、项目简述 本系统主要实现的功能有&#xff1a; 项目功能较多&#xff0c;包括用户的注册登录&#xff0c;家政0员务的查看&#xff0c; 分类&#xff0c;预订&#xff0c;以及支付&a…

基于javaweb+jsp的精美风在线音乐网站(java+JDBC+C3P0+servlet+mysql+JSP)

基于javawebjsp的精美风在线音乐网站(javaJDBCC3P0servletmysqlJSP) 1.运行环境 环境配置&#xff1a; Jdk1.8 Tomcat8.5 mysql Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09; 项目技术&#xff1a; JSP C3P0 Servlert html css JavaSc…

基于javaweb+springboot的旅游网站管理系统设计和实现(java+springboot+jsp+mysql+spring)

基于javawebspringboot的旅游网站管理系统设计和实现(javaspringbootjspmysqlspring) 运行环境: java jdk 1.8 IDE环境&#xff1a; IDEA tomcat环境&#xff1a; Tomcat 7.x,8.x,9.x版本均可 主要功能说明&#xff1a; 管理员角色包含以下功能&#xff1a;管理员登录,用户管理…

基于javaweb+springboot的音乐网站音乐平台(java+Springboot+ssm+mysql+maven+jsp)

基于javawebspringboot的音乐网站音乐平台(javaSpringbootssmmysqlmavenjsp) 一、项目简述 功能&#xff1a; 用户管理模块&#xff1a;用户登录、用户注册、修改密码 榜单列表模块&#xff1a;动态地从数据库中获取歌曲的链接和数据 在榜单中显示 歌曲搜索模块&#xff1a;在…

使用drupal8架设网站

首先安装qampp&#xff0c;包括apache、php、mysql、tomcat、perl等组件。 请将mvn目录下的dll全部复制到apache下面&#xff0c;不然会报错。 将php.ini中的max_exe设置为120秒以上&#xff0c;不然会报错。 将iis占用的80端口释放&#xff0c;比如设置为800&#xff0c;不然会…

VS2010如何调试IIS上的网站

通常&#xff0c;我们在Visual Studio里调试ASP.NET网站&#xff0c;都是加个断点&#xff0c;然后按F5&#xff0c;在VS自带的虚拟服务器下调试的。但有时候&#xff0c;VS自带的服务器弱爆了&#xff0c;无法满足一些特定情况的要求&#xff0c;我们必须把网站放在IIS里跑。这…

iis本地搭建网站

如果还没开iis&#xff0c;路径&#xff1a;控制面板->程序和功能->启动或关闭windows功能 将万维网的应用程序开发功能全部勾选重启电脑网站那里新建/添加&#xff0c;将路径添加进去 程序池选择这样的就好&#xff0c;IP地址填本机的&#xff0c;端口由于80已被占用&a…

手机端网站制作

准备 1.前段使用HBuilder 2.使用夜神模拟器来看自己写的页面 链接: https://pan.baidu.com/s/1zUqL2WYnbcM3cR98P-umWw 提取码: bmpe 复制这段内容后打开百度网盘手机App&#xff0c;操作更方便哦 3. 4.下载喜马拉雅软件上面的课程 从Response页签中复制信息内容 -- 未来查…

怎么制作手机网站

网站建设的发展&#xff0c;对于网站建设形式上有了很大的变化和创新&#xff0c;从根据不同行业如企业、集团、门户、商城等 网站建设 &#xff0c;发展到手机、WAP、个人网站等等。实现了网站建设的创新。对于行业类的网站&#xff0c;我想大家都很熟悉了&#xff0c;因为这…

PageAdmin手机网站制作教程

PageAdmin作为国内使用最多的网站管理系统&#xff0c;很多人都知道pageadmin可以用来做传统网站&#xff0c;其实pageadmin一样 很方便的制作手机网站&#xff0c;而且很容易实现和pc版本数据共享功能&#xff0c;原理就是利用分站的数据共享功能&#xff0c;下面直接说制 作…

自己做的html5手机网站

这个网站采用html5css3jquerymobile 只开发了前台的功能&#xff0c;前台的界面比较美观&#xff0c;后端不方便放上&#xff0c;各位有空可以自己开发这个网站的界面有参考各个菜谱网站的页面的样式&#xff0c;但是又不一样&#xff0c;是属于完全独立开发的。代码链接如下&a…

常用IT网站

首先要隆重推荐http://www.moreofit.com/ 这个网站可以发现跟你输入网站类似的网站&#xff0c;如我们在地址栏中输入博客园的地址http://www.cnblogs.com/&#xff0c; 点击查看&#xff0c;系统会列出和博客园类似的网站&#xff0c;没准你会发现很多有意思的网站 类似的网站…

手机网站页面制作

导读&#xff1a;国内手机网站目前还算是个新鲜事物&#xff0c;相应的手机网站前端开发也并不是特别成熟&#xff0c;对于一个网页设计师来说要做一个手机网站还是会碰到许多问题&#xff0c;本文转载自淘宝 UED&#xff0c;分享如何开发进行手机网站的前端卡发。 从09年初接手…

让你的网站支持RSS

step1)后台生成xml并确定一个url能会返回这个xml xml必须按照rss规定的格式 ,下面是个样例&#xff1a; <?xml version"1.0" encoding"utf-8"?> <rss version"2.0"> <channel> <title>最新视频</title> <…

java程序员菜鸟进阶(八)分享一个爬取B2B网站信息的程序

前段时间&#xff0c;女朋友如愿以偿的找到了销售的工作&#xff0c;第一天正式上班还挺高兴&#xff0c;第二天就开始愁眉苦脸了。就是因为他这销售实在是太麻烦&#xff0c;以后每天要到一些B2B网站去找一些客户信息&#xff0c;每天要找几百条&#xff0c;刚开始我还安慰的说…

大型网站架构演变和知识体系

之前也有一些介绍大型网站架构演变的文章&#xff0c;例如LiveJournal的、ebay的&#xff0c;都是非常值得参考的&#xff0c;不过感觉他们讲的更多的是每次演变的结果&#xff0c;而没有很详细的讲为什么需要做这样的演变&#xff0c;再加上近来感觉有不少同学都很难明白为什么…

【支持升级官方最新版】西部数码主机代理系统模板源码IDC网站源码虚拟主机代理管理系统

【关于升级】此系统为西部数码代理系统源码更改的&#xff0c;所以支持后台更新官方最新补丁&#xff08;已测试&#xff0c;此更新只涉及核心文件及自带模板文件&#xff0c;不包括这个二开的模板文件&#xff09; 【开发环境】ASPACCESS win32位系统【你的服务器需要具备这…

10个优质免费PPT模板下载网站推荐

第1名&#xff1a;PPT汇 网址&#xff1a;www.ppthui.com 是否付费&#xff1a;免费 模板质量&#xff1a;★★★★★ &#xff08;5分&#xff09; 浏览体验&#xff1a;★★★★★ &#xff08;5分&#xff09; 下载体验&#xff1a;★★★★★ &#xff08;5分&#xff09; …

哪里有纯免费的PPT模板下载网站?

百度搜索PPT出来的全是打着免费PPT的幌子进去需要注册、充值VIP的网站&#xff0c;费钱费力。 笔者搜索了好久才找到一个纯免费不需要注册的PPT免费模板下载网站&#xff1a; PPT汇 https://www.ppthui.com 无需注册完全免费值得收藏&#xff01;

网站全站变成灰色实现方式参考

1.前言 近几日&#xff0c;大部分的网站的内容都变成了灰色&#xff0c;包括按钮、图片等等。为了纪念伟人。 在前两天临近下班的时候&#xff0c;接到通知 &#xff0c;手中负责的项目门户网要变成灰色&#xff0c;因为我们做的都和ZF相关&#xff0c;以前没有经历过&#xf…