微信小程序小技巧系列《二》show内容展示,上传文件编码问题

作者:gou-tian
来自:github

show内容展示

  • 尝试用微信小程序的template组件实现。同时,尝试页面间转跳时传参,在目标页面引入模板文件实现 写的更少,做的更多篇幅有限详细代码此处省略
<view class="show-warp"> 
    <block wx:for="{{discuss}}" wx:key="index"> 
        <template is="discuss" data="{{item}}"></template> 
        <template is="discuss-reply" data="{{item}}"</template> 
        <template is="discuss-more" data="{{item}}"</template> 
    </block> 
</view>
Page({ 
    data: { 
        discuss: [], 
        petAge: 0, 
        reply: false, 
        height: 20 
    }, 
    onLoad: function(){ 
        util.dataList.call(this, { 
            cb: util.petAge 
        }); 
    } 
}); 
/* 
* 部分公共逻辑页代码 
*/ 
function list(option) { 
   var opt = { 
       url: option.url || 'https://api.zg5v.com/index.php/index/show/showindex', 
       data: option.data || { 
           uid: 148, 
           num: option.pageNum || 0 
       }, 
       update: option.update || false, 
       cb: option.cb || false, 
       func: option.func || false 
   }; 
   // 数据列表 
   var showList = []; 
   var objDa = []; 
   this.data.replyListArr = []; 
   // 保存/修改 this指向 
   var self = this; 
   ajax({ 
       url: opt.url, 
       data: opt.data, 
       cb: function(res) { 
           showList = res.data.data; 
           // 统一格式 
           if (!Array.isArray(showList) && 
               typeof showList === 'object') { 
               // 计算评论发布时间 
               showList.pl.forEach(function(e, i) { 
                   e.cp_chongbirth = e.cp_addtime * 1000; 
                   e.replyTime = opt.cb(e.cp_chongbirth, true); 
               }, showList.pl); 
               objDa.push(showList); 
           } else { 
               objDa = showList; 
           } 
          // 更新评论列表 
          if (opt.update) { 
              let da = res.data.data.pl, 
                  plDa = self.data.discuss, 
                  i = 0, 
                  j = 0, 
                  len = da.length, 
                  jLen = plDa.length; 
              for (; j < jLen; j++) {
                  for (; i < len; i++) { 
                      if (plDa[j].pl.length > 0) { 
                          plDa[j].pl.push(da[i]); 
                      } 
                  } 
              } 
              objDa = plDa; 
              opt.update = !opt.update; 
          } 
          if (res.data.status === 1) { 
              for (var i = 0, len = objDa.length; i < len; i++) { 
                  if (opt.cb && typeof opt.cb === 'function') { 
                      // 计算宠物年龄 
                      objDa[i].petAge = opt.cb(objDa[i].cp_chongbir || objDa[i].cp_chongbirth); 
                  } 
              } 
              self.setData({ 
                  discuss: objDa 
              }); 
          } else if (res.data.status === 2 || res.data.status === 0) { 
               self.onLoad(); 
          } 
          objDa = []; 
       } 
   }); 
}

上传文件编码问题(*)

  • header 里的数据在真机预览的时候是无效的。那就尝试改变编码进行传输,在uploadFile 的参数中加入
header: {“chartset”:”utf-8”} 

或是

header: {"content-type":'application/x-www-form-urlencoded'}
  • 需要改到 formData 中,尝试将编码数据加入formData,但仅仅传输了数据,并没有改变编码.header有问题暂时找不到解决方案,所以编码操作暂时只能手动进行.在 javascript 中,字符串编码函数是 encodeURI, 在小程序中尝试可以使用。所以,将代码改为如下:
wx.uploadFile({ 
    url: 'Upload image server path (Must be secure https)', 
    // 待上传的图片,由 chooseImage获得 
    filePath: tempFilePaths[0], 
    name: 'file', 
    // HTTP 请求中其他额外的 
    form data formData: { 
        // city: '太原', 
        city: encodeURI('太原'), 
        // name: 'taiyan', 
        name: encodeURI('taiyan') // 名称 
    }, 
    success: function(res) { 
        console.log("success", res); 
    }, 
    fail: function(res) { 
        console.log("fail", res); 
    } 
});

转自:转载地址

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容