Nest+Vue实战:工作计划管理系统
前言该项目是学习Nest.js框架所得,前端基于Vue.js + Vuex + VueRouter + ElementUI + SCSS,后端基于Node.js + TypeScript + Nest.js + MySQL + TypeORM。
预览
功能
用户
注册、登录、鉴权、查看信息、修改信息、退出登录和注销
查看最新公告和历史公告
查看工作计划、提交工作计划材料和更新工作计划材料
管理员
登录、鉴权、查看信息、修改信息和退出登录
查看最新公告、查看历史公告、发布公告和管理公告
审核用户注册、审核用户注销、封禁用户和管理用户
发布工作计划、管理工作计划、查看工作计划完成情况、查看工作计划编辑情况、审核提交材料、批量下载提交材料、重命名提交材料、管理提交记录
查看用户年龄可视化数据、查看用户性别可视化数据、查看特定工作计划完成情况可视化数据、查看特定工作计划审核情况可视化数据
超级管理员
系统启动时自动注册.env文件中的默认超级管理员账号
拥有管理员的全部功能
添加管理员、封禁管理员、更改普通用户或管理员角色、管理管理员用户
地址Gitee:
前端:work- ...
Uni-App+Node.js实例
前言该项目是之前学习所得,前端基于uni-app+uni-ui,后端基于node.js+typescript+koa2+mysql+sequelize。采用前后端分离设计,可实现跨端编译到安卓、IOS、Web和小程序平台。
预览图
功能列表
文本翻译功能,需要开通百度翻译开放平台通用翻译。
历史记录和删除功能,可与服务器同步。
生词记录和删除功能,可与服务器同步。
用户登录、注册、邮箱验证、修改信息和注销账号功能。
运行
前端:使用HBuilder X打开项目,更改config/urls.js的”BASE_URL”的值为对应后端的地址,编译运行即可。
后端:首先开通百度翻译开放平台通用翻译和邮箱SMTP功能,准备MySQL和Node.js环境。然后导入根目录下的uni-translator.sql文件,配置src/common/config/Config.ts的必改项目,再运行:
1npm install
1npm run start
开源地址Gitee:
前端:uni-translator-frontend
后端:uni-translator-backend
Gith ...
安卓课设:翻译君APP
前言这个APP是安卓课程设计项目, 因为对安卓和JAVA不熟悉,所以查了很多资料花了不少时间完成。项目分为安卓客户端和PHP服务器端两部分,话不多说,上预览图。
预览图
功能列表
将文本翻译为目标的语种的文本,支持源语种自动检测
将语音翻译为目标语种的文本,部分语种支持播报译文
拍照识别文字翻译为目标语种的文本,支持源语种自动检测
中英互译时检测生词,自动将生词加入记录
设置应用的功能,检查软件更新
使用准备
下载源码:下载地址见后文。
开通翻译:翻译技术由百度翻译开放平台提供,所以要先注册平台账号。开发者类型选个人开发者并且无需认证,然后开通通用翻译、语音翻译和图片翻译服务。语音翻译和图片翻译每月有1万次免费调用额度,通用翻译用免费的标准版就行,具体操作见:文档与支持。完成后在开发者中心拿到APP ID和密钥。
部署
服务器端:新建数据库”legal_en_word”并导入”server”目录下的”legal_en_word.sql”,然后将该目录下的”api”文件夹复制到网站根目录,参照注释修改”./api/translator.php”文件的APP_ID、密钥、AUT ...
Python爬取豆瓣+数据可视化
前言前段时间应我姐邀请,看了一下Python爬虫。不得不说Python的语法确实简洁优美,可读性强,比较接近自然语言,非常适合编程的初学者上手。
在开始之前还是先介绍下什么是爬虫:
网络爬虫(英语:web crawler),也叫网络蜘蛛(spider),是一种用来自动浏览万维网的网络机器人。 – 维基百科
爬虫是一种程序或者脚本,用来替代人工浏览网页并从中提取信息,通常将提取的信息存储然后对其进行分析,从而获取有价值的信息。
爬虫也不是什么新鲜事物,可以说只要是编程语言几乎都能做到,而Python因为其简洁的语法和丰富的第三方库可以快速高效的编写爬虫,对于初学者可以说相当友好。接下来以爬取豆瓣电影TOP250页面为例说明如何用Python实现爬虫和数据可视化。
实现步骤一、HTTP请求
导入第三方库requests,调用requests.get()方法向豆瓣电影TOP250页面发起GET请求,拿到响应的HTML。
二、数据提取
浏览器访问豆瓣电影TOP250页面并进入开发者模式复制要抓取节点的XPath。导入第三方库lxml的etree对象,调用etree.HTML(HTML)将 ...
安卓登录注册界面开发(附源码)
前言最近找安卓登录注册界面,找了好久也没找到比较满意的设计,最后想想其实登录和注册两个界面也不复杂,干脆花点时间自己弄。
界面预览最后的效果如下:
界面开发安卓静态布局使用XML语言描述,采用布局+控件的方式实现。
首先创建编辑框和按钮的样式文件,避免大量的重复代码,这样可以使用一行代码引用该样式。
编辑框样式:
在”app/res/drawable”文件夹下新建xml文件“translucent_edit.xml”
12345678910<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#DCDCDC" /> <stroke android:width="1dip" android:color="#fefefe" ...
QQ聊天机器人实例
前言此文章为PHP实现基于Mirai的QQ机器人的一部分。
申请API该聊天机器人需要使用聊天API,通过将机器人接收到的消息转发给该接口,接口响应消息,来实现聊天机器人的效果。
免费的聊天API有:
图灵机器人
腾讯智能闲聊
青云客智能聊天机器人API
其中图灵机器人需要实名认证,并且免费额度100/天,听说会更加智能(没感觉)。
腾讯AI开放平台的智能闲聊API接口调用额度无限制,响应速度快。
青云客似乎也是无限制。但是感觉大厂会稳点,所以选用的腾讯AI开放平台的智能闲聊API接口服务。
QQ登录腾讯智能闲聊,点击应用管理->创建应用,应用类型选机器人,其他的随意,创建完成后保存得到的APPID和APPKEY,在后面会使用。
2021-08-14更新:腾讯的API说没就没,不愧是你。直接使用青云客的API就好了,200次/10分钟一般也够用。
实例在Web服务器监听目录下新建文件Bot.class.php(以下代码需要PHP7以上),内容为
12345678910111213141516171819202122232425262728293031323334353637383 ...
PHP开发基于Mirai的QQ机器人
推荐使用QQ 机器人开发框架Mirai-js来快速开发,文档地址:开发文档。
前言在完成配置开源安卓QQ协议库Mirai后,便可使用已有开源项目来部署自己的QQ机器人,但自行开发显然更符合需求。借助mirai-api-http插件提供的接口,可以很方便的开发机器人,开发语言根据自己的意愿选择即可,这里以PHP为例。
配置Mirai-Api-Http插件mirai-api-http插件将mirai-core-api的所有功能封装为http服务,提供的HTTP接口供所有语言使用mirai,从而大大的降低了开发门槛,使得开发QQ机器人更加容易和灵活。
关于mirai-api-http在Mirai生态中的作用可以看官方的Mirai生态介绍文档,文档详细介绍了Mirai的生态中各个框架和应用的关系,相信读完后会对Mirai生态有更为清晰的了解。
接下来配置mirai-api-http插件
如使用Mirai Console Loader启动mirai的话,可直接在mirai所在根目录执行
./mcl –update-package net.mamoe:mirai-api-http –channel ...
配置Nginx反向代理、HTTPS和认证
前言由于经常用到Nginx反向代理配置,手敲代码麻烦,所以记录一下。
创建密码文件创建Nginx认证密码文件
1mkdir /etc/nginx/conf.d/auth && cd /etc/nginx/conf.d/auth
1printf "<username>:$(openssl passwd -crypt <password>)\n" >> passwd
其中<username>为用户名,<password>为密码,密码长度最多8个字符
配置SSl证书创建证书目录
1mkdir /etc/nginx/cert
1cd /etc/nginx/cert
将证书和密钥上传至该路径下
Nginx配置编辑站点配置文件
1cd /etc/nginx/conf.d
1vim <domain>.conf
内容为
12345678910111213141516171819202122232425262728293031323334353637383940414243444546 ...
配置开源安卓QQ协议库Mirai
前言因为经常配置Mirai,每次手动输入命令有些麻烦,所以记录一下配置过程。
配置JDKDebian系:
1apt install openjdk-11-jdk
CentOS系:
1yum install java-11-openjdk
测试JDK
1java -version
启动MCL准备目录
1mkdir -p /usr/local/mirai
下载Mirai
12cd /usr/local/miraiwget https://github.com/iTXTech/mirai-console-loader/releases/download/v1.0.4/mcl-1.0.4.zip
(注意:加载器可能已经更新,请前往release页面查看最新版并将链接替换为新版链接)
(2021-03-23更新:如下载缓慢建议自行挂梯下载放入/usr/local/mirai)
解压
1unzip mcl-1.0.4.zip && rm mcl-1.0.4.zip
启动MCL
1chmod +x mcl && ./mcl
控制台提示”mirai-con ...
恢复站点时遇到的问题和解决方法
前言在部署一个基于Mirai的QQ机器人时,遇到了Python报错,切换Python版本时不小心删除了系统默认的Python,导致yum命令不能使用,尝试许多解决方案都无法恢复,索性就重置系统镜像成Debian。
正文重置系统后恢复站点的时候遇到了一些问题,这里记录一下解决方法
(一)
问题:
重置系统完成后,在阿里云轻量控制台更换密钥,22端口已开放,SSH远程连接一直失败
解决方法:
更换密钥后,阿里云会自动开启安全组22端口,但是之前自定义开放的22端口还在,导致安全组页面出现两个了22端口开放,删除所有开放的22端口重新更换密钥后正常
(二)
问题:
将Hexo博客部署到服务器过程中,安装nodejs和rpm时,执行命令apt install nodejs后服务器只有nodejs没有rpm
解决方法:
Debian需执行apt install nodejs rpm,而Centos只需执行yum install nodejs
(三)
问题:
将Hexo博客部署到服务器过程中, 环境和仓库配置完成后,本地运行hexo deploy时出现
1remote: error: unable ...