微博绑定用户接口

1.微博绑定用户接口

1.1 oauth/urls.py 中添加路由

	urlpatterns = [ 
	path('weibo/binduser/', views.OauthWeiboBindUser.as_view()), # /oauth/weibo/callback/ 
	]

1.2 oauth/views.py 中添加试图函数
class OauthWeiboBindUser(APIView):
permission_classes = (AllowAny,)

def post(self, request):
    # 绑定用户, 1. 已注册用户, 2. 未注册用户
    # 1.1 获取用户名, 密码, weibo_uid
    username = request.data.get('username')
    password = request.data.get('password')
    weibo_uid = request.data.get('weibo_uid')
    if not all([username, password, weibo_uid]):
        return Response({'code': 999, 'msg': '参数不全'})

    # 0.判断是否存在此用户
    try:
        user = User.objects.get(username=username)
    except Exception as e:
        user = None
    # 1. 已注册用户
    if user:
        # 1.2 , 如果存在就验证 密码, 验证通过,就绑定, 返回token,登录成功
        if user.check_password(password):
            ou = OauthUser(uid=weibo_uid, user=user, oauth_type='1')
            ou.save()
            payload = jwt_payload_handler(user)     # 通过user对象获取到jwt的 payload信息
            token = jwt_encode_handler(payload)     # 生成token
            data = jwt_response_payload_handler(token, user)
            data['type'] = '0'  # 指定为登录成功
            return Response({'code': 0, 'msg': '登录成功', 'data': data})
        else:
            return Response({'code': 999, 'msg': '密码错误'})
    else:
        # 2. 未注册用户
        # 2.1 生成新用户, 设置用户名密码, 保存, 然后绑定, 返回token, 登录成功
        user = User(username=username)
        user.set_password(password)
        user.save()
        ou = OauthUser(uid=weibo_uid, user=user, oauth_type='1')
        ou.save()
        payload = jwt_payload_handler(user)
        token = jwt_encode_handler(payload)
        data = jwt_response_payload_handler(token, user)
        data['type'] = '0'  # 指定为登录成功
        return Response({'code': 0, 'msg': '登录成功', 'data': data})
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
“呼呼语音微博”是一款以语音为主导的智能手机SNS应用,跨操作系统平台、跨运营商,可以用它发语音分享,也可以发送文字,与好友们分享照片,还可以结交新朋友,越多好友越好玩! 1. 语音“广播” 附近的用户都能看到你的分享,扩大你的影响力,让更多的人想认识你。与好友保持联系,声音的真实感消除人与人之间的陌生,拉近心与心之间的距离。  2. 圈子功能开放 可以建立私有的熟人圈子。物以类聚,人以群分, 快来发起你的圈子分享吧!   3. 精彩内容尽在广场 含有语音和图片的分享会出现在视听墙,活跃用户还有机会进入今日达人榜哟!左右滑动还有应有尽有的有趣话题和语音等你发喔。  4. 丰富活动,精彩推荐 语音微博里面有多种多样的活动正在火热进行中,参与之余还有神秘好礼哟。精彩有趣的分享还会显示在今日推荐里面,让世界听到你的声音。  5. 强大搜索功能 想找一个人却只知道一项信息?不用担心,详细全面的个人资料帮你忙!除了昵称和呼呼号,学校、性别、年龄等等都可以按条件搜索,搜索一下试试,说不定还会有意外收获噢! 6. 经验等级,先到先得 发发分享也能升级?没错,语音微博给你最新奇的体验!谁是最in的分享达人?用等级说话吧! 7. 超低耗流量 经过实测,运营商每月赠送的30m套餐流量可以发1000条语音微博,畅爽分享你懂的! 新版特性:   1、增加实名认证通道 2、录音时长将随着用户等级增加 3、增加国际化分区设置 4、增加呼呼游戏场
1. 创建AIDL文件 在项目的src目录下创建一个aidl文件夹,然后在aidl文件夹中创建一个接口文件,命名为MyInterface.aidl。在该文件中定义需要绑定接口方法。 ``` interface MyInterface { void sendMessage(String message); } ``` 2. 实现AIDL接口 在app模块中创建一个服务类MyService,该服务类需要继承自Service并且实现MyInterface接口。 ``` public class MyService extends Service { @Nullable @Override public IBinder onBind(Intent intent) { return new MyBinder(); } private class MyBinder extends MyInterface.Stub { @Override public void sendMessage(String message) throws RemoteException { // 实现需要绑定接口方法 } } } ``` 3. 在AndroidManifest.xml中注册服务 在AndroidManifest.xml文件中注册MyService服务。 ``` <service android:name=".MyService" /> ``` 4. 在Activity中绑定服务并调用接口方法 在Activity中绑定MyService服务,并且在按钮点击事件中调用MyInterface接口方法。 ``` public class MainActivity extends AppCompatActivity { private MyInterface myInterface; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 绑定MyService服务 Intent intent = new Intent(this, MyService.class); bindService(intent, serviceConnection, Context.BIND_AUTO_CREATE); } private ServiceConnection serviceConnection = new ServiceConnection() { @Override public void onServiceConnected(ComponentName componentName, IBinder iBinder) { // 获取MyInterface接口实例 myInterface = MyInterface.Stub.asInterface(iBinder); } @Override public void onServiceDisconnected(ComponentName componentName) { myInterface = null; } }; public void sendMessage(View view) { // 调用MyInterface接口方法 try { myInterface.sendMessage("Hello World"); } catch (RemoteException e) { e.printStackTrace(); } } } ``` 5. 给按钮添加点击事件 在布局文件中给按钮添加点击事件,绑定到sendMessage方法。 ``` <Button android:id="@+id/btn_send" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Send Message" android:onClick="sendMessage" /> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值