帖子
帖子
用户
博客
课程
显示全部楼层
204
帖子
0
勋章
710
Y币

[云开发] 求优化 求指点 pointer的查询方法

[复制链接]
发表于 2015-7-4 20:59:44
1、终于查询出pointer的数据值,进行了两次查询,查询两个class表
shopcar(id   shopid(帖子ID pointer表dishes)   uid(用户ID pointer表user))  
  dishes(id    titel (帖子标题)   centent(帖子内容)  )   
  代码很繁琐,有没有API可以优化的? 能否一段代码就可以达到目的呢?




2、另外出一个问题,查询的数据不听的覆盖。显示总是一条       
function chaxun() {
                        var uid = $api.getStorage('uid');
                        var appId = 'A69801179995225';
                        var appKey = '4D1947B7-1FEA-0130-67D1-5BD33962F9B7';
                        var host = 'https://d.apicloud.com';
                        var now = Date.now();
                        var AppKey = hex_sha1(appId + "UZ" + appKey + "UZ" + now) + "." + now;
                        var appPath = '/mcm/api/shopcar';      //表查询表shopcar    里面有一个字段shopid(pointer-dishes表)
                        var getParam = '&filter[where][uid]=' + uid;
                        api.ajax({                                                            
                                url : host + appPath + getParam,
                                method : 'get',
                                cache : false,
                                timeout : 20,
                                dataType : 'json',
                                returnAll : false,
                                headers : {
                                        "X-APICloud-AppId" : appId,
                                        "X-APICloud-AppKey" : AppKey
                                } //通过头信息进行认证
                        }, function(ret, err) {
                                if (ret) {                                        //查询成功,查询用户发布了多少条帖子及帖子的id号
                                        var item = [];
                                        var content = $api.byId('test');
                                        var con = "";
                                        item = ret;
                                        for (var i = 0; i < item.length; i++) {
                                                var cid = item.shopid;                         //根据shopchar查询出来帖子ID,遍历查询dishe表里 帖子的详细信息
                                                //
                                                var model = api.require('model');
                                                model.findById({
                                                        class : 'dishes',
                                                        id : cid
                                                }, function(ret, err) {
                                                        if (ret) {
//                                                                alert('商品' + JSON.stringify(ret))
                                                                createItem(ret);                                  //调用函数打印到div(id=test)
                                                        }
                                                });
                                        }
                                } else {
                                        var err_msg = '错误码:' + err.code + ';错误信息:' + err.msg + '网络状态码:' + err.statusCode;
                                        api.toast({
                                                msg : err_msg,
                                                location : 'middle'
                                        });
                                };
                        });
                }
                function createItem(ret) {
                        var str = '<div id=a clss="classify"  tapmode="itemhover">';
                        str += '<img src="../image/more_icon_10.png" alt="" class="sublogo">';
                        str += '<img src="../image/phone.png" alt="" class="sublogo2">';
                        str += '<div class="info"><div class="title">' + ret.name + '</div><div class="subtitle">' + ret.price + '元/kg</div>';
                        str += '<div class="subtitle2">' + ret.tprice + '元/kg</div></div>        </div>';
                        alert(str);
                        var content = $api.byId('test');
                        content.innerHTML = str;
                }

7
帖子
0
勋章
1594
Y币
第一个你可以查看云api文档里边的include关键字,查询请看includefilter(这是回答你其他帖子里边的)
第二个你需要了解下异步的原理,for循环里边套异步查询,能给你返回一条就已经证明你的网很快了。
您需要登录后才可以回帖 登录

本版积分规则