<template> <view class="page"> <u-navbar :is-back="false" :title="tittxt" :border-bottom="false" :background="bgc" title-color='#fff' title-size='36' height='36'> </u-navbar> <view class="imgbox"> <image src="https://api.ccttiot.com/smartmeter/img/static/uCqHftk2W2zEPX03DLcb" mode=""></image> </view> <view class="tip"> 欢迎来到创亿康 </view> <view class="inputbox"> <view class="box1" v-if="!dlflag"> <view class="input_txt" style="width: 536rpx;font-size: 24rpx;line-height: 32rpx;"> 您暂未授权创亿康小程序获取你的信息,将无法正常使用小程序的功能。如需要正常使用请点击“授权”按钮,打开头像,昵称等信息的授权。 </view> <button class="button" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber" style="margin-left: -10rpx;"> 授权登录 </button> <view class=""> <view class="buttons" style="margin-top: 50rpx;margin-left: -10rpx;" @click="btnshoudong"> —— 账号密码登录 —— </view> <view class="buttons" style="margin-top: 50rpx;margin-left: -10rpx;" @click="btnbudl"> —— 暂不授权登录 —— </view> </view> </view> <!-- 账号密码登录 --> <view class="zhangh" v-if="dlflag"> <view class="tit"> 账号密码登录 </view> <input type="text" v-model="zh" placeholder="请输入你的账号" /> <input type="text" v-model="mm" placeholder="请输入你的密码" /> <view class="mmdl" @click="btndl"> 登录 </view> <view class="mmdl" @click="dlflag = false" style="background-color: #fff;border: 1px solid #efefef;color: #000;margin-top: 20rpx;"> 取消 </view> </view> </view> </view> </template> <script> export default { data() { return { bgc: { backgroundColor: "#7D86EF", }, tittxt: "授权登录", chooseType: true, usertype: '', login: false, id:'', dlflag:false, zh:'', mm:'' } }, onLoad(option) { if(option.id){ this.id = option.id } }, // 分享到好友(会话) onShareAppMessage: function () { return { title: '创亿康', path: '/pages/index/index' } }, // 分享到朋友圈 onShareTimeline: function () { return { title: '创亿康', query: '', path: '/pages/index/index' } }, methods: { // 账号密码登录 btndl(){ let data = { username:this.zh, password:this.mm } this.$u.post("/app/auth/login", data).then(res => { if(res.code == 200){ wx.setStorageSync('token', res.token); this.ceshi() }else{ uni.showToast({ title: res.msg, icon: 'none', duration: 2000, }) } }) }, btnshoudong(){ this.dlflag = true }, userType(num) { this.chooseType = false this.login = true if (num == 1) { this.usertype = '01' } else { this.usertype = '00' } }, getPhoneNumber(e) { let that = this; console.log("eeeeeeee", e); const wxLoginAsync = () => { return new Promise((resolve, reject) => { wx.login({success(res) { if (res.code) { let data = { loginCode: res.code, mobileCode: e.detail.code, deptId: "101" } resolve(data); } else { reject(res.errMsg) } },fail(err) { reject(err) } }) }) } wxLoginAsync().then(async (data) => { this.$u.post("/app/auth/wxLogin", data).then((res) => { if (res.code == 200) { wx.setStorageSync('token', res.token); that.ceshi() } }) }).catch((err) => { console.error(err) }) }, async ceshi() { this.$u.get("/app/user/userInfo").then((res) => { if(this.id){ uni.reLaunch({ url:'/page_user/fuwu?id=' + this.id }) }else{ uni.reLaunch({ url: '/pages/index/index' }) } }) }, btnbudl(){ uni.reLaunch({ url: '/pages/index/index' }) } } } </script> <style lang="scss"> page { background: #FFFFFF; } .zhangh{ width: 562rpx; text-align: center; .tit{ font-size: 40rpx; color: #000; margin-bottom: 30rpx; } input{ width: 562rpx; height: 90rpx; margin-top: 20rpx; border-radius: 20rpx; background-color: #eeefee; text-align: center; padding-left: 30rpx; box-sizing: border-box; text-align: left; } .mmdl{ width: 562rpx; height: 96rpx; background: #8883F0; border-radius: 52rpx 52rpx 52rpx 52rpx; font-weight: 500; font-size: 36rpx; color: #FFFFFF; line-height: 96rpx; margin-top: 50rpx; } } .buttons{ width: 562rpx; text-align: center; padding-bottom: 5rpx; box-sizing: border-box; color: #ccc; } .page { position: relative; /* 添加相对定位 */ } .imgbox { width: 750rpx; height: 576rpx; z-index: 0; image { width: 750rpx; height: 576rpx; } } .tip { width: 204rpx; position: absolute; top: 400rpx; left: 30rpx; font-weight: 500; font-size: 48rpx; color: #FFFFFF; line-height: 66rpx; } .inputbox { position: absolute; /* 或者 fixed,根据你的需求 */ top: 700rpx; /* 调整这里来控制距离顶部的距离 */ width: 750rpx; /* 调整输入框的宽度 */ padding: 100rpx 0; background: #fff; /* 设置背景颜色,这里是红色的半透明 */ border-radius: 50rpx; /* 设置圆角 */ z-index: 999; /* 设置 z-index,确保在其他内容上方显示 */ padding-left: 104rpx; .input_txt { font-weight: 400; font-size: 32rpx; color: #3D3D3D; line-height: 44rpx; } .button { margin-top: 64rpx; display: flex; justify-content: center; align-items: center; width: 562rpx; height: 96rpx; background: #8883F0; border-radius: 52rpx 52rpx 52rpx 52rpx; font-weight: 500; font-size: 36rpx; color: #FFFFFF; } } </style>