위챗 애플릿 위챗 개발 WeChat 개발 후 백엔드 로그인(WeChat 계정 없이 로그인)

WeChat 개발 후 백엔드 로그인(WeChat 계정 없이 로그인)

May 19, 2017 pm 03:54 PM

최근에 작은 도구 프로그램을 작성했는데 요구 사항에 따라 로그인하는 데 WeChat에서 제공하는 WeChat 계정이 필요하지 않습니다. 로그인하려면 백그라운드 로그인 인터페이스를 호출해야 합니다. 대부분의 미니 프로그램은 WeChat 정보를 사용하여 로그인하고 자체 백엔드를 사용하여 로그인하는 경우가 거의 없기 때문에 작성 시 여러 가지 함정이 있습니다. 이제 코드를 모두와 공유하겠습니다! (PS: 틀린 부분 있으면 공유해주세요.)

WeChat 개발 후 백엔드 로그인(WeChat 계정 없이 로그인)


WeChat 개발 후 백엔드 로그인(WeChat 계정 없이 로그인)

쓸데없는 소리 하지 말고 바로 코드로 가세요

app.js를 찾아서 그 안에 다음 코드를 작성하세요

App({
  onLaunch: function () {
    //调用API从本地缓存中获取数据
    var logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)
  },
  globalData: {
    adminUserViewId: "",
    token: "",
    userInfo: null,
    BaseURL:"http://airb.cakeboss.com.cn"
    // BaseURL:"http://192.168.0.107:8080"
  },
로그인 후 복사

칠판의 핵심 사항을 쳐보세요: 중요한 부분 위 그림의 코드 조각은 다음과 같습니다. "globalData adminUserViewId: "",token: "" "
이 두 매개변수는 사용자의 로그인 상태를 표시하기 위해 프런트 엔드에서 저장해야 하는 백그라운드 매개변수입니다.

그런 다음 로그인 폴더를 만들고 login.wxml에 다음 코드를 작성합니다.

<import src="../../components/toast.wxml" />

<!-- is="toast" 匹配组件中的toast提示  如果用dialog的话这就是dialog -->
<template is="toast" data="{{ ...$wux.toast }}" />
<view class="login_container">
  <view class="login_view">
    <text class="login_lable">账号:</text>
    <input class="login_text" placeholder="请输入登录账号" bindinput="listenerUsernameInput"/>
  </view>
  <view class="login_view">
    <text class="login_lable">密码:</text>
    <input class="login_text" placeholder="请输入密码" password="true" bindinput="listenerPasswordInput"/>
  </view>
  <view>
    <button class="login_button" bindtap="loginAction">登录</button>
  </view>
</view>
로그인 후 복사

그런 다음 로그인 폴더를 만들고 login.wxss에 다음 코드를 작성합니다.

.login_container {
  margin-top: 30px;
}

.login_view {
  width: calc(100% - 40px);
  padding: 0 20px;
  line-height: 45px;
  height: 45px;
  margin-bottom: 20px;
}

.login_text {
  float: left;
  height: 45px;
  line-height: 45px;
  font-size: 12px;
  border: 1px solid rgb(241, 242, 243);
  padding: 0 12px;
  width: calc(100% - 70px);
  border-radius: 4px;
}

.login_lable {
  float: left;
  font-size: 12px;
  width: 40px;
}

.login_button {
  width: 150px;
  background: green;
  color: #fff;
}
로그인 후 복사

login.js의 다음 코드

//login.js
//获取应用实例
var app = getApp()
var util = require('../../utils/util.js');

Page({
  data: {
    motto: 'Hello World',
    username: "",
    password: ""
  },
  onLoad(options) {
    // 初始化提示框
    this.$wuxToast = app.wux(this).$wuxToast
  },
  /** 监听帐号输入 */
  listenerUsernameInput: function (e) {
    this.data.username = e.detail.value;
  },
  /** 监听密码输入 */
  listenerPasswordInput: function (e) {
    this.data.password = e.detail.value;
  },
  // 登录按钮点击事件
  loginAction: function () {

    var userName = this.data.username;
    var passwords = this.data.password;
    var that = this;

    if (userName === "") {
      that.$wuxToast.show({
        type: 'text',
        timer: 1000,
        color: '#fff',
        text: "用户名不能为空!",
        success: () => console.log('用户名不能为空!')
      })
      return;
    } if (passwords === "") {
      that.$wuxToast.show({
        type: 'text',
        timer: 1000,
        color: '#fff',
        text: "密码不能为空!",
        success: () => console.log('密码不能为空!')
      })
      return;
    }

    //加载提示框
    util.showLoading("登录中...");

    var urlStr = app.globalData.BaseURL + '/api/adminUser/login';
    wx.request({
      method: "POST",
      url: urlStr, //仅为示例,并非真实的接口地址
      data: util.json2Form({
        username: userName,
        password: passwords
      }),
      header: {
        "Content-Type": "application/x-www-form-urlencoded"
      },
      success: function (res) {
        util.hideToast();
        console.log(res.data);
        var code = res.data.code;
        if (code === 200) {
          // 后台传递过来的值
          var adminUserViewId = res.data.data.adminUserViewId;
          var token = res.data.data.token;
          // 设置全局变量的值
          app.globalData.adminUserViewId = res.data.data.adminUserViewId;
          app.globalData.token = res.data.data.token;
          // 将token存储到本地
          wx.setStorageSync('adminUserViewId', adminUserViewId);
          wx.setStorageSync('token', token);
          console.log("登录成功的adminUserViewId:" + adminUserViewId);
          console.log("登录成功的token:" + token);
          // 切换到首页
          wx.switchTab({
            url: '/pages/index/index'
          })
        } else {
          that.$wuxToast.show({
            type: 'text',
            timer: 1000,
            color: '#fff',
            text: res.data.msg,
            success: () => console.log('登录失败,请稍后重试。' + res.data.msg)
          })
        }
      },
      fail: function () {
        util.hideToast();
        console.log("登录失败");
        that.$wuxToast.show({
          type: 'text',
          timer: 1000,
          color: '#fff',
          text: '服务器君好累
로그인 후 복사

[관련 권장 사항]

1. WeChat 공개 계정 플랫폼 소스 코드 다운로드

PigCms (PigCms) 마이크로 전자상거래 시스템 운영 버전 (독립 마이크로 스토어 몰 + 3단계 유통 시스템)

3. WeChat Network King v3.4.5 Advanced Business Edition WeChat Rubik's Cube 소스 코드

위 내용은 WeChat 개발 후 백엔드 로그인(WeChat 계정 없이 로그인)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP WeChat 개발: 메시지 암호화 및 암호 해독 구현 방법 PHP WeChat 개발: 메시지 암호화 및 암호 해독 구현 방법 May 13, 2023 am 11:40 AM

PHP WeChat 개발: 메시지 암호화 및 암호 해독 구현 방법

Discuz 백엔드 로그인 문제, 팁 공개 Discuz 백엔드 로그인 문제, 팁 공개 Mar 10, 2024 am 08:15 AM

Discuz 백엔드 로그인 문제, 팁 공개

Discuz 백엔드에서 로그인에 실패하면 어떻게 해야 합니까? 답변은 다음과 같습니다! Discuz 백엔드에서 로그인에 실패하면 어떻게 해야 합니까? 답변은 다음과 같습니다! Mar 02, 2024 pm 03:33 PM

Discuz 백엔드에서 로그인에 실패하면 어떻게 해야 합니까? 답변은 다음과 같습니다!

PHP WeChat 개발: 고객 서비스 채팅 창 관리 구현 방법 PHP WeChat 개발: 고객 서비스 채팅 창 관리 구현 방법 May 13, 2023 pm 05:51 PM

PHP WeChat 개발: 고객 서비스 채팅 창 관리 구현 방법

PHP WeChat 개발: 사용자 태그 관리 구현 방법 PHP WeChat 개발: 사용자 태그 관리 구현 방법 May 13, 2023 pm 04:31 PM

PHP WeChat 개발: 사용자 태그 관리 구현 방법

PHP를 사용하여 WeChat 대량 메시징 도구 개발 PHP를 사용하여 WeChat 대량 메시징 도구 개발 May 13, 2023 pm 05:00 PM

PHP를 사용하여 WeChat 대량 메시징 도구 개발

WeChat 개발에 PHP를 사용하는 방법은 무엇입니까? WeChat 개발에 PHP를 사용하는 방법은 무엇입니까? May 21, 2023 am 08:37 AM

WeChat 개발에 PHP를 사용하는 방법은 무엇입니까?

PHP WeChat 개발: 음성 인식 구현 방법 PHP WeChat 개발: 음성 인식 구현 방법 May 13, 2023 pm 09:31 PM

PHP WeChat 개발: 음성 인식 구현 방법

See all articles