zhaojs
2023-07-07 55803b1a7b478aade9b6e59ca6675777375e2a92
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
'use strict';
exports.main = async (event, context) => {
    // event里包含着客户端提交的参数
      const res = await uniCloud.getPhoneNumber({
          appid: '__UNI__FC8858A', // 替换成自己开通一键登录的应用的DCloud appid
          provider: 'univerify',
          apiKey: 'df2247e74aa8dae4f9f26e7bbd3d2cc5', // 在开发者中心开通服务并获取apiKey
          apiSecret: '6dbc847c9605c8bb5ed8a9afa4e72ceb', // 在开发者中心开通服务并获取apiSecret
          access_token: event.access_token,
          openid: event.openid
      })
      if(!res.success)
      {
          return {
              code:-1,
              msg:'获取手机号失败'
          }
      }
      if(event.op_type=='getmob')
      {//获取手机号
          return {
              code:0,
              mobile:res.phoneNumber
          }
      }
      else
      {//手机号一键登录
          let pushCid='';
          if(event.pushCid)
          {
              pushCid=event.pushCid;
          }
          var apiUrl='http://dfgapp.ushopvip.com/api/user/mobilelogin';
          const apiRes = await uniCloud.httpclient.request(apiUrl, {
              method: 'POST',
              data: {
                    mobile: res.phoneNumber,
                      captcha:'000',
                      ismobouth:true,
                    pushCid:pushCid
              },
              contentType: 'json', // 指定以application/json发送data内的数据
              dataType: 'json' // 指定返回值为json格式,自动进行parse
            })
          //console.log(res); // res里包含手机号
          // 执行用户信息入库等操作,正常情况下不要把完整手机号返回给前端
          // 如果数据库在uniCloud上,可以直接入库
          // 如果数据库不在uniCloud上,可以通过 uniCloud.httpclient API,将手机号通过http方式传递给其他服务器的接口,详见:https://uniapp.dcloud.net.cn/uniCloud/cf-functions?id=httpclient
          return apiRes
      }
 
};