Fanfou SDK for WeApp
The package is for WeApp, if you are developing with Node.js, please use fanfou-sdk.
$ npm i fanfou-sdk-weapp
Or either of this below:
- Add this repo as submodule to your project
- Copy the
src
directory to your project
const Fanfou = require('fanfou-sdk-weapp')
// or
const Fanfou = require('./src/index');
OAuth
const ff = new Fanfou({
consumerKey: '',
consumerSecret: '',
oauthToken: '',
oauthTokenSecret: ''
});
ff.get('/statuses/home_timeline', {format: 'html'})
.then(res => console.log(res))
.catch(err => console.log(err));
XAuth
const ff = new Fanfou({
consumerKey: '',
consumerSecret: '',
username: '',
password: ''
});
ff.xauth()
.then(res => {
console.log(res)
ff.get('/statuses/public_timeline', {count: 10})
.then(res => console.log(res))
.catch(err => console.log(err));
ff.post('/statuses/update', {status: 'Hi Fanfou'})
.then(res => console.log(res))
.catch(err => console.log(err));
});
Options
consumerKey
: The consumer keyconsumerSecret
: The consumer secretoauthToken
: The OAuth tokenoauthTokenSecret
: The OAuth token secretusername
: The Fanfou usernamepassword
: The Fanfou passwordprotocol
: Set the prototol, default ishttps:
apiDomain
: Set the API domain, default isapi.fanfou.com
oauthDomain
: Set the OAuth domain, default isfanfou.com
hooks
: Hooks allow modifications with OAuth
For more Fanfou API docs, see the Fanfou API doc.
ff.xauth();
ff.get(uri, params);
ff.post(uri, params);
ff.upload(uri, fileObject, parameters);
Examples
// OAuth
ff.get('/statuses/home_timeline', {})
.then(res => console.log(res))
.catch(err => console.log(err));
ff.post('/statuses/update', {status: 'post test'})
.then(res => console.log(res))
.catch(err => console.log(err));
// Upload
wx.chooseImage({
count: 1,
sizeType: ['original', 'compressed'],
sourceType: ['album', 'camera'],
success: res => {
const {tempFilePaths} = res;
const [fileObject] = tempFilePaths;
ff.upload('/photos/upload', fileObject, {})
.then(res => console.log(res))
.catch(err => console.log(err));
}
});
// XAuth
ff.xauth()
.then(res => {
ff.get('/statuses/public_timeline', {})
.then(res => console.log(res))
.catch(err => console.log(err))
})
.catch(err => console.log(err));
Tips
Use hooks
for your reverse-proxy server
const ff = new Fanfou({
consumerKey: '',
consumerSecret: '',
oauthToken: '',
oauthTokenSecret: '',
apiDomain: 'api.example.com',
oauthDomain: 'example.com',
hooks: {
baseString: str => {
return str.replace('example.com', 'fanfou.com');
}
}
});
- xiaofan - WeApp for Fanfou
- fanta - Another WeApp for Fanfou
- fanfou-sdk-node - Fanfou SDK for Node.js
- fanfou-sdk-deno - Fanfou SDK for Deno
- fanfou-sdk-browser - Fanfou SDK for browser
- fanfou-sdk-python - Fanfou SDK for Python
MIT