226 lines
9.3 KiB
Objective-C
Executable File
226 lines
9.3 KiB
Objective-C
Executable File
//
|
||
// sysInfo.m
|
||
// myhome
|
||
//
|
||
// Created by hkh on 15/10/31.
|
||
//
|
||
//
|
||
|
||
#import "sysInfo.h"
|
||
#import "Opendoor.h"
|
||
|
||
@interface sysInfo ()
|
||
|
||
@end
|
||
@implementation sysInfo{
|
||
|
||
}
|
||
|
||
@synthesize db = db;
|
||
|
||
- (Boolean)initDB{
|
||
//打开数据库
|
||
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); //获取应用程序生成一个私有目录/Users/apple/Library/Application Support/iPhone Simulator/4.3/Applications/550AF26D-174B-42E6-881B-B7499FAA32B7/Documents
|
||
NSString *documentsDirectory = [paths objectAtIndex:0]; //
|
||
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"linetsql.sqlite"];
|
||
|
||
if (sqlite3_open([path UTF8String], &db) != SQLITE_OK) {
|
||
sqlite3_close(db);
|
||
NSLog(@"数据库打开失败");
|
||
return FALSE;
|
||
}
|
||
else {
|
||
NSLog(@"数据库打开成功");
|
||
return TRUE;
|
||
|
||
}
|
||
}
|
||
|
||
- (void)sqlexe:(NSString *)sql
|
||
{
|
||
char *err;
|
||
int ret = sqlite3_exec(db, [sql UTF8String], NULL, NULL, &err);
|
||
|
||
NSLog(@"数据库操作结果!%d",ret);
|
||
if ( ret!= SQLITE_OK) {
|
||
sqlite3_close(db);
|
||
NSLog(@"数据库操作数据失败!%@",[NSString stringWithUTF8String:err]);
|
||
}
|
||
}
|
||
|
||
|
||
- (void)readSystemInfo
|
||
{
|
||
self.equid = @"";
|
||
self.username = @"";
|
||
self.server_wan = @"8.129.71.206";
|
||
self.server_port = 8367;
|
||
self.port = 8366;
|
||
self.equip = @"0.0.0.0";
|
||
self.reporttime = 15;
|
||
self.smscodetime = 0;
|
||
self.pushkitToken = @"";
|
||
self.push = 1;
|
||
self.HF = 0;
|
||
self.sandbox = 0;
|
||
|
||
NSString *sql = @"SELECT * FROM linet_sysinfo";
|
||
sqlite3_stmt * statement;
|
||
|
||
if(sqlite3_prepare_v2(db, [sql UTF8String], -1, &statement, nil) == SQLITE_OK) {
|
||
NSLog(@"sqlite3_prepare_v2 OK");
|
||
while(sqlite3_step(statement) == SQLITE_ROW) {
|
||
NSString *key = [NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 0) ];
|
||
if( [@"equid" isEqualToString: key]){
|
||
self.equid = [NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 1)];
|
||
}
|
||
else if([@"push" isEqualToString: key]){
|
||
self.push = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 1)] intValue];
|
||
}
|
||
else if([@"HF" isEqualToString: key]){
|
||
self.HF = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 1)] intValue];
|
||
}
|
||
|
||
// else if( [@"equip" isEqualToString: key]){
|
||
// self.equip = [NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 1)];
|
||
// }
|
||
// else if([@"equmac" isEqualToString: key]){
|
||
// self.equmac = [NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 1)];
|
||
// }
|
||
// else if([@"port" isEqualToString: key]){
|
||
// self.port = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 1)] intValue];
|
||
// }
|
||
// else if([@"server" isEqualToString: key]){
|
||
// self.server = [NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 1)];
|
||
// }
|
||
// else if([@"server_wan" isEqualToString: key]){
|
||
// self.server_wan = [NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 1)];
|
||
// }
|
||
// else if([@"server_port" isEqualToString: key]){
|
||
// self.server_port = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 1)] intValue];
|
||
// }
|
||
else if([@"lasttime" isEqualToString: key]){
|
||
self.lasttime = [NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 1)];
|
||
}
|
||
else if([@"username" isEqualToString: key]){
|
||
self.username = [NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 1)];
|
||
}
|
||
else if([@"token" isEqualToString: key]){
|
||
self.token = [NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 1)];
|
||
}
|
||
else if([@"smscodetime" isEqualToString: key]){
|
||
self.smscodetime = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 1)] longLongValue];
|
||
}
|
||
}
|
||
}
|
||
else{
|
||
//没有linet_sysinfo,初始化数据库
|
||
|
||
NSLog(@"sysinfo不存在,创建表并初始化数据库");
|
||
//创建系统参数表
|
||
sql=@"DROP TABLE if exists linet_sysinfo";
|
||
NSLog(@"drop");
|
||
[self sqlexe:sql];
|
||
|
||
sql =@"create table linet_sysinfo(pname string primary key,pvalue string)";
|
||
[self sqlexe:sql];
|
||
|
||
sql =@"create table record(no integer PRIMARY KEY AUTOINCREMENT,stime long,type string,username string,equid string,name string,img string,note string)";
|
||
[self sqlexe:sql];
|
||
|
||
}
|
||
}
|
||
|
||
|
||
|
||
|
||
- (void)SaveRecord:(long)time Type:(NSString *)type Equ:(NSString *)equid Img:(NSString *)img Note:(NSString *)note{
|
||
NSString *name = [Opendoor EquNameById:equid];
|
||
NSString *sql = [[NSString alloc] initWithFormat: @"insert into record(stime,type,username,equid,name,img,note) values (%ld,'%@','%@','%@','%@','%@','%@')",time,type,self.username,equid,name,img,note] ;
|
||
NSLog(sql);
|
||
[self sqlexe:sql];
|
||
}
|
||
- (NSMutableArray *)readRecord:(NSString *)no{
|
||
NSMutableArray *ret = [[NSMutableArray alloc] initWithCapacity:0];
|
||
NSString *sql;
|
||
if(no){
|
||
sql = [[NSString alloc] initWithFormat:@"SELECT no,stime,type,equid,name,img,note FROM record where username='%@' and no<%@ order by no desc limit 0,20",self.username,no] ;
|
||
}
|
||
else{
|
||
sql = [[NSString alloc] initWithFormat:@"SELECT no,stime,type,equid,name,img,note FROM record where username='%@' order by no desc limit 0,20",self.username] ;
|
||
}
|
||
//sql = @"SELECT no,stime,type,equid,name,img,note FROM record order by no desc" ;
|
||
NSLog(sql);
|
||
sqlite3_stmt * statement;
|
||
if(sqlite3_prepare_v2(db, [sql UTF8String], -1, &statement, nil) == SQLITE_OK) {
|
||
NSLog(@"sqlite3_prepare_v2 OK");
|
||
while(sqlite3_step(statement) == SQLITE_ROW) {
|
||
|
||
NSDictionary *dic = [[NSDictionary alloc] initWithObjects:@[
|
||
[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 0) ],
|
||
[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 1) ],
|
||
[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 2) ],
|
||
[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 3) ],
|
||
[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 4) ],
|
||
[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 5) ],
|
||
[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 6) ]
|
||
]
|
||
forKeys:@[@"no",@"stime",@"type",@"equid",@"name",@"img",@"note"]];
|
||
|
||
// for (id key in dic) {
|
||
// id value=[dic objectForKey:key];
|
||
// NSLog(@"readRecord:%@:%@",key,value);
|
||
//
|
||
// }
|
||
[ret addObject:dic];
|
||
}
|
||
}
|
||
return ret;
|
||
}
|
||
- (void)delRecord:(NSString *)condition{
|
||
NSString *sql = [[NSString alloc] initWithFormat:@"select img FROM record where username='%@' and type='截图' %@",self.username,condition] ;
|
||
sqlite3_stmt * statement;
|
||
if(sqlite3_prepare_v2(db, [sql UTF8String], -1, &statement, nil) == SQLITE_OK) {
|
||
NSLog(@"sqlite3_prepare_v2 OK");
|
||
while(sqlite3_step(statement) == SQLITE_ROW) {
|
||
NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
|
||
NSString *imageFilePath = [path stringByAppendingPathComponent:[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 0) ]];
|
||
[[NSFileManager defaultManager] removeItemAtPath:imageFilePath error:nil];
|
||
}
|
||
}
|
||
|
||
sql = [[NSString alloc] initWithFormat:@"delete FROM record where username='%@' %@",self.username,condition] ;
|
||
NSLog(sql);
|
||
[self sqlexe:sql];
|
||
}
|
||
- (void)setSystemInfo:(NSString *)key WithValue:(NSString *)value
|
||
{
|
||
|
||
NSString *sql = [[NSString alloc] initWithFormat: @"SELECT * FROM linet_sysinfo where pname='%@'",key] ;
|
||
sqlite3_stmt * statement;
|
||
|
||
int ret = sqlite3_prepare_v2(db, [sql UTF8String], -1, &statement, nil);
|
||
if(ret == SQLITE_OK) {
|
||
if(sqlite3_step(statement) == SQLITE_ROW) {
|
||
sql = [[NSString alloc] initWithFormat: @"update linet_sysinfo set pvalue='%@' where pname='%@'",value,key] ;
|
||
}
|
||
else{
|
||
sql = [[NSString alloc] initWithFormat: @"insert into linet_sysinfo(pname,pvalue) values('%@','%@')",key,value] ;
|
||
}
|
||
NSLog(@"%@",sql);
|
||
[self sqlexe:sql];
|
||
|
||
}
|
||
else{
|
||
NSLog(@"setSystemInfo 失败:%d",ret);
|
||
}
|
||
|
||
// NSString *sql = [[NSString alloc] initWithFormat:@"update linet_sysinfo set equid='%@',equip='%@',equmac='%@',port=%d,server='%@',server_wan='%@',server_lan='%@',equ_server=%d,code_mode=%d,subequid=%d",sysinfo.equid,sysinfo.equip,sysinfo.equmac,sysinfo.port,sysinfo.server,sysinfo.server_wan,sysinfo.server_lan,sysinfo.equ_server,sysinfo.code_mode,sysinfo.subequid];
|
||
// NSLog(@"%@",sql);
|
||
// [self sqlexe:sql];
|
||
|
||
|
||
}
|
||
@end
|
||
|