当前位置: 首页 > 后端技术 > Node.js

支持导出和邮件提醒的小周报系统

时间:2023-04-03 12:17:40 Node.js

这只是一个README。使用Vue+LeanCloud开发的周报系统,纯前端实现。并利用LeanCloud提供的云引擎服务,在周五给所有员工发送邮件提醒填写周报,周六日给没有填写的再次发送邮件提醒。基础配置LeanCloud应用配置进入LeanCloud添加新应用。并导入/appSchema/下的schema修改src/config/av.config-example.js文件,填写LeanCloud应用的AppID和Appkey。这个id和key可以从应用中获取,关联LeanCloud=>Settings=>ApplicationKey。//填写配置后,重命名此文件为av.config.jsexportdefault{id:'填写LeanCloud应用的ID',key:'填写LeanCloud应用的Key'}每周配置即可下载从src/config/input.config.js和src/config/group.config.js配置周报的类型、描述和分组配置,对应格式参考文件。input.config.js中的配置信息用于配置输入页面中存在的不同类型和对应的提示,以及每周的基本工作时间、计算任务饱和度的关联任务等。组信息配置在group.config.js会在第一个成员注册时自动写入LeanClound应用。在规划的时候,计算任务饱和度是单独配置的,但是在实际开发中,这部分是耦合的,我正在考虑优化它做一个通用的产品。如果您有任何想法,请与我联系,谢谢。发送邮件配置修改mail/mailer-example.php文件,配置完成后重命名为mailer.phppublicstatic$HOST='smtp.163.com';//邮箱服务器地址publicstatic$PORT=465;//smtp服务器的远程服务器端口号publicstatic$SMTP='ssl';//使用ssl加密登录publicstatic$CHARSET='UTF-8';//设置发送邮件的编码/***Configurethis处理完信息后,将这个文件重命名为mailer.php*/privatestatic$USERNAME='configureuser';//授权登录帐号privatestatic$PASSWORD='配置授权密码';//授权登录密码privatestatic$NICKNAME='新店前端周报';//发件人昵称不需要邮件服务器,直接使用各个邮箱的SMTP服务即可完成。这里发送邮件的实现是使用PHPMailersimplewrapper实现的。注意:不要使用QQ邮箱的SMTP。我在用,团队30+人。单独发给10+后,后面的发邮件都失败了,提醒我发邮件太快了。使用163邮箱没有问题。为什么是PHP?因为服务器上目前没有安装nodejs。LeanCloud提供的免费云引擎虽然本身支持nodejs服务,但是免费版是测试用的,会自动休眠。不够稳定,经常挂掉。如果你使用nodejs,你可以使用nodemailer来发送邮件。上面展示了配置发送邮件的功能,还需要定期搜索用户或者未提交的用户发送邮件。这是通过使用LeanCloud提供的云引擎中的定时任务来实现的。定义一个云函数来发送电子邮件。具体实现请参考LeanCloud应用中weeklyReportSendEmail。点击CloudEngine=>ScheduledTask创建一个定时任务,定时发送邮件。相关文档请参考LeanCloud开发指南。搭建及使用步骤本项目直接使用Vue-cli工具初始化,配置略有改动。相关命令如下:#installdependenciesnpminstall#servewithhotreloadatlocalhost:8086npmrundev#buildforproductionwithminificationnpmrunbuild#buildforproduction并查看bundleanalyzer报告npmrunbuild--report关于打包后部署使用,请根据要放置的目录调整/config/index.js中的assetsPublicPath路径,将打包生成的所有文件(默认/dist/下)复制到你指定的目录即可。//例如:这里我们最终希望通过访问域名/weeklyreport/来访问周报系统,则配置为/weeklyreport/。这里有!汇总图表还支持任意时间段的历史查看,下方的表格和图标均显示为同一周。个人信息维护管理员可以查看和管理会员。是的,您还可以将表格导出为csv