|
@@ -11,8 +11,11 @@ import (
|
|
|
"github.com/silenceper/wechat/oauth"
|
|
"github.com/silenceper/wechat/oauth"
|
|
|
"github.com/silenceper/wechat/pay"
|
|
"github.com/silenceper/wechat/pay"
|
|
|
"github.com/silenceper/wechat/util"
|
|
"github.com/silenceper/wechat/util"
|
|
|
|
|
+ "io"
|
|
|
"io/ioutil"
|
|
"io/ioutil"
|
|
|
|
|
+ "net/http"
|
|
|
"net/url"
|
|
"net/url"
|
|
|
|
|
+ "os"
|
|
|
"strconv"
|
|
"strconv"
|
|
|
"strings"
|
|
"strings"
|
|
|
)
|
|
)
|
|
@@ -228,3 +231,38 @@ func GetUserInfo(openId string)(*oauth.UserInfo, error){
|
|
|
userInfo, err := wxoauth.GetUserInfo(token.AccessToken, openId)
|
|
userInfo, err := wxoauth.GetUserInfo(token.AccessToken, openId)
|
|
|
return &userInfo, err
|
|
return &userInfo, err
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+/**
|
|
|
|
|
+ * @brief: 根据资源id从微信下载
|
|
|
|
|
+ * @param1 resId: 资源id
|
|
|
|
|
+ * @param2 tagFile: 目标文件
|
|
|
|
|
+ * @return: 错误信息
|
|
|
|
|
+ */
|
|
|
|
|
+func Download(resId, tagFile string)error{
|
|
|
|
|
+ token, err := wc.GetAccessToken()
|
|
|
|
|
+ if err != nil{
|
|
|
|
|
+ fmt.Println("wc.GetAccessToken()错误", err.Error())
|
|
|
|
|
+ return err
|
|
|
|
|
+ }
|
|
|
|
|
+ mediaUrl := "https://api.weixin.qq.com/cgi-bin/media/get"
|
|
|
|
|
+ downloadUrl := mediaUrl + "?access_token=" + token + "&media_id=" + resId
|
|
|
|
|
+ res, err := http.Get(downloadUrl)
|
|
|
|
|
+ if err != nil{
|
|
|
|
|
+ fmt.Println("请求资源错误:" + err.Error())
|
|
|
|
|
+ return err
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ f, err := os.Create(tagFile)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ fmt.Println("本地创建资源文件:" + err.Error())
|
|
|
|
|
+ return err
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ _, err = io.Copy(f, res.Body)
|
|
|
|
|
+ if err != nil{
|
|
|
|
|
+ fmt.Println("写入本地资源文件:" + err.Error())
|
|
|
|
|
+ return err
|
|
|
|
|
+ }else{
|
|
|
|
|
+ return nil
|
|
|
|
|
+ }
|
|
|
|
|
+}
|