diff --git a/README.md b/README.md
index 53bbc2f..2ca9a08 100644
--- a/README.md
+++ b/README.md
@@ -191,7 +191,10 @@ PS:所有 rest api 均可使用 https,文档中为了统一写作`http`,
- [ ] 基本信息
- [ ] B币充值
- [ ] 贝壳相关
-- [ ] 哔哩哔哩漫画
+- [ ] [哔哩哔哩漫画](manga)
+ - [x] [签到](manga/clockin.md)
+ - [x] [积分商城](manga/point_shop.md)
+
- [ ] 哔哩哔哩游戏
- [ ] 轻视频
- [ ] [终端网络查询](clientinfo)
diff --git a/manga/ClockIn.md b/manga/ClockIn.md
new file mode 100644
index 0000000..34ca545
--- /dev/null
+++ b/manga/ClockIn.md
@@ -0,0 +1,66 @@
+# 签到
+
+> http://manga.bilibili.com/twirp/activity.v1.Activity/ClockIn
+
+*请求方式:POST*
+
+认证方式:Cookie(SESSDATA)/ APP
+
+**正文参数( application/x-www-form-urlencoded ):**
+
+| 参数名 | 类型 | 内容 | 必要性 | 备注 |
+| ---------- | ---- | ------------------------ | -------------- | ------------------------------------------------------------ |
+| platform | str | 平台 | 必要 | android |
+
+**json回复:**
+
+根对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ------- | ---- | -------- | ------------------------------------------------------------ |
+| code | num / str | 返回值 | 0:成功
invalid_argument:今日已签到 |
+| msg | str | 错误信息 | 成功:空
已签到:clockin clockin is duplicate |
+| meta | obj | 错误信息 | 今日已签到时存在 |
+
+根对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ---- | ---- | -------- | ---- |
+| data | str | 错误信息 | |
+
+**示例:**
+
+```bash
+curl 'http://manga.bilibili.com/twirp/activity.v1.Activity/ClockIn' \
+-b 'SESSDATA=xxx'
+```
+
+
+签到成功:
+
+
+```json
+{
+ "code": 0,
+ "msg": "",
+ "data": {}
+}
+```
+
+
+
+
+今日已签到:
+
+
+```json
+{
+ "code": "invalid_argument",
+ "msg": "clockin clockin is duplicate",
+ "meta": {
+ "argument": "clockin"
+ }
+}
+```
+
+
\ No newline at end of file
diff --git a/manga/point_shop.md b/manga/point_shop.md
new file mode 100644
index 0000000..8ed50cb
--- /dev/null
+++ b/manga/point_shop.md
@@ -0,0 +1,451 @@
+# 积分商城
+
+- [获取当前持有点数](#获取当前持有点数)
+- [获取兑换奖品列表](#获取兑换奖品列表)
+- [兑换物品](#兑换物品)
+- [获取兑换历史记录](#获取兑换历史记录)
+- [获取玩法说明](#获取玩法说明)
+
+*积分商城由web页面提供功能,地址为:*
+
+> https://manga.bilibili.com/eden/credits-exchange.html
+
+## 获取当前持有点数
+
+> http://manga.bilibili.com/twirp/pointshop.v1.Pointshop/GetUserPoint
+
+*请求方式:POST*
+
+认证方式:Cookie(SESSDATA)/ APP
+
+**json回复:**
+
+根对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ------- | ---- | -------- | ------------------------------------------------------------ |
+| code | num | 返回值 | |
+| msg | str | 错误信息 | |
+| data | obj | 信息本体 | |
+
+`data`对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| -------- | ---- | -------- | ------------ |
+| point | str | 点数 | 不登录时为0 |
+
+**示例:**
+
+```bash
+curl 'http://manga.bilibili.com/twirp/pointshop.v1.Pointshop/GetUserPoint' \
+-b 'SESSDATA=xxx'
+```
+
+
+查看响应示例:
+
+
+```json
+{
+ "code": 0,
+ "msg": "",
+ "data": {
+ "point": "66666"
+ }
+}
+```
+
+
+
+## 获取兑换奖品列表
+
+> http://manga.bilibili.com/twirp/pointshop.v1.Pointshop/ListProduct
+
+*请求方式:POST*
+
+**json回复:**
+
+根对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ------- | ---- | -------- | ------------------------------------------------------------ |
+| code | num | 返回值 | |
+| msg | str | 错误信息 | |
+| data | array | 奖品列表 | |
+
+`data`数组:
+
+| 项 | 类型 | 内容 | 备注 |
+| ---- | ---- | --------- | ---- |
+| 0 | obj | 奖品1 | |
+| n | obj | 奖品(n+1) | |
+| …… | obj | …… | …… |
+
+`data`数组中的对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| -------- | ---- | -------- | ------------ |
+| id | num | 物品id | |
+| type | num | 物品类型 | 0:商城相关
3:限免券
7:福利券 |
+| title | str | 物品名 | |
+| image | str | 显示的图像 | 福利券为空 |
+| amount | num | 库存总量 | |
+| cost | num | 兑换所需点数(原价) | |
+| real_cost | num | 兑换所需点数(现价) | |
+| remain_amount | num | 库存剩余数 | |
+| comic_id | num | 相关漫画id | |
+| limits | array | 限定使用范围(漫画) | 限免券所适用的漫画 |
+| discount | num | (?) | 目前恒为0 |
+| product_type | num | 物品类型 | 1:限免券、福利券
4:商城满99立减10元券、商城5元无门槛券
5:商城5魔晶 |
+| pendant_url | str | (?) | |
+| pendant_expire | num | (?) | 0:限免券、福利券
7:商城满99立减10元券、商城5元无门槛券、商城5魔晶 |
+| exchange_limit | num | 兑换次数限制 | |
+| address_deadline | str | (?) | |
+| act_type | num | (?) | 目前恒为0 |
+| has_exchanged | bool | 是否兑换过该物品 | |
+| main_coupon_deadline | str | 兑换后使用截止时间 | |
+| deadline | str | 兑换后使用截止时间 | |
+| point | str | (?) | 目前恒为0 |
+
+**示例:**
+
+```bash
+curl 'http://manga.bilibili.com/twirp/pointshop.v1.Pointshop/ListProduct'
+```
+
+
+查看响应示例:
+
+
+```json
+{
+ "code": 0,
+ "msg": "",
+ "data": [
+ {
+ "id": 195,
+ "type": 7,
+ "title": "积分兑换",
+ "image": "",
+ "amount": 15999,
+ "cost": 200,
+ "real_cost": 100,
+ "remain_amount": 0,
+ "comic_id": 0,
+ "limits": [],
+ "discount": 0,
+ "product_type": 1,
+ "pendant_url": "",
+ "pendant_expire": 7,
+ "exchange_limit": 0,
+ "address_deadline": "0001-01-01T00:00:00Z",
+ "act_type": 0,
+ "has_exchanged": false,
+ "main_coupon_deadline": "0001-01-01T00:00:00Z",
+ "deadline": "",
+ "point": "0"
+ },
+ {
+ "id": 1009,
+ "type": 0,
+ "title": "商城5魔晶",
+ "image": "",
+ "amount": 500,
+ "cost": 260,
+ "real_cost": 30,
+ "remain_amount": 0,
+ "comic_id": 0,
+ "limits": [],
+ "discount": 0,
+ "product_type": 5,
+ "pendant_url": "",
+ "pendant_expire": 0,
+ "exchange_limit": 1,
+ "address_deadline": "0001-01-01T00:00:00Z",
+ "act_type": 0,
+ "has_exchanged": false,
+ "main_coupon_deadline": "2022-03-22T23:59:59+08:00",
+ "deadline": "2022-03-22T23:59:59+08:00",
+ "point": "0"
+ },
+ {
+ "id": 1008,
+ "type": 0,
+ "title": "商城满99立减10元券",
+ "image": "",
+ "amount": 400,
+ "cost": 2000,
+ "real_cost": 400,
+ "remain_amount": 390,
+ "comic_id": 0,
+ "limits": [],
+ "discount": 0,
+ "product_type": 4,
+ "pendant_url": "",
+ "pendant_expire": 0,
+ "exchange_limit": 1,
+ "address_deadline": "0001-01-01T00:00:00Z",
+ "act_type": 0,
+ "has_exchanged": false,
+ "main_coupon_deadline": "2022-03-22T23:59:59+08:00",
+ "deadline": "2022-03-22T23:59:59+08:00",
+ "point": "0"
+ },
+ {
+ "id": 1007,
+ "type": 0,
+ "title": "商城5元无门槛券",
+ "image": "",
+ "amount": 200,
+ "cost": 1000,
+ "real_cost": 200,
+ "remain_amount": 134,
+ "comic_id": 0,
+ "limits": [],
+ "discount": 0,
+ "product_type": 4,
+ "pendant_url": "",
+ "pendant_expire": 0,
+ "exchange_limit": 1,
+ "address_deadline": "0001-01-01T00:00:00Z",
+ "act_type": 0,
+ "has_exchanged": false,
+ "main_coupon_deadline": "2022-03-22T23:59:59+08:00",
+ "deadline": "2022-03-22T23:59:59+08:00",
+ "point": "0"
+ },
+ {
+ "id": 1536,
+ "type": 3,
+ "title": "白兔糖",
+ "image": "http://i0.hdslb.com/bfs/manga-static/c3369754789a77b5d0b15cc31c75538ac035b3aa.jpg",
+ "amount": 4000,
+ "cost": 100,
+ "real_cost": 75,
+ "remain_amount": 3991,
+ "comic_id": 27164,
+ "limits": [
+ {
+ "type": 1,
+ "id": 27164,
+ "title": "白兔糖"
+ }
+ ],
+ "discount": 0,
+ "product_type": 1,
+ "pendant_url": "",
+ "pendant_expire": 7,
+ "exchange_limit": 0,
+ "address_deadline": "0001-01-01T00:00:00Z",
+ "act_type": 0,
+ "has_exchanged": false,
+ "main_coupon_deadline": "0001-01-01T00:00:00Z",
+ "deadline": "",
+ "point": "0"
+ }
+ ]
+}
+```
+
+
+
+
+## 兑换物品
+
+> http://manga.bilibili.com/twirp/pointshop.v1.Pointshop/Exchange
+
+*请求方式:POST*
+
+认证方式:Cookie(SESSDATA)/ APP
+
+**正文参数( application/x-www-form-urlencoded 或 application/json):**
+
+| 参数名 | 类型 | 内容 | 必要性 | 备注 |
+| ---------- | ---- | ------------------------ | -------------- | ------------------------------------------------------------ |
+| product_id | str | 物品id | 必要 | |
+| product_num | num | 兑换个数 | 必要 | |
+| point | num | 物品所需点数 | 必要 | 现价(real_cost) |
+
+**json回复:**
+
+根对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ------- | ---- | -------- | ------------------------------------------------------------ |
+| code | num | 返回值 | 0:兑换成功
1:积分不足
2:库存不足
3:product point mismatch(point填写错误)
3:超过用户最大可兑换数量
4:现在抢票的人太多啦,再点一下有机会优先上车喔 ε=ε=(ノ≧∇≦)ノ |
+| message | str | 错误信息 | |
+
+**示例:**
+
+```bash
+curl 'http://manga.bilibili.com/twirp/pointshop.v1.Pointshop/Exchange' \
+--data-urlencode 'product_id=195' \
+--data-urlencode 'product_num=1' \
+--data-urlencode 'point=real_cost' \
+-b 'SESSDATA=xxx'
+```
+
+
+查看响应示例:
+
+```json
+{
+ "code": 0,
+ "msg": ""
+}
+```
+
+
+
+## 获取兑换历史记录
+
+> http://manga.bilibili.com/twirp/activity.v1.Activity/GetPrizeList
+
+*请求方式:POST*
+
+认证方式:Cookie(SESSDATA)/ APP
+
+**正文参数( application/x-www-form-urlencoded 或 application/json):**
+
+| 参数名 | 类型 | 内容 | 必要性 | 备注 |
+| ---------- | ---- | ------------------------ | -------------- | ------------------------------------------------------------ |
+| act_id | num | 固定值:90018 | 必要 | |
+
+**json回复:**
+
+根对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ------- | ---- | -------- | ------------------------------------------------------------ |
+| code | num | 返回值 | |
+| msg | str | 错误信息 | | |
+| data | obj | 信息本体 |
+
+`data`对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ------ | ---- | -------- | ---- |
+| prizes | obj | 兑换记录 | |
+| addr | obj | (?) | |
+
+`data`中的`prizes`对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| -------- | ---- | -------- | ------------ |
+| user_prize_id | str | 兑换id? | |
+| prize_id | num | 兑换的物品id | |
+| ctime | str | 兑换时间 | |
+| addr | null | (?) | |
+| deadline | str | 过期时间 | |
+| type | num | 类型 | 1:限免券、福利券
8:商城5魔晶 |
+| name | str | 物品名 | |
+
+**示例:**
+
+```bash
+curl 'http://manga.bilibili.com/twirp/activity.v1.Activity/GetPrizeList' \
+--data-urlencode 'act_id=90018' \
+-b 'SESSDATA=xxx'
+```
+
+
+查看响应示例:
+
+```json
+{
+ "code": 0,
+ "msg": "",
+ "data": {
+ "prizes": [
+ {
+ "user_prize_id": "55117444",
+ "prize_id": 1009,
+ "ctime": "2022-03-21T12:22:53+08:00",
+ "addr": null,
+ "deadline": "0001-01-01T00:00:00Z",
+ "type": 8,
+ "name": "商城5魔晶"
+ },
+ {
+ "user_prize_id": "2594073385420523088",
+ "prize_id": 1536,
+ "ctime": "2022-03-21T12:07:24+08:00",
+ "addr": null,
+ "deadline": "0001-01-01T00:00:00Z",
+ "type": 1,
+ "name": "白兔糖限免卡"
+ },
+ {
+ "user_prize_id": "4899916394614914913",
+ "prize_id": 195,
+ "ctime": "2021-12-24T12:01:08+08:00",
+ "addr": null,
+ "deadline": "0001-01-01T00:00:00Z",
+ "type": 1,
+ "name": "积分兑换"
+ },
+ {
+ "user_prize_id": "1152921504636496551",
+ "prize_id": 195,
+ "ctime": "2021-12-13T12:05:13+08:00",
+ "addr": null,
+ "deadline": "0001-01-01T00:00:00Z",
+ "type": 1,
+ "name": "积分兑换"
+ }
+ ],
+ "addr": {
+ "name": "",
+ "phone": "",
+ "address": "",
+ "id_card": ""
+ }
+ }
+}
+```
+
+
+
+## 获取玩法说明
+
+> http://manga.bilibili.com/twirp/pointshop.v1.Pointshop/GetExchangeRule
+
+*请求方式:POST*
+
+**json回复:**
+
+根对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ---- | ---- | -------- | ---- |
+| code | num | 返回值 | |
+| msg | str | 错误信息 | |
+| data | obj | 信息本体 | |
+
+`data`对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ---- | ---- | -------- | ---- |
+| rule | str | 玩法说明 | |
+
+**示例:**
+
+```bash
+curl 'http://manga.bilibili.com/twirp/pointshop.v1.Pointshop/GetExchangeRule'
+```
+
+
+查看响应示例:
+
+
+```json
+{
+ "code": 0,
+ "msg": "",
+ "data": {
+ "rule": "日常兑换说明:\n1、赛季积分达到一定数量可兑换积分商城内相应的商品;\n2、日常兑换奖品的刷新时间为每日中午12点,每天可兑换的奖品总数有限(具体可见商品页面展示),请尽快兑换。\n3、兑换的福利券&限免卡奖品有效期详见兑换框内显示或卡券包内详情说明哦,请及时在有效期内使用。\n4、赛季积分有效期为当前赛季时长(每期赛季时长详见福利中心页面倒计时显示),请及时在有效期内进行使用。\n5、赛季积分可在福利中心完成特定任务获取,具体详情可至福利中心查看(部分活动也可获取赛季积分,可随时关注活动信息哦)。"
+ }
+}
+```
+
+
\ No newline at end of file