封装API
通过mongoose拼接查询语句获取数据,将它们统一封装在一个API文件中,需要哪些数据调用想用的方法即可。
server/api/wiki.js
|
|
获取家族数据
server/routers/wiki.js
|
|
获取家族详细资料
|
|
获取主要成员数据
|
|
获取成员的个人详情
|
|
修改数据请求地址
store/serice.js
|
|
修改页面
在页面中添加img,用拼接的方式获取七牛云上的图片地址。
pages/index.vue
|
|
state中定义imageCDN
|
|
记得修改入口文件的执行文件路径
start.js
|
|
家族详情页
点击家族名称跳转到家族详情页,数据houses已经存在,只需要再完善展示效果,添加img
|
|
个人详情页和家族页一样,只需要修改img图片地址即可,这里就不贴代码了。
商城路由
商品建模
使用mongoose
server/database/schema/product.js
|
|
商品操作的API
server/api/product.js
|
|
商品路由
增加商品路由,包括增删改查系列商品操作
server/routers/product.js
|
|
设置暴露路由,修改文件
server/api/index.js
|
|
后台商品页
pages/admin/products.vue
|
|
页面具体代码不细贴了
定义数据
|
|
isProduct
:是否有product数据
openSnackbar
:打开openSnackbar
edited
:编辑数据
editing
:编辑状态
引入products
|
|
获取数据
|
|
编辑intro
|
|
编辑product
点击编辑按钮,触发editProduct(item)
方法
|
|
创建product
点击添加按钮,弹出创建数据窗户,写入edited参数,设置状态
|
|
保存product
点击创建宝贝或者点击保存修改触发saveEdited()
事件
|
|
删除product
|
|
添加参数
创建product时,添加参数项,或者删除某个参数项
|
|
数据增删改查
store/actions.js
|
|
修改请求地址
store/service.js
|
|
解析body数据
存储商品时是post请求,body需要解析。通过MIDDLEWARES引入中间件,添加common中间件,
server/index.js
|
|
使用koa-bodyparse解析数据
server/middlewares/common.js
|
|
上传图片到七牛云
这次是从浏览器端上传图片,先从服务器上拿到授权token,结合token去完成在客户端生成的图片(如果没有token的话,任何人都可以往你的服务器传图片,不安全)。然后再调用js-sdk完成上传图片功能。这里需要引入两个组件:
random-token:随机生成key
qiniu-web-uploader:上传图片组件
|
|
页面中添加上传图片
|
|
创建点击上传图片事件@change='uploadImg($event)'
。传入事件e,声明点击事件元素file,随机生成的文件名key,调用getUptoken(key)
获取token值,创建Uploader实例,传入file和token值,监听上传进度,调用上传图片函数uploader.upload()
,最后将获取到的可以放入edited.images
|
|
问题:
这里会报error: incorrect region, please use up-z2.qiniu.com
的错误
解决:
是因为空间是华南的,这里我直接换用华东空间就可以正常使用了。
修改server/lib/qiniu.js
|
|
添加七牛路由
server/routes/qiniu.js
|
|
上传图片测试成功,如图:
前台页面展示
和之前一样,只需要修改图片img地址即可,需要修改的页面分别是pages/shopping.vue和pages/deal.vue两个页面,代码很简单这里就不做展示了,具体看源码即可。