legend2---开发常用语句

一、总结

一句话总结:

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

1、ajax?

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

页面

 <script>
function require_broadcast(){
$.post("{:url('broadcast.index/require_broadcast')}", {need_money: need_money} ,function (data) {
//console.log(data);
if(parseInt(data.operation_num)==4){
main_content.touben_heroes=data.touben_heroes;
//console.log(data);
//更新school
f_mian_header.school=data.school;
main_content.school_time=data.school_time;
console.log(main_content.school_time);
}else{
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('连接失败');
if(parseInt(data.operation_num)==0) alert('免费刷新条件不满足'); }
});
}
</script>

控制器

     public function require_broadcast(){
$back_data=[];
$back_data['operation_num']=0;//表示连接失败
if(request()->isAjax()){
$back_data['operation_num']=1;//表示连接成功 //die;
return $back_data;
}
return $back_data;
}

2、事务处理?

Db::startTrans();
Db::commit();
Db::rollback();
 //19、测试事务操作
public function test18(){
Db::startTrans();
$ans1=db('myself_goods')->delete(6);
$ans2=db('myself_goods')->delete(5);
if($ans1&&$ans2){
// 提交事务
dump('commit');
Db::commit();
}else{
// 回滚事务
Db::rollback();
dump('rollback');
}
} //18、测试事务操作
public function test17(){
// 启动事务
Db::startTrans();
try{
$ans1=db('myself_goods')->delete(6);
$ans2=db('myself_goods')->delete(7);
dump('$ans1: '.$ans1);
dump('$ans2: '.$ans2);
// 提交事务
dump('commit');
Db::commit();
} catch (\Exception $e) {
// 回滚事务
Db::rollback();
dump('rollback');
}
}

3、页面重新加载?

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

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

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

还有比如判断等级的

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

比如判断升级灵力的

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

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='/<h5\s*?.*?>(.*?)<\/h5>/us';
preg_match_all($pattern, $question['bq_answer'], $keywords);
if(isset($keywords[1][0])){

替换

//2.2 确定答案对应的线索:去掉关键词
$pattern='/<h5\s*?.*?>(.*?)<\/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(!\app\index\model\money\pay\AutoPay::pay($need_money_num)){
$back_data['operation_num']=3;//支付失败
return $back_data;
} //2、支付活力
$base_exp=\app\index\model\upgrade\GetGradeReiki::getGradeReiki($equipment['te_limit_grade'])['sum'];
$need_vigour_num=intval($base_exp*$equipment['e_type_grade']*30/100/3);
if(!\app\index\model\hero\pay\PayVigour::pay_heroVigour($h_id,$need_vigour_num)){
$back_data['operation_num']=5;//英雄活力不够
return $back_data;
} //3、鉴定装备操作:(鉴定装备,原装备数减1,如果装备数为0,就删除这条装备)
$identify_ans=\app\index\model\equipment\identify\IdentifyEquipment::identify_equipment($equipment); if($identify_ans!==false){
$back_data['operation_num']=4;//操作成功
Db::commit();
}else{
$back_data['operation_num']=2;//服务器错误
Db::rollback();
} //步骤三:将英雄石信息返回到页面
$school_equipments=\app\index\model\equipment\full_info\GetSchoolEquipments::get_schoolEquipment_fullInfo();
$school=\app\index\model\school\full_info\GetSchoolFullInfo::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>

二、内容在总结中

 

legend2---开发常用语句的更多相关文章

  1. IOS开发常用设计模式

    IOS开发常用设计模式 说起设计模式,感觉自己把握不了笔头,所以单拿出iOS开发中的几种常用设计模式谈一下. 单例模式(Singleton) 概念:整个应用或系统只能有该类的一个实例 在iOS开发我们 ...

  2. HTML5-移动开发常用技巧与弹性布局的使用

    一.移动开发常用技巧 Viewport基本知识 设置布局Viewport的各种信息 1.width=device-width: 设置Viewport视口宽度等于设备宽度 2.initial-scale ...

  3. mo系统常用语句

    mo系统常用语句 一.总结 一句话总结: 1.语言:双语设置(繁体,英语)语句? {:chooseLanguage("確定要刪除么","Are you sure you ...

  4. 程序开发常用第三方类库一览表(VendorLib)

    以下是自己开发过程中用到的第三方类库,记录下来方便查阅 ------------------------------------------------------------------------ ...

  5. 学习游戏服务器开发必看,C++游戏服务器开发常用工具介绍

    C++游戏服务器开发常用工具介绍 在软件开发过程中需要使用的工具类型实属众多,从需求建模到软件测试,从代码编译到工程管理,这些工具都对项目有着不可替代的作用.庄子有云,"吾生也有涯,而知也无 ...

  6. 设计模式之美学习(九):业务开发常用的基于贫血模型的MVC架构违背OOP吗?

    我们都知道,很多业务系统都是基于 MVC 三层架构来开发的.实际上,更确切点讲,这是一种基于贫血模型的 MVC 三层架构开发模式. 虽然这种开发模式已经成为标准的 Web 项目的开发模式,但它却违反了 ...

  7. SQL server 常用语句

    SQL Server中常用的SQL语句   1.概述 2.查询概述 3.单表查询 4.连接查询 5.带有exists的相关子查询 6.SQL的集合操作 7.插入操作 8.删除操作 9.修改操作 10. ...

  8. mysql常用语句总结

    1.创建语句 CREATE DATABASE database_name //创建数据库 //删表 DROP TABLE IF EXISTS `t_social_user_extend`; //建表C ...

  9. JS常用语句

    JavaScript常用语句 1.document.write("");    输出语句 2.JS中的注释为   // 3.传统的HTML文档顺序是:     document-& ...

  10. velocity常用语句速查表

    velocity常用语句 * 变量定义 #set($directoryRoot = "www" ) * #if($!list.size() != 0) //判断list不为空 #f ...

随机推荐

  1. springmvc中的参数接收

    import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import ...

  2. Maven项目构建利器04——Maven的一些核心概念

    1.坐标 1)数学上的坐标: [1].在平面上. 使用X,Y两个向量可以唯一的定位平面上的任意一个点 [2]在空间中, 使用X,Y,Z三个向量可以唯一的定位空间中的任何一个点 2)Maven中的坐标: ...

  3. for迭代

    for迭代 Python中最简单的循环机制是 while,打开交互式解释器,执行1到的5的循环 >>> count=1 >>> while count<=5: ...

  4. java面试02——基础

    1. JDK . JRE 和JVM有什么区别? JDK:Java Development Kit 的简称,Java 开发工具包,提供了 Java 的开发环境和运行环境. JRE:Java Runtim ...

  5. zencart后台修改首页meta_title、meta_keywords、meta_description

    includes\languages\english\模板\meta_tags.php 首先,将meta_tags.php中常量HOME_PAGE_META_DESCRIPTION.HOME_PAGE ...

  6. app 进入后台进行模糊处理

    金融类app防止信息在后台中被一些恶意截屏软件进行截屏,对进入后台的app做模糊处理 - (void)applicationWillResignActive:(UIApplication *)appl ...

  7. ZROI 19.08.10模拟赛

    传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. A \(20pts:\) 枚举操作序列然后暴力跑,复杂度\(O(6^n)\). \([50,80]pts:\) 枚举改成dfs,每层操 ...

  8. 使用 python 开发 Web Service

    使用 python 开发 Web Service Python 是一种强大的面向对象脚本语言,用 python 开发应用程序往往十分快捷,非常适用于开发时间要求苛刻的原型产品.使用 python 开发 ...

  9. ORACLE复杂查询之子查询

    子查询分为两类:标准子查询和相关子查询. 一.标准子查询:子查询先于主查询独立执行,返回明确结果供主查询使用. 子查询只执行一次,不依赖于主查询. 例如: 其中子查询能够返回结果:2450.所以断定其 ...

  10. 【leetcode】Heaters

    Winter is coming! Your first job during the contest is to design a standard heater with fixed warm r ...