小蚂蚁学习APP接口开发(完结)—— APP错误日志接口开发

APP有可能面临的错误问题:

1.    APP强退    2.    数据加载失败    3.    APP潜在问题  等等

错误日志表,用于记录发送过来的错误信息

CREATE TABLE IF NOT EXISTS `error_log` (
  `id` mediumint(9) NOT NULL AUTO_INCREMENT COMMENT ‘主键‘,
  `app_id` tinyint(4) NOT NULL COMMENT ‘客户端设备id‘,
  `did` varchar(50) NOT NULL COMMENT ‘客户端设备信息‘,
  `version_id` smallint(6) NOT NULL COMMENT ‘版本号‘,
  `version_mini` smallint(6) NOT NULL COMMENT ‘小版本号‘,
  `error_log` varchar(255) NOT NULL COMMENT ‘错误信息‘,
  `create_time` int(11) NOT NULL COMMENT ‘添加时间‘,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT=‘app错误日志表‘ AUTO_INCREMENT=2 ;

当客户端APP遇到错误,会发送过来相应的错误信息,然后插入数据库即可,很简单。

<?php 

/**************************************
*
*    错误日志写入类
*    学php的小蚂蚁
*    博客 http://my.oschina.net/woshixiaomayi/blog
*
**********************************/
//载入基础类,进行信息判断
//代码内容请参考 http://my.oschina.net/woshixiaomayi/blog/519783
require_once(‘./common.php‘);

class Error extends Common{

	public function index(){
		//首先对客户端发送的信息,进行确认
		$this->check();

		//判断错误内容是否有传来
		$error_log	=	isset($_POST[‘error_log‘])?$_POST[‘error_log‘]:‘‘;

		if($error_log){
			//有数据,则组装sql语句,准备插入数据库
			$sql="
				insert into `error_log`(
						`app_id`,
						`did`,
						`version_id`,
						`version_mini`,
						`error_log`,
						`create_time`
					)values(
						".$this->param[‘app_id‘].",
						".$this->param[‘did‘].",
						".$this->param[‘version_id‘].",
						".$this->param[‘version_mini‘].",
						‘".$_POST[‘error_log‘]."‘,
						".time()."
					)
			";
			try{
				$connect =	Db::getInstance()->connect();
			}catch(Exception $e){
				//返回给APP的错误提示
				return Response::show(400,‘mysql not connect‘);
			}
			//插入数据库即可
			$result=mysql_query($sql,$connect);
			//根据数据库执行结果,返回对应的数据
			if($result){
				return Response::show(200,‘错误日志插入成功‘);
			}else{
				return Response::show(400,‘错误日志插入失败‘);
			}
		}

	}
}

$obj	=	new Error();
$obj	->	index();

 ?>

APP开发接口的笔记今天就结束了,想起之前第一次做手机接口,确实做的简单了,错误的认为只是把数据json一下返回就ok,里面还有这么多学问在其中。在此感谢慕课网的singwa老师的倾情讲解,令人受益匪浅。未来路还很长,继续加油     ヾ(≧▽≦*)o

时间: 2024-08-03 03:17:15

小蚂蚁学习APP接口开发(完结)—— APP错误日志接口开发的相关文章

PHP 开发 APP 接口--错误日志接口

APP 上线以后可能遇到的问题: ① APP 强退 ② 数据加载失败 ③ APP 潜在问题 错误日志需要记录的内容 数据表 error_log 字段: id app_id:app 类别 id did:客户端设备号 version_id:版本号 version_mini:小版本号 error_log:错误信息(由 APP 返回,客户端开发工程师开发) error.php 处理 app 错误日志 <?php require_once('./common.php'); class ErrorLog e

asp.net生产环境和开发环境的错误日志包装策略

对于错误日志的输出,我们借助web.config的两个标志位: <!--全局包装异常处理页面,只有在PageError和Application_Error做清除错误操作才可不跳转--> <!--调试时请设置成Off,生产环境此项必须为On--> <customErrors mode="Off" defaultRedirect="~/ErrorPage/404/index.html"> <error statusCode=&q

Android App 混淆、打包、错误日志追踪

一 打混淆包,带正式签名 1 编辑proguard-rules.txt文件,配置好不能混淆的类或方法,否则会报错. a.需要反射的代码 b.系统接口 c.Jni接口 d.需要序列号和反序列化的代码(即实现Serializable.Parcelable接口的JavaBean) e.与服务端进行元数据交互的JavaBean(JSON.XML中对应的类)   2 检查 gradle.build文件中的buildTypes  release节点,确认minifyEnabled true 3 LogUti

小蚂蚁学习APP接口开发(9)—— APP版本升级的接口方法——处理客户端发来的请求数据

今天的笔记主要来记录最后的一个知识要点,APP客户端版本升级的接口开发. APP的开发主要由伟大而神圣的用户来更新,更新的流程应该是这样的: 开启APP--请求初始化接口init.php--检测是否需要更新---否--首页 ---是--更新 在初始化接口的时候,需要客户端发送几个数据: app_id            客户端id,比如: 1,安卓手机 2,iphone手机 version_id        大版本号id version_mini     小版本号id did        

小蚂蚁学习APP接口开发(7)—— APP接口实例——服务器定时缓存的方式开发接口

基本的思路:服务器只负责定时更新缓存.请求进来只需要读取缓存就可以了. 服务器定时执行生成缓存的代码: <?php  /******************************** * *   crontab 定时生成缓存文件 * * * * * * /usr/bin/php /app/crontab.php *   学php的小蚂蚁 *   原创博客 http://my.oschina.net/woshixiaomayi/blog * ***************************

App开发:模拟服务器数据接口 - MockApi

App开发:模拟服务器数据接口 - MockApi 为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现MockApi. 需求概述 在app开发过程中,在和服务器人员协作时,一般会第一时间确定数据接口的请求参数和返回数据格式,然后服务器人员会尽快提供给客户端可调试的假数据接口.不过有时候就算是假数据接口也来不及提供,或者是接口数据格式来回变动--很可能是客

8月学习总结:使用DCloud+Framework7开发移动APP

最近2个月有点迷茫,所以一直没有写每个月的总结,感觉总是对不起自己. 8月份的总结就用下面这篇文章吧: 使用DCloud+Framework7开发移动APP http://my.oschina.net/kenblog/blog/516201

开发Android app必备知识大分享

开发一个完整的android app需要掌握哪些知识?现在让麦子学院的android开发的老师给大家详细的介绍下android app开发需要哪些知识?大体来说,一个app从规划到终究完结需求你懂得以下几个必要方面: 1.前期需求计划与信息--你需求拟定出一个完好的需求文档,功用文档,流程图,时序图. 2.交互规划.UI规划--规划出基本且完善的原型图和app根底的交互规划作用,以后再依据这些规划出完好的UI界面并学会切图,一些需求做自适应的素材图像需求做点9patch. 这儿还需求你懂得px,

学习node js 之微信公众帐号接口开发 准备工作之三

app.js文件介绍,由于也是初学,下面的内容是个人的理解,有些不对的地方请评论中指证:以注解的形式说明. //依赖组件[模块]导入 var express = require('express'); var path = require('path'); var favicon = require('static-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var