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. 作业调度框架Quartz.NET-现学现用-02-任务监听 - 简书

    原文:作业调度框架Quartz.NET-现学现用-02-任务监听 - 简书 前言 任务调度系统并不是完美的,它会出现任务执行失败的情况.如果你需要处理任务失败后的逻辑,希望这篇笔记可以为你提供些帮助. ...

  2. PHP hex文件及bin文件读取

    背景:做物联网时经常会有软件上传这种操作,上传的软件包文件常见的是hex和bin这两种. 一 hex文件读取 1 首先我们需要了解hex文件内容格式 (图及下面说明来自网络,侵权必删) :(冒号)每个 ...

  3. 关于css中touch-action属性 在移动端开发中遇到的问题

    初次接触第一次接触touch-action这个属性 是在之前一个网约车公众号项目中遇到的 当时采用的是vue做框架 cube-ui做组件库 当时在版本迭代的时候增加了余额支付的功能 需要一个密码键盘 ...

  4. zabbix 图形注释乱码

    1.寻找字体文件 1.1 首先需要找到zabbix后台的字体文件路径,字体文件的后缀为.ttf [root@zabbix ~]# cd /usr/share/zabbix/ [root@zabbix ...

  5. 解释c# Peek 方法

    peek是用来确定你read的文件是否结束了,如果结束了会返回int型 -1 , 举个例子,你可以在输出每一行之前检查一下文件是否结尾,如果没结束就输出此行. StreamReader sr = ne ...

  6. Gym-100814K 数位DP 模拟除法

    Johnny is a brilliant mathematics student. He loves mathematics since he was a child, now he is work ...

  7. "东坡肉”

    “东坡肉” 苏东坡成名后,求师的人蜂涌而至,有学书法的,有学文章的.也有这么一个人,人问他学什么?他说:我学的是“东坡肉”呢! 苏东坡会不会煮猪肉?从他咏黄州猪肉“慢著火.少著水.火候足时它自美”的诗 ...

  8. null 的应用

    它是 Oracle 中非常特殊的一种类型.它表示不确定,表示没有值.并且它能转化成所有的类型. 向数据库中插入空字符串时,oracle 会把它自动转化为 null 类型.所以,在查询空字符的时候: s ...

  9. 初始Turtle

    ---恢复内容开始--- turtle库介绍 海龟作图最初源自20世纪60年代的Logo(创建于1967年,是一种教育编程语言)编程语言. 常用函数说明 画笔的属性 设置画笔的宽度   t.pensi ...

  10. electron-vue 图片加载失败后使用默认头像

    <img :src="item.headUrl" alt="" class="contact-head" :onerror=" ...