简要描述:

微信ticket中控接口(1天限制2000次)
https请求方式: GET https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi

接口版本:

版本号 制定人 制定日期 修订日期
v3 陈碧贵 2021-08-28 xxxx-xx-xx

请求URL:

  • http://{url参数}/bs/api/v3/dev/wechat/ticket/{ownerId}/{state}

  • {state}为随机码,保存在cookie,作为后端接口缓存redis的key

请求方式:

  • GET

请求头:

参数名 是否必须 类型 说明
XownerId string 项目唯一ID,对应bo_project {ownerId}
XsysId string 所属系统 对应 bo_system 表
XuserFromFirstShareId string 一级分享用户ID, bo_user user_id
XuserFromSecondShareId string 二级分享用户ID, bo_user user_id
XverifyApi string 加密规则encryptByDES(`${newGuid()}
XfilterAreaCode string 行政区编码, 对应 bo_sys_area area_code
Content-Type: string application/json; charset=utf-8 请求类型

请求参数:



参数名 是否必须 类型 说明
verifyGuid string 36位的guid值 ,同时需要传递给登录接口
ownerId string 所属项目
_nodejs string common-data 对应/Config/AppNodeJs/Plugins/fn- common-data.js, 通过nodejs插件,对响应结果进行二次处理 common-data 普通数据(小写驼峰)common-data-under 普通数据下划线
path参数名 是否必须 类型 说明
state string 随机状态码

返回示例:

正确时返回:

{
    "data": {
        "errcode": 0,
        "errmsg": "ok",
        "ticket": "kgt8ON7yVITDhtdwci0qeemJ_IEoEGXOW99AFoUHjM4o4GUNvMyuUE2IBKOUl7ZhNWIvaBZvKp9CYJgBbog5iw",
        "expiresIn": 7200,
        "startDate": "2021-08-28T21:43:51",
        "accessToken": "48_QScfw28RW2sUtcdS7AlmRZvMd27cP0o30RKRxIyZ8jV9Kxm7kKktNOy0j5bApAzOUEOVRUsdneUXO9F3S2AZcp4y0nhYDTL8eNWN9Z4McIdnIk-SKT6azjPIgABUtvmO0trn30yj7g385eEVUXOgAHAXAR"
    },
    "code": "0",
    "retCode": "0",
    "success": true
}

备注:accessToken 开发时候生效,生产环境忽略输出

错误时返回:

{
    "code": 0,
    "message": ""
    "error":{
      errorCode:null,
      errorText:null
    }
    "success": false,
}

中控器规则:

 string drCacheKey = $"{ownerId}-wechat-ticket";


            WeChatTicket weChatTicket = _dataResultCache.Get<WeChatTicket>(drCacheKey);
            if (weChatTicket != null && !string.IsNullOrEmpty(weChatTicket.AccessToken))
            {
                if (weChatTicket.StartDate != DateTime.MinValue)
                {
                    weChatTicket.ExpiresIn = Convert.ToInt32(weChatTicket.ExpiresIn - (DateTime.Now.ToLocalTime() - weChatTicket.StartDate).TotalMilliseconds);
                }
                return new ResultDetail<WeChatTicket>
                {
                    Success = true,
                    Data = weChatTicket
                };
            }
文档更新时间: 2021-08-28 08:00   作者:admin