提交 5c240124 编写于 作者: M Mukaiu 提交者: Huan (李卓桓)

fix upload media url error (#415)

上级 b02c7ab3
......@@ -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')
......
......@@ -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
......@@ -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',
......
......@@ -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
......@@ -858,6 +863,7 @@
, getMsgPublicLinkImg: getMsgPublicLinkImg
, getBaseRequest: getBaseRequest
, getPassticket: getPassticket
, getUploadMediaUrl: getUploadMediaUrl
, sendMedia: sendMedia
// for Wechaty Contact Class
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册