• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
武纪亨
博客园    首页    新随笔    联系   管理    订阅  订阅
手机号短信相关

内容回顾

# 1 git是什么:软件,版本管理,协同开发,合并代码,解决冲突
# 2 svn和git:集中式管理,分布式管理
# 3 git ,github,gitee,gitlab,bitbucket:远程仓库
# 4 git工作流程
	工作区,暂存区,版本库  相互操作
  git add .  # 把工作区所有变化提交到暂存区
  git commit -m '' # 把暂存区提交到版本库 ,只有被版本管理的代码,才可以找回之前的
  git reset --hard 版本号 # 把工作区内容回退到某个版本

# 5 分支操作
	创建:git branch dev   git checkout -b dev
  切换:git checkout dev
  查看:git branch
  删除:git barnch  -d dev
  合并:git merge dev  # 必须在其他分支,可能会有冲突
    
    
# 6 忽略文件--》项目中并不是所有东西都要提交到版本库
	-如果已经被版本管理了,再使用忽略就不生效了
  -把不想被git管理的文件删除,提交版本库,以后再生成的就被忽略了
	项目路径下创建 .gitignore 文件
  文件夹
  文件
  *.py
  
# 7 远程仓库
	在本地,我们只能版本管理,不能协同开发,svn在本地做不了版本管理
	推送到远程,大家协同开发
  gitee,github,gitlab  私有仓库
  创建仓库,上传代码
  git remote操作,源操作,创建,查看,删除
  git push origin master
  git pull origin master
  https:第一次提交代码,需要输入用户名密码
  ssh:生成公钥私钥,公钥配到远程仓库,换remote源,git push 不需要用户名密码了
	git clone   把远端代码下载下来,开始开发---》咱们大部分到公司是这种情况
  多人在同一条分支上开发:master分支,dev分支,多人在dev分支开发
  master分支,dev分支,预览分支,测试分支,每个人有自己的分支--》每个人在自己分支开发--》开发完合并到dev分支
  
  
# 自己搭建gitlab
https://zhuanlan.zhihu.com/p/413217715
  
  git remote add origin git@gitee.com:liuqingzheng/gittest.git
  git clone git@gitee.com:liuqingzheng/gittest.git
# 仓库中  .git 文件夹的作用,记录了我所有的版本变化
	-删除它?我这个仓库就不被git管理了
  -如果从别的仓库A中复制一份 .git 来到你的另一个仓库B中,会出现什么情况?
  	-别的仓库的变化,就成了这个仓库的变了
    -这俩仓库文件不一样,B仓库,敲git status 所不通的文件都是变化的
    -git add .  git commit -m 提交到版本库

内容详细

1 git冲突解决

1.1 多人在同一分支开发,出现冲突

# 张三改了567.txt的第二行加了lqz is nb----》提交到远端
# 我本地也567.txt的第二行加了lqz is nb----》准备提,提不上去,原因是你本地不是最新的代码

# 本地提交代码,本地必须把本地更新到最新 git pull,一git pull ,会把远端冲突的代码合并进来
<<<<<<< HEAD  # 冲突开始
lqz is big    # 这里是我的代码
=======
lqz is nb    # 这里是远端代码
>>>>>>> e2d67d7517d66d244f824a32e20d4dd43f4ffc4d # 冲突结束


# 查看代码,如果是同样的功能,选择保留同事的,如果是不同功能,两个代码都保留,如果真的要删同事的代码,一定跟他说一声,最终结局冲突

git add .
git commit -m ''
git pull origin master
git push origin master

1.2 分支合并出冲突

git branch dev
# 加入会冲突的diam
git add .
git commit -m '主分支加入了一行'
git checkout dev
git status
# 加入会冲突的代码
git add .
git commit -m 'dev分支加入了一行'
git checkout master
git merge dev
# 出现下面冲突

<<<<<<< HEAD
lqz is big
=======
lqz is very big
>>>>>>> dev

#手动解决冲突,再提交
git add .
git commit -m '分支合并冲突解决'

# 正常情况,合并完分支,就把dev删除,继续开发,再重新创建dev分支

2 线上分支合并

# 提交pull request---》提交pr---》提个合并分支请求


# 你提交pr---》你领导审核---》审核通过同意---》代码合并完成

# 本地某个分支加入了代码,提交到远端
# 在远端新建一个pull Request,选择要合并的两条分支---》提交了领导收到请求

# 看你的代码---》没有问题---》同意---》合并到分支中去,完成线上分支合并

补充

1 线上分支合并----》线下分支合并后提交到线上
	-本地dev ,master,本地把dev合到master中后,push到master(有的公司不给你master的写权限)
  
2 git flow,git变基,git fetch和git pull的区别
	-git flow 大神提出的一种git分支方案
 	 -git 变基:1 多个记录整合成一个记录  2 解决分支合并分叉问题
	-git fetch和git pull的区别相同点首先在作用上他们的功能是大致相同的,都是起到了更新代码的作用。2. 不同点git pull 类似于 git fetch+git merge
  
  
  
3 pycharm操作git
	-右下角可以操作分支
  -原来用命令操作的,用图形化点点点都能完成,并且更直观且强大

4 为开源项目贡献代码
	-fork开源代码---》你自己仓库有一份
  -改你自己仓库的代码,提交到自己仓库
  -你的仓库,跟它就不一样了
  -提交pr,等作者审核,他是不是给你合进去,如果合进去了
  
  
5 代码回退
	# 本地回退
	git reset --hard 40c543510675bc132174adbb3fa834dca91dd3e9
  # 远端还最新
  把本地提交到远端
  git push origin master -f  # 强制提交
  
  

3 登陆注册页面(没有讲)

# 登陆和注册功能---》5个接口
	-多方式登陆接口(手机号,邮箱,用户名 +密码)
  -验证手机号是否存在接口
  
  -发送短信验证码接口 # 借助于第三方发送短信:阿里,腾讯,容联云通讯,刚注册会送100条短信
  -手机号+验证码登陆接口
  -手机号+验证码+密码注册接口

4 手机号是否存在接口

# 验证手机号是否存在

4.1 urls.py

from django.urls import path, include
from rest_framework.routers import SimpleRouter
from .views import UserView

router = SimpleRouter()
# 127.0.0.1:8000/api/v1/user/mobile/check_mobile
router.register('mobile',UserView , 'mobile')
urlpatterns = [
    path('', include(router.urls)),
]

4.2 views.py

from rest_framework.viewsets import ViewSet
from rest_framework.decorators import action
from .models import User
from rest_framework.exceptions import APIException
from utils.response import APIResponse
class UserView(ViewSet):
    # get 请求携带手机号,就能校验手机号
    @action(methods=["GET"], detail=False)
    def check_mobile(self, request):
        try:
            mobile = request.query_params.get('mobile')
            User.objects.get(mobile=mobile)
            return APIResponse()  # {code:100,msg:成功}-->前端判断,100就是手机号存在,非100,手机号步骤
        except Exception as e:
            raise APIException(str(e)) # 处理了全局异常,这里没问题

4.3 访问测试

# 利用postman测试
127.0.0.1:8000/api/v1/user/mobile/check_mobile?mobile=18953675222

5 腾讯云短信申请

# 申请一个公众号:https://mp.weixin.qq.com/cgi-bin/home?t=home/index&lang=zh_CN&token=2082783786
# 个人,身份证

# 访问地址申请:https://console.cloud.tencent.com/smsv2/guide
# 步骤
创建短信签名
	-签名管理---》创建签名--》使用公众号提交申请---》审核
创建短信正文模板
	-正文模板管理---》创建正文模板--》等审核
发送短信
	-API,SDK
  
# 发送短信,按照文档来:https://cloud.tencent.com/document/product/382/43196
# api和sdk的区别
	-api接口,咱们通过http调用腾讯的发送短信接口,腾讯负责吧短信发送到手机上,http的接口--》基于它来做,比较麻烦,麻烦在请求参数,携带很多,有的时候我们有可能找不到某个参数
  -sdk:使用不同语言封装好了,只需要导入,调用某个函数,传入参数就可以发送,用起来更简单,区分语言,可能官方没有提供sdk
  
  
# 发短信sdk的使用
# 3.x的发送短信sdk,tencentcloud 包含的功能更多,不仅仅只能发短信,还能干别的,但是咱们用不到
pip install tencentcloud-sdk-python
# 2.x发送短信sdk:https://cloud.tencent.com/document/product/382/11672
# 只是发短信的sdk,功能少,3.8以后不支持
pip install qcloudsms_py

posted on 2022-04-23 21:21  Henrywuovo  阅读(71)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3