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
    • 弹一弹头像
  • 用户关系
    • 获取关注列表
    • 获取被关注列表
  • 动态帖子
    • 发送动态
    • 获取动态详情
    • 分享动态
    • 点赞
    • 取消点赞
  • 动态广场
    • 获取动态推荐
  • 评论
    • 获取评论
    • 发送评论
    • 点赞
    • 取消点赞
  • 动态
    • 获取用户动态
    • 获取关注动态
  • 通知
    • 获取通知列表
  • 上传
    • 获取上传 token
    • 上传图片

Installation

Node.js

Node.js >= v14.17.0

npm i jike-sdk

ESM 导入

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

// 自带 node-fetch
import { setApiConfig } from 'jike-sdk/node'

// 不带 node-fetch,需要自行 ployfill 或使用最新 Node.js
// import { api, setAccessToken, ApiClient } from 'jike-sdk'

setApiConfig({
  // ...
})

CJS 导入

;(async () => {
  const { setApiConfig } = await import('jike-sdk/node')
  setApiConfig({
    // ...
  })
})()

Deno

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

浏览器

import { setApiConfig } from 'jike-sdk'

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

<script type="module">
  import { setApiConfig } from 'https://cdn.skypack.dev/jike-sdk'
</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()

Alternatives

  • jike-cli - 即刻命令行客户端 (Java)
  • Jike Metro - 即刻 Ⓙ SDK (Python)
  • Jike-Bus - 🚍 即刻 Ⓙ SDK for Node.js
  • JIKEFM - 即刻电台 📻 (Golang)
  • jikeme - 命令行摸 🐟 工具 (Golang)

License

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