常见问题


常见问题解决方法汇总

1. 签名失败

请检查jre/jdk是否使用了无限制的local_policy.jar、US_export_policy.jar文件。

针对jdk1.8.44-1.8.202版本,请将jre/lib/security/java.security文件中的
将 #crypto.policy=unlimited
改为 crypto.policy=unlimited
其他不变,也不需要其他权限jar

jdk1.8.202以后的版本需要商业授权,但不限制个人和开发使用。
针对jdk1.8.44以下版本,请将jre/lib/security/ 下 的 local_policy.jar和US_export_policy.jar替换为官方网站提供了JCE无限制权限策略文件的下载:

JDK6的下载地址:
Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 6

JDK7的下载地址:
Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 7 Download

JDK8的下载地址:
JCE Unlimited Strength Jurisdiction Policy Files for JDK/JRE 8 Download
————————————————
原文链接:https://blog.csdn.net/xiaohuochaiwh/article/details/88844451

2. 页面嵌入时,出现空白屏

嵌入页面:
https://open.eqxiu.cn/c/10001?secretId=xxxx&Authorization=xxxx
在参数都正确的情况下,如果出现空白页面,请检查是否通过登录页“https://www.eqxiu.cn/login”登录了ECMP系统,如果是的话,退出登录,然后清理掉cookie重试。

3. 助力互动作品嵌入小程序时转发失效

以下解决方案后期会逐步废弃,最新解决方案参照:《私域分享增加权益》

助力互动作品在作为 iframe/web-view 嵌入到网页/小程序时,转发可能出现链接未带上创建活动的id的问题,通过传递postMessage事件解决该问题。

  • postMessage时机:
  1. 参与者在目标列表选择目标,成功生成助力playerId后
  2. 参与者已创建助力活动,非首次进入自己的助力活动时
  • postMessage数据格式:
    // data 为JSON字符串, 需要parse处理
    `{
      type: 'EQX_HD_URL_PARAM_APPEND',
      data: [{ "key": "playerId", "value": PLAYER_ID}]
    }`
    

4. APP内嵌作品出现缩放异常

部分安卓机型在通过WebView组件嵌入H5作品时会出现缩放异常。

  • 原因
    因于不同安卓系统会存在一些定制差异,部分手机的处理会与h5作品的缩放处理产生冲突,导致出现缩放异常。
  • 临时解决
    一般升级app比较困难,可临时通过在预览地址增加参数 zoom=1解决缩放问题
    增加参数要根据原地址是否包含【?】分别追加,如果包含问号则追加【&zoom=1】如果不包含问号,则追加【?zoom=1】
    如原链接是A?cc=xxx 更改后的链接为 A?cc=xxx&zoom=1
    如原链接是A更改后的链接为 A?zoom=1
  • 彻底解决
    可以通过关闭webView组件的缩放设置来解决,代码如下:
    // 关闭缩放
    webSettings.setBuiltInZoomControls(false);
    webSettings.setSupportZoom(false);
    webSettings.setDisplayZoomControls(false);
    

5. 互动分享增加抽奖次数小程序环境失效

以下解决方案后期会逐步废弃,最新解决方案参照:《私域分享增加权益》

互动作品iframe/web-view 嵌入到网页/小程序时,转发可能出现链接未携带相关参数导致分享增加抽奖次数失效,可通过传递postMessage事件解决该问题。

当用户在小程序点击分享互动作品(creationType为hd)时,需执行以下逻辑:
第一步、调用“保存分享记录接口”。
第二步、转发的作品链接上携带shareUserId=xxx(postMessage获取到的encodeId)。

  1. 小程序分享方法:
    onShareAppMessage: function (res) {
     // 第一步、调用“保存分享记录接口”
     postHdShare()
     // 第二步、携带shareUserId
     return {
         title: '被分享页面'path: `/pages/share/index?shareUserId=xxx`
     };
    }
    
  2. 小程序web-view src的作品链接拼接shareUserId
    <web-view src="https://www.eqxiu.cn/s/KSFBlzWd?shareUserId=xxx&refreshPage=1"/>
    
    refreshPage为非必传参数,有该参数表示在分享后会刷新页面。
  • postMessage参数

    wx.miniProgram.postMessage({data: {
      type: 'EQX_HD_URL_PARAM_APPEND',
      data: [
          {key: 'creationId', value: 'id'},
          {key: 'creationCode', value: 'code'},
          {key: 'encodeId', value: ''},
          {key: 'creationType', value: 'hd'},
      ]
    }})
    
  • 保存分享记录接口
    请求接口:/api/v1/preview/hd/share?token=TOKEN&creationId=xxx&code=xxx&encodeId=xxx&refreshPage=1
    请求格式:POST
    请求参数:

    参数名 是否必须 参数类型 说明
    creationId Long 作品id,postMessage中的creationId
    code String 作品code,postMessage中的creationCode
    encodeId String 分享人id。postMessage中的encodeId。自定义授权也可以通过访客接口换取
    refreshPage Integer 有该参数表示在分享后会刷新页面

    响应示例:

    {
      "success": true,
      "code": "200",
      "msg": null,
      "obj": null,
      "map": {
          "dayChance": 4,
          "addChance": 1
      },
      "list": null
    }
    

    响应参数:

    参数名 是否必须 参数类型 说明
    dayChance Int 当天剩余抽奖次数
    addChance Int 本次添加的抽奖次数

5. 透传参数的使用

window.tc_config = {
      // 编辑器对应上下文
    'EQX_CONTEXT_VAR':{
         "COMMON":["encodeId"], // 主要为授权获取的信息
         "HD":['winCode'], // 互动编辑器需要透传的参数,需提前协商,如奖品码  
         "FORM":[], // 表单编辑器需要透传的参数,需提前协商
         "xxx":[]     
      },
     'URL_PARAM':["age","xxx"], // 作品链接上的参数,需要回传的
     'CONSTANT_PARAM':{"age": 12, 'name': '张三'}, // 自定义的参数,跳转后链接会全部带上
}
  • 其中COMMON参数可以从window.userInfo获取
  • CONSTANT_PARAM参数可以从window.scene获取
    示例:’CONSTANT_PARAM’:{“creationId”: window.scene.id}

6. php 签名算法代码段参考

$encodingKey = 'VVxcxh40sR6zVl9dYqcrCsDL4NpVljjf17LO8AlOyPR';
$encryptMsg = "tApkVcY0tqpBHn1TU2f0Rpvmenc+loZE1bfdzQD9aQaZJ2EMlfOoQWJfPMFoG+gf+NW20mPUSb+TYyIKBSypf4nj4JFWp4JXc0H3TWOkbJu1pne9ebAypyBHGA5dQk/L7Aabh+n/fLjYk+2SeXoj6XBgJjdPlvY0xYYtDjJvqdaJLSLIvGemi0Pc+S3SoEfc6y6HrTQehmHB2NZEiyespSC+s8WpYt1AvsgtfPWILwiXZAQIHnyo+NNNBqT4lQVu5baFPB4Uu7kfFCLmDqEbSTWCMVmoAHXOeSzuQm8slQ1JJ/OwysdvDGXSLKbrddZO35kppeqsbULq58WtK54b/pFP640T1GzTAUQrl21bC+G99r5m4Bf5VuLsjECFBcvlxFOwfCnKcOtw1Q8g/Knijl3jhim+RpVU6iwAk21hUFjyycB/ZCMjuYsefW2EbvIMH9MNYQRj0RAVKJtQUzr8di3p7wPkMRVE1N4Je3FVDN0CZhvjmIag9Fg+dYoJJzJ94QzRE9mX/e9qFSqS54sSirUQN2/12voKndZLD3XZqg1KESYAzETATXZHUwodgYVBV4DvrpViJ2VKdw60GLl/+S/vh1Tb2N5BpGIWCy6l9zCphEH0M5hJfdosGMea8BSwVLVHM7C5ekF4oavOVIqfz5vQQ1kR38RCKjeIKXfNS3UOqxaMxoCOsF5k7uMca6wPBpd+lytRqDSi1fyIIygQ7PubpqPzFM1BVxXXmVuzJCU3ujpExPqzNKRoFNyo3qezITAxkOtwz7re27zRkKTd6Re2Ix9EP5E+ALmSorIVgac9oP7h3ninG0jVbh5cgOggHgUctvkSyPjC+P0H1Vwni28YDPHMNBpIifzBWHT3YzC3vtvF+bA9Nnm6Zj4ammcRphtJ9ya4cFRQRBLf340f8YzKvDzw8KVFh2tjLFVSlR1lZ6jkYFsurSFpkCKh4UR3t+dYYVebDIsLZsa3E6A8UMccpL19CNOgrxoYbdTp8ahfifdUWKXT/VujYaiMx9Rf2HZZEdbLkNOurprmAO3c7fl1pnfsAOSG2hW4aWTdLmvUE/0BTd55TAWG6U79QJMOdvayBrNY0E3FhC6HjtEOiYcGchQNE/u14rBWVgaKE+8u6ZYygqz5Hvr3mDp93SuwhDg0pHau5o5jj0Sme2OmGMj8K+1a6gUQLaP0cd0+46KWHOx2268ATzat9nIB0/lMED6hPv7e+dcr2TAVpqFbdx5U44OwZnw9WULDFRP6JnGWffJZ+V7ZAuBUfyu953PLW1ODhy6QALf5ORAjw3avYwrHZZfGAK4XmNgc4bzSBNtAhTJ0UR5M48iDHPxrybqiwtrqM7kJ/GTu9R/ONEv8pdHkBzf+XKBBkRFvhyiNzU7Tvo2lgSmbgc7pEH4ECf93oPtxwk3zjDExiA6Erv6AoKtWLnLrvCrYSVqMnPzL7OpqkF75IXKwd4y6syUKgR1ySb8BQJXrEVwnd3jrCpq1mHXuh7A5J5Z3lonmRrC/rZ8kvCfaGd72UKP1o9k4iC+Pc5z94d859lBUlXNSMTW+9hHtWZj42GtMml1wYCZogubgSRcm7ByqIksIpFkijfxlJCl3NeS08KuJsVtB9iloaCJvpfxr529S+rmk9TQ5CSUrxUvOlRG+pOjXrKnt1L6B";
$encryptMsg = base64_decode($encryptMsg);
$aesKey = base64_decode($encodingKey);
$method = 'AES-256-CBC';
$iv = substr($aesKey, 0, 16);
$decryptMsg = openssl_decrypt($encryptMsg, $method, $aesKey, OPENSSL_RAW_DATA, $iv);
dd($decryptMsg);

7. H5作品跳转链中带有编码的部分被意外解码

原因:历史特性导致跳转时解码了两次
解决方案:考虑到历史作品的稳定,建议对编码部分采取二次编码的方式

/**
* 1. 例如 https://go.com/go?goToUrl=${encodeURIComponent('weixin://aa/bb?cc=1')}
* 2. 可能技术提供给你的为 https://go.com/go?goToUrl=weixin%3A%2F%2Faa%2Fbb%3Fcc%3D1
* 3. 此时应该再对 weixin%3A%2F%2Faa%2Fbb%3Fcc%3D1 部分进行编码
* 4. https://go.com/go?goToUrl=${encodeURIComponent(encodeURIComponent('weixin://aa/bb?cc=1'))}
* 5. 此时输入的链接应该为
* https://go.com/go?goToUrl=weixin%253A%252F%252Faa%252Fbb%253Fcc%253D1

will 2024年9月14日 15:58 5678 收藏文档