123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- <template>
- <view class="bg">
- <image src="https://axure-file.lanhuapp.com/md5__f93627286149f825890eb821ab5d5abb.png" class="pic" mode="widthFix"></image>
- <view class="xy">
- <u-checkbox-group class="checkbox" v-model="item.checked">
- <u-checkbox size="15" shape="circle" label="我已阅读并同意" labelSize="14" name="true"></u-checkbox>
- </u-checkbox-group>
- <text class="a" @click="go('/pages/other/agreement?title=用户协议')">《用户协议》</text>
- <text>和</text>
- <text class="a" @click="go('/pages/other/agreement?title=隐私政策')">《隐私政策》</text>
- </view>
- <button class="btn" @click="getUserProfile()" :disabled="disabled">
- <text class="icon"></text>
- <text>用户登录</text>
- </button>
- <button class="btn" style="background-color: #607d8b" @click="go('/pages/user/loginDoctor')">
- <text class="icon"></text>
- <text>医生登录</text>
- </button>
- </view>
- </template>
- <script>
- export default {
- data() {
- return {
- item: {},
- disabled: false //防止重复点击
- };
- },
- methods: {
- getUserProfile() {
- let rule = [{ name: 'checked', checkType: 'notnull', errorMsg: '请同意并勾选协议' }];
- if (!this.verify.check(this.item, rule)) {
- uni.showModal({ content: this.verify.error, showCancel: false });
- return false;
- }
- this.disabled = true;
- let code = '';
- uni.login({
- provider: 'weixin',
- success: (res) => {
- code = res.code;
- }
- });
- //获取用户信息
- uni.getUserProfile({
- desc: '用于完善会员资料',
- lang: 'zh_CN',
- provider: 'weixin',
- success: (info) => {
- let item = info.userInfo;
- item.code = code;
- this.http.request({
- url: '/app/user/login',
- data: item,
- method: 'POST',
- success: (res) => {
- this.disabled = false;
- uni.setStorageSync('user', res.data.data);
- uni.navigateBack();
- },
- fail: (res) => {
- this.disabled = false;
- }
- });
- },
- fail: (res) => {
- this.disabled = false;
- }
- });
- },
- go(url) {
- uni.navigateTo({ url: url });
- }
- }
- };
- </script>
- <style lang="scss">
- .bg {
- padding: 30px;
- margin-top: -20px;
- .pic {
- width: 100%;
- border-radius: 5px;
- }
- .btn {
- .icon {
- padding-right: 5px;
- }
- }
- }
- </style>
|