Bladeren bron

新增小程序获取openid、获取手机号接口

asd123a20 3 jaren geleden
bovenliggende
commit
dc98a45def
2 gewijzigde bestanden met toevoegingen van 39 en 0 verwijderingen
  1. 34 0
      service-wx/app/controller/appletapi.js
  2. 5 0
      service-wx/app/router.js

+ 34 - 0
service-wx/app/controller/appletapi.js

@@ -0,0 +1,34 @@
+'use strict';
+
+const Controller = require('egg').Controller;
+class AppletapiController extends Controller {
+  async get_openid({ code }) {
+    const token = await this.get_accessToken();
+    const url = `https://api.weixin.qq.com/wxa/getpluginopenpid?access_token=${token}`;
+    const openid = await this.ctx.curl({
+      model: 'post',
+      url,
+      data: { code },
+    });
+    return openid;
+  }
+  async get_phone({ code }) {
+    const token = await this.get_accessToken();
+    const url = `https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=${token}`;
+    const data = await this.ctx.curl({
+      model: 'post',
+      url,
+      data: { code },
+    });
+    return data;
+  }
+  // 获取access_token
+  async get_accessToken() {
+    const { appid, appsecret } = this.app.config.wxconfig;
+    const to_uri = `https://api.weixin.qq.com/cgi-bin/token?appid=${appid}&secret=${appsecret}&grant_type=client_credential`;
+    const { access_token } = await this.ctx.curl(to_uri);
+    return access_token;
+  }
+}
+
+module.exports = AppletapiController;

+ 5 - 0
service-wx/app/router.js

@@ -13,6 +13,11 @@ module.exports = app => {
   // 消息模板下发
   // 消息模板下发
   router.post('/api/wx/wxapi/pushMould', controller.wxapi.pushMould);
   router.post('/api/wx/wxapi/pushMould', controller.wxapi.pushMould);
 
 
+  // 小程序api
+  // 获取openid
+  router.get('/api/wx/appletapi/get_openid', controller.appletapi.get_openid);
+  // 获取手机号
+  router.get('/api/wx/appletapi/get_phone', controller.appletapi.get_phone);
 
 
   // 支付api
   // 支付api
   // 预支付交易单
   // 预支付交易单