起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9555|回复: 19

[分享] 关于牛刀小程序“登陆”的非官方经验总结

  [复制链接]

6

主题

19

帖子

92

积分

初级会员

Rank: 2

积分
92
QQ
发表于 2018-7-30 21:59:25 | 显示全部楼层 |阅读模式
本帖最后由 sasa1943 于 2018-7-30 21:59 编辑

从用户使用流程的角度来说,一个完整的登录应该是这样婶儿的:
用户打开小程序-页面加载-数据加载-小程序请求授权-获得授权许可-小程序数据库写入-以用户身份状态登入-访问页面

这一系列流程并不像用户看到的“打开就可以登录”那么简单,而且作为开发者的你,用牛刀应该是都需要设置的。所以这其中就存在了几个问题。

1.用户打开小程序,什么时候开始记录数据?用户的数据自动记录在哪个表?2.该如何实现自动登陆?

我们一个一个解答问题。
1.牛刀的页面逻辑,在我尝试过许多次之后(也可能是我没专心看手册)发现是先载入页面,再载入数据。所以在载入页面中写入的数据检索,过滤或赋值条件,基本都无法实现!千万不要在页面载入的事件中写入对某些数据的操作。所以,就是在页面载入完成后,动态数据库集里有个“用户”表,你点击数据会提示你“没有开放数据维护能力”的这么一个货,是默认负责记录登陆用户数据的。


2.既然我们已经知道了用户数据记录在哪个表,怎么让牛刀去记录呢。在操作逻辑上,我们需要先在页面加载事件(也可以是页面显示)中增加一个“登陆”事件,然后牛刀默认就会帮你完成授权访问的提示符。
WX20180730-184054@2x.png

其实这个“登陆”并不是一个操作,而是调用了牛刀封装的一系列动作。你可以在你的小程序目录里找到“用户对话框”这一页面集合,可以看到里面“登陆”页面。实际上调用的就是这货。但是不要想修改它!因为一来用户在一般情况下是不应该看到这个页面的,二来你不需要修改赋值属性,你应该在登陆后把用户信息表的数据拿出来放到自己建立的表中。

用户正常登陆之后,数据是在“用户”表里的。有些老版本的模板里用了“openid”列,但实际上新版牛刀已经不用这个参数了。唯一区别每个用户的参数是“ID”。所以,如果要用于做唯一性筛选过滤的话,在用户这个表里必须要赋值"ID“这一项。

WX20180730-185414@2x.png
我的个人习惯,是先手动建立一个用户表,用来存微信用户的ID,昵称和头像。然后在登陆过程中,对用户表:
第一步先设置过滤,条件是用户表(需要你自己建立的一个动态列表,很多模板中都已经建好)中的ID等于当前登录用户的ID,如果这时候用户还没有注册,那用户表中应该是没有该行的,于是:
第二步就是设置,如果用户表过滤后的行数是0(或者经过我实验,也可以设置为当前用户ID != 自动生成的用户信息的ID),那么就采用响触发一个建立新用户的请求。(在服务里自己手动写。如果不想写服务请求,其实也可以前台完成)
第三步,如果已经匹配出了用户表中当前登录用户的那一行,那就不需要做什么了~直接刷新该表,于是你就能得到当前用户的ID了。

是不是这么看起来也不难?别着急,还有更多先决条件!
WX20180730-215214@2x.png

首先,这个小绿图标是必须的(在市场里),然后点击他,需要你单独设置APPID和SECRET,千万别忘了设置。
其次,有些时候,需要你在插件库单独设置APPID和secret,在右上角的设置里,查找V3插件。
WX20180730-215552@2x.png

最后,在你的”高级“里,在”正式“环境和”测试“环境里,进入管理后台,都需要填好你的APPID和SECRET。


一般这样设置完之后,你就能实现在有登录页的地方自动登录了。然后一般模板里都会把用户表设置为全局共享,就会保存你的数据状态。但如果你自己新建页面,手动添加用户表的时候记得也顺手设置一个共享。
然后,比较坑的是在测试环境中,没法看出用户登录的情况。跟牛刀技术反馈,牛刀技术说需要发布然后在小程序发布后看。

以上!手打不容易,望管理员加精!伸手~

评分

参与人数 1威望 +15 刀币 +30 排行积分 +15 收起 理由
wuyginger + 15 + 30 + 15 赞一个!

查看全部评分

2

主题

441

帖子

2572

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2572
发表于 2018-7-30 23:31:34 | 显示全部楼层
顶顶顶
回复

使用道具 举报

87

主题

264

帖子

648

积分

高级会员

Rank: 4

积分
648
QQ
发表于 2018-7-31 00:08:55 来自手机 | 显示全部楼层
感谢,辛苦了
回复 支持 反对

使用道具 举报

997

主题

4326

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
10696
QQ
发表于 2018-7-31 08:19:23 | 显示全部楼层
支持
孤舟蓑笠翁,独钓寒江雪。
X5牛刀交流民间第一群:30057529
提供有偿服务,联系WX:18332024
bex5疑难问题解决方案
回复

使用道具 举报

718

主题

2841

帖子

5657

积分

论坛元老

Rank: 8Rank: 8

积分
5657
QQ
发表于 2018-7-31 08:23:20 | 显示全部楼层
学习中
WEX5初学者,欢迎初学者交流
QQ:597558229
tel:15857336322
回复

使用道具 举报

19

主题

357

帖子

634

积分

高级会员

Rank: 4

积分
634
QQ
发表于 2018-7-31 08:34:29 | 显示全部楼层
感谢分享 学习
回复 支持 反对

使用道具 举报

195

主题

837

帖子

2288

积分

金牌会员

Rank: 6Rank: 6

积分
2288
QQ
发表于 2018-7-31 08:42:08 | 显示全部楼层
1111111111111.jpg
我的QQ:1731859020
小程序:新酒商
https://www.new999.cn/xinjiushangapp
回复 支持 反对

使用道具 举报

19

主题

357

帖子

634

积分

高级会员

Rank: 4

积分
634
QQ
发表于 2018-7-31 08:53:49 | 显示全部楼层

就羡慕你这感觉啥问题都难不倒你的样子
回复 支持 反对

使用道具 举报

6

主题

19

帖子

92

积分

初级会员

Rank: 2

积分
92
QQ
 楼主| 发表于 2018-7-31 09:34:49 | 显示全部楼层

一般需要调用插件的,都会在引用组件的说明文档里有写。插件目前好像在牛刀小程序没法单独使用,用编程的角度来看应该是类,需要实例化(组件调用)后才能使用。所以如果没有组件说明,可以不用管
回复 支持 反对

使用道具 举报

0

主题

322

帖子

536

积分

高级会员

Rank: 4

积分
536
QQ
发表于 2018-7-31 10:22:20 | 显示全部楼层

这里的插件在小程序是用不了的,那些是app的插件
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-3-29 22:47 , Processed in 0.094229 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表