# GNWebCommitApi **Repository Path**: nidb/gnweb-commit-api ## Basic Information - **Project Name**: GNWebCommitApi - **Description**: No description available - **Primary Language**: C# - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-10-25 - **Last Updated**: 2021-11-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于ASP.NET Core的WEB评论API ## 配置文件config.json ```json { "MysqlIp": "xx.xxx.xx.xx", // 填写服务器IP "MysqlPwd": "password", // MySQL登录密码 "MysqlUser": "root", // MySQL登录用户名 "MysqlPort": 3306, // MySQL端口 } ``` ## HTTP-API > 为了方便,假设API的网址是https://api.cn/ ### 新建评论 #### METHOD > POST #### URL > https://api.cn/commitments/write/[siteId]/[pageId]/ 说明:siteId用于识别网站,同一个网站应该使用同一个siteId;pageId用于识别页面,每个页面应该有一个pageId。它们的类型是string,建议使用uuid或者8位数字+字母随机字符串。 #### BODY 示例: ```json { "Author":"Gaein nidb", // 评论的作者 "Email":"mail@test.cn", // 评论的作者的邮箱 "Website":"https://blog.test.cn", // 评论的作者的链接 "CommitId":"1972c52a", // CommitId,在siteId相同(同一个网站)只有一个,重复会生成新的CommitId;留空会自动生成 "FollowCount":0, // 初始点赞数,不填写会初始化为0 "Canshow":true, // 可以显示 "Content":"THIS IS A NEW TEST", // 评论的内容 "Committime":1562255000000 // 评论的时间(可以是距离1970年1月1日的毫秒数) } ``` #### RESPONSE 示例: ```json { "status": 200, // 状态码 "data": [ { "keyId": 0, // 主键 "author": "Gaein nidb", "email": "mail@test.cn", "website": "https://blog.test.cn", "commitId": "aeedc6f7", // 如果重复了这里是新的CommitId "pageId": "0", "followCount": 0, "canShow": true, "content": "THIS IS A NEW TEST", "commitTime": 1562255000000 } ], "info": "SUCCESS WRITE COMMITMENT" } ``` ### 列出评论 #### METHOD > GET #### URL > https://api.cn/commitments/list/[siteId]/[pageId]/ 说明:siteId用于识别网站,同一个网站应该使用同一个siteId;pageId用于识别页面,每个页面应该有一个pageId。它们的类型是string,建议使用uuid或者8位数字+字母随机字符串。 #### BODY 无 #### RESPONSE 示例: ```json { "status": 200, // 状态码 "data": [ { "keyId": 1, "author": "Gaein nidb", "email": "mail@test.cn", "website": "https://blog.test.cn", "commitId": "2f32718b", "pageId": "0", "followCount": 23144, "canShow": true, "content": "HELLO WORLD", "commitTime": 1562255000000 }, { "keyId": 2, "author": "TOM", "email": "mail@test.cn", "website": "https://blog.test.cn", "commitId": "005dabf7", "pageId": "0", "followCount": 645, "canShow": true, "content": "HI JERRY", "commitTime": 1562258700000 }, { "keyId": 3, "author": "JERRY", "email": "mail@test.cn", "website": "https://blog.test.cn", "commitId": "978fc1f8", "pageId": "0", "followCount": 32, "canShow": true, "content": "GOOD!", "commitTime": 1662255000000 }, { "keyId": 4, "author": "TRUMP", "email": "mail@test.cn", "website": "https://blog.test.cn", "commitId": "9f738fd5", "pageId": "0", "followCount": 3299, "canShow": true, "content": "CHINA!CHINA!CHINA!", "commitTime": 1832255000000 } ], "info": "SUCCESS GET COMMITMENTS LIST" } ``` 这些数据默认是按时间从晚到早的顺序排列的 ### 点赞/取消赞 #### https://api.cn/commitments/follow/[siteId]/[pageId]/[commitId]/[status] 说明:siteId用于识别网站,同一个网站应该使用同一个siteId;pageId用于识别页面,每个页面应该有一个pageId。它们的类型是string,建议使用uuid或者8位数字+字母随机字符串。 说明:commitId可以在list返回中或者write请求中获取,status是bool类型的值,true为点赞,赞数加一;false为取消赞,减一。 比如:https://api.cn/commitments/follow/96fea778/0/e6db67d8/true #### BODY 无 #### RESPONSE 示例: ```json { "status": 200, "data": [ { "keyId": 6, "author": "Gaein nidb", "email": "mail@test.cn", "website": "https://www.test.cn", "commitId": "e6db67d8", "pageId": "0", "followCount": 8, "canShow": true, "content": "THIS IS A NEW TEST", "commitTime": 1832255000000 } ], "info": "SUCCESS (UN)FOLLOW COMMITMENT:e6db67d8" } ``` ### 异常处理 还没有写,但是默认异常JSON中也是含有status的