diff --git a/README.md b/README.md
index 242d86bf..83ec695b 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,15 @@
+
+
# React-Native-App
-React-Native实战Simple App
+React-Native实战Simple App
+
+### 0. 已上线iOS App
+仓库地址: https://github.com/vczero/toilet
+**苹果App Store搜索 厕所在哪, 即可下载**
-###一、基于React-Native & Node通讯录App
-####(1)主要完成的功能有:
+### 一、基于React-Native & Node通讯录App
+1.主要完成的功能有:
+ 基于文件系统的Node.js服务端;
+ 通讯录功能(分类页 + 列表页 + 拨号邮箱邮件)
@@ -31,45 +37,50 @@ React-Native实战Simple App
-####(2)安装启动程序
- (1)首先进入address_book目录安装node module;命令行:$ npm install
- (2)其次cd server,命令行:$ npm install;然后启动node数据接口服务,命令行: $ node app.js
- (3)初次登录用户名:test0@126.com 密码:123
+2.安装启动程序
+ (1)首先进入address_book目录安装node module;命令行:$ npm install
+ (2)其次cd server,命令行:$ npm install;然后启动node数据接口服务,命令行: $ node app.js
+ (3)初次登录用户名:test0@126.com 密码:123
-####(3)Tip:
- (1)为了演示,代码有些粗糙;
- (2)服务端也不是很完善,为了方便快速搭建,使用的是基于node的文件服务。
- (3)oschina会同步更新改项目:https://git.oschina.net/vczero/React-Native-App
- (4)相关入门教程:https://github.com/vczero/react-native-lession
+3.Tip:
+ (1)为了演示,代码有些粗糙;
+ (2)服务端也不是很完善,为了方便快速搭建,使用的是基于node的文件服务。
+ (3)oschina会同步更新改项目:https://git.oschina.net/vczero/React-Native-App
+ (4)相关入门教程:https://github.com/vczero/react-native-lession
-###二、基于LBS的App:附近
-####(1)主要完成的功能有:
+### 二、基于LBS的App:附近
+1.主要完成的功能有:
+
++ 附近的美食、附近的银行、附近的电影院、附近的卫生间;
++ 附近的搜索功能:美食、银行、电影院、卫生间
++ 地图功能:展示附近的结果列表
+
+效果如下图所示:
-+ 附近的美食、附近的银行、附近的电影院、附近的卫生间;
-+ 附近的搜索功能:美食、银行、电影院、卫生间
-+ 地图功能:展示附近的结果列表
-效果如下图所示:




-####(2)安装启动程序
+2.安装启动程序
+
++ 如果是模拟器,则使用模拟位置,修改nearby/Nearby/index.js文件中
-+ 如果是模拟器,则使用模拟位置,修改nearby/Nearby/index.js文件中
-
- //是否开启真实的定位;如果开启了_GEO_OPEN,_GEO_TEST_POS则会失效
- _GEO_OPEN = false;
+ ```
+//是否开启真实的定位;如果开启了_GEO_OPEN,_GEO_TEST_POS则会失效
+_GEO_OPEN = false;
+```
+ 如果是真机环境则修改nearby/Nearby/index.js文件中
- //是否开启真实的定位;如果开启了_GEO_OPEN,_GEO_TEST_POS则会失效
- _GEO_OPEN = true;
-
-
+```
+//是否开启真实的定位;如果开启了_GEO_OPEN,_GEO_TEST_POS则会失效
+_GEO_OPEN = true;
+```
+
### 三、基于 React-Native & 豆瓣Open API 开发搜索APP
地址:https://github.com/vczero/React-Dou
diff --git a/address_book/server/routes/services/user.js b/address_book/server/routes/services/user.js
index 7abc21b7..3afe3e30 100644
--- a/address_book/server/routes/services/user.js
+++ b/address_book/server/routes/services/user.js
@@ -65,7 +65,7 @@ var User = {
var tag = req.param('tag');
var creater = req.param('creater') || '';
- if(!username || !password || !tel || !email || !partment || !tag || !creater){
+ if(!username || !password || !tel || !email || !partment || !tag){
return res.send({
status: 0,
data: '缺少必要参数'
diff --git a/address_book/server/service.md b/address_book/server/service.md
index 14468335..9a624cf8 100644
--- a/address_book/server/service.md
+++ b/address_book/server/service.md
@@ -1,14 +1,14 @@
-//user API
-//获取用户信息
-app.post('/user/get', this.getUser);
-//创建用户
-app.post('/user/create', this.addUser);
-//登录
-app.post('/user/login/token', this.loginByToken);
-//更新密码
-app.post('/user/password/update', this.updatePassword);
-//删除用户
-app.post('/user/delete', this.deleteUser);
-//message API
-//获取公告
-app.post('/message/get', this.getMessage);
\ No newline at end of file
+//user API
+//获取用户信息
+app.post('/user/get', this.getUser);
+//创建用户
+app.post('/user/create', this.addUser);
+//登录
+app.post('/user/login/token', this.loginByToken);
+//更新密码
+app.post('/user/password/update', this.updatePassword);
+//删除用户
+app.post('/user/delete', this.deleteUser);
+//message API
+//获取公告
+app.post('/message/get', this.getMessage);
diff --git a/address_book/views/about/webview.js b/address_book/views/about/webview.js
index 9b706783..44390e3e 100644
--- a/address_book/views/about/webview.js
+++ b/address_book/views/about/webview.js
@@ -15,7 +15,7 @@ var webview = React.createClass({
render: function(){
return(
-
+
);
diff --git a/address_book/views/home/address.js b/address_book/views/home/address.js
index f08599aa..dc6e0600 100644
--- a/address_book/views/home/address.js
+++ b/address_book/views/home/address.js
@@ -59,7 +59,7 @@ var Address = React.createClass({
);
}
return (
-
+
{view}
);
diff --git a/address_book/views/manager/addUser.js b/address_book/views/manager/addUser.js
index d8335994..ddb2625f 100644
--- a/address_book/views/manager/addUser.js
+++ b/address_book/views/manager/addUser.js
@@ -144,7 +144,6 @@ var AddUser = React.createClass({
};
this.setState(obj);
this.setState(color);
- this.setState();
//清除其他选中效果
delete items[id];
for(var i in items){
diff --git a/address_book/views/manager/deleteUser.js b/address_book/views/manager/deleteUser.js
index 62c1a260..ab69bf5e 100644
--- a/address_book/views/manager/deleteUser.js
+++ b/address_book/views/manager/deleteUser.js
@@ -16,7 +16,11 @@ var {
} = React;
var DeleteUser = React.createClass({
-
+ getInitialState: function () {
+ return {
+ email: ''
+ }
+ },
render: function(){
return (
@@ -44,29 +48,33 @@ var DeleteUser = React.createClass({
_deleteUser: function(){
var that = this;
- AlertIOS.alert('提示', '确认删除该用户?', [
- {text: '删除', onPress: function(){
- var path = Service.host + Service.deleteUser;
- AsyncStorage.getItem('token', function(err, data){
- if(!err){
- Util.post(path,{
- token: data,
- email: that.state.email
- }, function(data){
- if(data.status){
- AlertIOS.alert('成功', '删除成功');
+ this.state.email == '' ?
+ AlertIOS.alert('提示', '请输入要删除的用户邮箱') :
+ AlertIOS.alert('提示', '确认删除该用户?', [
+ {
+ text: '删除',
+ onPress: function(){
+ var path = Service.host + Service.deleteUser;
+ AsyncStorage.getItem('token', function(err, data){
+ if(!err){
+ Util.post(path,{
+ token: data,
+ email: that.state.email
+ }, function(data){
+ if(data.status){
+ AlertIOS.alert('成功', '删除成功');
+ }else{
+ AlertIOS.alert('失败', '删除失败');
+ }
+ });
}else{
- AlertIOS.alert('失败', '删除失败');
+ AlertIOS.alert('提示', '没有权限');
}
});
- }else{
- AlertIOS.alert('提示', '没有权限');
}
- });
- }
- },
- {text: '取消', onPress: ()=>null},
- ]);
+ },
+ {text: '取消', onPress: ()=>null},
+ ]);
}
});
diff --git a/address_book/views/message.js b/address_book/views/message.js
index 0fba884e..d522732b 100644
--- a/address_book/views/message.js
+++ b/address_book/views/message.js
@@ -45,7 +45,6 @@ var Message = React.createClass({
{items}
-
);
@@ -57,7 +56,8 @@ var styles = StyleSheet.create({
container:{
flex:1,
backgroundColor:'#F5F5F5',
- flexDirection:'column'
+ flexDirection:'column',
+ marginBottom: 64
},
search:{
height:35,