本文目录一览:
近日,
这样一条寻人启事
在朋友圈里被频繁刷屏。
“一名14岁女孩与家人吵架
离家出走至今未归,
父母万分着急……”
李天一,14岁,身高1.7米,体重约80公斤,单眼皮。21日17时许在电台街附近离家出走,22日曾出现在红旗街与湖西路附近。失联前身穿校服,黑色九分裤,红色球鞋,长发。
据
“我女儿性格开朗,平时也一向乖巧懂事,以前从未发生过类似情况。”李先生说。
李家人报警后,警方通过监控录像发现,22日19时25分许,李天一曾经独自一人出现在红旗街与湖西路交会处附近,沿着湖西路由西向东走远,此后再无线索。
*消息,孩子已经找到,
谢谢所有关注的志愿者和爱心人士!
东亚经贸新闻
12月31日讯 汇丰晋信龙腾混合型证券投资基金(简称:汇丰晋信龙腾混合,代码540002)12月30日净值上涨1.64%,引起投资者关注。当前基金单位净值为1.8140元,累计净值为3.9500元。
汇丰晋信龙腾混合基金成立以来收益614.94%,今年以来收益-12.30%,近一月收益-6.00%,近一年收益-10.35%,近三年收益69.69%。
汇丰晋信龙腾混合基金成立以来分红5次,累计分红金额12.87亿元。目前该基金开放申购。
基金经理为严瑾,自2018年09月01日管理该基金,任职期内收益55.96%。
*基金定期报告显示,该基金重仓持有宁德时代(持仓比例6.14%)、招商银行(持仓比例4.09%)、药明康德(持仓比例4.03%)、贵州茅台(持仓比例3.97%)、爱美客(持仓比例3.67%)、北方华创(持仓比例3.22%)、鸿远电子(持仓比例3.17%)、克来机电(持仓比例2.35%)、先导智能(持仓比例2.30%)、爱乐达(持仓比例2.14%)。
报告期内基金投资策略和运作分析
受疫情反弹、上游原材料价格上涨、美联储预期缩表等因素的影响,三季度全球经济复苏动能整体减弱,主要经济体的工业生产和社会零售品销售额均有所回落。国内方面,三季度国内经济延续修复,但受局部疫情反复、地产调控加码及能耗双控等影响,除出口以外的消费、投资、工业生产增速等主要经济指标持续下滑,但大宗商品上涨继续推升PPI,制造业PMI再次降至收缩区间。
展望2021年四季度,在前三季度信用显著收缩的情况下,信用周期底部预计已经显现,后续四季度政策方面预计将逐步推进宽信用的落地,社融增速后续有望逐渐企稳。然而,尽管流动性宽松提供估值支撑,但是在宏观经济与企业盈利面临双重向下调整的压力下,市场风险偏好整体上高位震荡,结构分化有望持续加大,投资策略将以寻找个股alpha为主。
回顾本基金2021年三季度的操作,龙腾基金在大类资产上将权益仓位下调至标配,九月下旬以来,本基金超配的化工及军工板块出现调整,拖累业绩,低配的电力、消费板块表现较好。
报告期内基金的业绩表现
在国内最有名的富二代便是王思聪了,其名下最贵一辆豪华车乃是价值1400万的保时捷918,而他名气远超王思聪,15岁开200万的豪华车,半年违章32次还不管不问!
他便是李天一,当年的名气比王思聪还高,15岁就已经开上了百万的豪华车,而王思聪出行,身边有两样事物不可缺少,网红和豪华车。
国民老公王思聪名下最贵的豪车便是保时捷918,搭载两台发电机,*时速可达345公里,百公里加速仅需2.6秒,售价*1388万。
李天一当年的座驾你是一辆百万的豪华车宝马M系,售价在169万,落地200万不到,搭载4.0T V8双涡轮增压发动机,*时速可达270公里。
这样豪华车还被李天一改装过了,结果从300多匹马力直接提升到446匹马力,百公里加速仅需4.2秒即可完成,性能提高了不少。
除此之外,他还有一辆价值30万左右的豪华车奥迪A4L,搭载2.0T L4涡轮增压发动机,*时速不过210公里,*马力132匹,一般都停在车库中,很少开。
李天一当年在半年的时间里违章了32次,而且还没有C1驾驶证就开豪华车,可见其父亲和车管所的关系不是普通的好啊,不过“犯事”后,如今乖了不少,不知道现在出来了没!
一. 回顾
在第一篇文章《手把手教你做测开:开发Web平台之环境准备》中,我们做了以下几件事情:
1. 搭建了前后端项目工程
2. 安装了前后端的依赖
3. 配置并启动了前后端服务
4. 创建了后端子应用
5. 将Rest Framework和数据库连接信息配置进后端的配置文件中
在上篇文章《django+vue:手把手教你开发web平台(二)—登录认证》中,我们做了以下几件事情:
1. 后端登录认证的实现
2. 前后端服务关联配置
3. 前端登录逻辑的梳理
4. 前端登录逻辑的修改
5. 跨域问题的解决
接下来我们完成以下功能的实现:
1. 前端用户信息逻辑的梳理
2. 后端开发获取用户信息接口
3. 后端自定义ModelViewSet
4. 前端用户信息逻辑的修改
5. vuex状态管理
二. 前端用户信息逻辑的梳理
(一). permission.js
回到permission.js文件,可以看到这里的逻辑是,如果在有token的情况下,如果访问的页面非登录页,这时候会从vuex中获取用户名,如果用户名存在,就跳转到该页,如果用户名不存在,表示是第一次登录,需要通过store目录下的user.js文件中的getInfo方法设置用户信息。
(二). store
继续切换到store/modules/user.js文件中,我们通过后端定义获取用户信息接口,因为已经在headers中带入了token,所以不需要将state.token作为参数传给getInfo方法,这里的state.token将来一定要修改。
另外,可以看到const { name, avatar } = data就是从响应结果里获取name、avatar(用户头像),commit是分别设置name、avatar到vuex中。响应结果里一定要有name和avatar字段,那有可能这两个字段并不一定在data对象中,因此这块可能要做修改。这是优化点一。
(三). api
在上述方法中点击下面那个getInfo,可以跳转到api目录下的user.js文件中,这个getInfo方法的url是前端自己定义的,到时候需要改成后端接口的路径,另外还要将url路径中的token去掉,这是优化点二。
(四).总结
综上所述,我们前端需要修改的地方有:
1. 将modules目录下的users.js文件中的getInfo方法传入state.token参数取消掉,将commit时候的传参可能要修改下
2. 将api目录下的user.js文件中的getInfo方法,其url替换为后端接口路径,其token传参取消掉
三. 后端开发获取用户信息接口
(一). 用户信息模型类
在 userauth 子应用下的 models.py 文件中定义 UserProfile 模型类。这里需要将UserProfile 和 User 类一对一关联起来,一个用户对应一条个人信息,一条个人信息对应着一个用户。这里定义的 user 字段将来生成的表中展示为 user_id,对应的是 user 表中的id。
from django.db import models
from django.contrib.auth.models import User
class UserProfile(models.Model):
#UserProfile 类和 User 类是一对一关系,即一个 User 对应着一个人信息,一个人信息对应着一个 User
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='profile')
avatar = models.CharField(max_length=100, null=True, blank=True, verbose_name="avatar")
role = models.CharField(max_length=10, default="editor", verbose_name="role")
introduction = models.TextField(max_length=500, null=True, blank=True, verbose_name="introduction")
class Meta:
verbose_name = "user_profile" verbose_name_plural = verbose_name
def __str__(self):
return "{}".format(self.user.__str__())
(二). 自定义 ModelViewSet
为什么要自定义 ModelViewSet 而不直接继承 ModelViewSet,因为 ModelViewSet 返回的响应结果没有 code(CURD 中有部分没有),没有 message,只有 data。因此需要将其改造成我们想要的形式。
在后端项目工程 backend 目录下创建一个 utils 目录,在 utils 目录下创建一个customized_drf.py 文件,这里设置了权限,定义了响应数据的格式和分页。
from collections import OrderedDict
import six
from django.db.models import Count, Sum
from rest_framework.response import Response
from rest_framework.serializers import Serializer
from rest_framework.pagination import PageNumberPagination
from rest_framework.viewsets import ModelViewSet, GenericViewSet
from rest_framework import filters
from django_filters.rest_framework import DjangoFilterBackend
from rest_framework.permissions import IsAuthenticated, AllowAny
# 定制化响应数据格式
class JsonResponse(Response): """An HttpResponse that allows its data to be rendered into arbitrary media types.""" def __init__(self, data=None, code=200, message='ok', success='true', status=None, template_name=None, headers=None, exception=False, content_type=None): """ Alters the init arguments slightly. For example, drop 'template_name', and instead use 'data'. Setting 'renderer' and 'media_type' will typically be deferred, For example being set automatically by the `APIView`. """
super(Response, self).__init__(None, status=status)
if isinstance(data, Serializer):
message = (
'You passed a Serializer instance as data, but '
'probably meant to pass serialized `.data` or '
'`.error`. representation.' )
raise AssertionError(message)
self.data = {"code": code, "message": message, "success": success, "data": data}
self.template_name = template_name
self.exception = exception
self.content_type = content_type
if headers:
for name, value in six.iteritems(headers):
self[name] = value
……
由于作者版权要求,仅展示文章的一部分,如需阅读完整版文章,可以私信回复”文章“即可免费获取。
最后:
1)关注+私信回复:“测试”,可以免费领取一份10G软件测试工程师面试宝典文档资料。
2)关注+私信回复:"入群" 就可以邀请你进入软件测试群学习交流~~
今天的内容先分享到这里了,读完本文《李天一身高》之后,是否是您想找的答案呢?想要了解更多李天一身高、汇丰龙腾相关的财经新闻请继续关注本站,是给小编*的鼓励。