Skip to content

Commit

Permalink
Merge branch 'v2' of github.com:silenceper/wechat into feature/remove…
Browse files Browse the repository at this point in the history
…-redis
  • Loading branch information
houseme committed May 8, 2024
2 parents b797312 + 1138a7d commit dad35b9
Show file tree
Hide file tree
Showing 35 changed files with 893 additions and 217 deletions.
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/bug.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: 报告Bug
about: 反馈BUG信息
name: 报告 Bug
about: 反馈 BUG 信息
title: "[BUG]"
labels: bug
assignees: ''
Expand All @@ -18,4 +18,4 @@ assignees: ''


**使用的版本**
- SDK版本: [比如 v0.0.0]
- SDK 版本:[比如 v0.0.0]
8 changes: 4 additions & 4 deletions .github/ISSUE_TEMPLATE/feature.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
---
name: API需求
about: 待实现的API接口,SDK的强大离不开社区的帮助,欢迎为项目贡献PR
name: API 需求
about: 待实现的 API 接口,SDK 的强大离不开社区的帮助,欢迎为项目贡献 PR
title: "[Feature]"
labels: enhancement
assignees: ''

---

<!--
!!!SDK的强大离不开社区的帮助,欢迎为本项目贡献PR!!!
!!!SDK 的强大离不开社区的帮助,欢迎为本项目贡献 PR!!!
-->
**你想要实现的模块或API**
**你想要实现的模块或 API**


6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/question.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: 使用咨询
about: 关于SDK使用相关的咨询,在使用前请先阅读官方微信文档
about: 关于 SDK 使用相关的咨询,在使用前请先阅读官方微信文档
title: "[咨询]"
labels: question
assignees: ''
Expand All @@ -9,7 +9,7 @@ assignees: ''

<!--
重要:
1、在使用本SDK前请先阅读对应的官方微信API文档:https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html
2、本SDK部分接口文档: https://silenceper.com/wechat/
1、在使用本 SDK 前请先阅读对应的官方微信 API 文档:https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html
2、本 SDK 部分接口文档:https://silenceper.com/wechat/
-->
**请描述您的问题**
18 changes: 9 additions & 9 deletions .github/workflows/go.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,26 @@ name: Go

on:
push:
branches: [ master,release-*,v2,feature/** ]
branches: [ master,release-*,v2,feature/**,fix/** ]
pull_request:
branches: [ master,release-*,v2,feature/** ]
branches: [ master,release-*,v2,feature/**,fix/** ]

jobs:
golangci:
strategy:
matrix:
go-version: [ '1.16','1.17','1.18','1.19','1.20','1.21' ]
go-version: [ '1.16','1.17','1.18','1.19','1.20','1.21.4' ]
name: golangci-lint
runs-on: ubuntu-latest
steps:
- name: Setup Golang ${{ matrix.go-version }}
uses: actions/setup-go@v4
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go-version }}
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: golangci-lint
uses: golangci/golangci-lint-action@v3
uses: golangci/golangci-lint-action@v4
with:
# Required: the version of golangci-lint is required and must be specified without patch version: we always use the latest patch version.
version: v1.52.2
Expand All @@ -37,12 +37,12 @@ jobs:
# strategy set
strategy:
matrix:
go: [ '1.16','1.17','1.18','1.19','1.20','1.21' ]
go: [ '1.16','1.17','1.18','1.19','1.20','1.21','1.22' ]

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up Go 1.x
uses: actions/setup-go@v4
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go }}
id: go
Expand Down
12 changes: 5 additions & 7 deletions credential/default_access_token.go
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,9 @@ func (ak *DefaultAccessToken) GetAccessTokenContext(ctx context.Context) (access
return
}

if err = ak.cache.Set(accessTokenCacheKey, resAccessToken.AccessToken, time.Duration(resAccessToken.ExpiresIn-1500)*time.Second); err != nil {
return
}
expires := resAccessToken.ExpiresIn - 1500
err = ak.cache.Set(accessTokenCacheKey, resAccessToken.AccessToken, time.Duration(expires)*time.Second)

accessToken = resAccessToken.AccessToken
return
}
Expand Down Expand Up @@ -141,7 +141,7 @@ func (ak *StableAccessToken) GetAccessTokenContext(ctx context.Context) (accessT
}

expires := resAccessToken.ExpiresIn - 300
_ = ak.cache.Set(accessTokenCacheKey, resAccessToken.AccessToken, time.Duration(expires)*time.Second)
err = ak.cache.Set(accessTokenCacheKey, resAccessToken.AccessToken, time.Duration(expires)*time.Second)

accessToken = resAccessToken.AccessToken
return
Expand Down Expand Up @@ -219,9 +219,7 @@ func (ak *WorkAccessToken) GetAccessTokenContext(ctx context.Context) (accessTok

expires := resAccessToken.ExpiresIn - 1500
err = ak.cache.Set(accessTokenCacheKey, resAccessToken.AccessToken, time.Duration(expires)*time.Second)
if err != nil {
return
}

accessToken = resAccessToken.AccessToken
return
}
Expand Down
6 changes: 2 additions & 4 deletions miniprogram/auth/auth.go
Original file line number Diff line number Diff line change
Expand Up @@ -138,10 +138,8 @@ func (auth *Auth) GetPhoneNumberContext(ctx context2.Context, code string) (*Get
}

var result GetPhoneNumberResponse
if err = util.DecodeWithError(response, &result, "phonenumber.getPhoneNumber"); err != nil {
return nil, err
}
return &result, nil
err = util.DecodeWithError(response, &result, "phonenumber.getPhoneNumber")
return &result, err
}

// GetPhoneNumber 小程序通过code获取用户手机号
Expand Down
7 changes: 1 addition & 6 deletions miniprogram/business/phone_number.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,5 @@ func (business *Business) GetPhoneNumber(in *GetPhoneNumberRequest) (info PhoneI
PhoneInfo PhoneInfo `json:"phone_info"`
}
err = util.DecodeWithError(response, &resp, "business.GetPhoneNumber")
if nil != err {
return
}

info = resp.PhoneInfo
return
return resp.PhoneInfo, err
}
4 changes: 2 additions & 2 deletions miniprogram/message/message.go
Original file line number Diff line number Diff line change
Expand Up @@ -398,7 +398,7 @@ type PushDataSecVodUpload struct {

// SecVodUploadEvent 短剧媒资上传完成事件
type SecVodUploadEvent struct {
MediaID string `json:"media_id" xml:"media_id"` // 媒资 id
MediaID int64 `json:"media_id" xml:"media_id"` // 媒资 id
SourceContext string `json:"source_context" xml:"source_context"` // 透传上传接口中开发者设置的值。
ErrCode int `json:"errcode" xml:"errcode"` // 错误码,上传失败时该值非
ErrMsg string `json:"errmsg" xml:"errmsg"` // 错误提示
Expand All @@ -412,7 +412,7 @@ type PushDataSecVodAudit struct {

// SecVodAuditEvent 短剧媒资审核状态事件
type SecVodAuditEvent struct {
DramaID string `json:"drama_id" xml:"drama_id"` // 剧目 id
DramaID int64 `json:"drama_id" xml:"drama_id"` // 剧目 id
SourceContext string `json:"source_context" xml:"source_context"` // 透传上传接口中开发者设置的值
AuditDetail DramaAuditDetail `json:"audit_detail" xml:"audit_detail"` // 剧目审核结果,单独每一集的审核结果可以根据 drama_id 查询剧集详情得到
}
Expand Down
102 changes: 102 additions & 0 deletions miniprogram/message/updatable_msg.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
package message

import (
"fmt"

"github.com/silenceper/wechat/v2/miniprogram/context"
"github.com/silenceper/wechat/v2/util"
)

const (
// createActivityURL 创建activity_id
createActivityURL = "https://api.weixin.qq.com/cgi-bin/message/wxopen/activityid/create?access_token=%s"
// SendUpdatableMsgURL 修改动态消息
setUpdatableMsgURL = "https://api.weixin.qq.com/cgi-bin/message/wxopen/updatablemsg/send?access_token=%s"
)

// UpdatableTargetState 动态消息状态
type UpdatableTargetState int

const (
// TargetStateNotStarted 未开始
TargetStateNotStarted UpdatableTargetState = 0
// TargetStateStarted 已开始
TargetStateStarted UpdatableTargetState = 1
// TargetStateFinished 已结束
TargetStateFinished UpdatableTargetState = 2
)

// UpdatableMessage 动态消息
type UpdatableMessage struct {
*context.Context
}

// NewUpdatableMessage 实例化
func NewUpdatableMessage(ctx *context.Context) *UpdatableMessage {
return &UpdatableMessage{
Context: ctx,
}
}

// CreateActivityID 创建activity_id
func (updatableMessage *UpdatableMessage) CreateActivityID() (res CreateActivityIDResponse, err error) {
accessToken, err := updatableMessage.GetAccessToken()
if err != nil {
return
}

uri := fmt.Sprintf(createActivityURL, accessToken)
response, err := util.HTTPGet(uri)
if err != nil {
return
}
err = util.DecodeWithError(response, &res, "CreateActivityID")
return
}

// SetUpdatableMsg 修改动态消息
func (updatableMessage *UpdatableMessage) SetUpdatableMsg(activityID string, targetState UpdatableTargetState, template UpdatableMsgTemplate) (err error) {
accessToken, err := updatableMessage.GetAccessToken()
if err != nil {
return
}

uri := fmt.Sprintf(setUpdatableMsgURL, accessToken)
data := SendUpdatableMsgReq{
ActivityID: activityID,
TargetState: targetState,
TemplateInfo: template,
}

response, err := util.PostJSON(uri, data)
if err != nil {
return
}
return util.DecodeWithCommonError(response, "SendUpdatableMsg")
}

// CreateActivityIDResponse 创建activity_id 返回
type CreateActivityIDResponse struct {
util.CommonError

ActivityID string `json:"activity_id"`
ExpirationTime int64 `json:"expiration_time"`
}

// UpdatableMsgTemplate 动态消息模板
type UpdatableMsgTemplate struct {
ParameterList []UpdatableMsgParameter `json:"parameter_list"`
}

// UpdatableMsgParameter 动态消息参数
type UpdatableMsgParameter struct {
Name string `json:"name"`
Value string `json:"value"`
}

// SendUpdatableMsgReq 修改动态消息参数
type SendUpdatableMsgReq struct {
ActivityID string `json:"activity_id"`
TemplateInfo UpdatableMsgTemplate `json:"template_info"`
TargetState UpdatableTargetState `json:"target_state"`
}
11 changes: 11 additions & 0 deletions miniprogram/miniprogram.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import (
"github.com/silenceper/wechat/v2/miniprogram/order"
"github.com/silenceper/wechat/v2/miniprogram/privacy"
"github.com/silenceper/wechat/v2/miniprogram/qrcode"
"github.com/silenceper/wechat/v2/miniprogram/redpacketcover"
"github.com/silenceper/wechat/v2/miniprogram/riskcontrol"
"github.com/silenceper/wechat/v2/miniprogram/security"
"github.com/silenceper/wechat/v2/miniprogram/shortlink"
Expand Down Expand Up @@ -155,3 +156,13 @@ func (miniProgram *MiniProgram) GetShipping() *order.Shipping {
func (miniProgram *MiniProgram) GetMiniDrama() *minidrama.MiniDrama {
return minidrama.NewMiniDrama(miniProgram.ctx)
}

// GetRedPacketCover 小程序微信红包封面 API
func (miniProgram *MiniProgram) GetRedPacketCover() *redpacketcover.RedPacketCover {
return redpacketcover.NewRedPacketCover(miniProgram.ctx)
}

// GetUpdatableMessage 小程序动态消息
func (miniProgram *MiniProgram) GetUpdatableMessage() *message.UpdatableMessage {
return message.NewUpdatableMessage(miniProgram.ctx)
}
18 changes: 4 additions & 14 deletions miniprogram/privacy/privacy.go
Original file line number Diff line number Diff line change
Expand Up @@ -103,11 +103,8 @@ func (s *Privacy) GetPrivacySetting(privacyVer int) (GetPrivacySettingResponse,
}
// 返回错误信息
var result GetPrivacySettingResponse
if err = util.DecodeWithError(response, &result, "getprivacysetting"); err != nil {
return GetPrivacySettingResponse{}, err
}

return result, nil
err = util.DecodeWithError(response, &result, "getprivacysetting")
return result, err
}

// SetPrivacySetting 更新小程序权限配置
Expand All @@ -130,11 +127,7 @@ func (s *Privacy) SetPrivacySetting(privacyVer int, ownerSetting OwnerSetting, s
}

// 返回错误信息
if err = util.DecodeWithCommonError(response, "setprivacysetting"); err != nil {
return err
}

return err
return util.DecodeWithCommonError(response, "setprivacysetting")
}

// UploadPrivacyExtFileResponse 上传权限定义模板响应参数
Expand All @@ -159,9 +152,6 @@ func (s *Privacy) UploadPrivacyExtFile(fileData []byte) (UploadPrivacyExtFileRes

// 返回错误信息
var result UploadPrivacyExtFileResponse
if err = util.DecodeWithError(response, &result, "setprivacysetting"); err != nil {
return UploadPrivacyExtFileResponse{}, err
}

err = util.DecodeWithError(response, &result, "setprivacysetting")
return result, err
}
Loading

0 comments on commit dad35b9

Please sign in to comment.