ホームページ WeChat アプレット WeChatの開発 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"
  },
ログイン後にコピー

黒板をノックハイライト: 上の図のコード スニペットの重要な部分は次のとおりです: "adminUserViewId in globalData: ""、token: "" "
これら 2 つのパラメーターは、フロント エンドによって保存される必要があるバックグラウンド パラメーターです。ユーザーのログインステータスをマークします。

次に、ログインフォルダーを作成し、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パブリックアカウントプラットフォームのソースコードダウンロード

2. PigCmsマイクロ電子商取引システムオペレーティングバージョン(独立したマイクロストアモール+3レベルの流通システム)

3. v3.4.5 Advanced Business Edition WeChat ルービック キューブ ソース コード

以上がWeChat開発後のバックエンドログイン(非WeChatアカウントログイン)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

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 を使用するにはどうすればよいですか?

ThinkPHP6 WeChat 開発ガイド: WeChat パブリック アカウント アプリケーションを迅速に構築する ThinkPHP6 WeChat 開発ガイド: WeChat パブリック アカウント アプリケーションを迅速に構築する Aug 26, 2023 pm 11:55 PM

ThinkPHP6 WeChat 開発ガイド: WeChat パブリック アカウント アプリケーションを迅速に構築する

See all articles