Home > Web Front-end > uni-app > How to log in to the uniapp WeChat applet

How to log in to the uniapp WeChat applet

PHPz
Release: 2023-04-27 09:35:34
Original
3849 people have browsed it

With the popularity of WeChat mini programs, more and more people are paying attention to the development of WeChat mini programs. In this process, the login module is indispensable, and Uniapp has also become a popular WeChat applet development framework. So, how to log in to the Uniapp WeChat applet? Let’s take a closer look below.

1. WeChat Developer Platform Configuration

Before logging in to the WeChat applet, we need to perform relevant configurations on the WeChat developer platform. First, in "Development" -> "Development Settings" -> "Developer Tools", open the "Service Port" and fill in your own IP address.

Secondly, in "Development"->"Development Settings"->"Mini Program Background Configuration", add the mini program "request legal domain name".

Then, we need to get the AppID and AppSecret of the mini program and check it in "Settings" -> "Developer Tools" -> "Development Settings".

2. Uniapp configuration

In the conditional compilation of MicroMessenger-uni, we need to first introduce the wx-auth.js file, which can be written by ourselves or downloaded from the Internet.

In onLaunch of App.vue, configure the AppID, AppSecret, and background address of the WeChat applet to obtain Openid.

Next step, when calling the login interface, we need to write a method to obtain the code in wx-auth.js:

getLoginCode() {
      return new Promise((resolve, reject) => {
        uni.login({
          success: (res) => {
            if (res.code) {
              resolve(res.code)
            } else {
              reject(res)
            }
          },
          fail: (err) => {
            reject(err)
          }
        })
      })
    }
Copy after login

Then, write a method to obtain Openid in wx-auth.js Method:

getOpenId(appid, secret, code) {
      return new Promise((resolve, reject) => {
        uni.request({
          url: 'https://api.weixin.qq.com/sns/jscode2session?appid=' + appid + '&secret=' + secret + '&js_code=' + code + '&grant_type=authorization_code',
          success: (res) => {
            resolve(res)
          },
          fail: (err) => {
            reject(err)
          }
        })
      })
    }
Copy after login

Finally, in the login page in the project, we can write the login method:

async login() {
      let code = await this.getLoginCode()
      let res = await this.getOpenId(this.appid, this.secret, code)
      console.log(res)
      // 在这里可以将Openid和其他用户信息存入后台,实现登录功能
   }
Copy after login

3. WeChat applet implementation

In the WeChat applet On the end, we need to call the wx.login method in the login button to obtain the code, and then pass the code to the background to obtain Openid and other user information from the background to implement the login function.

The following is an example of a WeChat applet calling the wx.login method:

wx.login({
      success(res) {
        if (res.code) {
          //将code传到后台获取Openid
        } else {
          console.log('登录失败!' + res.errMsg)
        }
      },
      fail(err) {
        console.log('登录失败!' + err.errMsg)
      }
    })
Copy after login

4. Summary

Through the above steps, we can realize the login function of the Uniapp WeChat applet. It should be noted that the WeChat applet login needs to be jointly debugged with the back-end API interface and obtain the return information from the back-end to implement the real login process. At the same time, users’ private information, such as OpenID, needs to be protected during the login process to avoid leakage and abuse.

The above is the detailed content of How to log in to the uniapp WeChat applet. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template