Sfoglia il codice sorgente

基础数据接口增加权限验证

西昌分支
dao 5 mesi fa
parent
commit
adb8daf683
8 ha cambiato i file con 109 aggiunte e 138 eliminazioni
  1. +48
    -86
      Learun.Framework.Ultimate V7/Doc文档/数字化智慧校园基础信息接口V1.0.docx
  2. +1
    -0
      Learun.Framework.Ultimate V7/Learun.Application.WebApi/Learun.Application.WebApi.csproj
  3. +1
    -1
      Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/Arrangelesson.cs
  4. +11
    -0
      Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/ArrangelessonLogin.cs
  5. +13
    -46
      Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/BaseNoAuthenticationNoLogin.cs
  6. +1
    -5
      Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/TransferApi.cs
  7. +21
    -0
      Learun.Framework.Ultimate V7/Learun.Application.WebApi/Until/MyEnum.cs
  8. +13
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Util/Learun.Util/Attributes/EnumAttribute.cs

+ 48
- 86
Learun.Framework.Ultimate V7/Doc文档/数字化智慧校园基础信息接口V1.0.docx Vedi File

@@ -11,11 +11,11 @@
V1.0

接口服务器:
学校服务器,部署地址:http://112.45.152.8:8083/
学校服务器,部署地址:http://10.30.0.10:9002/


调用方式:
标准http get请求
标准http get请求,数据接口需要在header中传参 token,否则无数据返回。
返回数据类型:
标准json
返回数据结构
@@ -34,8 +34,24 @@ data
业务数据(object)
业务数据

获取TOKEN
地址:http://部署地址/arrangelessonlogin/gettoken?sysid=1 sysid向管理员获取
属性
返回值
备注
code
200(int)
200成功 其余失败
info
响应成功(string)
状态描述
data
业务数据(object)
业务数据


部门接口
地址:http:// /arrangelesson/department
地址:http://部署地址/arrangelessonlogin/department
主要业务数据 其余字段可忽略
属性
返回值
@@ -71,7 +87,7 @@ F_OuterPhone


教师信息接口
地址:http://部署地址/arrangelesson/allteacher
地址:http://部署地址/arrangelessonlogin/allteacher
主要业务数据 其余字段可忽略
属性
返回值
@@ -108,7 +124,7 @@ mobile


学生信息接口
地址:http://部署地址/arrangelesson/allstudent
地址:http://部署地址/arrangelessonlogin/allstudent
主要业务数据 其余字段可忽略
属性
返回值
@@ -164,7 +180,7 @@ ClassNo


系部接口
地址:http://部署地址/arrangelesson/alldept
地址:http://部署地址/arrangelessonlogin/alldept
主要业务数据 其余字段可忽略
属性
返回值
@@ -184,7 +200,7 @@ DeptName

专业接口
地址:http://部署地址/arrangelesson/allmajor
地址:http://部署地址/arrangelessonlogin/allmajor
主要业务数据 其余字段可忽略
属性
返回值
@@ -207,7 +223,7 @@ DeptNo


校区接口
地址:http://部署地址/arrangelesson/allschool
地址:http://部署地址/arrangelessonlogin/allschool
主要业务数据 其余字段可忽略
属性
返回值
@@ -223,7 +239,7 @@ F_FullName

班级接口
地址:http://部署地址/arrangelesson/allclass
地址:http://部署地址/arrangelessonlogin/allclass
主要业务数据 其余字段可忽略
属性
返回值
@@ -255,7 +271,7 @@ Grade


用户接口
地址:http://部署地址/arrangelesson/alluser
地址:http://部署地址/arrangelessonlogin/alluser
主要业务数据 其余字段可忽略
属性
返回值
@@ -292,7 +308,7 @@ Year


课程接口
地址:http://部署地址/arrangelesson/alllesson
地址:http://部署地址/arrangelessonlogin/alllesson
主要业务数据 其余字段可忽略
属性
返回值
@@ -323,7 +339,7 @@ F_SchoolId


必修开课计划接口
地址:http://部署地址/arrangelesson/allclasslesson
地址:http://部署地址/arrangelessonlogin/allclasslesson
所需参数:AcademicYearNo=19-20&Semester=1
参数名称
@@ -381,7 +397,7 @@ LessonTime


学生选修选课接口
地址:http://部署地址/arrangelesson/allelelectivelesson
地址:http://部署地址/arrangelessonlogin/allelelectivelesson
所需参数:AcademicYearNo=19-20&Semester=1
参数名称
@@ -423,95 +439,41 @@ LessonTime
16:20-17:05,17:15-18:00 两节课的时间


新生信息接口(人脸平台)
地址:http://部署地址/arrangelesson/getnewstudentlist
所需参数:Grade =22
参数名称
备注
Grade
22
代表级别,22年级新生传22,23年传23

主要业务数据 其余字段可忽略
属性
返回值
备注
可否为空
StuNo
学号(string)


IdentityCardNo
身份证号(string)
根据身份证号更新照片接口
标准http post请求
地址:
http://部署地址/EducationalAdministration/EmpRegister/updatePhotoByIdCard
所需参数:(限制一次最多传值50条)


ksh
考生号(string)


StuName
学生姓名(string)


GenderNo
性别代码(string)
1男,0女

ProvinceNo
地区代码(string)


MajorName
专业名称


ClassName
班级名称


ExamPhoto
高考照片Url



新生核验结果接口(人脸平台)
地址:http://部署地址/arrangelesson/newstudentcompare
HTTP Post Content-Type=application/json
所需参数:{"IdentityCardNo":"xxxx","ScenePhoto":"xx","IdentPhoto":"xx","PhotoCheckStatus":"0"}
参数名称
备注
IdentityCardNo
身份证号(string)

ScenePhoto
现场照片URL(string)
IdCard

IdentPhoto
身份证照片URL(string)

PhotoCheckStatus
核验状态(int)
身份证号
PhotoUrl

照片地址
IdentityFlag
1、2
身份标识(1老师,2学生)

主要业务数据 其余字段可忽略
属性
返回值
备注
可否为空
code
返回结果(string)
200表示成功,其他失败
IdCard

info
返回结果说明(string)
身份证号

data
忽略
OperateFlag
true , false
操作标识(true更新成功,false更新失败)

FailMsg

更新失败原因




+ 1
- 0
Learun.Framework.Ultimate V7/Learun.Application.WebApi/Learun.Application.WebApi.csproj Vedi File

@@ -281,6 +281,7 @@
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Modules\UserApi.cs" />
<Compile Include="Until\MyEnum.cs" />
<Compile Include="Until\ReqEntity.cs" />
<Compile Include="Until\ReqPageParam.cs" />
<Compile Include="Modules\PersonnelManagement\ActivityScheduleApi.cs" />


+ 1
- 1
Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/Arrangelesson.cs Vedi File

@@ -10,7 +10,7 @@ using Nancy;

namespace Learun.Application.WebApi.Modules
{
public class Arrangelesson : BaseNoAuthentication
public class Arrangelesson : BaseApi
{
public Arrangelesson()
: base("/arrangelesson/")


+ 11
- 0
Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/ArrangelessonLogin.cs Vedi File

@@ -4,7 +4,9 @@ using System.Linq;
using System.Web;
using Learun.Application.Organization;
using Learun.Application.TwoDevelopment.EducationalAdministration;
using Learun.Util;
using Nancy;
using static Learun.Application.WebApi.Until.MyEnum;

namespace Learun.Application.WebApi.Modules
{
@@ -13,6 +15,7 @@ namespace Learun.Application.WebApi.Modules
public ArrangelessonLogin()
: base("/arrangelessonlogin/")
{
Get["/gettoken"] = GetToken;
Get["/lessontype"] = GetLessonTypes;
Get["/classtype"] = GetClassType;
Get["/student"] = GetStudents;
@@ -71,6 +74,14 @@ namespace Learun.Application.WebApi.Modules
private StuSelectLessonListOfElectiveIBLL stuSelectLessonListOfElectiveIbll =
new StuSelectLessonListOfElectiveBLL();

private Response GetToken(dynamic _)
{
string sid = Request.Query["sysid"];
var sys = EnumAttribute.GetVal(typeof(ThrSys), sid.ToInt());
if (sys.IsEmpty()) return Fail("参数错误!");
var token=DESEncrypt.Encrypt(sys);
return Success(token);
}
private Response TranTest(dynamic _)
{
return Success("ok");


+ 13
- 46
Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/BaseNoAuthenticationNoLogin.cs Vedi File

@@ -5,7 +5,8 @@ using Learun.Util.Operat;
using Nancy;
using Nancy.ModelBinding;
using System;//D:\Item\repos\DigitalScholl\Learun.Framework.Ultimate V7\Learun.Application.WebApi\Modules\TransferApi.cs
using static Learun.Application.WebApi.TransferApi;
using System.Linq;
using static Learun.Application.WebApi.Until.MyEnum;

namespace Learun.Application.WebApi
{
@@ -96,7 +97,7 @@ namespace Learun.Application.WebApi
/// <returns></returns>
public Response Success(string info)
{
ResParameter res = new ResParameter { code = ResponseCode.success, info = info, data = new object { } };
ResParameter res = new ResParameter { code = ResponseCode.success, info = "响应成功", data = info };
return Response.AsText(res.ToJson()).WithContentType("application/json");
}
/// <summary>
@@ -226,10 +227,6 @@ namespace Learun.Application.WebApi
#endregion

#region 权限验证
public UserInfo userInfo;
public string loginMark;
public string token;

/// <summary>
/// 前置拦截器
@@ -238,50 +235,20 @@ namespace Learun.Application.WebApi
/// <returns></returns>
private Response BeforeRequest(NancyContext ctx)
{
//var Requesttoken = DESEncrypt.Decrypt(Request.Headers["token"].ToString());
var Requesttoken = DESEncrypt.Decrypt(Request.Query["token"].ToString());

var a = EnumAttribute.GetVsS(typeof(loginins));

//if (Requesttoken == loginins.school)
//{

//}
ctx.Request.Url.Query = Learun.Util.WebHelper.Formatstr(ctx.Request.Url.Query);
foreach (var p in ctx.Parameters)
{
if (p.ParameterType == typeof(string))
{
if (ctx.Parameters[p.ParameterName] != null)
{
ctx.Parameters[p.ParameterName] = Learun.Util.WebHelper.Formatstr(ctx.Parameters[p.ParameterName].ToString());
}
}
}
string path = ctx.ResolvedRoute.Description.Path;
//验证登录状态
ReqParameter req = this.Bind<ReqParameter>();
loginMark = req.loginMark;
token = req.token;
if (path == "/learun/adms/user/login" || path == "/learun/adms/user/loginbyIdCard" || path == "/" || path == "/bgimg" || path == "/learun/adms/user/img" || path == "/learun/adms/desktop/img" || path == "/learun/adms/user/imgfordc" || path == "/learun/adms/timetable/timeTableData" || path == "/quanjiang/sso/authorize" || path == "/learun/nologin/adms/annexes/upload" || path == "/learun/adms/annexes/wxlist" || path == "/learun/visitmanage/save" || path == "/learun/visitmanage/getweixinaccess_token")
{// 登录接口,默认页面接口不做权限验证处理
if (path == "/arrangelessonlogin/gettoken")
{// token接口,默认页面接口不做权限验证处理
return null;
}
var rToken = ctx.Request.Headers["token"].FirstOrDefault();
if(rToken.IsEmpty()) return this.FailNoLogin("权限校验失败!");

OperatorResult res = OperatorHelper.Instance.IsOnLine(req.token, req.loginMark);
if (res.stateCode == -1)
{
return this.FailNoLogin("未找到登录信息");
}
if (res.stateCode == 0)
{
return this.FailNoLogin("登录信息已过期");
}
else
{
// 获取登录者信息
userInfo = res.userInfo;
}
var tss = EnumAttribute.GetVsS(typeof(ThrSys));

var Requesttoken = DESEncrypt.Decrypt(rToken);
if(!tss.Contains(Requesttoken)) return this.FailNoLogin("权限校验失败!!");

return null;
}
#endregion


+ 1
- 5
Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/TransferApi.cs Vedi File

@@ -462,11 +462,7 @@ namespace Learun.Application.WebApi
public string PersonPicturePath { get; set; }
}

public enum loginins
{
school,
CODE,
}
#endregion

}

+ 21
- 0
Learun.Framework.Ultimate V7/Learun.Application.WebApi/Until/MyEnum.cs Vedi File

@@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Learun.Application.WebApi.Until
{
public class MyEnum
{

public enum ThrSys
{
[Description("超星")]
ChaoXin=31233
}


}
}

+ 13
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Util/Learun.Util/Attributes/EnumAttribute.cs Vedi File

@@ -42,6 +42,19 @@ namespace Learun.Util
return null;
}

public static string GetVal(Type enumType,int value)
{
try
{
var name = enumType.GetEnumName(value);
return name;
}
catch (Exception e)
{
return "";
}
}

/// <summary>
/// 返回枚举项的描述信息。
/// </summary>


Caricamento…
Annulla
Salva