• legend2---开发常用语句


    legend2---开发常用语句

    一、总结

    一句话总结:

    其实敲代码都是很类似的,比如ajax,模型等等,敲代码就是一个由生到熟的过程

    1、ajax?

    $.post("{:url('broadcast.index/require_broadcast')}", {need_money: need_money} ,function (data) {

    页面

     1 <script>
     2     function require_broadcast(){
     3         $.post("{:url('broadcast.index/require_broadcast')}", {need_money: need_money} ,function (data) {
     4             //console.log(data);
     5             if(parseInt(data.operation_num)==4){
     6                 main_content.touben_heroes=data.touben_heroes;
     7                 //console.log(data);
     8                 //更新school
     9                 f_mian_header.school=data.school;
    10                 main_content.school_time=data.school_time;
    11                 console.log(main_content.school_time);
    12             }else{
    13                 if(parseInt(data.operation_num)==3) alert('支付失败');
    14                 if(parseInt(data.operation_num)==2) alert('服务器错误');
    15                 if(parseInt(data.operation_num)==1) alert('连接成功');
    16                 if(parseInt(data.operation_num)==0) alert('连接失败');
    17                 if(parseInt(data.operation_num)==0) alert('免费刷新条件不满足');
    18 
    19             }
    20         });
    21     }
    22 </script>

    控制器

     1     public function require_broadcast(){
     2         $back_data=[];
     3         $back_data['operation_num']=0;//表示连接失败
     4         if(request()->isAjax()){
     5             $back_data['operation_num']=1;//表示连接成功
     6 
     7 
     8             //die;
     9             return $back_data;
    10         }
    11         return $back_data;
    12     }

    2、事务处理?

    Db::startTrans();
    Db::commit();
    Db::rollback();
     1 //19、测试事务操作
     2 public function test18(){
     3     Db::startTrans();
     4     $ans1=db('myself_goods')->delete(6);
     5     $ans2=db('myself_goods')->delete(5);
     6     if($ans1&&$ans2){
     7         // 提交事务
     8         dump('commit');
     9         Db::commit();
    10     }else{
    11         // 回滚事务
    12         Db::rollback();
    13         dump('rollback');
    14     }
    15 }
    16 
    17 //18、测试事务操作
    18 public function test17(){
    19     // 启动事务
    20     Db::startTrans();
    21     try{
    22         $ans1=db('myself_goods')->delete(6);
    23         $ans2=db('myself_goods')->delete(7);
    24         dump('$ans1:  '.$ans1);
    25         dump('$ans2:  '.$ans2);
    26         // 提交事务
    27         dump('commit');
    28         Db::commit();
    29     } catch (Exception $e) {
    30         // 回滚事务
    31         Db::rollback();
    32         dump('rollback');
    33     }
    34 }

    3、页面重新加载?

    location.reload();
    location.reload();

    4、if语句的简约代码写法?

    用数组
    1     //将英雄的灵根数字字符串转化为汉子数组
    2     public static function reikiRootNormalize($reikiRoot){
    3         $reiki=['金','木','水','火','土','风','冰','雷','光','暗'];
    4         $reikiRoot=explode(',',$reikiRoot);
    5         foreach ($reikiRoot as $key => &$val){
    6             $val=$reiki[intval($val)-1];
    7         }
    8         return $reikiRoot;
    9     }

    还有比如判断等级的

    1 //计算英雄境界
    2 function calcHeroGrade($grade){
    3     $gradeLevel=["练气","筑基","金丹","元婴","出窍","化神","练虚","合体","大乘","渡劫","仙人"];
    4     $gradeSmallLevel=["前期","前期","前期","中期","中期","中期","后期","后期","后期","巅峰"];
    5     $level='';
    6     $level.=$gradeLevel[intval($grade/10)];
    7     $level.=$gradeSmallLevel[intval($grade%10)];
    8     return $level;
    9 }

    比如判断升级灵力的

     1     //$reikiGrowth:表示灵气成长
     2     public static function getGradeReiki($grade,$reikiGrowth){
     3         //dump($reikiGrowth);die;
     4         $rate=[1.02,1.06,1.12,1.03,1.07,1.13,1.04,1.08,1.14,1.3];
     5         $num=100*$reikiGrowth/1000;
     6         $sum=0;
     7         for($i=0;$i<$grade;$i++){
     8             $sum+=$num;
     9             $num*=$rate[($i+10)%10];
    10         }
    11         $sum+=$num;
    12         $ans=[];
    13         $ans['num']=intval($num);//$grade哪一级的升级经验
    14         $ans['sum']=intval($sum);//$grade那一级的总经验
    15         return $ans;
    16     }

    5、文字存进数据库转码和解码?

    转码:addslashes(htmlspecialchars($data['a_content_art1']));
    解码:stripslashes(htmlspecialchars_decode($article['a_content_art1']));

    转码

    $data['a_content_art1']=addslashes(htmlspecialchars($data['a_content_art1']));

    解码(这个不行,要一一对应)

    $article['a_content_art1']=stripslashes(htmlspecialchars_decode(stripslashes($article['a_content_art1'])));

    这个

    $val['bq_stem_info']=stripslashes(htmlspecialchars_decode($val['bq_stem_info']));

     

    6、正则查找和正则替换?

    查找:preg_match_all($pattern, $question['bq_answer'], $keywords);
    替换:preg_replace($pattern,'', $question['bq_answer_clue']);

    查找

    $pattern='/<h5s*?.*?>(.*?)</h5>/us';
    preg_match_all($pattern, $question['bq_answer'], $keywords);
    if(isset($keywords[1][0])){

    替换

    //2.2 确定答案对应的线索:去掉关键词
    $pattern='/<h5s*?.*?>(.*?)</h5>/us';
    $question['bq_answer_clue']=preg_replace($pattern,'', $question['bq_answer_clue']);

    7、返回ajax模板?

    $back_data=[];
    $back_data['operation_num']=0;
    //3、鉴定装备
        public function identify_equipment(){
            $back_data=[];
            $back_data['operation_num']=0;//表示连接失败
       $back_data['operation_num_info']='';//表示返回信息  
            if(request()->isAjax()){
                $back_data['operation_num']=1;//表示连接成功
                $e_id=input('e_id');//装备id
                //dump($e_id);
                $h_id=input('h_id');//英雄id
                if(!intval($e_id)||!intval($e_id)){
                    $back_data['operation_num']=6;//没有可鉴定装备或没有可鉴定装备英雄
                    return $back_data;
                }
    
                Db::startTrans();
                //1、支付灵石
                $equipment=db('equipment')->alias('e')->join('school_equipment se','se.se_e_id=e.e_id','LEFT')->
                join('template_equipment te','e.e_te_id=te.te_id','LEFT')->find($e_id);
                //dump($equipment);die;
                if(!isset($equipment['e_sold_price'])||!isset($equipment['se_num'])||$equipment['se_num']<1){
                    $back_data['operation_num']=7;//装备数量不够
                    return $back_data;
                }
                $need_money_num=intval($equipment['e_sold_price']/2);
                if($need_money_num<25) $need_money_num=25;
                if(!appindexmodelmoneypayAutoPay::pay($need_money_num)){
                    $back_data['operation_num']=3;//支付失败
                    return $back_data;
                }
    
                //2、支付活力
                $base_exp=appindexmodelupgradeGetGradeReiki::getGradeReiki($equipment['te_limit_grade'])['sum'];
                $need_vigour_num=intval($base_exp*$equipment['e_type_grade']*30/100/3);
                if(!appindexmodelheropayPayVigour::pay_heroVigour($h_id,$need_vigour_num)){
                    $back_data['operation_num']=5;//英雄活力不够
                    return $back_data;
                }
    
                //3、鉴定装备操作:(鉴定装备,原装备数减1,如果装备数为0,就删除这条装备)
                $identify_ans=appindexmodelequipmentidentifyIdentifyEquipment::identify_equipment($equipment);
    
                if($identify_ans!==false){
                    $back_data['operation_num']=4;//操作成功
                    Db::commit();
                }else{
                    $back_data['operation_num']=2;//服务器错误
                    Db::rollback();
                }
    
    
                //步骤三:将英雄石信息返回到页面
                $school_equipments=appindexmodelequipmentfull_infoGetSchoolEquipments::get_schoolEquipment_fullInfo();
                $school=appindexmodelschoolfull_infoGetSchoolFullInfo::get_schoolFullInfo();
                $back_data['school_equipments']=$school_equipments;
                $back_data['school']=$school;
    
            }
            return $back_data;
        }

    页面

            //1、鉴定装备:e_id为装备id,h_id为英雄id
            function identify_equipment(){
                //步骤一:获取装备id和英雄id
                var e_id=$('#identify_equipment_e_id').val();
                var h_id=$('#identify_equipment_h_id').val();
                console.log(e_id);
                console.log(h_id);
                if(!parseInt(e_id)||!parseInt(h_id)) alert('没有可鉴定装备或没有可鉴定装备英雄!!');
                else{
                    $.post("{:url('school.warehouse/identify_equipment')}", { e_id: e_id,h_id: h_id} ,function (data) {
                        console.log(data);
                        if(parseInt(data.operation_num)==4){
                            f_mian_header.school=data.school;
                            main_content.school_equipments=data.school_equipments;
    
                            //console.log(data);
                        }else{
                            if(parseInt(data.operation_num)==7) alert('装备数量不够!!');
                            if(parseInt(data.operation_num)==6) alert('没有可鉴定装备或没有可鉴定装备英雄!!');
                            if(parseInt(data.operation_num)==5) alert('英雄活力不够');
                            if(parseInt(data.operation_num)==3) alert('灵石不够,支付失败');
                            if(parseInt(data.operation_num)==2) alert('服务器错误');
                            if(parseInt(data.operation_num)==1) alert('连接成功');
                            if(parseInt(data.operation_num)==0) alert('连接失败');
                        }
                    });
                }
    
    
            }
            //2、使用装备-->

    8、layer.js使用?

    直接在函数中套用提供的代码即可
    <script>
        function layer_goods(content_id){
            console.log(content_id);
            layer.open({
                type: 0,
                title: [
                    '物品信息',
                ]
                ,content: $('#'+content_id).html()
                ,anim: 'up'
            });
        }
    </script>

    二、内容在总结中

     
  • 相关阅读:
    《病理学》读书笔记
    《药理学》读书笔记
    《人格心理学》读书笔记
    《普通心理学》读书笔记
    UI进阶 跳转系统设置相关界面的方法
    安装cocoapods
    CocoaPods 添加第三方库报错
    Objective-c setObject:forKey:和setValue:forKey:的区别
    解析稍微复杂一点的数据
    获取当前屏幕显示的viewcontroller
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/10616319.html
Copyright © 2020-2023  润新知