绑定极光id
This commit is contained in:
parent
d3bba79eb4
commit
65da47058c
49
App.vue
49
App.vue
@ -124,24 +124,24 @@
|
|||||||
jpushModule.initJPushService()
|
jpushModule.initJPushService()
|
||||||
jpushModule.addConnectEventListener(result=>{
|
jpushModule.addConnectEventListener(result=>{
|
||||||
let connectEnable = result.connectEnable
|
let connectEnable = result.connectEnable
|
||||||
console.log("jpush连接", connectEnable)
|
// console.log("jpush连接", connectEnable)
|
||||||
})
|
})
|
||||||
|
|
||||||
// 设置别名
|
// 设置别名
|
||||||
jpushModule.setAlias({
|
// jpushModule.setAlias({
|
||||||
'alias': uni.getStorageSync('userId'),
|
// 'alias': uni.getStorageSync('userId'),
|
||||||
'sequence': 1
|
// 'sequence': 1
|
||||||
})
|
// })
|
||||||
//
|
//
|
||||||
jpushModule.addTagAliasListener(result => {
|
// jpushModule.addTagAliasListener(result => {
|
||||||
let code = result.code
|
// let code = result.code
|
||||||
let sequence = result.sequence
|
// let sequence = result.sequence
|
||||||
let tags = result.tags
|
// let tags = result.tags
|
||||||
let tag = result.tag
|
// let tag = result.tag
|
||||||
let tagEnable = result.tagEnable
|
// let tagEnable = result.tagEnable
|
||||||
let alias = result.alias
|
// let alias = result.alias
|
||||||
console.log(alias, '别名')
|
// console.log(alias, '别名')
|
||||||
})
|
// })
|
||||||
// 通知事件回调
|
// 通知事件回调
|
||||||
jpushModule.addNotificationListener(result => {
|
jpushModule.addNotificationListener(result => {
|
||||||
let notificationEventType = result.notificationEventType
|
let notificationEventType = result.notificationEventType
|
||||||
@ -153,22 +153,17 @@
|
|||||||
// 点击事件
|
// 点击事件
|
||||||
if (notificationEventType == 'notificationOpened') {
|
if (notificationEventType == 'notificationOpened') {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: '/pages/daibanliebiao/daibanliebiao'
|
url: result.extras.route
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
jpushModule.getRegistrationID(result => {
|
|
||||||
console.log("注册ID", result.registerID)
|
// jpushModule.addCustomMessageListener(result => {
|
||||||
if (result.registerID) {
|
// let messageID = result.messageID
|
||||||
uni.setStorageSync("register_id", result.registerID)
|
// let content = result.content
|
||||||
}
|
// let extras = result.extras
|
||||||
})
|
// console.log("自定义消息", result)
|
||||||
jpushModule.addCustomMessageListener(result => {
|
// })
|
||||||
let messageID = result.messageID
|
|
||||||
let content = result.content
|
|
||||||
let extras = result.extras
|
|
||||||
console.log("自定义消息", result)
|
|
||||||
})
|
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
|
|
||||||
|
@ -74,6 +74,16 @@ export function bindMp(data) {
|
|||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* 绑定极光id
|
||||||
|
* @param data object 小程序用户登陆信息
|
||||||
|
*/
|
||||||
|
export function bindJG(data) {
|
||||||
|
return request.post("auth/bindJg", data, {
|
||||||
|
noAuth: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分享
|
* 分享
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
|
@ -1,76 +1,87 @@
|
|||||||
<template>
|
<template>
|
||||||
<div :style="viewColor">
|
<div :style="viewColor">
|
||||||
<div class="register absolute" v-if="!auth_token">
|
<div class="register absolute" v-if="!auth_token">
|
||||||
<div class="login">
|
<div class="login">
|
||||||
<div class="shading">
|
<div class="shading">
|
||||||
<div class="pictrue acea-row row-center-wrapper">
|
<div class="pictrue acea-row row-center-wrapper">
|
||||||
<image :src="login_logo" v-if="login_logo" />
|
<image :src="login_logo" v-if="login_logo" />
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="whiteBg" v-if="formItem === 1">
|
|
||||||
<div class="title acea-row row-center-wrapper">
|
|
||||||
<div class="item" :class="current === index ? 'on' : ''" v-for="(item, index) in navList" @click="navTap(index)" :key="index">
|
|
||||||
{{ item }}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="list" :hidden="current !== 0">
|
<div class="whiteBg" v-if="formItem === 1">
|
||||||
<form @submit.prevent="submit">
|
<div class="title acea-row row-center-wrapper">
|
||||||
|
<div class="item" :class="current === index ? 'on' : ''" v-for="(item, index) in navList"
|
||||||
|
@click="navTap(index)" :key="index">
|
||||||
|
{{ item }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="list" :hidden="current !== 0">
|
||||||
|
<form @submit.prevent="submit">
|
||||||
|
<div class="item">
|
||||||
|
<div class="acea-row row-middle">
|
||||||
|
<image src="/static/images/phone_1.png"></image>
|
||||||
|
<input type="text" placeholder="输入账号" placeholder-class="placeholder"
|
||||||
|
v-model="account" required />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<div class="acea-row row-middle">
|
||||||
|
<image src="/static/images/code_2.png"></image>
|
||||||
|
<input type="password" placeholder="填写登录密码" placeholder-class="placeholder"
|
||||||
|
v-model="password" required />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
<div class="tip">
|
||||||
|
<span @click="formItem = 2" class="font-color-red">立即注册</span>
|
||||||
|
<navigator class="forgetPwd" hover-class="none" url="/pages/users/retrievePassword/index">
|
||||||
|
忘记密码
|
||||||
|
</navigator>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="list" :hidden="current !== 1">
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<div class="acea-row row-middle">
|
<div class="acea-row row-middle">
|
||||||
<image src="/static/images/phone_1.png"></image>
|
<image src="/static/images/phone_1.png"></image>
|
||||||
<input type="text" placeholder="输入账号" placeholder-class="placeholder" v-model="account" required />
|
<input type="text" placeholder="输入手机号码" placeholder-class="placeholder"
|
||||||
|
v-model="account" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<div class="acea-row row-middle">
|
<div class="acea-row row-middle">
|
||||||
<image src="/static/images/code_2.png"></image>
|
<image src="/static/images/code_2.png"></image>
|
||||||
<input type="password" placeholder="填写登录密码" placeholder-class="placeholder" v-model="password" required />
|
<input type="text" placeholder="填写验证码" placeholder-class="placeholder" class="codeIput"
|
||||||
|
v-model="captcha" />
|
||||||
|
<button class="code" :disabled="disabled" :class="disabled === true ? 'on' : ''"
|
||||||
|
@click="handleVerify">
|
||||||
|
{{ text }}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="item" v-if="isShowCode">
|
||||||
|
<div class="acea-row row-middle">
|
||||||
|
<image src="/static/images/code_2.png"></image>
|
||||||
|
<input type="text" placeholder="填写验证码" placeholder-class="placeholder" class="codeIput"
|
||||||
|
v-model="codeVal" />
|
||||||
|
<div class="code" @click="getcaptcha">
|
||||||
|
<image class="code-img" style="width: 100%;height: 100%;" :src="codeUrl" />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
|
||||||
<div class="tip">
|
|
||||||
<span @click="formItem = 2" class="font-color-red">立即注册</span>
|
|
||||||
<navigator class="forgetPwd" hover-class="none" url="/pages/users/retrievePassword/index">
|
|
||||||
忘记密码
|
|
||||||
</navigator>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
<div class="logon" @click="loginMobile" :hidden="current !== 1">登录</div>
|
||||||
<div class="list" :hidden="current !== 1">
|
<div class="logon" @click="submit" :hidden="current === 1">登录</div>
|
||||||
<div class="item">
|
<div class="protocol acea-row row-between-wrapper">
|
||||||
<div class="acea-row row-middle">
|
<checkbox-group class="checkgroup" @change='isAgree=!isAgree'>
|
||||||
<image src="/static/images/phone_1.png"></image>
|
<checkbox class="checkbox" :checked="isAgree ? true : false" />
|
||||||
<input type="text" placeholder="输入手机号码" placeholder-class="placeholder" v-model="account" />
|
<text class="protocol_text">我已同意<text @click="userAgree"
|
||||||
</div>
|
class="font_pro">《用户协议》</text>与<text @click="userPrivacyAgree"
|
||||||
|
class="font_pro">《隐私政策》</text></text>
|
||||||
|
</checkbox-group>
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<!-- #ifdef MP -->
|
||||||
<div class="acea-row row-middle">
|
<!-- <view class="appLogin">
|
||||||
<image src="/static/images/code_2.png"></image>
|
|
||||||
<input type="text" placeholder="填写验证码" placeholder-class="placeholder" class="codeIput" v-model="captcha" />
|
|
||||||
<button class="code" :disabled="disabled" :class="disabled === true ? 'on' : ''" @click="handleVerify">
|
|
||||||
{{ text }}
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="item" v-if="isShowCode">
|
|
||||||
<div class="acea-row row-middle">
|
|
||||||
<image src="/static/images/code_2.png"></image>
|
|
||||||
<input type="text" placeholder="填写验证码" placeholder-class="placeholder" class="codeIput" v-model="codeVal" />
|
|
||||||
<div class="code" @click="getcaptcha"><image class="code-img" style="width: 100%;height: 100%;" :src="codeUrl" /></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="logon" @click="loginMobile" :hidden="current !== 1">登录</div>
|
|
||||||
<div class="logon" @click="submit" :hidden="current === 1">登录</div>
|
|
||||||
<div class="protocol acea-row row-between-wrapper">
|
|
||||||
<checkbox-group class="checkgroup" @change='isAgree=!isAgree'>
|
|
||||||
<checkbox class="checkbox" :checked="isAgree ? true : false" />
|
|
||||||
<text class="protocol_text">我已同意<text @click="userAgree" class="font_pro">《用户协议》</text>与<text @click="userPrivacyAgree" class="font_pro">《隐私政策》</text></text>
|
|
||||||
</checkbox-group>
|
|
||||||
</div>
|
|
||||||
<!-- #ifdef MP -->
|
|
||||||
<!-- <view class="appLogin">
|
|
||||||
<view class="hds">
|
<view class="hds">
|
||||||
<span class="line"></span>
|
<span class="line"></span>
|
||||||
<p>其他方式登录</p>
|
<p>其他方式登录</p>
|
||||||
@ -84,9 +95,9 @@
|
|||||||
</button>
|
</button>
|
||||||
</view>
|
</view>
|
||||||
</view> -->
|
</view> -->
|
||||||
<!-- #endif -->
|
<!-- #endif -->
|
||||||
<!-- #ifdef APP-PLUS -->
|
<!-- #ifdef APP-PLUS -->
|
||||||
<!-- <view class="appLogin" v-if="!appLoginStatus && !appleLoginStatus">
|
<!-- <view class="appLogin" v-if="!appLoginStatus && !appleLoginStatus">
|
||||||
<view class="hds">
|
<view class="hds">
|
||||||
<span class="line"></span>
|
<span class="line"></span>
|
||||||
<p>其他方式登录</p>
|
<p>其他方式登录</p>
|
||||||
@ -101,113 +112,130 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view> -->
|
</view> -->
|
||||||
<!-- #endif -->
|
<!-- #endif -->
|
||||||
</div>
|
|
||||||
<div class="whiteBg" v-else>
|
|
||||||
<div class="title">注册账号</div>
|
|
||||||
<div class="list">
|
|
||||||
<div class="item">
|
|
||||||
<div class="acea-row row-middle">
|
|
||||||
<image src="/static/images/phone_1.png"></image>
|
|
||||||
<input type="text" placeholder="输入手机号码" placeholder-class="placeholder" v-model="account" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="item">
|
|
||||||
<div class="acea-row row-middle">
|
|
||||||
<image src="/static/images/code_2.png"></image>
|
|
||||||
<input type="text" placeholder="填写验证码" placeholder-class="placeholder" class="codeIput" v-model="captcha" />
|
|
||||||
<button class="code" :disabled="disabled" :class="disabled === true ? 'on' : ''" @click="handleVerify">
|
|
||||||
{{ text }}
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="item">
|
|
||||||
<div class="acea-row row-middle">
|
|
||||||
<image src="/static/images/code_1.png"></image>
|
|
||||||
<input type="password" placeholder="填写您的登录密码" placeholder-class="placeholder" v-model="password" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="item" v-if="isShowCode">
|
|
||||||
<div class="acea-row row-middle">
|
|
||||||
<image src="/static/images/code_2.png"></image>
|
|
||||||
<input type="text" placeholder="填写验证码" placeholder-class="placeholder" class="codeIput" v-model="codeVal" />
|
|
||||||
<div class="code" @click="getcaptcha"><image class="code-img" style="width: 100%;height: 100%;" :src="codeUrl" /></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="tip">
|
<div class="whiteBg" v-else>
|
||||||
<div>
|
<div class="title">注册账号</div>
|
||||||
已有账号?
|
<div class="list">
|
||||||
<span @click="formItem = 1" class="font-color-red">去登录</span>
|
<div class="item">
|
||||||
|
<div class="acea-row row-middle">
|
||||||
|
<image src="/static/images/phone_1.png"></image>
|
||||||
|
<input type="text" placeholder="输入手机号码" placeholder-class="placeholder"
|
||||||
|
v-model="account" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<div class="acea-row row-middle">
|
||||||
|
<image src="/static/images/code_2.png"></image>
|
||||||
|
<input type="text" placeholder="填写验证码" placeholder-class="placeholder" class="codeIput"
|
||||||
|
v-model="captcha" />
|
||||||
|
<button class="code" :disabled="disabled" :class="disabled === true ? 'on' : ''"
|
||||||
|
@click="handleVerify">
|
||||||
|
{{ text }}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<div class="acea-row row-middle">
|
||||||
|
<image src="/static/images/code_1.png"></image>
|
||||||
|
<input type="password" placeholder="填写您的登录密码" placeholder-class="placeholder"
|
||||||
|
v-model="password" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="item" v-if="isShowCode">
|
||||||
|
<div class="acea-row row-middle">
|
||||||
|
<image src="/static/images/code_2.png"></image>
|
||||||
|
<input type="text" placeholder="填写验证码" placeholder-class="placeholder" class="codeIput"
|
||||||
|
v-model="codeVal" />
|
||||||
|
<div class="code" @click="getcaptcha">
|
||||||
|
<image class="code-img" style="width: 100%;height: 100%;" :src="codeUrl" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="tip">
|
||||||
|
<div>
|
||||||
|
已有账号?
|
||||||
|
<span @click="formItem = 1" class="font-color-red">去登录</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="logon" @click="register">注册</div>
|
||||||
|
<div class="protocol acea-row row-between-wrapper">
|
||||||
|
<checkbox-group class="checkgroup" @change='isAgree=!isAgree'>
|
||||||
|
<checkbox class="checkbox" :checked="isAgree ? true : false" />
|
||||||
|
<text class="protocol_text">我已同意<text @click="userAgree"
|
||||||
|
class="font_pro">《用户协议》</text>与<text @click="userPrivacyAgree"
|
||||||
|
class="font_pro">《隐私政策》</text></text>
|
||||||
|
</checkbox-group>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div class="logon" @click="register">注册</div>
|
|
||||||
<div class="protocol acea-row row-between-wrapper">
|
|
||||||
<checkbox-group class="checkgroup" @change='isAgree=!isAgree'>
|
|
||||||
<checkbox class="checkbox" :checked="isAgree ? true : false" />
|
|
||||||
<text class="protocol_text">我已同意<text @click="userAgree" class="font_pro">《用户协议》</text>与<text @click="userPrivacyAgree" class="font_pro">《隐私政策》</text></text>
|
|
||||||
</checkbox-group>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- #ifdef APP-PLUS -->
|
<!-- #ifdef APP-PLUS -->
|
||||||
<view class="appLogin" v-if="!appLoginStatus && !appleLoginStatus">
|
<view class="appLogin" v-if="!appLoginStatus && !appleLoginStatus">
|
||||||
<view class="hds">
|
<view class="hds">
|
||||||
<span class="line"></span>
|
<span class="line"></span>
|
||||||
<p>其他方式登录</p>
|
<p>其他方式登录</p>
|
||||||
<span class="line"></span>
|
<span class="line"></span>
|
||||||
|
</view>
|
||||||
|
<view class="btn-wrapper">
|
||||||
|
<view class="btn wx" @click="wxLogin">
|
||||||
|
<span class="iconfont icon-s-weixindenglu1"></span>
|
||||||
|
</view>
|
||||||
|
<view class="btn wx btn-apple" @click="appleLogin" v-if="appleShow">
|
||||||
|
<span class="iconfont icon-s-pingguo"></span>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="btn-wrapper">
|
<!-- #endif -->
|
||||||
<view class="btn wx" @click="wxLogin">
|
</div>
|
||||||
<span class="iconfont icon-s-weixindenglu1"></span>
|
</div>
|
||||||
</view>
|
<div class="bottom"></div>
|
||||||
<view class="btn wx btn-apple" @click="appleLogin" v-if="appleShow">
|
<view class="settlementAgreement" v-if="showAgreement">
|
||||||
<span class="iconfont icon-s-pingguo"></span>
|
<view class="setAgCount">
|
||||||
</view>
|
<i class="icon iconfont icon-cha" @click="showAgreement = false"></i>
|
||||||
|
<div class="title">用户协议与隐私政策</div>
|
||||||
|
<view class="content">
|
||||||
|
<jyf-parser :html="agreement" ref="article" :tag-style="tagStyle"></jyf-parser>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- #endif -->
|
</view>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="bottom"></div>
|
<form report-submit='true' v-if="auth_token">
|
||||||
<view class="settlementAgreement" v-if="showAgreement">
|
<view class="ChangePassword">
|
||||||
<view class="setAgCount">
|
<view class="list">
|
||||||
<i class="icon iconfont icon-cha" @click="showAgreement = false"></i>
|
<view class="item">
|
||||||
<div class="title">用户协议与隐私政策</div>
|
<input type='number' placeholder='填写手机号码' placeholder-class='placeholder'
|
||||||
<view class="content">
|
v-model="account"></input>
|
||||||
<jyf-parser :html="agreement" ref="article" :tag-style="tagStyle"></jyf-parser>
|
</view>
|
||||||
|
<view class="item acea-row row-between-wrapper">
|
||||||
|
<input type='number' placeholder='填写验证码' placeholder-class='placeholder' class="codeIput"
|
||||||
|
v-model="captcha"></input>
|
||||||
|
<button class="code" :class="disabled === true ? 'on' : ''" :disabled='disabled'
|
||||||
|
@click="handleVerify">
|
||||||
|
{{ text }}
|
||||||
|
</button>
|
||||||
|
</view>
|
||||||
|
<view class="item">
|
||||||
|
<input type='password' placeholder='填写登录密码' placeholder-class='placeholder'
|
||||||
|
v-model="password"></input>
|
||||||
|
</view>
|
||||||
|
<view class="protocol acea-row row-between-wrapper">
|
||||||
|
<checkbox-group class="checkgroup" @change='isAgree=!isAgree'>
|
||||||
|
<checkbox class="checkbox" :checked="isAgree ? true : false" />
|
||||||
|
<text class="protocol_text">我已同意<text @click="userAgree"
|
||||||
|
class="font_pro">《用户协议》</text>与<text @click="userPrivacyAgree"
|
||||||
|
class="font_pro">《隐私政策》</text></text>
|
||||||
|
</checkbox-group>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<button form-type="submit" @click="register" class="confirmBnt">确认绑定</button>
|
||||||
|
<button form-type="submit" @click="auth_token = ''" class="confirmBnt back">返回</button>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</form>
|
||||||
</div>
|
<view class="copyright" @click="goCopyUrl">
|
||||||
<form report-submit='true' v-if="auth_token">
|
{{ copyright.status == -1 ? `${copyright.year} ${copyright.url}` : copyright.Copyright }}</view>
|
||||||
<view class="ChangePassword">
|
|
||||||
<view class="list">
|
|
||||||
<view class="item">
|
|
||||||
<input type='number' placeholder='填写手机号码' placeholder-class='placeholder' v-model="account"></input>
|
|
||||||
</view>
|
|
||||||
<view class="item acea-row row-between-wrapper">
|
|
||||||
<input type='number' placeholder='填写验证码' placeholder-class='placeholder' class="codeIput" v-model="captcha"></input>
|
|
||||||
<button class="code" :class="disabled === true ? 'on' : ''" :disabled='disabled' @click="handleVerify">
|
|
||||||
{{ text }}
|
|
||||||
</button>
|
|
||||||
</view>
|
|
||||||
<view class="item">
|
|
||||||
<input type='password' placeholder='填写登录密码' placeholder-class='placeholder' v-model="password"></input>
|
|
||||||
</view>
|
|
||||||
<view class="protocol acea-row row-between-wrapper">
|
|
||||||
<checkbox-group class="checkgroup" @change='isAgree=!isAgree'>
|
|
||||||
<checkbox class="checkbox" :checked="isAgree ? true : false" />
|
|
||||||
<text class="protocol_text">我已同意<text @click="userAgree" class="font_pro">《用户协议》</text>与<text @click="userPrivacyAgree" class="font_pro">《隐私政策》</text></text>
|
|
||||||
</checkbox-group>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<button form-type="submit" @click="register" class="confirmBnt">确认绑定</button>
|
|
||||||
<button form-type="submit" @click="auth_token = ''" class="confirmBnt back">返回</button>
|
|
||||||
</view>
|
|
||||||
</form>
|
|
||||||
<view class="copyright" @click="goCopyUrl">{{ copyright.status == -1 ? `${copyright.year} ${copyright.url}` : copyright.Copyright }}</view>
|
|
||||||
|
|
||||||
<Verify @success="success" :captchaType="'blockPuzzle'" :imgSize="{ width: '330px', height: '155px' }" ref="verify"></Verify>
|
<Verify @success="success" :captchaType="'blockPuzzle'" :imgSize="{ width: '330px', height: '155px' }"
|
||||||
|
ref="verify"></Verify>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
@ -252,7 +280,8 @@
|
|||||||
getLogo,
|
getLogo,
|
||||||
getconfig,
|
getconfig,
|
||||||
getVersion,
|
getVersion,
|
||||||
bindMp
|
bindMp,
|
||||||
|
bindJG
|
||||||
} from "@/api/public";
|
} from "@/api/public";
|
||||||
// import cookie from "@/utils/store/cookie";
|
// import cookie from "@/utils/store/cookie";
|
||||||
import {
|
import {
|
||||||
@ -267,6 +296,7 @@
|
|||||||
mapGetters
|
mapGetters
|
||||||
} from "vuex";
|
} from "vuex";
|
||||||
import Verify from '@/components/verify/verify.vue';
|
import Verify from '@/components/verify/verify.vue';
|
||||||
|
var jpushModule = uni.requireNativePlugin("JG-JPush");
|
||||||
const BACK_URL = "login_back_url";
|
const BACK_URL = "login_back_url";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -330,17 +360,17 @@
|
|||||||
mounted: function() {
|
mounted: function() {
|
||||||
|
|
||||||
},
|
},
|
||||||
onReady(){
|
onReady() {
|
||||||
let that = this
|
let that = this
|
||||||
// #ifdef MP
|
// #ifdef MP
|
||||||
wx.login({
|
wx.login({
|
||||||
success (res) {
|
success(res) {
|
||||||
if (res.code) {
|
if (res.code) {
|
||||||
that.codeVal = res.code
|
that.codeVal = res.code
|
||||||
} else {
|
} else {
|
||||||
// console.log('登录失败!' + res.errMsg)
|
// console.log('登录失败!' + res.errMsg)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
// #endif
|
// #endif
|
||||||
},
|
},
|
||||||
@ -350,10 +380,10 @@
|
|||||||
|
|
||||||
let that = this;
|
let that = this;
|
||||||
loginMpPhone({
|
loginMpPhone({
|
||||||
iv:e.detail.iv,
|
iv: e.detail.iv,
|
||||||
encryptedData:e.detail.encryptedData,
|
encryptedData: e.detail.encryptedData,
|
||||||
code:that.codeVal,
|
code: that.codeVal,
|
||||||
auth_token: uni.getStorageSync('auth_token'),
|
auth_token: uni.getStorageSync('auth_token'),
|
||||||
}).then(({
|
}).then(({
|
||||||
data
|
data
|
||||||
}) => {
|
}) => {
|
||||||
@ -367,8 +397,9 @@
|
|||||||
that.$store.commit('UPDATE_USERINFO', data.user);
|
that.$store.commit('UPDATE_USERINFO', data.user);
|
||||||
|
|
||||||
let method
|
let method
|
||||||
let indexPat = ['/pages/index/index', '/pages/order_addcart/order_addcart', '/pages/goods_cate/goods_cate',
|
let indexPat = ['/pages/index/index', '/pages/order_addcart/order_addcart',
|
||||||
'/pages/user/index','/pages/plant_grass/index'
|
'/pages/goods_cate/goods_cate',
|
||||||
|
'/pages/user/index', '/pages/plant_grass/index'
|
||||||
]
|
]
|
||||||
if (indexPat.includes(this.getPath(backUrl))) {
|
if (indexPat.includes(this.getPath(backUrl))) {
|
||||||
method = 'switchTab'
|
method = 'switchTab'
|
||||||
@ -394,23 +425,23 @@
|
|||||||
// #endif
|
// #endif
|
||||||
goCopyUrl() {
|
goCopyUrl() {
|
||||||
// #ifdef H5
|
// #ifdef H5
|
||||||
location.href = 'http://'+this.copyright.url
|
location.href = 'http://' + this.copyright.url
|
||||||
// #endif
|
// #endif
|
||||||
},
|
},
|
||||||
userAgree(){
|
userAgree() {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: '/pages/users/user_about/index?from=sys_user_agree'
|
url: '/pages/users/user_about/index?from=sys_user_agree'
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
userPrivacyAgree(){
|
userPrivacyAgree() {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: '/pages/users/user_about/index?from=sys_userr_privacy'
|
url: '/pages/users/user_about/index?from=sys_userr_privacy'
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
getSystem(system) {
|
getSystem(system) {
|
||||||
if(system.indexOf('iOS') === -1){
|
if (system.indexOf('iOS') === -1) {
|
||||||
return system
|
return system
|
||||||
}else{
|
} else {
|
||||||
let str = system.split(' ')[1]
|
let str = system.split(' ')[1]
|
||||||
if (str.indexOf('.')) {
|
if (str.indexOf('.')) {
|
||||||
return Number(str.split('.')[0])
|
return Number(str.split('.')[0])
|
||||||
@ -459,19 +490,21 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
appleLoginApi(){
|
appleLoginApi() {
|
||||||
let that = this
|
let that = this
|
||||||
commonAuth({
|
commonAuth({
|
||||||
auth: {
|
auth: {
|
||||||
type:'apple',
|
type: 'apple',
|
||||||
auth: {
|
auth: {
|
||||||
userInfo: that.appleUserInfo,
|
userInfo: that.appleUserInfo,
|
||||||
openId: that.appleUserInfo.openId,
|
openId: that.appleUserInfo.openId,
|
||||||
nickname: (that.appleUserInfo.fullName.familyName || '') + (that.appleUserInfo.fullName.giveName || ''),
|
nickname: (that.appleUserInfo.fullName.familyName || '') + (that.appleUserInfo.fullName
|
||||||
|
.giveName || ''),
|
||||||
}
|
}
|
||||||
}}).then(res => {
|
}
|
||||||
|
}).then(res => {
|
||||||
const data = res.data;
|
const data = res.data;
|
||||||
if(res.data.status == 200){
|
if (res.data.status == 200) {
|
||||||
const backUrl = that.$Cache.get(BACK_URL) || "/pages/index/index";
|
const backUrl = that.$Cache.get(BACK_URL) || "/pages/index/index";
|
||||||
that.$Cache.clear(BACK_URL);
|
that.$Cache.clear(BACK_URL);
|
||||||
that.$store.commit("LOGIN", {
|
that.$store.commit("LOGIN", {
|
||||||
@ -482,8 +515,9 @@
|
|||||||
that.$store.commit('UPDATE_USERINFO', data.result.user);
|
that.$store.commit('UPDATE_USERINFO', data.result.user);
|
||||||
|
|
||||||
let method
|
let method
|
||||||
let indexPat = ['/pages/index/index', '/pages/order_addcart/order_addcart', '/pages/goods_cate/goods_cate',
|
let indexPat = ['/pages/index/index', '/pages/order_addcart/order_addcart',
|
||||||
'/pages/user/index','/pages/plant_grass/index'
|
'/pages/goods_cate/goods_cate',
|
||||||
|
'/pages/user/index', '/pages/plant_grass/index'
|
||||||
]
|
]
|
||||||
if (indexPat.includes(this.getPath(backUrl))) {
|
if (indexPat.includes(this.getPath(backUrl))) {
|
||||||
method = 'switchTab'
|
method = 'switchTab'
|
||||||
@ -499,7 +533,7 @@
|
|||||||
uni[method]({
|
uni[method]({
|
||||||
url: backUrl
|
url: backUrl
|
||||||
});
|
});
|
||||||
}else{
|
} else {
|
||||||
uni.hideLoading();
|
uni.hideLoading();
|
||||||
that.auth_token = res.data.result.key;
|
that.auth_token = res.data.result.key;
|
||||||
}
|
}
|
||||||
@ -550,15 +584,16 @@
|
|||||||
const that = this
|
const that = this
|
||||||
commonAuth({
|
commonAuth({
|
||||||
auth: {
|
auth: {
|
||||||
type:'app_wechat',
|
type: 'app_wechat',
|
||||||
auth: {
|
auth: {
|
||||||
code: that.appUserInfo.authResult.access_token,
|
code: that.appUserInfo.authResult.access_token,
|
||||||
openid: that.appUserInfo.authResult.openid,
|
openid: that.appUserInfo.authResult.openid,
|
||||||
phone: this.account,
|
phone: this.account,
|
||||||
}
|
}
|
||||||
}}).then(res => {
|
}
|
||||||
|
}).then(res => {
|
||||||
const data = res.data;
|
const data = res.data;
|
||||||
if(res.data.status == 200){
|
if (res.data.status == 200) {
|
||||||
const backUrl = that.$Cache.get(BACK_URL) || "/pages/index/index";
|
const backUrl = that.$Cache.get(BACK_URL) || "/pages/index/index";
|
||||||
that.$Cache.clear(BACK_URL);
|
that.$Cache.clear(BACK_URL);
|
||||||
that.$store.commit("LOGIN", {
|
that.$store.commit("LOGIN", {
|
||||||
@ -568,8 +603,9 @@
|
|||||||
that.$store.commit("SETUID", data.result.user.uid);
|
that.$store.commit("SETUID", data.result.user.uid);
|
||||||
that.$store.commit('UPDATE_USERINFO', data.result.user);
|
that.$store.commit('UPDATE_USERINFO', data.result.user);
|
||||||
let method
|
let method
|
||||||
let indexPat = ['/pages/index/index', '/pages/order_addcart/order_addcart', '/pages/goods_cate/goods_cate',
|
let indexPat = ['/pages/index/index', '/pages/order_addcart/order_addcart',
|
||||||
'/pages/user/index','/pages/plant_grass/index'
|
'/pages/goods_cate/goods_cate',
|
||||||
|
'/pages/user/index', '/pages/plant_grass/index'
|
||||||
]
|
]
|
||||||
if (indexPat.includes(this.getPath(backUrl))) {
|
if (indexPat.includes(this.getPath(backUrl))) {
|
||||||
method = 'switchTab'
|
method = 'switchTab'
|
||||||
@ -585,11 +621,11 @@
|
|||||||
uni[method]({
|
uni[method]({
|
||||||
url: backUrl
|
url: backUrl
|
||||||
});
|
});
|
||||||
}else{
|
} else {
|
||||||
that.auth_token = res.data.result.key;
|
that.auth_token = res.data.result.key;
|
||||||
that.bindStatus = true;
|
that.bindStatus = true;
|
||||||
}
|
}
|
||||||
uni.hideLoading();
|
uni.hideLoading();
|
||||||
}).catch(res => {
|
}).catch(res => {
|
||||||
uni.hideLoading();
|
uni.hideLoading();
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
@ -662,7 +698,8 @@
|
|||||||
that.$store.commit('UPDATE_USERINFO', data.user);
|
that.$store.commit('UPDATE_USERINFO', data.user);
|
||||||
|
|
||||||
let method
|
let method
|
||||||
let indexPat = ['/pages/index/index', '/pages/order_addcart/order_addcart', '/pages/goods_cate/goods_cate',
|
let indexPat = ['/pages/index/index', '/pages/order_addcart/order_addcart',
|
||||||
|
'/pages/goods_cate/goods_cate',
|
||||||
'/pages/user/index'
|
'/pages/user/index'
|
||||||
]
|
]
|
||||||
if (indexPat.includes(this.getPath(backUrl))) {
|
if (indexPat.includes(this.getPath(backUrl))) {
|
||||||
@ -755,7 +792,7 @@
|
|||||||
type: 'login',
|
type: 'login',
|
||||||
key: that.keyCode,
|
key: that.keyCode,
|
||||||
// code: that.codeVal,
|
// code: that.codeVal,
|
||||||
toke:data.token,
|
toke: data.token,
|
||||||
captchaType: 'blockPuzzle',
|
captchaType: 'blockPuzzle',
|
||||||
captchaVerification: data.captchaVerification
|
captchaVerification: data.captchaVerification
|
||||||
})
|
})
|
||||||
@ -823,7 +860,8 @@
|
|||||||
that.$store.commit('UPDATE_USERINFO', data.user);
|
that.$store.commit('UPDATE_USERINFO', data.user);
|
||||||
|
|
||||||
let method
|
let method
|
||||||
let indexPat = ['/pages/index/index', '/pages/order_addcart/order_addcart', '/pages/goods_cate/goods_cate',
|
let indexPat = ['/pages/index/index', '/pages/order_addcart/order_addcart',
|
||||||
|
'/pages/goods_cate/goods_cate',
|
||||||
'/pages/user/index'
|
'/pages/user/index'
|
||||||
]
|
]
|
||||||
if (indexPat.includes(this.getPath(backUrl))) {
|
if (indexPat.includes(this.getPath(backUrl))) {
|
||||||
@ -871,29 +909,42 @@
|
|||||||
},
|
},
|
||||||
checkOpenId(user) {
|
checkOpenId(user) {
|
||||||
if (user.wechat_user_id === 0) {
|
if (user.wechat_user_id === 0) {
|
||||||
let that = this
|
let that = this
|
||||||
wx.getUserInfo({
|
wx.getUserInfo({
|
||||||
success: function(res) {
|
success: function(res) {
|
||||||
const encryptedData = res.encryptedData
|
const encryptedData = res.encryptedData
|
||||||
const iv = res.iv
|
const iv = res.iv
|
||||||
wx.login({
|
wx.login({
|
||||||
success(res) {
|
success(res) {
|
||||||
if (res.code) {
|
if (res.code) {
|
||||||
bindMp({ code: res.code, iv: iv, encryptedData: encryptedData, phone: that
|
bindMp({
|
||||||
.account }).then(res => {
|
code: res.code,
|
||||||
// console.log(res);
|
iv: iv,
|
||||||
})
|
encryptedData: encryptedData,
|
||||||
} else {
|
phone: that.account
|
||||||
// console.log('登录失败!' + res.errMsg)
|
}).then(res => {
|
||||||
}
|
// console.log(res);
|
||||||
}
|
})
|
||||||
})
|
} else {
|
||||||
},
|
// console.log('登录失败!' + res.errMsg)
|
||||||
fail(e) {
|
}
|
||||||
// console.log('登录失败!' + res.errMsg)
|
}
|
||||||
}
|
})
|
||||||
})
|
},
|
||||||
|
fail(e) {
|
||||||
|
// console.log('登录失败!' + res.errMsg)
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
jpushModule.initJPushService()
|
||||||
|
jpushModule.getRegistrationID(result => {
|
||||||
|
if (result.registerID) {
|
||||||
|
bindJG({
|
||||||
|
phone: this.account,
|
||||||
|
jg_register_id: result.registerID
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -902,9 +953,11 @@
|
|||||||
page {
|
page {
|
||||||
background-color: #fff !important;
|
background-color: #fff !important;
|
||||||
}
|
}
|
||||||
/deep/uni-checkbox .uni-checkbox-input{
|
|
||||||
|
/deep/uni-checkbox .uni-checkbox-input {
|
||||||
border-radius: 100%;
|
border-radius: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ChangePassword .phone {
|
.ChangePassword .phone {
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
@ -937,9 +990,12 @@
|
|||||||
width: 240rpx;
|
width: 240rpx;
|
||||||
|
|
||||||
}
|
}
|
||||||
/deep/.uni-input-wrapper,/deep/.uni-input-input{
|
|
||||||
|
/deep/.uni-input-wrapper,
|
||||||
|
/deep/.uni-input-input {
|
||||||
// width: 240rpx;
|
// width: 240rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ChangePassword .list .item .code {
|
.ChangePassword .list .item .code {
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
@ -962,14 +1018,14 @@
|
|||||||
background-color: var(--view-theme);
|
background-color: var(--view-theme);
|
||||||
}
|
}
|
||||||
|
|
||||||
.ChangePassword .confirmBnt.back{
|
.ChangePassword .confirmBnt.back {
|
||||||
background-color: #FFFFFF;
|
background-color: #FFFFFF;
|
||||||
border: 1px solid var(--view-theme);
|
border: 1px solid var(--view-theme);
|
||||||
color: var(--view-theme);
|
color: var(--view-theme);
|
||||||
margin-top: 30rpx;
|
margin-top: 30rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.getPhoneBtn{
|
.getPhoneBtn {
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
width: 580rpx;
|
width: 580rpx;
|
||||||
height: 90rpx;
|
height: 90rpx;
|
||||||
@ -979,11 +1035,13 @@
|
|||||||
margin: 40rpx auto 0 auto;
|
margin: 40rpx auto 0 auto;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
line-height: 90rpx;
|
line-height: 90rpx;
|
||||||
.iconfont{
|
|
||||||
|
.iconfont {
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
margin-right: 12rpx;
|
margin-right: 12rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.code image {
|
.code image {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
@ -994,6 +1052,7 @@
|
|||||||
margin-left: 20rpx;
|
margin-left: 20rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.settlementAgreement {
|
.settlementAgreement {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
@ -1003,10 +1062,12 @@
|
|||||||
background: rgba(0, 0, 0, .5);
|
background: rgba(0, 0, 0, .5);
|
||||||
z-index: 10;
|
z-index: 10;
|
||||||
}
|
}
|
||||||
.protocol_text{
|
|
||||||
|
.protocol_text {
|
||||||
color: #999;
|
color: #999;
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.settlementAgreement .setAgCount {
|
.settlementAgreement .setAgCount {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
width: 656rpx;
|
width: 656rpx;
|
||||||
@ -1021,6 +1082,7 @@
|
|||||||
-moz-transform: translate(-50%, -50%);
|
-moz-transform: translate(-50%, -50%);
|
||||||
transform: translate(-50%, -50%);
|
transform: translate(-50%, -50%);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
height: 900rpx;
|
height: 900rpx;
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
@ -1035,6 +1097,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.settlementAgreement .setAgCount .icon {
|
.settlementAgreement .setAgCount .icon {
|
||||||
font-size: 42rpx;
|
font-size: 42rpx;
|
||||||
color: #b4b1b4;
|
color: #b4b1b4;
|
||||||
@ -1043,12 +1106,14 @@
|
|||||||
right: 15rpx;
|
right: 15rpx;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.settlementAgreement .setAgCount .title {
|
.settlementAgreement .setAgCount .title {
|
||||||
color: #333;
|
color: #333;
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
.settlementAgreement .setAgCount .content {
|
.settlementAgreement .setAgCount .content {
|
||||||
margin-top: 32rpx;
|
margin-top: 32rpx;
|
||||||
color: #333;
|
color: #333;
|
||||||
@ -1059,17 +1124,20 @@
|
|||||||
height: 756rpx;
|
height: 756rpx;
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
}
|
}
|
||||||
.protocol{
|
|
||||||
|
.protocol {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
margin-top: 30rpx;
|
margin-top: 30rpx;
|
||||||
}
|
}
|
||||||
.protocol_text{
|
|
||||||
.font_pro{
|
.protocol_text {
|
||||||
|
.font_pro {
|
||||||
color: var(--view-theme);
|
color: var(--view-theme);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.appLogin {
|
.appLogin {
|
||||||
.hds {
|
.hds {
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -1077,15 +1145,18 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
color: #B4B4B4;
|
color: #B4B4B4;
|
||||||
|
|
||||||
.line {
|
.line {
|
||||||
width: 68rpx;
|
width: 68rpx;
|
||||||
height: 1rpx;
|
height: 1rpx;
|
||||||
background: #CCCCCC;
|
background: #CCCCCC;
|
||||||
}
|
}
|
||||||
|
|
||||||
p {
|
p {
|
||||||
margin: 0 20rpx;
|
margin: 0 20rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-wrapper {
|
.btn-wrapper {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@ -1100,7 +1171,7 @@
|
|||||||
height: 68rpx;
|
height: 68rpx;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
|
|
||||||
+ .btn {
|
+.btn {
|
||||||
margin-left: 30rpx;
|
margin-left: 30rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1131,7 +1202,8 @@
|
|||||||
.wx {
|
.wx {
|
||||||
// margin-right: 30rpx;
|
// margin-right: 30rpx;
|
||||||
background-color: #61C64F;
|
background-color: #61C64F;
|
||||||
&.btn-apple{
|
|
||||||
|
&.btn-apple {
|
||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
background-color: #333;
|
background-color: #333;
|
||||||
}
|
}
|
||||||
@ -1233,6 +1305,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.copyright {
|
.copyright {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
bottom: 30rpx;
|
bottom: 30rpx;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user