用户头像上传 功能介绍 在用户中心中,允许用户更换自己的头像.因此,我们开发上传一张图片到服务器,并保存成为用户的头像. 接口解析 在用户模块的控制器MemberController中,解析头像上传的接口,解析如下: func (mc *MemberController) Router(engine *gin.Engine) { ... //用户头像上传 engine.POST("/api/upload/avator",mc.uploadAvator) } 在文件上传过程中,后台服务器…
项目介绍 我们将开始使用Gin框架开发一个api项目,我们起名为:云餐厅.如同饿了么,美团外卖等生活服务类应用一样,云餐厅是一个线上的外卖应用,应用的用户可以在线浏览商家,商品并下单. 该项目分为客户端和服务端两端程序. 1.客户端程序通过接口从服务端获取数据,获取结果后展示数据. 2.服务端程序提供接口Api的访问功能,执行数据库操作,并组织数据返回. 客户端介绍 云餐厅客户端使用Vue.ES6.Webpack等技术进行开发,项目开发需要具备前端开发技能,我们聚焦于后端Api功能的开发. 环境…
功能和背景介绍 在项目的登录功能中,如果在登录时发现用户名和密码在用户表中不存在,会自动将用户名和密码保存在用户表中,创建一个新的用户. 因此,除了使用手机号和验证码登录以外,还支持使用用户名.密码进行登录. 如果首次使用手机号和验证码进行登录,会默认将手机号作为用户名创建新的用户,将用户结构体对象的数据保存在数据库中. 因此,我们有必要创建用户表. 用户数据结构体定义 在项目中,使用结构体定义用户数据结构.结构体定义如下所示: type Member struct { Id int64 `xo…
图形化验证码生成和验证 功能介绍 在使用用户名和密码登录功能时,需要填写验证码,验证码是以图形化的方式进行获取和展示的. 验证码使用原理 验证码的使用流程和原理为:在服务器端负责生成图形化验证码,并以数据流的形式供前端访问获取,同时将生成的验证码存储到全局的缓存中,在本案例中,我们使用redis作为全局缓存,并设置缓存失效时间.当用户使用用户名和密码进行登录时,进行验证码验证.验证通过即可继续进行登录. 验证码库安装 借助开源的验证码工具库可以生成验证码. 首先,安装开源的验证码生成库: go…
集成第三方发送短信 介绍 用户登录 用户登录有两种方式: 短信登录,密码登录 短信登录是使用手机号和验证码进行登录 短信平台 很多云平台,比如阿里云,腾讯云,七牛云等云厂商,向程序开发者提供了短信验证码套餐服务.借助云平台的短信服务,程序开发者可以非常简单方便的将短信服务集成到自己的程序中. 我们以接入和集成阿里云的短信服务sdk为例, 如果需要申请腾讯云短信服务可以看我另外写的一篇blog,使用两者都差不多 https://www.cnblogs.com/you-men/p/13088949.…
我上一篇关于vue的文章和这一篇时间隔了有点久了.最近终于写完了. 因为我一直想写个有点实绩的东西,而不是随便写一个教程一样东西.结合最近在项目中学到的经验和我的一点创意. 首先介绍下这是个什么! H5直播平台! 不是一个标题,我已经开发完了. 接着这里是登录注册的流程图 这边微信登录,因为没有我个人没有权限开通服务号,所以没有测试.用的还是16年我上个公司的代码. 验证码我用的是aliyun的短信平台,大部分短信平台都有个需要企业资质的东西. 因为这是个个人站,只有腾讯云和阿里云有个人的 简单…
前言 最近有一个说法,如果你看见某个网站的某个功能,你就大概能猜出背后的业务逻辑是怎么样的,以及你能动手开发一个一毛一样的功能,那么你的前端技能算是进阶中高级水平了.比如咱们今天要聊的这个话题:如何用Vue开发一个实时性的时间转换指令? 接下来正文从这开始~ 如上图所示(我是截取的某技术社区首页的部分页面),大家看到用红色边框勾选中的时间文字了吧.很多网站发布动态的时候,都会有一个相对本机时间转换后的相对时间.那你知道这个功能实现的背后原理是什么吗?如果有兴趣的,请备好瓜子,茶水,继续往下读.…
前言: 18年年底,就一个字,忙,貌似一到年底哪个公司都在冲业绩,包括我们自己开发自己公司的项目也一样得加把劲.自从18年年初立了个flag17年年终总结——走过2017,迎来2018Flag到现在又一年了.想想当时立的flag还是很多没有完成到,说的第一点就没有完成了(ps:这确实不能怪我,真的忙),健身也是落下了,而node.js的呢还在进程中,说不定稍后会出了系列的文章(ps:当然不会像之前那几篇那样,感觉写得有点云里雾里的).当然,今天的重点不是说这些,而是我在vue项目上实践的一些小汇…
vue本身为运行脚手架项目自家搭载了一个nodejs后台环境,本地可通过proxyTable来处理跨域问题,但是上线(或生产环境)之后改域名真是一件麻烦的事情,所以进行一些配置. config/index.js proxyTable: { '/apis': { target: 'http://www.baidu.com', //域名,主要修改这一块 changeOrigin: true, pathRewrite: { '^/apis': '/' //注意名字 }, } }, //修改下面的两个文…
// 开发模式下 module.exports = { mode: 'development', devtool: 'cheap-module-eval-source-map' } // 线上模式下 module.exports = { mode: 'production', devtool: 'cheap-module-source-map' } 权威介绍请查看官方文档:https://webpack.js.org/configuration/devtool/ ----------------…