Skip to main content

jike-sdk Ⓙ Jike SDK

Unit Test GitHub node-lts npm type definitions GitHub Repo stars GitHub forks Jike (followers)

本项目仅供学习交流使用,在使用过程中对你或他人造成的任何损失我们概不负责。

Features

  • ⭐️ 同时支持 Node.js / 浏览器 / Deno
  • 🦾 自带 TypeScript 类型声明
API 列表
  • 用户
    • 获取用户信息
    • 刷新 Access Token
    • 发送登录验证码
    • 短信登录
    • 手机号与密码登录
    • 保存设备 Token
    • 弹一弹头像
  • 用户关系
    • 获取关注列表
    • 获取被关注列表
    • 关注
    • 取消关注
    • 是否关注用户
    • 不看 TA 的内容
    • 重新看 TA 的内容
  • 动态帖子
    • 发送动态
    • 获取动态详情
    • 分享动态
    • 点赞
    • 取消点赞
    • 获取点赞用户列表
  • 动态广场
    • 获取动态推荐
  • 评论
    • 获取评论
    • 发送评论
    • 点赞
    • 取消点赞
  • 动态
    • 获取用户动态
    • 获取关注动态
    • 置顶动态
    • 取消置顶动态
  • 通知
    • 获取通知列表
  • 上传
    • 获取上传 token
    • 上传图片
  • 日记
    • 获取关注用户日记列表
    • 获取用户的日记详情

Installation

Node.js

Node.js >= v14.19.0

npm i jike-sdk

ESM 导入

如果使用 ESM 方式导入,需要把 package.jsontype 设置为 module,或将后缀名改为 .mjs

// index.mjs

// 自带 node-fetch。node < 18 使用此版本。
import { setApiConfig } from 'jike-sdk'

// 不带 node-fetch。自行 ployfill 或 node >= 18 使用此版本。
// import { setApiConfig } from 'jike-sdk/index'

setApiConfig({
  // ...
})

CJS 导入

const { setApiConfig } = require('jike-sdk')
setApiConfig({
  // ...
})

Deno

import { setApiConfig } from 'https://cdn.skypack.dev/jike-sdk/index?dts'

浏览器

import { setApiConfig } from 'jike-sdk'

或使用 CDN 的方式加载(与 Deno 一致)

<script type="module">
  import { setApiConfig } from 'https://cdn.skypack.dev/jike-sdk/index'
</script>

由于 CORS 策略的原因,第三方网站无法直接请求外部服务器。但可以使用浏览器扩展的能力请求。

Usage

API Reference

import { ApiClient, api, setAccessToken, setApiConfig } from 'jike-sdk'

const apiConfig = {
  endpointId: 'jike',
  endpointUrl: '<jike-endpoint-url>', // 请自行替换
  bundleId: '<bundle-id>', // 请自行替换
  buildNo: '<build-no>', // 请自行替换
  userAgent: '<jike-sdk-user-agent>', // 请自行替换
  accessToken: '<access-token>', // 请自行替换
}
setApiConfig(apiConfig)

setAccessToken('update-access-token')
api.userRelation.getFollowingList('82D23B32-CF36-4C59-AD6F-D05E3552CBF3', {
  limit: 100,
})

// 或使用 ApiClient
const client = ApiClient(apiConfig)
client.users.profile()

License

AGPL-3.0 License © 2021-PRESENT 三咲智子