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.主要完成的功能有: + ++ 附近的美食、附近的银行、附近的电影院、附近的卫生间; ++ 附近的搜索功能:美食、银行、电影院、卫生间 ++ 地图功能:展示附近的结果列表 + +效果如下图所示: -+ 附近的美食、附近的银行、附近的电影院、附近的卫生间; -+ 附近的搜索功能:美食、银行、电影院、卫生间 -+ 地图功能:展示附近的结果列表 -效果如下图所示: ![](pic/nearby/1.png) ![](pic/nearby/2.png) ![](pic/nearby/3.png) ![](pic/nearby/4.png) -####(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,