码迷,mamicode.com
首页 > 移动开发 > 详细

【企业通讯录app番外篇】怎么样创建服务端?

时间:2015-07-17 17:36:01      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:

本文将指导大家如何去创建企业通讯录app的服务端

除了获取图片,客户端与服务端唯一的交互就是获取最新数据,如果该用户不能获取数据(用户名密码错误、用户离职被删)则返回空。

1:典型的交互流程如下:

                      用户名与密码

app    -----------------------------> 服务端

app   <-----------------------------  服务端

                    json格式的通讯录

 

2:接下来讲讲json通讯录需要哪些属性。

一共需要7个,见下文。

 {"UserName":"用户名","Company":"公司","Department":"部门","JobTitle":"职位","Phone":"手机号1","ShortPhone":"手机号2","AvatarURL":"头像地址"}

 

3:接下来给出服务端的具体实现参考

asp.net版:

为啥要拼接而不是使用框架序列化,是为了更高的性能,参考

private void getList(HttpContext context)
        {
string userName = context.Request.QueryString["u"];
            string password = context.Request.QueryString["p"];

            if (string.IsNullOrEmpty(userName) || string.IsNullOrEmpty(password))
            {
                context.Response.Write("");
                return;
            }

            if (检查用户名密码是否可用(userName, password) == null)
            {
                context.Response.Write("");
                return;
            }

            string sqlStr = @"你的sql语句";
            StringBuilder sb = new StringBuilder();

            using (SqlDataReader reader = (SqlDataReader)SqlHelper.ExecuteReader(sqlStr))
            {

                while (reader.Read())
                {
                    sb.Append(",{");
                    sb.AppendFormat("\"UserName\":\"{0}\",\"Company\":\"{1}\",\"Department\":\"{2}\",\"JobTitle\":\"{3}\",\"Phone\":\"{4}\",\"ShortPhone\":\"{5}\",\"AvatarURL\":\"{6}\"", reader["UserName"], reader["Company"], reader["Department"], reader["JobTitle"], reader["Phone"], reader["ShortPhone"], reader["AvatarURL"]);
                    sb.Append("}");
                }
            }

            if (sb.Length > 0)
            {
                sb[0] = [;
                sb.Append("]");
                context.Response.Write(sb);
            }
            else
                context.Response.Write("");
}

 

如果你没有数据库,一个json文件也是可以滴。

简单nodejs版demo实现(需要安装restify)

var restify = require(‘restify‘);
var rf=require("fs"); 
var contactList=rf.readFileSync("json文件地址","utf-8");

function respond(req, res, next) {
  res.setHeader(‘content-type‘, ‘text/plain‘);
  if (req.params.name == "账户名" && req.params.pwd=="密码") {
       res.send(contactList);
  }
  else
      {
          res.send(‘‘);
      };
 
}

var server = restify.createServer();
server.get(‘/u/:name/:pwd‘, respond); 

server.listen(3900, function() {
  console.log(‘%s listening at %s‘, server.name, server.url);
});

 

4:如何做一个服务端,总结如下:

1:对客户端传递的账户密码进行验证,错误返回空,否则进行下步骤

2:sql获取数据库的用户信息,并使用2.1提供的别名

3:转换成json格式返回

 

【企业通讯录app番外篇】怎么样创建服务端?

标签:

原文地址:http://www.cnblogs.com/kimmy/p/4654683.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!