Exemple #1
0
    def post(self):
        userid = self.get_argument('userid')
        u_auth_key = self.get_argument('authkey')
        request_type = self.get_argument('type')
        ufuncs = Userinfo.Ufuncs.Ufuncs()
        if ufuncs.judge_user_valid(userid, u_auth_key):
            if request_type == '11524':  # 用户报名时给发送约拍方发送图文消息
                rcloud = RongCloud("x4vkb1qpvxu4k", "EziWuNBddbcfz")
                fromuserid = self.get_argument('fromuserid')
                touserid = self.get_argument('touserid')
                objectname = 'RC:ImgTextMsg'
                title = "有人想和你约拍"
                appid = self.get_argument('appid')
                url = 'www.baidu.com'
                extra = 'hello'
                content = {}
                imageurl = 'default.jpg'
                authkey_handler = AuthKeyHandler()
                try:
                    app = self.db.query(AppointmentImage).filter(
                        AppointmentImage.APIapid == appid).all()
                    if app:
                        imageurl = app[0].APIurl
                    appitem = self.db.query(Appointment).filter(
                        Appointment.APid == appid).one()
                    content_item = appitem.APcontent
                    content['title'] = title
                    content['content'] = content_item
                    content[
                        'imageUri'] = authkey_handler.download_originpic_url(
                            imageurl)
                    content['url'] = url
                    content['extra'] = extra
                    content_json = json.dumps(content,
                                              ensure_ascii=False,
                                              indent=2)
                    Response = rcloud.Message.PublishSystem(
                        fromuserid,
                        touserid,
                        objectname,
                        content_json,
                        pushContent=['push{this is new appointment}'],
                    )
                    if Response.result['code'] == 200:
                        content_sys = {"message": "您有一条新约拍", "extra": ""}
                        rcloud.Message.PublishSystem(fromuserid, touserid,
                                                     'RC:InfoNtf',
                                                     json.dumps(content_sys))
                        self.retjson['code'] = '11524'
                        self.retjson['contents'] = '发送消息成功'
                    else:
                        print 'cucucucu'
                        self.retjson['code'] = '11523'
                        self.retjson['contents'] = '发送消息错误'

                except Exception, e:
                    print e
                    self.retjson['code'] = '11522'
                    self.retjson['contents'] = '服务器错误'
Exemple #2
0
def send_system_notification(from_uid, to_uid, message):
    rc = RongCloud(app_key=os.getenv("RONG_KEY"),
                   app_secret=os.getenv("RONG_SEC"))
    r = rc.Message.PublishSystem(fromUserId=from_uid,
                                 toUserId={to_uid},
                                 objectName='RC:TxtMsg',
                                 content=json.dumps({'content': message}),
                                 pushContent=message,
                                 pushData=json.dumps({'pushData': message}),
                                 isPersisted='0',
                                 isCounted='0')
    print r.status
Exemple #3
0
 def __init__(self):
     rongcfg = common.cfg(filecfg, 'rongyun')
     app_key = rongcfg.query('app_key')
     app_secret = rongcfg.query('app_secret')
     self.rcloud = RongCloud(app_key, app_secret)
Exemple #4
0
from rest_framework.parsers import JSONParser
from relationship.models import IMUser
from django.views.decorators.csrf import csrf_exempt
from relationship.serializers import IMUserSerializer, LoginUserSerializer
from rest_framework.views import APIView
from rest_framework.decorators import api_view
from rest_framework import generics
from django.db.models import Q
import uuid
import json

from rongcloud import RongCloud

app_key = '6tnym1brnsfy7'
app_secret = 'L4HtbD4coIXzo'
rcloud = RongCloud(app_key, app_secret)

# Create your views here.


def authorise(deviceid, token):
    if not token:
        return False
    try:
        user = IMUser.objects.get(token=token)
    except IMUser.DoesNotExist:
        return False
    return user


class JSONResponse(HttpResponse):
Exemple #5
0
 def setUp(self):
     app_key = os.environ['APP_KEY']
     app_secret = os.environ['APP_SECRET']
     self.rcloud = RongCloud(app_key, app_secret)
def get_token(uid, nickname):
    rcloud = RongCloud("x4vkb1qpvxu4k", "EziWuNBddbcfz")
    c = rcloud.User.getToken(userId=uid, name=nickname, portraitUri='').result
    return c['token']
Exemple #7
0
def refresh_user_info(user):
    rc = RongCloud(app_key=os.getenv("RONG_KEY"),
                   app_secret=os.getenv("RONG_SEC"))
    rc.User.refresh(encode_id(user.id), user.user_name, user.avatar_url)
Exemple #8
0
from rest_framework.permissions import IsAuthenticated
from rest_framework.response import Response
from rest_framework.viewsets import ModelViewSet, GenericViewSet
from rest_framework_extensions.mixins import NestedViewSetMixin
from rongcloud import RongCloud

from service.consumer.serializers import UserSerializer
from .models import Groups
from .serializers import GroupsSerializer


class UserViewSet(NestedViewSetMixin, ModelViewSet):
    model = get_user_model()


client = RongCloud(settings.RONGCLOUD_APPKEY, settings.RONGCLOUD_SECRET)


class TokenViewSet(GenericViewSet):
    permission_classes = (IsAuthenticated, )

    def list(self, request, *args, **kwargs):
        nick = request.user.profile.nick if request.user.profile.nick else u'匿名'
        avatar = request.user.profile.avatar if request.user.profile.avatar else u'匿名'
        user = client.User.getToken(userId=request.user.pk,
                                    name=nick,
                                    portraitUri=avatar)
        data = user.result.get('token')

        return Response({'key': data}, status=status.HTTP_200_OK)
Exemple #9
0
def get_token(uid, nickname):
    rcloud = RongCloud("vnroth0kv4dto", "0bdyYr7M2x0")
    c = rcloud.User.getToken(userId=uid, name=nickname, portraitUri='').result
    return c['token']
Exemple #10
0
# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.conf import settings
from rongcloud import RongCloud

appkey = settings.RONGCLOUD_APPKEY
secret = settings.RONGCLOUD_SECRET
client = RongCloud(appkey, secret)


def get_im_token(userid, name, avatar):
    ret = client.User.getToken(userId=userid, name=name, portraitUri=avatar)
    return ret.result.get('token')
Exemple #11
0
def get_token(uid,nickname):
    rcloud = RongCloud("pvxdm17jxpuvr", "rYwvnaVeAAYYW8")
    c = rcloud.User.getToken(userId=uid, name=nickname,portraitUri='').result
    return c['token']
Exemple #12
0
class IMServe:
    app_key = RongYunSettings.APP_KEY
    app_secret = RongYunSettings.APP_SECRET
    server = RongCloud(app_key, app_secret)

    @classmethod
    def gen_token(cls,
                  user_id,
                  name,
                  avatar_url='https://www.rongcloud.cn/images/logo.png'):
        """
        生成融云token
        >>> import os
        >>> from rongcloud import RongCloud
        >>> app_key = os.environ['APP_KEY']
        >>> app_secret = os.environ['APP_SECRET']
        >>> rcloud = RongCloud(app_key, app_secret)
        :param user_id: 用户user_id, 融云内唯一标识
        :param name: 用户名
        :param avatar_url: 头像地址
        :return:
        """
        response = cls.server.User.getToken(userId=user_id,
                                            name=name,
                                            portraitUri=avatar_url)
        if response.status == 200:
            return {'token': response.result['token']}
        else:
            raise APIException(response.result['errorMessage'])

    @classmethod
    def refresh_token(cls,
                      user_id,
                      name,
                      avatar_url='https://www.rongcloud.cn/images/logo.png'):
        response = cls.server.User.refresh(userId=user_id,
                                           name=name,
                                           portraitUri=avatar_url)
        if not response.status == 200:
            raise APIException(response.result['errorMessage'])

    @classmethod
    def create_group(cls, customer_id, group_id, group_name):
        response = cls.server.Group.create(customer_id, group_id, group_name)
        if not response.status == 200:
            raise APIException(response.result['errorMessage'])

    @classmethod
    def destory_group(cls, customer_id, group_id):
        cls.server.Group.dismiss(customer_id, group_id)

    @classmethod
    def join_group(cls, customer_id, group_id, group_name):
        response = cls.server.Group.join(customer_id, group_id, group_name)
        if not response.status == 200:
            raise APIException(response.result['errorMessage'])

    @classmethod
    def leave_group(cls, user_id, group_id):
        response = cls.server.Group.quit(user_id, group_id)
        if not response.status == 200:
            raise APIException(response.result['errorMessage'])