当前位置: 首页>>代码示例>>Golang>>正文


Golang mp.Client类代码示例

本文整理汇总了Golang中github.com/chanxuehong/wechat/mp.Client的典型用法代码示例。如果您正苦于以下问题:Golang Client类的具体用法?Golang Client怎么用?Golang Client使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了Client类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: Create

// 卡券投放, 创建二维码接口.
func Create(clt *mp.Client, para *CreateParameters) (info *QRCodeInfo, err error) {
	request := struct {
		ActionName    string `json:"action_name"`
		ExpireSeconds int    `json:"expire_seconds,omitempty"`
		ActionInfo    struct {
			Card *CreateParameters `json:"card,omitempty"`
		} `json:"action_info"`
	}{
		ActionName:    "QR_CARD",
		ExpireSeconds: para.ExpireSeconds,
	}
	request.ActionInfo.Card = para

	var result struct {
		mp.Error
		QRCodeInfo
	}

	incompleteURL := "https://api.weixin.qq.com/card/qrcode/create?access_token="
	if err = clt.PostJSON(incompleteURL, &request, &result); err != nil {
		return
	}

	if result.ErrCode != mp.ErrCodeOK {
		err = &result.Error
		return
	}
	info = &result.QRCodeInfo
	return
}
开发者ID:Wang,项目名称:wechat,代码行数:31,代码来源:create.go

示例2: Update

// 更改卡券信息接口.
//  sendCheck: 是否提交审核,false为修改后不会重新提审,true为修改字段后重新提审,该卡券的状态变为审核中。
func Update(clt *mp.Client, cardId string, card *Card) (sendCheck bool, err error) {
	request := struct {
		CardId string `json:"card_id"`
		*Card
	}{
		CardId: cardId,
		Card:   card,
	}

	var result struct {
		mp.Error
		SendCheck bool `json:"send_check"`
	}

	incompleteURL := "https://api.weixin.qq.com/card/update?access_token="
	if err = clt.PostJSON(incompleteURL, &request, &result); err != nil {
		return
	}
	if result.ErrCode != mp.ErrCodeOK {
		err = &result.Error
		return
	}
	sendCheck = result.SendCheck
	return
}
开发者ID:Wang,项目名称:wechat,代码行数:27,代码来源:card.go

示例3: addFromReader

func addFromReader(clt *mp.Client, filename string, reader io.Reader, _type string) (info ImageInfo, err error) {
	var result struct {
		mp.Error
		ImageInfo `json:"data"`
	}

	var incompleteURL string
	if _type != "" {
		incompleteURL = "https://api.weixin.qq.com/shakearound/material/add?type=" + url.QueryEscape(_type) +
			"&access_token="
	} else {
		incompleteURL = "https://api.weixin.qq.com/shakearound/material/add?access_token="
	}
	fields := []mp.MultipartFormField{{
		ContentType: 0,
		FieldName:   "media",
		FileName:    filename,
		Value:       reader,
	}}
	if err = clt.PostMultipartForm(incompleteURL, fields, &result); err != nil {
		return
	}

	if result.ErrCode != mp.ErrCodeOK {
		err = &result.Error
		return
	}
	info = result.ImageInfo
	return
}
开发者ID:Wang,项目名称:wechat,代码行数:30,代码来源:add.go

示例4: ModifyStock

// 库存修改接口.
// cardId:      卡券ID
// increaseNum: 增加库存数量, 可以为负数
func ModifyStock(clt *mp.Client, cardId string, increaseNum int) (err error) {
	request := struct {
		CardId             string `json:"card_id"`
		IncreaseStockValue int    `json:"increase_stock_value,omitempty"`
		ReduceStockValue   int    `json:"reduce_stock_value,omitempty"`
	}{
		CardId: cardId,
	}
	switch {
	case increaseNum > 0:
		request.IncreaseStockValue = increaseNum
	case increaseNum < 0:
		request.ReduceStockValue = -increaseNum
	default: // increaseNum == 0
		return
	}

	var result mp.Error

	incompleteURL := "https://api.weixin.qq.com/card/modifystock?access_token="
	if err = clt.PostJSON(incompleteURL, &request, &result); err != nil {
		return
	}

	if result.ErrCode != mp.ErrCodeOK {
		err = &result
		return
	}
	return
}
开发者ID:Wang,项目名称:wechat,代码行数:33,代码来源:card.go

示例5: SetKfAccount

// 设置客服信息(增量更新, 不更新的可以留空).
//  account:    完整客服账号, 格式为: 账号前缀@公众号微信号, 账号前缀最多10个字符, 必须是英文或者数字字符.
//  nickname:   客服昵称, 最长6个汉字或12个英文字符
//  password:   客服账号登录密码
//  isPwdPlain: 标识 password 是否为明文格式, true 表示是明文密码, false 表示是密文密码.
func SetKfAccount(clt *mp.Client, account, nickname, password string, isPwdPlain bool) (err error) {
	if isPwdPlain && password != "" {
		md5Sum := md5.Sum([]byte(password))
		password = hex.EncodeToString(md5Sum[:])
	}

	request := struct {
		Account  string `json:"kf_account"`
		Nickname string `json:"nickname,omitempty"`
		Password string `json:"password,omitempty"`
	}{
		Account:  account,
		Nickname: nickname,
		Password: password,
	}

	var result mp.Error

	incompleteURL := "https://api.weixin.qq.com/customservice/kfaccount/update?access_token="
	if err = clt.PostJSON(incompleteURL, &request, &result); err != nil {
		return
	}

	if result.ErrCode != mp.ErrCodeOK {
		err = &result
		return
	}
	return
}
开发者ID:Wang,项目名称:wechat,代码行数:34,代码来源:account.go

示例6: DeviceList

// 批量查询设备统计数据接口
func DeviceList(clt *mp.Client, date int64, pageIndex int) (rslt *DeviceListResult, err error) {
	request := struct {
		Date      int64 `json:"date"`
		PageIndex int   `json:"page_index"`
	}{
		Date:      date,
		PageIndex: pageIndex,
	}

	var result struct {
		mp.Error
		DeviceListResult
	}

	incompleteURL := "https://api.weixin.qq.com/shakearound/statistics/devicelist?access_token="
	if err = clt.PostJSON(incompleteURL, &request, &result); err != nil {
		return
	}

	if result.ErrCode != mp.ErrCodeOK {
		err = &result.Error
		return
	}

	devices := result.DeviceListResult.Data.DeviceStatisticsList
	for i := 0; i < len(devices); i++ {
		devices[i].Ftime = result.DeviceListResult.Date
	}
	result.DeviceListResult.ItemCount = len(devices)
	rslt = &result.DeviceListResult
	return
}
开发者ID:Wang,项目名称:wechat,代码行数:33,代码来源:devicelist.go

示例7: List

// 数据统计
//  shopId     按门店ID搜索,-1为总统计
//  beginDate: 起始日期时间,格式yyyy-mm-dd,最长时间跨度为30天
//  endDate:   结束日期时间戳,格式yyyy-mm-dd,最长时间跨度为30天
func List(clt *mp.Client, shopId int64, beginDate, endDate string) (data []Statistics, err error) {
	request := struct {
		ShopId    int64  `json:"shop_id"`
		BeginDate string `json:"begin_date"`
		EndDate   string `json:"end_date"`
	}{
		ShopId:    shopId,
		BeginDate: beginDate,
		EndDate:   endDate,
	}

	var result struct {
		mp.Error
		Data []Statistics `json:"data"`
	}

	incompleteURL := "https://api.weixin.qq.com/bizwifi/statistics/list?access_token="
	if err = clt.PostJSON(incompleteURL, &request, &result); err != nil {
		return
	}

	if result.ErrCode != mp.ErrCodeOK {
		err = &result.Error
		return
	}

	data = result.Data
	return
}
开发者ID:Wang,项目名称:wechat,代码行数:33,代码来源:list.go

示例8: Device

// 以设备为维度的数据统计接口
func Device(clt *mp.Client, deviceIdentifier *device.DeviceIdentifier, beginDate, endDate int64) (data []StatisticsBase, err error) {
	request := struct {
		DeviceIdentifier *device.DeviceIdentifier `json:"device_identifier,omitempty"`
		BeginDate        int64                    `json:"begin_date"`
		EndDate          int64                    `json:"end_date"`
	}{
		DeviceIdentifier: deviceIdentifier,
		BeginDate:        beginDate,
		EndDate:          endDate,
	}

	var result struct {
		mp.Error
		Data []StatisticsBase `json:"data"`
	}

	incompleteURL := "https://api.weixin.qq.com/shakearound/statistics/device?access_token="
	if err = clt.PostJSON(incompleteURL, &request, &result); err != nil {
		return
	}

	if result.ErrCode != mp.ErrCodeOK {
		err = &result.Error
		return
	}
	data = result.Data
	return
}
开发者ID:Wang,项目名称:wechat,代码行数:29,代码来源:device.go

示例9: GetSessionList

// 获取客服的会话列表
//  开发者可以通过本接口获取某个客服正在接待的会话列表。
func GetSessionList(clt *mp.Client, kfAccount string) (list []Session, err error) {
	var result struct {
		mp.Error
		SessionList []Session `json:"sessionlist"`
	}

	// TODO
	//	incompleteURL := "https://api.weixin.qq.com/customservice/kfsession/getsessionlist?kf_account=" +
	//		url.QueryEscape(kfAccount) + "&access_token="
	incompleteURL := "https://api.weixin.qq.com/customservice/kfsession/getsessionlist?kf_account=" +
		kfAccount + "&access_token="
	if err = clt.GetJSON(incompleteURL, &result); err != nil {
		return
	}

	if result.ErrCode != mp.ErrCodeOK {
		err = &result.Error
		return
	}
	for i, l := 0, result.SessionList; i < len(l); i++ {
		l[i].KfAccount = kfAccount
	}
	list = result.SessionList
	return
}
开发者ID:Wang,项目名称:wechat,代码行数:27,代码来源:sesson.go

示例10: GetShakeInfo

// 获取摇周边的设备及用户信息
//  ticket:  摇周边业务的ticket,可在摇到的URL中得到,ticket生效时间为30分钟,每一次摇都会重新生成新的ticket
//  needPoi: 是否需要返回门店poi_id
func GetShakeInfo(clt *mp.Client, ticket string, needPoi bool) (info *Shakeinfo, err error) {
	request := struct {
		Ticket  string `json:"ticket"`
		NeedPoi int    `json:"need_poi,omitempty"`
	}{
		Ticket: ticket,
	}

	if needPoi {
		request.NeedPoi = 1
	}

	var result struct {
		mp.Error
		Shakeinfo `json:"data"`
	}

	incompleteURL := "https://api.weixin.qq.com/shakearound/user/getshakeinfo?access_token="
	if err = clt.PostJSON(incompleteURL, &request, &result); err != nil {
		return
	}

	if result.ErrCode != mp.ErrCodeOK {
		err = &result.Error
		return
	}
	info = &result.Shakeinfo
	return
}
开发者ID:Wang,项目名称:wechat,代码行数:32,代码来源:getshakeinfo.go

示例11: Page

// 以页面为维度的数据统计接口
func Page(clt *mp.Client, pageId, beginDate, endDate int64) (data []StatisticsBase, err error) {
	request := struct {
		PageId    int64 `json:"page_id"`
		BeginDate int64 `json:"begin_date"`
		EndDate   int64 `json:"end_date"`
	}{
		PageId:    pageId,
		BeginDate: beginDate,
		EndDate:   endDate,
	}

	var result struct {
		mp.Error
		Data []StatisticsBase `json:"data"`
	}

	incompleteURL := "https://api.weixin.qq.com/shakearound/statistics/page?access_token="
	if err = clt.PostJSON(incompleteURL, &request, &result); err != nil {
		return
	}

	if result.ErrCode != mp.ErrCodeOK {
		err = &result.Error
		return
	}
	data = result.Data
	return
}
开发者ID:Wang,项目名称:wechat,代码行数:29,代码来源:page.go

示例12: GetCardList

// 获取用户已领取卡券接口
//  openid: 需要查询的用户openid
//  cardid: 卡券ID。不填写时默认查询当前appid下的卡券。
func GetCardList(clt *mp.Client, openid, cardid string) (list []code.CardItemIdentifier, err error) {
	request := struct {
		OpenId string `json:"openid"`
		CardId string `json:"card_id,omitempty"`
	}{
		OpenId: openid,
		CardId: cardid,
	}

	var result struct {
		mp.Error
		CardList []code.CardItemIdentifier `json:"card_list"`
	}

	incompleteURL := "https://api.weixin.qq.com/card/user/getcardlist?access_token="
	if err = clt.PostJSON(incompleteURL, &request, &result); err != nil {
		return
	}

	if result.ErrCode != mp.ErrCodeOK {
		err = &result.Error
		return
	}
	list = result.CardList
	return
}
开发者ID:Wang,项目名称:wechat,代码行数:29,代码来源:getcardlist.go

示例13: Get

// 获取物料二维码
//  shopId: 门店ID
//  imgId:  物料样式编号:
//          0-二维码,可用于自由设计宣传材料;
//          1-桌贴(二维码),100mm×100mm(宽×高),可直接张贴
func Get(clt *mp.Client, shopId int64, imgId int) (qrcodeURL string, err error) {
	request := struct {
		ShopId int64 `json:"shop_id"`
		ImgId  int   `json:"img_id"`
	}{
		ShopId: shopId,
		ImgId:  imgId,
	}

	var result struct {
		mp.Error
		Data struct {
			QRCodeURL string `json:"qrcode_url"`
		} `json:"data"`
	}

	incompleteURL := "https://api.weixin.qq.com/bizwifi/qrcode/get?access_token="
	if err = clt.PostJSON(incompleteURL, &request, &result); err != nil {
		return
	}

	if result.ErrCode != mp.ErrCodeOK {
		err = &result.Error
		return
	}

	qrcodeURL = result.Data.QRCodeURL
	return
}
开发者ID:Wang,项目名称:wechat,代码行数:34,代码来源:get.go

示例14: Update

// 编辑页面信息
func Update(clt *mp.Client, para *UpdateParameters) (err error) {
	var result mp.Error

	incompleteURL := "https://api.weixin.qq.com/shakearound/page/update?access_token="
	if err = clt.PostJSON(incompleteURL, para, &result); err != nil {
		return
	}

	if result.ErrCode != mp.ErrCodeOK {
		err = &result
		return
	}
	return
}
开发者ID:Wang,项目名称:wechat,代码行数:15,代码来源:update.go

示例15: UpdateUser

// 更新会议门票
func UpdateUser(clt *mp.Client, para *UpdateUserParameters) (err error) {
	var result mp.Error

	incompleteURL := "https://api.weixin.qq.com/card/meetingticket/updateuser?access_token="
	if err = clt.PostJSON(incompleteURL, para, &result); err != nil {
		return
	}

	if result.ErrCode != mp.ErrCodeOK {
		err = &result
		return
	}
	return
}
开发者ID:Wang,项目名称:wechat,代码行数:15,代码来源:updateuser.go


注:本文中的github.com/chanxuehong/wechat/mp.Client类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。