邹平做网站,重庆市建设安全监督站的网站,常州最新通告今天,做网站虚拟主机可以用服务器吗技术栈#xff1a;
1. 微信开发者工具中的调试基础库版本#xff1a;3.1.2。 2. 后台#xff1a;django。
步骤#xff1a;
1. 首先在后台django项目的定时任务中增加一个下载access_token函数#xff0c;并把得到的access_token保存在数据库中#xff08;其实随便哪里…技术栈
1. 微信开发者工具中的调试基础库版本3.1.2。 2. 后台django。
步骤
1. 首先在后台django项目的定时任务中增加一个下载access_token函数并把得到的access_token保存在数据库中其实随便哪里都行。其中APPID和SECRET就是小程序的
def getAcessToken():# 获取access_tokenurl https://api.weixin.qq.com/cgi-bin/token?grant_typeclient_credentialappid%ssecret%s % (APPID, SECRECT)res requests.get(url)token json.loads(res.text)[access_token] # 这就是获得token。
2. 小程序的wxml文件中安放一个必须的按钮
button open-typegetPhoneNumber bindgetphonenumbergetPhoneNumber获取手机号/button
3. 对应的js文件中安放下面的js代码
getPhoneNumber(e){wx.request({url: https://xxx.xxx/phonenumber, # 这是django后台给配置的urldata:{code: e.detail.code, # 这是发给后台的code要用它接收手机号},method: GET,success: (res){console.log(手机号是 res.data.phone)}}) },
4. 在django的urls.py中设置path
path(phonenumber/, views.getPhoneNumber)
5. 在django的views函数中使用第1步中token和第3步传过来的code向微信服务器发起请求获取手机号
def getPhoneNumber(request):code request.GET.get(code)# 获取access_tokenaccess_token AccessToken.objects.get(appnamexxx)token access_token.tokenurl fhttps://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token{token}headers {Content-Type: application/json}para {code: code}response requests.post(url, jsonpara, headersheaders)res response.json()if res[errcode] 0: # 成功获取phonenumberphone res[phone_info][phoneNumber]return JsonResponse({code: 0, phone: phone})else:return JsonResponse({code: -1, phone: -1})
没了结束