用户识别码

我们的小程序只实现了文章的浏览和搜索。为了将整个应用完善,我们还需要文章上传,文章删除等功能。上一节,我们已经讲了一种解决方案。就是使用开放接口API。

开放接口因为是面向互联网的,所以任何人都能访问,为了保护我们的开放接口不让任意调用,我们需要添加认证。我们通过小程序的微信生态进行认证。只有用户能使用小程序,并能获取用户的OPENID,我们才给用户提供识别码。

用户识别码相当于用户的账号和密码,我们基于用户的OPENID生成识别码。识别码是项目中是唯一的,可识别的。识别码密钥是随机字符串。通过识别码和识别码密钥,我们可以用来识别用户,所以,请妥善保管你的识别码和识别码密钥。防止他人滥用。你还可以重置识别码密钥,让以前的识别码密钥失效。类似于用户账户中的修改密码。

根据小程序的特性,我们还集成了广告,结合广告,用户识别码更加的重要。我们使用豆子点数机制,来实现广告和用户识别码的结合。当用户观看广告时,获取豆子点数,当用户调用开放接口时,消耗豆子点数。用户的公开加锁文章被其他用户浏览时,可以获得豆子点数,并且提供文章的浏览量,提高文章的排序。

我增加一个Tab项,我的页面。我的页面只有两个功能,观看广告获取豆子点数,获取我的识别码。

广告集成,我们下一节讲。

现在看看如何实现我的识别码。

先看页面布局

<view class="page">
  <view class="weui-form">
    <view class="weui-form__bd">
      <view class="weui-form__text-area">
        <h2 class="weui-form__title">我的识别码</h2>
        <view class="weui-form__desc">识别码用于开放接口认证使用。请妥善保管识别码和密钥,不要将密钥告诉他人。</view>
      </view>
      <view class="weui-form__control-area">
        <view class="weui-cells__group weui-cells__group_form">
          <view class="weui-cells">
            <view class="weui-cell">
            <text>我的识别码:{{icode}}</text>
            </view>
            <view class="weui-cell">
            <text>我的密钥:{{isecret}}</text>
            </view>
          </view>
        </view>
      </view>
    </view>
    <view class="weui-form__ft">
      <view class="weui-form__opr-area">
        <view class="weui-btn weui-btn_primary" aria-role="button" bind:tap="getMyAppIcode">获取识别码</view>
        <view class="weui-btn weui-btn_warn" aria-role="button" bind:tap="resetAppIcode">重置识别码密钥</view>
        <view class="weui-btn weui-btn_default" aria-role="button" bind:tap="doCopy">复制到剪切板</view>
      </view>
    </view>
  </view>
</view>

获取识别码和重置识别码的整体思路和逻辑与前面的文章类似,没有新的技术点。这里添加了剪切板功能,方便用户复制识别码。

为了激励用户,我们把加锁的文章权重提高,当用户浏览加锁文章时,浏览量是普通文章的两倍。这样在排序时,会排到前面。

更多的细节,请看项目源代码。

下一节,我们讲集成广告。