1
0

nightly commit

This commit is contained in:
2021-01-30 21:27:36 +08:00
parent b2e4d6eb7f
commit 7620937cc7
2 changed files with 297 additions and 61 deletions

View File

@@ -10,7 +10,7 @@
本日历目前无条件限定最小时间为1950年1月1日最大时间为2200年12月31日。
API只有在遇到当前接口应该产生错误时,使用外层结构来进行返回错误例如token无效应用程序错误参数错误等。其应当返回的错误应该通过内层进行返回例如登录接口的登陆成功与失败删除接口的成功与否应该通过内层返回true或false来决定
API在遇到当前接口产生错误时使用外层结构来进行返回错误例如token无效应用程序错误参数错误等。请注意捕获错误。如果没有错误则表示data字段为有效数据
## 数据库
@@ -280,11 +280,12 @@ Calendar类下的为日历请求接口
Collection类下的为日历集合请求接口
尾缀为Own的为对自己拥有集合的操作尾缀为Sharing的表示对自己拥有的某个集合的分享人员进行操作尾缀为Shared的表示对由他人分享的日历集合的操作。
其中Own结尾的get请求与日历事件获取请求相似也有两种一种是设计给网页使用的getFull。另一种是为客户端同步设计的getList和getDetail。
需要注意的是在数据表中这3部分由2个表描述collection和share在进行Sharing结尾的操作时也就是操作share表同时也会更新其在collection对应条目的lastChange。因此share表里没有lastChange而全部lastChange都在collection表里。
#### getOwn
#### getFullOwn
请求地址:`/api/collection/getOwn`
请求地址:`/api/collection/getFullOwn`
请求参数:
@@ -294,6 +295,31 @@ Collection类下的为日历集合请求接口
返回参数一个json返回collection数据表中符合条件的条目组合成的数组
#### getListOwn
请求地址:`/api/collection/getListOwn`
请求参数:
|参数名|参数类型|参数解释|
|:---|:---|:---|
|token|string|用于用户鉴权的字符串|
返回参数一个json返回collection数据表中符合条件的条目的uuid组合成的数组
#### getDetailOwn
请求地址:`/api/collection/getDetailOwn`
请求参数:
|参数名|参数类型|参数解释|
|:---|:---|:---|
|token|string|用于用户鉴权的字符串|
|uuid|string|需要获取集合的uuid|
返回参数一个json返回collection数据表中对应uuid的条目
#### addOwn
请求地址:`/api/collection/addOwn`
@@ -504,7 +530,7 @@ Admin类的操作不涉及任何客户端存储因此不需要lastChange来
|token|string|用于用户鉴权的字符串|
|username|string|新的用户名|
返回参数:一个bool用于表示是否创建成功创建成功的用户具有一个随机的密码,并且默认非管理员
返回参数:一个json返回新建用户的对应条目与get接口返回字段一致。创建成功的用户具有一个随机的密码,并且默认非管理员。创建失败返回null
#### update

View File

@@ -52,9 +52,45 @@ function ccn_api_common_login(_username, password) {
}
*/
// ============================================ template
// all api can be implemented by these 2 function, except 3 token related func.
// so all api func should use these 2 func except 3 token process api.
function ccn_api_dataTemplate(_url, _data) {
// return data or undefined
var gotten_data = undefined;
$.ajax({
url: _url,
type: "POST",
async: false,
data: _data,
success: function (data) {
gotten_data = data;
}
});
if (IsResponseOK(gotten_data) && !(gotten_data['data'] === null)) return gotten_data['data'];
else return undefined;
}
function ccn_api_boolTemplate(_url, _data) {
// return true or false
var gotten_data = undefined;
$.ajax({
url: _url,
type: "POST",
async: false,
data: _data,
success: function (data) {
gotten_data = data;
}
});
return (IsResponseOK(gotten_data) && gotten_data['data']);
}
// ====================================================== common
function ccn_api_common_webLogin(_username, password) {
function ccn_api_common_webLogin(_username, _password) {
var gotten_data = undefined;
$.ajax({
url: '/api/common/webLogin',
@@ -62,7 +98,7 @@ function ccn_api_common_webLogin(_username, password) {
async: false,
data: {
username: _username,
password: password
password: _password
},
success: function (data) {
gotten_data = data;
@@ -121,99 +157,273 @@ function ccn_api_common_tokenValid() {
}
}
function ccn_api_common_isAdmin() {
return ccn_api_boolTemplate(
'/api/common/isAdmin',
{
token: GetApiToken()
}
);
}
function ccn_api_common_changePassword(_password) {
return ccn_api_boolTemplate(
'/api/common/changePassword',
{
token: GetApiToken(),
password: _password
}
);
}
// ====================================================== calendar
function ccn_api_calendar_getFull(_startDateTime, _endDateTime) {
return ccn_api_dataTemplate(
'/api/calendar/getFull',
{
token: GetApiToken(),
startDateTime: _startDateTime,
endDateTime: _endDateTime
}
);
}
function ccn_api_calendar_getDetail(_uuid) {
return ccn_api_dataTemplate(
'/api/calendar/getDetail',
{
token: GetApiToken(),
uuid: _uuid
}
);
}
function ccn_api_calendar_update(_uuid, _belongTo, _title, _description, _eventDateTimeStart, _eventDateTimeEnd, _loopRules, _timezoneOffset, _lastChange) {
return ccn_api_dataTemplate(
'/api/calendar/update',
{
token: GetApiToken(),
uuid: _uuid,
belongTo: _belongTo,
title: _title,
description: _description,
eventDateTimeStart: _eventDateTimeStart,
eventDateTimeEnd: _eventDateTimeEnd,
loopRules: _loopRules,
timezoneOffset: _timezoneOffset,
lastChange: _lastChange
}
);
}
function ccn_api_calendar_add(_belongTo, _title, _description, _eventDateTimeStart, _eventDateTimeEnd, _loopRules, _timezoneOffset) {
return ccn_api_dataTemplate(
'/api/calendar/add',
{
token: GetApiToken(),
belongTo: _belongTo,
title: _title,
description: _description,
eventDateTimeStart: _eventDateTimeStart,
eventDateTimeEnd: _eventDateTimeEnd,
loopRules: _loopRules,
timezoneOffset: _timezoneOffset
}
);
}
function ccn_api_calendar_delete(_uuid, _lastChange) {
return ccn_api_boolTemplate(
'/api/calendar/delete',
{
token: GetApiToken(),
uuid: _uuid,
lastChange: _lastChange
}
);
}
// ====================================================== collection
function ccn_api_collection_getFullOwn() {
return ccn_api_dataTemplate(
'/api/collection/getFullOwn',
{
token: GetApiToken()
}
);
}
function ccn_api_collection_getDetailOwn(_uuid) {
return ccn_api_dataTemplate(
'/api/collection/getDetailOwn',
{
token: GetApiToken(),
uuid: _uuid
}
);
}
function ccn_api_collection_addOwn(_name) {
return ccn_api_dataTemplate(
'/api/collection/addOwn',
{
token: GetApiToken(),
name: _name
}
);
}
function ccn_api_collection_updateOwn(_uuid, _name, _lastChange) {
return ccn_api_dataTemplate(
'/api/collection/updateOwn',
{
token: GetApiToken(),
uuid: _uuid,
name: _name,
lastChange: _lastChange
}
);
}
function ccn_api_collection_deleteOwn(_uuid, _lastChange) {
return ccn_api_boolTemplate(
'/api/collection/deleteOwn',
{
token: GetApiToken(),
uuid: _uuid,
lastChange: _lastChange
}
);
}
function ccn_api_collection_getSharing(_uuid) {
return ccn_api_dataTemplate(
'/api/collection/getSharing',
{
token: GetApiToken(),
uuid: _uuid
}
);
}
function ccn_api_collection_deleteSharing(_uuid, _target, _lastChange) {
return ccn_api_dataTemplate(
'/api/collection/deleteSharing',
{
token: GetApiToken(),
uuid: _uuid,
target: _target,
lastChange: _lastChange
}
);
}
function ccn_api_collection_addSharing(_uuid, _target, _lastChange) {
return ccn_api_dataTemplate(
'/api/collection/addSharing',
{
token: GetApiToken(),
uuid: _uuid,
target: _target,
lastChange: _lastChange
}
);
}
function ccn_api_collection_getShared() {
return ccn_api_dataTemplate(
'/api/collection/addSharing',
{
token: GetApiToken()
}
);
}
// ====================================================== todo
function ccn_api_todo_getFull() {
// return data or undefined
var gotten_data = undefined;
$.ajax({
url: '/api/todo/getFull',
type: "POST",
async: false,
data: {
return ccn_api_dataTemplate(
'/api/todo/getFull',
{
token: GetApiToken()
},
success: function (data) {
gotten_data = data;
}
});
if (IsResponseOK(gotten_data)) return gotten_data['data'];
else return undefined;
);
}
function ccn_api_todo_add() {
// return data or undefined
var gotten_data = undefined;
$.ajax({
url: '/api/todo/add',
type: "POST",
async: false,
data: {
return ccn_api_dataTemplate(
'/api/todo/add',
{
token: GetApiToken()
},
success: function (data) {
gotten_data = data;
}
});
if (IsResponseOK(gotten_data)) return gotten_data['data'];
else return undefined;
);
}
function ccn_api_todo_update(_uuid, _data, _lastChange) {
// return data or undefined
var gotten_data = undefined;
$.ajax({
url: '/api/todo/update',
type: "POST",
async: false,
data: {
return ccn_api_dataTemplate(
'/api/todo/update',
{
token: GetApiToken(),
uuid: _uuid,
data: _data,
lastChange: _lastChange
},
success: function (data) {
gotten_data = data;
}
});
if (IsResponseOK(gotten_data)) return gotten_data['data'];
else return undefined;
);
}
function ccn_api_todo_delete(_uuid, _lastChange) {
// return true or false
var gotten_data = undefined;
$.ajax({
url: '/api/todo/delete',
type: "POST",
async: false,
data: {
return ccn_api_boolTemplate(
'/api/todo/delete',
{
token: GetApiToken(),
uuid: _uuid,
lastChange: _lastChange
},
success: function (data) {
gotten_data = data;
}
});
return (IsResponseOK(gotten_data) && gotten_data['data']);
);
}
// ====================================================== admin
function ccn_api_admin_get() {
return ccn_api_dataTemplate(
'/api/admin/get',
{
token: GetApiToken()
}
);
}
function ccn_api_admin_add(_username) {
return ccn_api_dataTemplate(
'/api/admin/add',
{
token: GetApiToken(),
username: _username
}
);
}
function ccn_api_admin_update(_username, _password, _isAdmin) {
return ccn_api_dataTemplate(
'/api/admin/update',
{
token: GetApiToken(),
username: _username,
password: _password,
isAdmin: _isAdmin
}
);
}
function ccn_api_admin_delete(_username) {
return ccn_api_boolTemplate(
'/api/admin/delete',
{
token: GetApiToken(),
username: _username
}
);
}