{{AuthorizedLogin}}
{{UserPhone}}
请升级微信版本
(四)
.header {
margin: 90rpx 0 90rpx 50rpx;
border-bottom: 1px solid #ccc;
text-align: center;
width: 650rpx;
height: 300rpx;
line-height: 450rpx;
}
.header image {
width: 200rpx;
height: 200rpx;
}
.content {
margin-left: 50rpx;
margin-bottom: 90rpx;
}
.content text {
display: block;
color: #9d9d9d;
margin-top: 40rpx;
}
/* .operBtn{
border-radius: 80rpx;
margin: 70rpx 50rpx;
font-size: 35rpx;
}
.operBtns{
background: #eef0ed !important;
border-radius: 80rpx;
margin: 70rpx 50rpx;
font-size: 35rpx;
color: #000300 !important;
} */
.hide{
border-radius: 80rpx;
margin: 70rpx 50rpx;
font-size: 35rpx;
display: none;
}
.show{
display: block;
/* background: #eef0ed !important; */
border-radius: 80rpx;
margin: 70rpx 50rpx;
font-size: 35rpx;
/* color: #000300 !important; */
}
(三)
const app = getApp();
Page({
data: {
//判断小程序的API,回调,参数,组件等是否在当前版本可用。
canIUse: (‘’),
isHide: false,
AuthorizedLogin: ‘授权登录’,
UserPhone: ‘手机号授权’,
lee: “”,
flag: true
},
onLoad: function() {
var that = this;
// 查看是否授权
//获取用户本地是否是第一次进入新版本
var versions = (‘versions’);
if (versions == ‘1’) {
({
success: function(res) {
if ([‘’]) {
//调用共通的登录方法
(
function(userinfo) {
({
userinfo: userinfo
})
});
} else {
// 用户没有授权
// 改变 isHide 的值,显示授权页面
({
isHide: true
});
}
}
});
} else {
// 用户没有授权
// 改变 isHide 的值,显示授权页面
({
isHide: true
});
}
},
bindGetUserInfo: function(e) {
if () {
//用户按了允许授权按钮
var that = this;
let user = ;
// 获取到用户的信息了,打印到控制台上看下
console.log(“用户的信息如下:”);
(user);
//授权成功后,通过改变 isHide 的值,让实现页面显示出来,把授权页面隐藏起来
if ( == ‘’) {
({
icon: “none”,
title: ‘请继续点击获取手机号’,
}),
({
isHide: true,
flag: (!),
lee: true
})
();
} else if (!) {
({
url: “/wurui_house/pages/index/index”
})
}
} else {
//用户按了拒绝按钮
({
title: ‘警告’,
content: ‘您点击了拒绝授权,将无法进入小程序,请授权之后再进入!!!’,
showCancel: false,
confirmText: ‘返回授权’,
success: function(res) {
// 用户没有授权成功,不需要改变 isHide 的值
if () {
(‘用户点击了“返回授权”’);
}
}
});
}
},
wxlogin: function() { //获取用户的openID
var that = this;
//调用共通的登录方法
(
function(userinfo) {
({
userinfo: userinfo
})
});
},
getPhoneNumber: function(e) { //点击获取手机号码按钮
var that = this;
if ( == ‘’) {
({
icon: “none”,
title: ‘请先点击获取用户信息’,
})
return
} else {
({
success: function(res) {
()
()
()
var ency = ;
var iv = ;
var sessionk = ;
if ( == ‘getPhoneNumber:fail user deny’) {
({
title: ‘警告’,
content: ‘您点击了拒绝授权,部分功能无法使用!!!’,
showCancel: false,
confirmText: ‘返回授权’,
success: function(res) {
// 用户没有授权成功,不需要改变 isHide 的值
if () {
(‘enws’, ‘1’);
({
url: “/wurui_house/pages/index/index”
})
(‘用户点击了“返回授权”’);
};
}
}),
({
modalstatus: true,
});
} else {
({
lee: false,
});
({
url: “/wurui_house/pages/index/index”
})
//同意授权
var userinfo = (‘userInfo’);
.request({
‘url’: ‘entry/wxapp/saveusermobile’,
data: {
sessionid: ,
uid: ,
iv: iv,
encryptedData: ency
},
success: function(res) {
if ( == 0) {
(‘success’ + );
//用户已经进入新的版本,可以更新本地数据
(‘versions’, ‘1’);
(‘enws’, ‘2’);
} else {
//用户保存手机号失败,下次进入继续授权手机号
(‘enws’, ‘1’);
(‘fail’ + );
}
},
fail: function(res) {
(‘fail’ + res);
}
});
}
},
fail: function() {
(“session_key 已经失效,需要重新执行登录流程”);
(); //重新登录
}
});
}
}
})
2.某个详情页手机号授权判断
使用的遮罩层写法
(一)
取消
确认
(二)
/* 手机号授权 */
.float {
height: 100%;
width: 100%;
position: fixed;
background-color: rgba(0, 0, 0, 0.5);
z-index: 2;
top: 0;
left: 0;
}
.floatContent {
/* padding: 20rpx 0; */
width: 80%;
background: #fff;
margin: 40% auto;
border-radius: 20rpx;
display: flex;
flex-direction: column;
justify-content: space-around;
align-items: center;
position: relative;
height: 255rpx;
}
.floatContent text {
color: #000;
font-size: 40rpx;
display: block;
margin: 0 auto;
position: absolute;
top: 50rpx;
/* text-align: center; */
/* line-height: 60rpx; */
border-radius: 30rpx;
}
.floatText{
width: 100%;
height: 100rpx;
display: flex;
justify-content: flex-start;
position: absolute;
bottom: 0;
}
.btn-cancle{
line-height: 100rpx;
flex: 1;
margin: 0;
padding: 0;
border-radius: none;
}
(三)
data: {
viewShowed: true, //控制授权能否显示
},
cancle: function () {
(‘enws’, ‘2’);
({
viewShowed: true
})
},
/**
- 生命周期函数–监听页面显示
*/
onShow: function () {
var enws = (‘enws’);
(“enws:”, +enws);
var that = this;
if (enws != ‘2’) { //判断能否授权
({
viewShowed: false,
})
(‘判断能否授权’);
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(资料价值较高,非无偿)
完整版面试题资料分享,只需你点赞支持,动动手指点击此处就可免费领取了。
前端实习面试的套路
回顾项目
往往在面试时,面试官根据你简历中的项目由点及面地展开问答,所以请对你做过的最好的项目进行回顾和反思。回顾你做过的工作和项目中最复杂的部分,反思你是如何完成这个最复杂的部分的。
面试官会重点问你最复杂的部分的实现方法和如何优化。重点要思考如何优化,即使你项目中没有对那部分进行优化,你也应该预先思考有什么优化的方案。如果这部分答好了,会给面试官留下很不错的印象。
重点在于基础知识
这里指的基础知识包括:前端基础知识和学科基础知识。
前端基础知识:html/css/js 的核心知识,其中 js 的核心知识尤为重要。比如执行上下文、变量对象/活动对象(VO/AO)、作用域链、this 指向、原型链等。
学科基础知识:数据结构、计算机网络、算法等知识。你可能会想前端不需要算法,那你可能就错了,在大公司面试,面试官同样会看重学生这些学科基础知识。
你可能发现了我没有提到React/Vue
这些框架的知识,这里得说一说,大公司不会过度的关注这方面框架的知识,他们往往更加考察学生的基础。
这里我的建议是,如果你至少使用或掌握其中一门框架,那是最好的,可以去刷刷相关框架的面试题,这样在面试过程中即使被问到了,也可以回答个 7788。如果你没有使用过框架,那也不需要太担心,把重点放在基础知识和学科基础知识之上,有其余精力的话可以去看看主流框架的核心思想。
需你点赞支持,动动手指点击此处就可免费领取了。
前端实习面试的套路
回顾项目
往往在面试时,面试官根据你简历中的项目由点及面地展开问答,所以请对你做过的最好的项目进行回顾和反思。回顾你做过的工作和项目中最复杂的部分,反思你是如何完成这个最复杂的部分的。
面试官会重点问你最复杂的部分的实现方法和如何优化。重点要思考如何优化,即使你项目中没有对那部分进行优化,你也应该预先思考有什么优化的方案。如果这部分答好了,会给面试官留下很不错的印象。
重点在于基础知识
这里指的基础知识包括:前端基础知识和学科基础知识。
前端基础知识:html/css/js 的核心知识,其中 js 的核心知识尤为重要。比如执行上下文、变量对象/活动对象(VO/AO)、作用域链、this 指向、原型链等。
学科基础知识:数据结构、计算机网络、算法等知识。你可能会想前端不需要算法,那你可能就错了,在大公司面试,面试官同样会看重学生这些学科基础知识。
你可能发现了我没有提到React/Vue
这些框架的知识,这里得说一说,大公司不会过度的关注这方面框架的知识,他们往往更加考察学生的基础。
这里我的建议是,如果你至少使用或掌握其中一门框架,那是最好的,可以去刷刷相关框架的面试题,这样在面试过程中即使被问到了,也可以回答个 7788。如果你没有使用过框架,那也不需要太担心,把重点放在基础知识和学科基础知识之上,有其余精力的话可以去看看主流框架的核心思想。