|
@@ -14,6 +14,7 @@ class Twitter extends Component<Props> {
|
|
packUrl: any;
|
|
packUrl: any;
|
|
taskLikeMap: Map<string, any> = new Map();
|
|
taskLikeMap: Map<string, any> = new Map();
|
|
taskRetweetMap: Map<string, any> = new Map();
|
|
taskRetweetMap: Map<string, any> = new Map();
|
|
|
|
+ taskFollowMap: Map<string, any> = new Map();
|
|
|
|
|
|
getPostIdByType = (post_Id: string) => {
|
|
getPostIdByType = (post_Id: string) => {
|
|
let result: any = { post_Id };
|
|
let result: any = { post_Id };
|
|
@@ -100,6 +101,17 @@ class Twitter extends Component<Props> {
|
|
data,
|
|
data,
|
|
);
|
|
);
|
|
}
|
|
}
|
|
|
|
+ break;
|
|
|
|
+ case 'FollowSuccess':
|
|
|
|
+ callBackData = this.taskFollowMap.get(data.twitterUserId) || {};
|
|
|
|
+ if (callBackData) {
|
|
|
|
+ data.follow_name = callBackData.data.follow_name;
|
|
|
|
+ DeviceEventEmitter.emit(
|
|
|
|
+ callBackData.info.rnMessageId,
|
|
|
|
+ data,
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
}
|
|
}
|
|
};
|
|
};
|
|
handleWebViewNavigationStateChange = (newNavState: { url: any }) => {
|
|
handleWebViewNavigationStateChange = (newNavState: { url: any }) => {
|
|
@@ -147,6 +159,16 @@ class Twitter extends Component<Props> {
|
|
`);
|
|
`);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ follow(data: any) {
|
|
|
|
+ console.log('follow', data);
|
|
|
|
+ const { id1, id2 } = this.getSplitTweetId(data.data.twitterUserId);
|
|
|
|
+ this.taskFollowMap.set(data.data.twitterUserId, data);
|
|
|
|
+ this.webref.injectJavaScript(`
|
|
|
|
+ window.denetJS.TwitterFollowAPI(${id1},${id2});
|
|
|
|
+ true;
|
|
|
|
+ `);
|
|
|
|
+ }
|
|
|
|
+
|
|
getPostId(shortUrl: RequestInfo) {
|
|
getPostId(shortUrl: RequestInfo) {
|
|
return fetch(shortUrl) // 返回一个Promise对象
|
|
return fetch(shortUrl) // 返回一个Promise对象
|
|
.then(res => {
|
|
.then(res => {
|
|
@@ -170,6 +192,12 @@ class Twitter extends Component<Props> {
|
|
this.retweet(data);
|
|
this.retweet(data);
|
|
},
|
|
},
|
|
);
|
|
);
|
|
|
|
+ DeviceEventEmitter.addListener(
|
|
|
|
+ 'IFRAME_DO_TASK_FOLLOWS',
|
|
|
|
+ (data: any) => {
|
|
|
|
+ this.follow(data);
|
|
|
|
+ },
|
|
|
|
+ );
|
|
}
|
|
}
|
|
|
|
|
|
render() {
|
|
render() {
|