Skip to content

Commit

Permalink
fix upload media url error (#415)
Browse files Browse the repository at this point in the history
  • Loading branch information
mukaiu authored and huan committed Apr 18, 2017
1 parent b02c7ab commit 5c24012
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 1 deletion.
11 changes: 11 additions & 0 deletions src/puppet-web/bridge.ts
Expand Up @@ -373,6 +373,17 @@ export class Bridge {
}
}

public async getUploadMediaUrl(): Promise<string> {
log.verbose('PuppetWebBridge', 'getUploadMediaUrl()')

try {
return await this.proxyWechaty('getUploadMediaUrl')
} catch (e) {
log.silly('PuppetWebBridge', 'proxyWechaty(getUploadMediaUrl) exception: %s', e.message)
throw e
}
}

public sendMedia(toUserName: string, mediaId: string, type: number): Promise<void> {
if (!toUserName) {
throw new Error('UserName not found')
Expand Down
3 changes: 2 additions & 1 deletion src/puppet-web/puppet-web.ts
Expand Up @@ -357,6 +357,7 @@ export class PuppetWeb extends Puppet {

let baseRequest = await this.getBaseRequest()
let passTicket = await this.bridge.getPassticket()
let uploadMediaUrl = await this.bridge.getUploadMediaUrl()
let cookie = await this.browser.readCookie()
let first = cookie.find(c => c.name === 'webwx_data_ticket')
let webwxDataTicket = first && first.value
Expand Down Expand Up @@ -398,7 +399,7 @@ export class PuppetWeb extends Puppet {

let mediaId = await new Promise((resolve, reject) => {
request.post({
url: `https://file.${hostname}/cgi-bin/mmwebwx-bin/webwxuploadmedia?f=json`,
url: uploadMediaUrl + '?f=json',
headers: {
Referer: `https://${hostname}`,
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36',
Expand Down
6 changes: 6 additions & 0 deletions src/puppet-web/wechaty-bro.js
Expand Up @@ -453,6 +453,11 @@
return accountFactory.getPassticket()
}

function getUploadMediaUrl() {
var confFactory = WechatyBro.glue.confFactory
return confFactory.API_webwxuploadmedia
}

function sendMedia(ToUserName, MediaId,Type) {
var chatFactory = WechatyBro.glue.chatFactory
var confFactory = WechatyBro.glue.confFactory
Expand Down Expand Up @@ -858,6 +863,7 @@
, getMsgPublicLinkImg: getMsgPublicLinkImg
, getBaseRequest: getBaseRequest
, getPassticket: getPassticket
, getUploadMediaUrl: getUploadMediaUrl
, sendMedia: sendMedia

// for Wechaty Contact Class
Expand Down

0 comments on commit 5c24012

Please sign in to comment.