app积分领取逻辑
<h3>积分同步接口</h3>
<p>app获取积分后,调用小程序后端接口</p>
<h5>接口格式</h5>
<p>POST <code>/thirdparty/integral/app/receive</code></p>
<pre><code class="language-json">{
"userid": "y1DTJPWcefcnSl8CTItdUYWfW8DuTHm6",
"points": 20,
"pointsId": "af3ad9",
"token": "eb32af"
}</code></pre>
<table>
<thead>
<tr>
<th>参数名</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>userid</td>
<td>string</td>
<td>用户id</td>
</tr>
<tr>
<td>points</td>
<td>int</td>
<td>积分数</td>
</tr>
<tr>
<td>pointsId</td>
<td>string</td>
<td>该笔积分的id,用于排重,防止重复领</td>
</tr>
<tr>
<td>token</td>
<td>string</td>
<td>加密串:md5(userid+points+pointsId+双方协商好的密钥串)</td>
</tr>
</tbody>
</table>
<h5>返回示例</h5>
<pre><code class="language-json">{
"statusCode": "0",
"data": {
"hasBind": true
}
}</code></pre>
<h5>返回参数说明</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">statusCode</td>
<td style="text-align: left;">string</td>
<td>状态码:0为正常,非0为错误</td>
</tr>
<tr>
<td style="text-align: left;">data.hasBind</td>
<td style="text-align: left;">boolean</td>
<td>是否已绑定小程序用户</td>
</tr>
</tbody>
</table>
<h3>调用小程序</h3>
<p>如果积分同步接口中<code>statusCode</code>为<code>0</code>,且<code>hasBind</code>为<code>true</code>,则说明已绑定小程序用户,且积分已同步完成,则直接给出提示即可,不需要打开小程序。</p>
<p>如果<code>statusCode</code>为<code>0</code>,且<code>hasBind</code>为<code>false</code>,则说明还未绑定到小程序,需要把上面调用接口时的参数封装为url,调用小程序:<code>pages/integral/app?userid=y1DTJPWcefcnSl8CTItdUYWfW8DuTHm6&points=20&pointsId=af3ad9&token=eb32af</code></p>
<p>小程序端进行验证并绑定,同时同步该笔积分,弹出提示框等。</p>