• apiCloud如何打开新页面的同时,关掉当前页


    方法很多,只要不同时open、close都可行。给你一个简单的方式:

         api.addEventListener({
             name:'viewdisappear'
         },function(){
             api.closeWin({
                  name:api.winName
             });
         });
    

    谢谢官方提供的方案,棒棒的!

    使用场景,选择好友加入群组!
    群生成之后,关闭选择页面!

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
        <title>title</title>
        <link rel="stylesheet" type="text/css" href="api.css"/>
        <link rel="stylesheet" type="text/css" href="../css/aui.2.0.css"/>
        <style>
            body{
    
            }
        </style>
    </head>
    <body style="background: #eae6e6;">
    <header class="aui-bar aui-bar-nav aui-margin-b-15" id="aui-header">
        <a class="aui-pull-left aui-btn" tapmode onclick="closeWin()">
            <span class="aui-iconfont aui-icon-left"></span>取消
        </a>
        <div class="aui-title">选择朋友</div>
        <a class="aui-pull-right aui-btn">
            <span class="aui-iconfont" style="color:#3F8A2C;" onclick="confirmChooseEvent();">确定</span>
        </a>
    </header>
    </body>
    <script type="text/javascript" src="../script/api.js"></script>
    <script type="text/javascript" src="../script/config.js"></script>
    <script type="text/javascript" src="../script/jquery.min.js"></script>
    <script type="text/javascript" src="../script/message_common.js"></script>
    <script type="text/javascript" src="../script/common.js"></script>
    <script type="text/javascript">
        apiready = function () {
            fix_status_bar();
            var header_height = $api.dom("header").offsetHeight;
    
            api.openFrame({
                name: 'message_choose_friends_frm',
                url: 'message_choose_friends_frm.html',
                rect: {
                    x: 0,
                    y: header_height,
                    w:'auto',           //宽度,若传'auto',页面从x位置开始自动充满父页面宽度
                    h:api.winHeight - header_height            //高度,若传'auto',页面从y位置开始自动充满父页面高度
                },
                bgColor:'rgba(0,0,0,0)',
                bounces:false,
                vScrollBarEnabled:false,
                hScrollBarEnabled:false
            });
    
            // 监听页面消失的时候,关掉页面就可以了
            api.addEventListener({
                name:'viewdisappear'
            },function(){
                api.closeWin();
            });
    
        }
        
        function confirmChooseEvent() {
            api.sendEvent({
                name: 'confirmChooseEvent',
                extra: {
                }
            });
        }
    
    </script>
    </html>
    

    frm页面

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport"
              content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0">
        <title>选择朋友</title>
        <link rel="stylesheet" type="text/css" href="../css/aui.2.0.css"/>
        <link rel="stylesheet" href="../css/message_style.css">
        <style>
            .s_mapul {
                position: absolute;
                top: 0;
                left: 0;
                 100%;
                max-height: 350px;
                overflow: scroll;
                background: #fff;
                overflow-y: auto;
            }
    
            .s_mapul li {
                border-bottom: 1px solid #ededed;
                padding: 0.3rem 5%;
                position: relative;
            }
    
            .s_mapul li h2 {
                font-size: 0.8rem;
            }
    
            .s_mapul li h2 img {
                position: absolute;
                right: 5%;
                height: 1rem;
            }
    
            .s_mapul li p {
                font-size: 0.6rem;
                color: #b0b0b0;
                margin-top: 0.2rem;
            }
        </style>
    </head>
    <body>
    
    <script type="text/javascript" src="../script/api.js"></script>
    <script type="text/javascript" src="../script/common.js"></script>
    <script type="text/javascript" src="../script/message_common.js"></script>
    <script type="text/javascript" src="../script/config.js"></script>
    <script type="text/javascript" src="../script/doT.min.js"></script>
    <script type="text/javascript" src="../script/jquery.min.js"></script>
    <script type="text/javascript" src="../script/convertPinyin.js"></script>
    <script>
        var user;
        var UIListCheck;
        apiready = function () {
            fix_status_bar();
            user = $api.getStorage('user');
    
            // 监听页面关闭
            api.addEventListener({
                name: 'confirmChooseEvent'
            }, function (ret, err) {
                getSelectedSync();
            });
    
            api.ajax({
                url: BASE_URL_ACTION+'/RongCloud/GetFriends',
                method: 'post',
                data: {
                    values: {
                        customerId: user.person_id,
                    }
                }
            }, function (json, err) {
                if (json.result) {
                    dealFriendsData(json.info,function(contacts) {
                        UIListCheck = api.require('UIListCheck');
                        UIListCheck.open({
                            rect: {
                                x: 0,
                                y: 22,
                                w: api.frameWidth,
                                h: api.frameHeight - 22
                            },
                            contacts: contacts,
                            fixedOn: 'message_choose_friends_frm'
                        }, function (ret) {
                            if (ret) {
                            }
                        });
                    });
                } else {
                    toast('获取好友数据失败');
                }
            });
    
    
    
        }
    
        function dealFriendsData(data,callback) {
            var contacts = [];
            for (var i=0;i<data.length;i++) {
                var item = {};
                item.employee_id = data[i].Id;
                item.remark = data[i].NickName;
                item.position = "";
                item.phonetic = convertPinyin(data[i].NickName);
                contacts[i] = item;
            }
            if (typeof callback == 'function') {
                callback(contacts);
            }
        }
    
        function getSelectedSync() {
            var ret = UIListCheck.getSelectedSync();
            var contacts = ret.contacts;
            if (contacts.length == 0) {
                toast('请选择好友');
                return;
            }
    
            var values = {
                systemName : 'yunlutong',
                customerId : user.person_id
            }
    
            for(var i = 0;i<contacts.length;i++) {
                var key='contactIds['+i+']';
                values[key]= contacts[i].employee_id;
            }
            
            api.ajax({
                url : BASE_URL_ACTION+'/RongCloud/AddGroup',
                method : 'post',
                data : {
                    values : values
                }
            }, function(json, err) {
                if (json.result) {
                    toast('创建成功');
    
                    setTimeout(openChatPage('',json.groupid,0,'群聊','GROUP','index',''),500);
    
                    // 本来想在这里处理的,发现不管用
                } else {
                    toast('创建失败');
                }
    
            });
    
    
        }
    
    
    
    
    </script>
    
    </body>
    </html>
    
  • 相关阅读:
    SCOI2003 字符串折叠
    UVA1629 Cake slicing
    POI2008 KLO-Building blocks
    NOI导刊2010提高 符文之语
    MongoDB数据库的基本操作
    React Naive 解决防止多次点击的解决方法
    如何自定义修改博客园样式
    语法对照表ES5VSES6
    MongoDB数据库安装
    小程序学习2 常用小程序概念以及代码实现
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/7212227.html
Copyright © 2020-2023  润新知