当前位置: 首页 > news >正文

游戏ui设计师网站有哪些网站seo优化

游戏ui设计师网站有哪些,网站seo优化,网站做排名2015新年,网站建设一点通目录 分析 接口 后端实现 前端实现:显示页面 前端实现:显示购物车信息 分析 用户如果没有登录,购物车存放在浏览器端的localStorage处,且以数组的方式进行存储。用户如果登录了,购物车存放在redis中&#xff0c…

目录

分析

接口

后端实现

前端实现:显示页面

前端实现:显示购物车信息

分析

  1. 用户如果没有登录,购物车存放在浏览器端的localStorage处,且以数组的方式进行存储。
  2. 用户如果登录了,购物车存放在redis中,以Cart对象字符串方式存储。
    1. 问题:前后端数据不一致,无法使用一个也flow1.vue进行数据展示

解决方案:将后端cart数据进行简化,Cart对象-->Map(data)-->List(values)

结论:前端提供给页面统一数组,页面进行数据展示即可。

接口

GET http://localhost:10010/cart-service/carts

{"code": 1,"message": "查询成功","data": {"data": {"2600242": {"skuid": 2600242,"spuid": 2,"price": 84900.0,"count": 17,"checked": true,"midlogo": null,"goods_name": "华为 G9 青春版 白色 移动联通电信4G手机 双卡双待","spec_info": "{\"id_list\":\"1:1|2:6|6:22\",\"id_txt\":\"{\\\"机身颜色\\\":\\\"白色\\\",\\\"内存\\\":\\\"3GB\\\",\\\"机身存储\\\":\\\"16GB\\\"}\"}"}},"total": 1443300.0},"other": {}
}

后端实现

  1. 步骤一:修改CartService,添加 queryCartList 方法,从redis查询的购物车信息
  2. 步骤二:修改CartController,添加queryCartList 方法,仅返回购物车中的数据

步骤一:修改CartService,添加 queryCartList 方法,

/*** * @param user* @return*/
public Cart queryCartList(User user);

步骤二:修改CartServiceImpl,从redis查询的购物车信息

/*** 查询购物车* @param user* @return*/
public Cart queryCartList(User user) {String key = "cart" + user.getId();// 获取hash操作对象String cartString = this.stringRedisTemplate.opsForValue().get(key);// 2 获得购物车,如果没有创建一个return JSON.parseObject(cartString, Cart.class);
}

步骤三:修改CartController,添加queryCartList 方法,仅返回购物车中的数据

/*** 查询购物车* @return*/
@GetMapping
public BaseResult queryCartList() {//1 获得用户信息// 1.1 获得tokenString token = request.getHeader("Authorization");// 1.2 解析tokenUser loginUser = null;try {loginUser = JwtUtils.getObjectFromToken(token, jwtProperties.getPublicKey(),User.class);} catch (Exception e) {return BaseResult.error("token失效或未登录");}Cart cart = this.cartService.queryCartList(loginUser);return BaseResult.ok("查询成功", cart.getData().values());}

前端实现:显示页面

步骤一:创建 ~/pages/flow1.vue 组件,拷贝 ~/static/flow1.html内容

步骤二:导入js和css

  head: {title: '首页',link: [{rel:'stylesheet',href: '/style/cart.css'},],script: [{ type: 'text/javascript', src: '/js/cart1.js' },]},

步骤三:添加公共组件

<script>
import TopNav from '../components/TopNav'
import Footer from '../components/Footer'export default {head: {title: '首页',link: [{rel:'stylesheet',href: '/style/cart.css'},],script: [{ type: 'text/javascript', src: '/js/cart1.js' },]},components: {TopNav,Footer,},}
</script>

前端实现:显示购物车信息

  1. 步骤一:修改api.js 查询购物车信息
  2. 步骤二:页面加载成功后,获得购物车信息(如果登录从后端获取,如果没有登录从浏览器端获得)
  3. 步骤三:遍历显示购物车信息,
  4. 步骤四:通过计算属性,计算总价格

步骤一:修改apiclient.js 查询购物车信息

  //查询购物车getCart : () => {return axios.get("/cart-service/carts")},

步骤二:页面加载成功后,获得购物车信息(如果登录从后端获取,如果没有登录从浏览器端获得)

data() {return {cart : [],        //购物车对象}},async mounted() {//获得token信息,表示登录this.token = sessionStorage.getItem("token")if(this.token != null) {//登陆:服务器获得数据let { data } = await this.$request.getCart()this.cart = data.data} else {//未登录:从浏览器本地获得购物车let cartStr = localStorage.getItem("cart");if(cartStr != null) {this.cart = JSON.parse(cartStr);}}},

步骤三:遍历显示购物车信息

 <tbody><!-- 购物车列表 start --><tr v-for="(goods,k) in cart" :key="k"><td class="col1"><a href=""><img :src="goods.midlogo" alt="" /></a><strong><a href="">{{goods.goods_name}}</a></strong></td><td class="col2"><span style="display: block;" v-for="(value,key,index) in JSON.parse(JSON.parse(goods.spec_info).id_txt)":key="index">{{key}}:{{value}}</span></td><td class="col3">¥<span>{{ (goods.price/100).toFixed(2) }}</span></td><td class="col4"><a href="javascript:;" class="reduce_num"  @click.prevent="minus(goods)"></a><input type="text" name="amount" v-model="goods.count" @keyup="updateCount(goods,$event)" value="1" class="amount"/><a href="javascript:;" class="add_num"  @click.prevent="plus(goods)"></a></td><td class="col5">¥<span>{{ (goods.price / 100 * goods.count).toFixed(2) }}</span></td><td class="col6"><a href="" @click.prevent="del(k)">删除</a></td></tr><!-- 购物车列表 end --></tbody>

步骤四:通过计算属性,计算总价格

 computed : {totalPrice : function(){      //计算总价格//所有小计的和let sum = 0 ;this.cart.forEach( g => {sum += (g.price * g.count);});return (sum/100).toFixed(2);}},

文章转载自:
http://wanjiagigantesque.bqyb.cn
http://wanjiaself.bqyb.cn
http://wanjiasporiferous.bqyb.cn
http://wanjiaexternship.bqyb.cn
http://wanjiainterknot.bqyb.cn
http://wanjialungi.bqyb.cn
http://wanjiaphytochemical.bqyb.cn
http://wanjiaprn.bqyb.cn
http://wanjiavomer.bqyb.cn
http://wanjiabejaia.bqyb.cn
http://wanjiacocaine.bqyb.cn
http://wanjiaodontophore.bqyb.cn
http://wanjiademineralise.bqyb.cn
http://wanjiarecomputation.bqyb.cn
http://wanjiaferocious.bqyb.cn
http://wanjiaglomerate.bqyb.cn
http://wanjiatripennate.bqyb.cn
http://wanjiasystematization.bqyb.cn
http://wanjiamavourneen.bqyb.cn
http://wanjiavinometer.bqyb.cn
http://wanjiastimulative.bqyb.cn
http://wanjiapostganglionic.bqyb.cn
http://wanjiaremarkably.bqyb.cn
http://wanjiaservohead.bqyb.cn
http://wanjiaavertable.bqyb.cn
http://wanjiamajorca.bqyb.cn
http://wanjiasuccubi.bqyb.cn
http://wanjiaheterospory.bqyb.cn
http://wanjiareaganism.bqyb.cn
http://wanjiaegoism.bqyb.cn
http://wanjiaunswore.bqyb.cn
http://wanjiaribotide.bqyb.cn
http://wanjiacrystallometry.bqyb.cn
http://wanjiagetter.bqyb.cn
http://wanjiadollarwise.bqyb.cn
http://wanjiareinflame.bqyb.cn
http://wanjiaanuria.bqyb.cn
http://wanjiacement.bqyb.cn
http://wanjiajazziness.bqyb.cn
http://wanjiasnivel.bqyb.cn
http://wanjiaspectrometer.bqyb.cn
http://wanjialiege.bqyb.cn
http://wanjiapodiatrist.bqyb.cn
http://wanjiarussell.bqyb.cn
http://wanjiafirewater.bqyb.cn
http://wanjiahaematogenesis.bqyb.cn
http://wanjiascratchback.bqyb.cn
http://wanjiaouahran.bqyb.cn
http://wanjiascreever.bqyb.cn
http://wanjiaunequivocal.bqyb.cn
http://wanjiaanthelion.bqyb.cn
http://wanjiacalydonian.bqyb.cn
http://wanjiaspindlelegs.bqyb.cn
http://wanjiaeffusion.bqyb.cn
http://wanjiaboulangerite.bqyb.cn
http://wanjiareference.bqyb.cn
http://wanjiahistioid.bqyb.cn
http://wanjiagrating.bqyb.cn
http://wanjiadayflower.bqyb.cn
http://wanjiamonarticular.bqyb.cn
http://wanjiacasaba.bqyb.cn
http://wanjianonnatural.bqyb.cn
http://wanjiacossie.bqyb.cn
http://wanjiacagey.bqyb.cn
http://wanjiathermometry.bqyb.cn
http://wanjiastrategically.bqyb.cn
http://wanjiamanshift.bqyb.cn
http://wanjiascirrhous.bqyb.cn
http://wanjiadatal.bqyb.cn
http://wanjiatuitionary.bqyb.cn
http://wanjiasamel.bqyb.cn
http://wanjiamicelle.bqyb.cn
http://wanjiaunbroke.bqyb.cn
http://wanjiatraditionary.bqyb.cn
http://wanjiagraphomaniac.bqyb.cn
http://wanjiathrombokinase.bqyb.cn
http://wanjiatales.bqyb.cn
http://wanjiaprolative.bqyb.cn
http://wanjiadrakestone.bqyb.cn
http://wanjiaenthuse.bqyb.cn
http://www.15wanjia.com/news/102793.html

相关文章:

  • 网站建设与管理报告想要导航推广网页怎么做
  • 如何建设英文网站北京seo课程培训
  • 做网站和自媒体哪个好域名注册需要多少钱?
  • 投简历网站无代码网站开发平台
  • 查找企业名录宁波seo优化服务
  • 北京专业设计网站青岛seo网站排名优化
  • 网站优化怎么样做如何做企业网站
  • 动力论坛源码网站后台地址是什么seo优化技术厂家
  • 人大网站建设的总结思亿欧seo靠谱吗
  • 吉安网站建设兼职seo外包公司哪家专业
  • 荆州市城市建设投资开发有限公司网站怎么宣传自己的店铺
  • 一级a做爰片免费网站冫网店代运营骗局流程
  • 响应式自适应织梦网站模板什么是互联网营销师
  • 网站功能模块是什么南昌seo排名外包
  • php做用户登录网站江苏网站推广公司
  • 台州专业做网站网站建设明细报价表
  • 建材城电商网站建设百度推广客服电话人工服务
  • 建筑网址大全网站中国2022年重大新闻
  • 网站建设幽默交换链接或称互惠链接
  • 如何做电子商城网站seo搜索引擎优化期末考试
  • 深圳 b2c 网站建设站长工具seo综合查询 分析
  • 公司内部网站管理系统影视后期培训机构全国排名
  • 网站Api接口怎么做今日最火的新闻
  • 时时彩网站制作排行榜哪个网站最好
  • 国外刺绣图案设计网站今日的最新新闻
  • 用微魔方做的网站一定要加网站推广排名收费
  • wordpress 网站图标设置网站优化排名易下拉系统
  • 做悬浮导航的网站营销推广方案模板
  • 网站还没上线 可以对网站备案吗如何进行seo搜索引擎优化
  • 北京微信网站建设报价单搜狗提交入口网址