# xiaomi **Repository Path**: chaorenex1/xiaomi ## Basic Information - **Project Name**: xiaomi - **Description**: 小米商城servlet版 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2018-06-27 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 项目名称: 小米商城 ### 项目简介 小米商城PC端 ### 开发环境: java 1.8 mysql 5.7 eclipse 4.7 tomcat 9.0.8 ### 代码规范 1.包名,类名,方法名,属性名等采用驼峰命名法 2.包名采用域名倒置写法,统一为cn.crex1.xiaomi.XXX 3.不允许使用拼音和英文单词缩写。尽量使用英文单词作为标识符 4.项目分层,各层类按规定加上后缀,如Dao层,接口:xxxDao 实现:xxxDaoImpl Controller:XXXController Service:XXXService ServiceImpl:XXXServiceImpl Dao:XXXDao DaoImpl:XXXDaoImpl Util:XXXUtil Vo:XXXVO 5.pojo类vo类属性定义使用包装类型 6.注意代码中属性和方法的分段 7.在定义变量传递参数是避免歧义。 ### 代码管理 每天早上pull下拉代码,下午push下拉代码。中间不上传下载代码。 ### API #### 用户登录 url:/user/login method:post: 参数:telephone 手机号码 password 密码 MD5加密 view 视图名 跳转那个页面 响应:msg: 账号密码正确 登录成功 -> 保存用户状态[服务器:redis;浏览器:cookie],根据view跳转相应视图 账号密码错误 登录失败 #### 用户注册 url:user/register method:post 参数: username 用户名 password 密码 MD5加密 telephone 手机号码 响应: 注册成功 跳转login.html 注册失败 #### 用户名验证 url user/isusername method:get 参数:username:用户名 响应: state:0 未注册 state:1 已注册 #### 手机号验证 url user/telephone method:get 参数:telephone 手机号 响应: state:0 未注册 state:1 已注册 #### 获取验证码 url user/randomCode method:get 参数:无 响应:验证码 一个图片输出流 #### 验证码比较 url user/equalsrandomCode method:get 参数:code 响应: state:0 验证码相同 state:1 验证码不同 #### 验证登录 url user/valilogin method: get 参数:无 (从cookie中获得token 通过token获取redis中的用户信息) 响应: state:0 已登录 ->username 用户名 state:1 未登录 #### 退出登录 url user/loginout method:get 参数:view 跳转视图 删除用户信息cookie和redis缓存 响应:根据view跳转相应视图 #### 产品分类 url product/clist method:get 参数:ctype 分类类型 响应:list 分类列表 #### 产品列表 url product/plist method:get 参数:interval 产品列表长度 响应:list 产品列表 通过定时器 刷新列表数据 #### 分类产品列表 url product/cplist method:get 参数: id 分类id pdcount:分页参数 每页显示数据数 响应: firstpage:第一页 lastpage:尾页 totalpage:总页数 perpagedata:每页数据 list 指定分类产品列表 ### 缓存策略 先查缓存 : 有数据 ->返回数据 无数据 ->查询数据库:有数据:缓存数据,返回数据 ### Util参考 BigDecimalUtil: 金钱精确计算 CookieUtil: cookie的创建,获取名字 值,删除 DateUtil:日期的生成 ,转换 ,格式化 JsonUtil:对象的序列化和反序列化 ,获取请求jso数据 ,将json数据写入响应 MD5Util:密码加密 PageUtil:分页,按照每页显示数据定制分页 RandomCodeUtil:图片验证码的生成与比较 RedisUtil:操作redis数据库的一系列静态方法 StringUtil:字符串的操作工具 TimeUtil:刷新产品列表数据定时器 ### 参考网站 jquery文档:http://jquery.cuishifeng.cn/index.html