Rumah > applet WeChat > pembangunan WeChat > 微信开发之后台登录(非微信账号登录)

微信开发之后台登录(非微信账号登录)

零下一度
Lepaskan: 2017-05-19 15:54:19
asal
2979 orang telah melayarinya

最近写了一个工具类的小程序,按需求要求不要微信提供的微信账号登录,需要调取后台登录接口来登录。由于小程序大部分都是调取微信信息登录,很少有调用自己后台来登录的,所以写的时候各种坑,现在把趟好坑的代码共享给大家吧!(PS:如有不妥之处,共勉之。)

微信开发之后台登录(非微信账号登录)


微信开发之后台登录(非微信账号登录)

废话不说,直接上代码

找到app.js在里面写如下代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

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"

  },

Salin selepas log masuk

敲黑板划重点:上图中的代码片段重要的地方就是:“globalData中的 adminUserViewId: "",token: "" ”
这两个参数是前端需要存储的后台参数,用来标记用户的登录状态的。

然后建一个login文件夹,在login.wxml中写如下代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<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>

Salin selepas log masuk

然后建一个login文件夹,在login.wxss中写如下代码

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

.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;

}

Salin selepas log masuk

在login.js中写如下代码

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

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

//login.js

//获取应用实例

var app = getApp()

var util = require(&#39;../../utils/util.js&#39;);

 

Page({

  data: {

    motto: &#39;Hello World&#39;,

    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: &#39;text&#39;,

        timer: 1000,

        color: &#39;#fff&#39;,

        text: "用户名不能为空!",

        success: () => console.log(&#39;用户名不能为空!&#39;)

      })

      return;

    } if (passwords === "") {

      that.$wuxToast.show({

        type: &#39;text&#39;,

        timer: 1000,

        color: &#39;#fff&#39;,

        text: "密码不能为空!",

        success: () => console.log(&#39;密码不能为空!&#39;)

      })

      return;

    }

 

    //加载提示框

    util.showLoading("登录中...");

 

    var urlStr = app.globalData.BaseURL + &#39;/api/adminUser/login&#39;;

    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(&#39;adminUserViewId&#39;, adminUserViewId);

          wx.setStorageSync(&#39;token&#39;, token);

          console.log("登录成功的adminUserViewId:" + adminUserViewId);

          console.log("登录成功的token:" + token);

          // 切换到首页

          wx.switchTab({

            url: &#39;/pages/index/index&#39;

          })

        } else {

          that.$wuxToast.show({

            type: &#39;text&#39;,

            timer: 1000,

            color: &#39;#fff&#39;,

            text: res.data.msg,

            success: () => console.log(&#39;登录失败,请稍后重试。&#39; + res.data.msg)

          })

        }

      },

      fail: function () {

        util.hideToast();

        console.log("登录失败");

        that.$wuxToast.show({

          type: &#39;text&#39;,

          timer: 1000,

          color: &#39;#fff&#39;,

          text: &#39;服务器君好累

Salin selepas log masuk

【相关推荐】

1. 微信公众号平台源码下载

2. 小猪cms(PigCms)微电商系统运营版(独立微店商城+三级分销系统)

3. 微信人脉王v3.4.5高级商业版 微信魔方源码

Atas ialah kandungan terperinci 微信开发之后台登录(非微信账号登录). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan