美文网首页
周报 第三期

周报 第三期

作者: 水水壶 | 来源:发表于2019-08-03 21:48 被阅读0次

这周主要还是写的微信电影小程序,上周是跟着视频用云函数写的小程序,这周是用nodejs 写的服务端 用 wx.request 发送请求写的小程序并增加了评论展示区域,不过页面有点丑😖。

image.png

一、服务端、客户端

1.

之前才写的服务端,但是我发现还是要多写写,很多问题都是在写的时候出现的
写服务端就是写接口,我们要提供一个网址给客户端。
网址就是:ip地址+端口+接口


客户端请求的网址

其中 localhost代表是本机ip地址,3000是端口,comments就是客户端向服务端请求的接口

2. 客户端怎么发送请求 服务端怎么接受请求

客户端发送请求 :

  • 要知道请求地址(就是服务端需要提供的网址) 也就是 url
  • 要知道请求方式,在小程序中默认是 get 请求
  • 要知道请求带不带参数
getComments: function () {
    var that = this
    wx.request({
      url: 'http://localhost:3000/comments',
      data: {
        movieId: that.data.movieid, // movieId 就是携带的参数是需要发送到服务端
      }, 
      success(res) {
        console.log(res.data.data)
        res.data.data = res.data.data.map(item => {
           item.img = item.img.split(',');
            return item
            })
        that.setData({
          commentList: res.data.data,
        })
      }
    })
  },

服务端处理请求 :

 app.get('/comments', async function (req, res) {
        const { movieId } = req.query 
        const sql = 'select * from comment where movieId = ?'
        const result = await dbexec(sql,[movieId])
        res.json(result)
    });

二、 自定义属性

在 wxml 页面自定义 属性 data-movieid= "{{ item.id }}",在 js 中用 event.target.dataset.movieid 获取页面自定义的属性的值

<view class='movie' wx:for="{{movieList}}" wx:key="{{index}}">
  <image class="movie-img" src="{{item.images.small}}"></image>
  <view class="movie-info">
    <view class="movie-title">{{ item.title }}</view>
    <view> 观众评分:
      <text class="movie-scope"> {{item.rating.average}}分</text>
    </view>
    <view> 主演:
      <text wx:for="{{item.casts}}" wx:key="{{index}}"> {{item.name}}</text>
    </view>
    <view>年份:{{ item.year }}</view>
  </view>
  <button bindtap="gotoComment" data-movieid= "{{ item.id }}" class="movie-comment">评价</button> 
//  item.id 就是  movieList 里的每一项的 id
</view>

js
 gotoComment: function (event){
    event.target.dataset.movieid   //    用 event.target.dataset.movieid 获取 wxml 传过来的电影的 id
    wx.navigateTo({
      url: `../comment/comment?movieid=${event.target.dataset.movieid}`
    });
  },

三、

wx:for嵌套wx:for循环,要给每项的 item 设置一个 变量wx:for-item="img"

<block wx:for="{{commentList}}" wx:for-item="comment" wx:key="{{index}}">
  <block wx:for="{{comment.img}}" wx:for-item="img" wx:key="{{index}}">
    <image class="useruploadpic" src="{{img }}"></image> 
  </block> 
  <view>评价内容: {{comment.comment}}</view>
  <van-rate value="{{ comment.score }}" bind:change="onScore" />
  <view>时间:{{comment.create_date}}</view>
</block>

四、

  • 怎么把数组中的每一项中一个属性的值变成数组


    image.png
 res.data.data = res.data.data.map(item => {
           item.img = item.img.split(',');
            return item
            })
  • 把字符串解析成 json 对象 JSON.parse()

五、 报错信息

报错: VM232:1 Failed to load font https://img.yzcdn.cn/vant/vant-icon-c2acf5.woff2 net::ERR_CACHE_MISS
解决方案 在 wxml 添加以下代码

<view class="icon van-icon van-icon van-icon-upgrade van-icon-upgrade" style="font-size: 32rpx;"></view> 

相关文章

  • iOS开源项目周报1229

    由OpenDigg 出品的iOS开源项目周报第三期来啦。我们的iOS开源周报集合了OpenDigg一周来新收录的优...

  • 前端开源项目周报1226

    由OpenDigg 出品的前端开源项目周报第三期来啦。我们的前端开源周报集合了OpenDigg一周来新收录的优质的...

  • 安卓开源项目周报1227

    由OpenDigg 出品的安卓开源项目周报第三期来啦。我们的安卓开源周报集合了OpenDigg一周来新收录的优质的...

  • 平安科技移动开发二队技术周报(第三期)

    平安科技移动开发二队技术周报(第三期) @author ASCE1885的 Github 简书 微博 CSDN ...

  • 周报 第三期

    这周主要还是写的微信电影小程序,上周是跟着视频用云函数写的小程序,这周是用nodejs 写的服务端 用 wx.re...

  • Swift 周报 第十二期

    前言 本期是 Swift 编辑组自主整理周报的第三期,每个模块还在调整磨合期。各位读者如果有好的提议,欢迎在文末留...

  • MAndroid 周报第三期

    写在前面的话 MAndroid 第三期哦,如果你有好用的开源库,技术文章,可以在文章底下留言或在公众号MAndro...

  • Android周报第三期

    编程那些事 1)编程如何命名(一、二) Android开发 1)FlyRefresh——让人眼前一亮的下拉刷新 2...

  • 技术周报第三期

    本期导读:本期原创精选带来Android更新平台的架构方案初版;进阶之路重点关注Android软键盘的使用技巧;技...

  • 2018旅游经济运行盘点系列报告|旅游全行业信息周报第3期

    旅游全行业信息周报第三期 1.14-1.20 发展改革委、人民银行、文化和旅游部、中央宣传部、市场监管总局等17家...

网友评论

      本文标题:周报 第三期

      本文链接:https://www.haomeiwen.com/subject/bpszrctx.html