• Atitit vod click event design flow  视频点播系统点击事件文档


    Atitit vod click event design flow  视频点播系统点击事件文档

     

    重构规划1

    Click cate1

    Click  mov4

     

    重构规划

    事件注册,与事件分发管理器分开

    Click cate

    Main.js line730

     

       // --------------------------------------------

        // UI interaction

        // --------------------------------------------

        $(document).live('click', function(e){

            console.log(e, e.target);

            key_events.enter($(e.target));

    });

     

     

      console.log(e, e.target);

    When cliek

    E:: mouseEvent

    E.target==a.item.h2.hover

    <a class="item h2 hover" href="javascript:void(0)" e="filter_by_cate" value="3"><img src="movietype/1.jpg"></a>

     

     

    //ati p6a add recomm enterKey eventCallback

         key_events.enter = function(curr){

            curr = curr || $(get_curr_hover());

            

            if (curr.hasClass('nav_tab')){

                curr.parent().find('a').removeClass('selected');

                curr.addClass('selected');

                

            //     $('.activeview .movie_list').html($('script[name="' +curr.attr('e')+ '"]').text());

            }

            var e = curr.attr('e');

            if (e){

                // get history

                key_events.backlast.data.push($('.activeview').html());

                key_events[e] && key_events[e](e, curr);

            }

        };

     

     

     

        var e = curr.attr('e');

    e = "filter_by_cate"curr = [a.item.h2.hover, selector: "

     

     

    Line397

    //ati p89 add .beir  filter_by_cate yash empty

        key_events.filter_by_cate = function(e, curr){

    //ati p89

    //e8=filter_by_cate

    //curr=a.item.h2 hover

            var value = curr.attr('value') || curr.text();

            xhr.get_filter_by(e, value, function(data){

                render.movie_list_normal(data);

    load_finish_p89();

            });

    //ati p89 show the new bycate saerch mvs div .and hide the last div

            setTimeout(function(){ key_events.filter_close_layer(); }, 300)

        };

     

     

    Line108

     

      xhr.get_filter_by = function(f, value, fn, err){

            var sql_t;

    //ati p89  search by cate

            if (f == 'filter_by_cate'){

    threadLocalParamMap={};

                

    threadLocalParamMap.fn=fn;

    threadLocalParamMap.err=err;

    threadLocalParamMap.xhr=xhr;

    threadLocalParamMap.value=value;

    //alert("get_posts_befor");

    get_posts(threadLocalParamMap);

     

    cms_api.js

    function get_posts(paramJsonMap)

    {

    try{

    var  sql_t = 'material_type';

    var xhr=paramJsonMap.xhr;

    var fn=paramJsonMap.fn;

    var err=paramJsonMap.err;

    var value=paramJsonMap.value;

    threadLocalParamMap.xhr=xhr;

    threadLocalParamMap.fn=fn;

     

    //com.attilax.api.imoveSqlExcutor.exe

    if(window.location.host=="")  //cs envi

    {

       //todox pa6 param use naming params jsonfmt ..not use obj arr

       //beir param1=xxx param2=xxx param3=xxx

    var mp="$method=aaaCms.CmsImpLocalFileVer.list_nocache&$callback=get_posts_callback¶m="+value;

    // alert(mp);

    HRE.exe(mp,get_posts_callback);

    //var json=urlParams2json(param);

    //sendNSCommand(json.method,param,callback);

    //alert("sendNSCommand ok");

    return;

    }

     

     

                xhr.req({http_param: 'select  * from gv_material where '+[sql_t, '=', value].join(' ')+' order by material_description ' }, fn, err);

    }catch(e)

    {

    showErr(e);

    }

    }

     

     

     

     

     

    //ati pb28 search after list evenet

        render.movie_list = function(data, style, err_txt){

            data = data || {};

            var rows = data.rows, r, o = [];

            for (var i=0,j=rows.length; i<j; i++){

                r = rows[i];

    //paa

    var img_src='/vdx/' +r.thumb;

    if(inDesktopMode())

    {

    img_src= "file:///"+r.thumb;

    }

    //paa end

    var html_str='<a class="item ' +(style||'mv')+ '" href="javascript:void(0)" e="mv_detail" page_hint="'+(i+1)+'/'+j+'" mid="' +r.material_id+ '"><img class="img_item" _src="' +img_src+ '"><h3 class="b c"><span>' +r.material_description+ '</span></h3></a>';

    //alert(r.material_id);

                o.push(html_str);

            }

            var w = Math.max(((style=='mv_tiny')?310:390) * o.length, 1000);

            if (o.length <= 0) o.push('<h2>' +(err_txt||'没有找到相关影片,请更换其他搜索条件。')+ '</h2>');

     

            o.unshift('<div class="page_hint">'+1+'/'+rows.length+'</div><div class="movie_page clearfix" style="' +w+ 'px">');

            o.push('</div>')

            $('.activeview .movie_list').append(o.join(''));

            render.set_movie_list_auto();

        };

     

    Click  mov

     

    e = "mv_detail"curr = [a.item.mv.hover, selector: ""

        

        //paa add recomm get_post(

    //pb28 add recomm    detail item clien event  ,,get_movie_detail is invoke my detail_client() ,then callback

        key_events.mv_detail = function(e, curr){

            var mid = curr.attr('mid');

    //alert(" item id:"+mid);

            if (!mid)

    {

     

      xhr.get_movie_detail(mid, function(data){

     

     

     

     

        xhr.get_movie_detail = function(mid, fn, err){

    threadLocalParamMap={};            

    threadLocalParamMap.fn=fn;

    threadLocalParamMap.err=err;

    threadLocalParamMap.xhr=xhr;

    //threadLocalParamMap.value=value;

    get_post(mid);

         

        };

     

     

     

    /AtiPlatf_se/src_atibrow/com/attilax/movcms/CmsImpLocalFileVer.java

    public Objectget_post_api(Object id)

    Map m=(Map) get_post(id);

     

     

      xhr.get_movie_detail(mid, function(data){

    //alert(data);

    //ati pb28  add try

    try{

    。。。。。

    if(window.location.host=="")  //cs envi

    {

    get_post_intro(r.txt_file);

    }

     

    作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 

    汉字名:艾提拉(艾龙)   EMAIL:1466519819@qq.com

    转载请注明来源: http://blog.csdn.net/attilax

    Atiend

     

  • 相关阅读:
    deepin之创建快捷idea启动方式
    python-docx读取doc,docx文档
    Jenkins节点配置-K8S云节点
    K8S创建用户RBAC授权
    在K8S中部署禅道zentao
    yum常用操作
    Git常用命令及方法大全
    rocket mq 1
    基于SpringBoot+LayUI+Freemarker+Mybatis的通用后台管理系统
    Struts+Servlet+JDBC网上手机销售系统
  • 原文地址:https://www.cnblogs.com/attilax/p/15198331.html
Copyright © 2020-2023  润新知