柿霖不是林 发表于 2017-3-3 16:49:10

微信小程序demo:移民顾问:列表排序,弹出层,五星评分


实现了很多实用功能,有点跟社区类demo相似,推荐学习研究




// pages/index/details/add_comment/add_comment.js
var util = require('../../../../utils/util.js')
var star = 0;
var content = '';
var canSubmit = false;

var presenter ;
Page({
    data: {

      info:{},

      starsSelected:[
            false, false, false, false, false
      ],

      textCount: 50,

      canSubmit: canSubmit
    },
    onLoad: function(options) {
      // console.log(options.cid);
      // console.log(options.name);
      var info = {};

      ['cid', 'name'].map(function(v){
            info = options;
      });
      this.setData({
            info: info
      });

      presenter = new Presenter(this);

    },

    /**
   * 点击评价星级
   * @param{} e
   * @return {}   
   */
    bindStarTap: function(e){
      var index = e.currentTarget.dataset.index;
      star = index + 1;
      var starsSelected = this.data.starsSelected.map(function(value, i){
            return i <= index;
      });
      this.setData({
            starsSelected: starsSelected
      });
    },

    /**
   *
   * @param{} e
   * @return {}   
   */
    bindContentInout: function(e){
      content = e.detail.value;
      var length = content.length;
      var textCount = 50 - length;
      canSubmit = length > 0;
      this.setData({
            canSubmit: canSubmit,
            textCount: textCount < 0 ? 0 : textCount
      });
    },

    /**
   * 提交评论
   * @param{} e
   * @return {}   
   */
    bindSubmitTap: function(e){
      // console.log('评论长度:' + content.length);
      if (!content.length) {
            this.showMessage('请输入评论内容');
            return ;
      }
      // console.log(`star = ${star}, content = ${content}`);
      presenter.addComment(this.data.info.cid, content, star);
    },

    /**
   * 返回上一个页面
   * @return {}
   */
    backToPrevPage: function(){
      wx.navigateBack();
    },

    /**
   * 显示信息
   * @param{} msg
   * @return {}   
   */
    showMessage: function(msg){
      wx.showModal({
            content: msg,
            showCancel: false,
            confirmColor: '#32B5D2'
      });
    }

});

var Presenter = function(view){
    var globalUserInfo = getApp().globalData.userInfo;
    this.url = util.host + '/api/user/add_comment.html?uid=$uid&code=$code&sp_id=$cid&con=$con&star=$star';
    this.url = this.url.replace('$uid', globalUserInfo.uid)
                     .replace('$code', globalUserInfo.code);
    this.view = view;
}

Presenter.prototype = {

    addComment: function(consultantId, content, star){
      var url = this.url.replace('$cid', consultantId)
                            .replace('$con', content)
                            .replace('$star', star);
      // console.log(url);
      util.get(this, url, 'add_comment');
    },

    onGetData: function(data, tag){
      this.view.backToPrevPage();
    },

    onError: function(msg){
      this.view.showMessage(msg);
    }
}


**** Hidden Message *****

bytry 发表于 2017-3-18 16:59:25

确实是难得好帖啊,顶先

草包猫 发表于 2017-3-31 22:41:31

想学这个

.☂އ 发表于 2017-5-4 23:13:01

支持一下了

lyj4532556 发表于 2017-5-5 09:04:25

啥也不说了,感谢楼主分享哇!

超超 发表于 2017-6-21 16:49:53

看看................................

长风大侠 发表于 2017-6-21 17:21:29

啥也不说了,感谢楼主分享哇!

Ywenli 发表于 2017-8-19 16:53:37

感谢分享

戚基成1502345413 发表于 2017-8-20 08:47:52

支持分享

萌我一脸♂⁵²º₁₃₁₄ 发表于 2017-8-23 16:27:03

不错不错,好贴
页: [1] 2
查看完整版本: 微信小程序demo:移民顾问:列表排序,弹出层,五星评分