2023年11月1日蜻蜓C影视追剧系统v1.2.2更新-与时俱进调整微信登录授权获取方式-修复无法登陆授权

2023年11月1日蜻蜓C影视追剧系统v1.2.2更新-与时俱进调整微信登录授权获取方式-修复无法登陆授权

问题背景:

小程序用户头像昵称获取规则调整公告官方 微信团队2022-05-09 更新时间:2022年11月9日

由于 PC/macOS 平台「头像昵称填写能力」存在兼容性问题,对于来自低于2.27.1版本的访问,小程序通过 wx.getUserProfile 接口将正常返回用户头像昵称,插件通过 wx.getUserInfo 接口将正常返回用户头像昵称。

更新时间:2022年9月28日

考虑到近期开发者对小程序用户头像昵称获取规则调整的相关反馈,平台将接口回收的截止时间由2022年10月25日延期至2022年11月8日24时。

调整背景

在小程序内,开发者可以通过 wx.login 接口直接获取用户的 openId 与 unionId 信息,实现微信身份登录,支持开发者在多个小程序或其它应用间匿名关联同一用户。

同时,为了满足部分小程序业务中需要创建用户的昵称与头像的诉求,平台提供了 wx.getUserProfile 接口,支持在用户授权的前提下,快速使用自己的微信昵称头像。

但实践中发现有部分小程序,在用户刚打开小程序时就要求收集用户的微信昵称头像,或者在支付前等不合理路径上要求授权。如果用户拒绝授权,则无法使用小程序或相关功能。在已经获取用户的 openId 与 unionId 信息情况下,用户的微信昵称与头像并不是用户使用小程序的必要条件。为减少此类不合理的强迫授权情况,作出如下调整。

添加图片注释,不超过 140 字(可选)

蜻蜓c系统最后一次调整是2022年10月19日更新,因此完美中招遇到此问题,此问题排查了不少时间才发现原来是官方问题造成的,开始排查的时候很莫名其妙,本更新以此记录。

更新日志

·修复微信小程序接口权限由于政策调整导致整个小程序无法正常使用的bug ·增加手动强制上传微信头像,获取微信昵称 ·额外新增头像管理页面 ·调整绑定用户手机号的步骤在微信获取授权这步

截图

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)

本次更新前端相关文件

主要更新内容,其他细节内容忽略

 
            }44    44            },45    45               watch: {46                            status: function (newData, oldData) {47                                46                        status: function (newData, oldData) {            48    47                           if(newData==true){49    48                                this.getUserWxHead();50    49                           }@@ -74,7 +73,22 @@74    73                        uni.setStorageSync('user', res.data.data.user)75    74                        let startTime = new Date().getTime()76    75                        uni.setStorageSync('validity', startTime);77                            this.getModifyuserinfo(this.avatarUrl,this.nickName);76                        // uni.navigateTo({77                        //     url: '/pages/uploadHeader/index'   78                        // });79                            if(res.data.data.user.hasOwnProperty('nickname')==false){80                                uni.navigateTo({81                                    url: '/pages/uploadHeader/index'   82                                });83                                return;84                            }85                        if(res.data.data.user.nickname=='微信用户' || res.data.data.user.nickname=='' ){86                            uni.navigateTo({87                                url: '/pages/uploadHeader/index'   88                            });89                        }90                91                        // this.getModifyuserinfo(this.avatarUrl,this.nickName);78    92                              this.$emit("update",'')79    93                    })80    94                },@@ -97,6 +111,7 @@97    111                },98    112                // 获取微信用户头像99    113                getUserWxHead() {114                     console.log(222)  100    115                    let that = this101    116                    uni.showModal({102    117                        title: '温馨提示',
<template>2        <view class="body">3            <view class="body-top">4                <view class="item">5                    <text>6                        账号名称7                    </text>8                    <view class="item-name">9                         <input class="input-name" type="nickname" maxlength="16" minlength="2" v-model="nickName"10                            @change="inputWord" placeholder="点击获取昵称" />11                        <image class="my_back" src="./static/back.png"></image>12                    </view>13                </view>14                <view class="divider"></view>15                <view class="item">16                    <text>17                        头像设置18                    </text>19                    <view class="item-xq">20                        <button class="my_txImg1" open-type="chooseAvatar" @chooseavatar="onChooseAvatar" plain="true" style="display: flex; justify-items: center;">21                            <view v-if="avatarUrl">    <image class="my_txImg" :src="avatarUrl"></image></view>22                            <view v-else  style="font-size: 14px;"> 点击上传图片</view>23                        24                        </button>25                        <image class="my_back" src="./static/back.png"></image>26                    </view>27                </view>28            </view>29     30        </view>31    </template>32    33    <script>34        import {35        getModifyuserinfo,36        getnewUpload37        } from '@/api/login.js';38        export default {39            data() {40                return {41                    BASE_URL: getApp().globalData.BASE_URL,42                    userInfo: uni.getStorageSync("userInfo"),43                    nickName: uni.getStorageSync("userInfo").nickName,44                    avatarUrl: uni.getStorageSync("userInfo").avatarUrl,45                };46            },47            methods: {48                base64(url, type) {49                  return new Promise((resolve, reject) => {50                    wx.getFileSystemManager().readFile({51                      filePath: url, //选择图片返回的相对路径52                      encoding: 'base64', //编码格式53                      success: res => {54                        // resolve('data:image/' + type.toLocaleLowerCase() + ';base64,' + res.data)55                        resolve("data:image/jpg" +";base64,"+res.data)56                      },57                      fail: res => reject(res.errMsg)58                    })59                  })60                },61            62                // 清除登录63                exit() {64                    uni.showModal({65                        title: "提示",66                        content: "确定要退出登录吗?",67                        cancelText: "取消",68                        confirmText: "确定",69                        success: (res) => {70                            if (res.confirm) {71                                uni.clearStorageSync();72                                uni.reLaunch({73                                    url: "../index/index",74                                });75                            }76                        },77                    });78                },79                onChooseAvatar(e) {80                    this.avatarUrl= e.detail.avatarUrl81                    if(this.nickName=='' || this.nickName==undefined){82                        uni.showToast({83                            title: '请先点击获取昵称',84                            duration: 2000,85                            icon:"none",86                            mask: true,87                        });88                        return;89                    }90                    this.base64(this.avatarUrl).then(rest=>{91                        var data={92                            image:rest93                        }94                        getnewUpload(data).then(res=>{95                                var data={96                                         avatar: res.data.data.image_url,97                                         nickname:this.nickName98                                }99                                 getModifyuserinfo(data).then(res=>{100                                                 if(res.data.code==200){101                                    102                                                    uni.setStorageSync('user', res.data.data)103                                                    uni.navigateBack({104                                                            delta:1,//返回层数,2则上上页105                                        })106                                       }107                                 })108                        })109                            110                        111                    })112            113                },114                115                inputWord(e) {116                    this.nickName = e.detail.value117                                    let str = this.nickName.trim();118                            //         if(str.length==0){119                            //             uni.showToast({120                            //                 title: '请输入合法的昵称',121                            //                 duration: 2000,122                            //                 icon:"none",123                            //                 mask: true,124                            //             });125                            //   return126                            // }127                        if((/[^/a-zA-Z0-9\u4E00-\u9FA5]/g).test(str)){128                            uni.showToast({129                                title: '请输入中英文和数字',130                                duration: 2000,131                                icon:"none",132                                mask: true,133                            });134                        return135                        }136                    setTimeout(() => {137                        if(this.nickName == e.detail.value){138                            console.log('this.nickName',this.nickName.trim())139                            this.userInfo.nickName = this.nickName.trim()140                            uni.showModal({141                                title: "提示",142                                content: "确定修改昵称为:"+this.nickName+"?",143                                cancelText: "取消",144                                confirmText: "确定",145                                success: (res) => {146                                    if(res.confirm){147                                        this.updateUserInfo()148                                    }149                                },150                            });151                        }152                    }, 2000)153                },154                155                /* 上传 头像 转 话格式*/156                uploadFile(){157                    console.log('上传图片',this.avatarUrl)158                    uni.uploadFile({159                        url: this.BASE_URL + '/put-file', //服务器地址160                        filePath: this.avatarUrl, //这个就是我们上面拍照返回或者先中照片返回的数组161                        name: 'file',162                        formData: {163                            'user': 'test'164                        },165                        header: {166                            'Authorization': 'Basic d2VjaGF0OndlY2hhdF9zZWNyZXQ',167                            'Blade-Auth': 'bearer ' + uni.getStorageSync('token')168                        },169                        success: (uploadFileRes) => {170                            let json = JSON.parse(uploadFileRes.data)171                            console.log('json',json)172                            this.avatarUrl = json.data.link173                                                    this.userInfo.avatarUrl = this.avatarUrl174                                                    // uni.setStorageSync('userInfo', this.userInfo)175                            this.updateUserInfo();176                            setTimeout(function() {177                                uni.hideLoading();178                            }, 1000);179                        },180                        fail: e => {181                                                uni.showToast({182                                                    title: '上传失败',183                                                    duration: 2000,184                                                    icon:"error",185                                                    mask: true,186                                                });187                        }188                    });189                },190                191                updateUserInfo(){192                 193                    console.log( this.avatarUrl,this.nickName.trim())194                    uni.request({195                        url: this.BASE_URL + "/wechatuser/update",196                        method: "POST",197                        data: this.userInfo,198                        header: {199                            Authorization: "Basic d2VjaGF0OndlY2hhdF9zZWNyZXQ",200                            "Blade-Auth": "bearer " + uni.getStorageSync("token"),201                        },202                        success(res) {203                                            uni.showToast({204                                                title: '修改成功',205                                                duration: 2000,206                                                mask: true,207                                            });208                        }209                    })210                },211            }212        }213    </script>214    215    <style lang="scss">216        button[plain] {217            border: 0218        }219        .body-top{220            margin: 20rpx 20rpx 0rpx 20rpx;221            background-color: #FFF;222            border-radius: 20rpx;223            padding-bottom: 20rpx;224            display: flex;225            flex-direction: column;226        }227        .item{228            margin: 20rpx 20rpx 20rpx 20rpx;229            min-height: 70rpx;230            display: flex;231            flex-direction: row;232            justify-content: space-between;233            align-items: center;234            font-size: 28rpx;235        }236        .item-name{237            min-height: 70rpx;238            display: flex;239            flex-direction: row;240            align-items: center;241            font-size: 28rpx;242            text-align: end;243        }244        .input-name{245            margin-right: 10rpx;246            text-align: end;247        }248        .item-xq{249            display: flex;250            flex-direction: row;251            align-items: center;252        }253        .my_txImg1{254            height: 140rpx;255            background-color: #FFF;256            // border-radius: 50%;257        }258        .my_txImg{259            width: 140rpx;260            height: 140rpx;261            border-radius: 50%;262        }263        .my_back {264            width: 19rpx;265            height: 24rpx;266            267        }268        .divider{269            background: #E0E3DA;270            width: 95%;271            height: 2rpx;272            margin-left: 20rpx;273        }274        .exit {275            width: 590rpx;276            height: 80rpx;277            display: flex;278            align-items: center;279            justify-content: center;280            margin: 0 auto;281            // border: 1rpx rgba($color: #000000, $alpha: 0.1) solid;282            background-color: #FA5F4A;283            position: absolute;284            color: #fff;285            border-radius: 20rpx;286            // box-shadow: 0rpx 0rpx 9rpx rgba($color: #000000, $alpha: 0.1);287            bottom: 100rpx;288            margin-left: 80rpx;289        }290    </style>

本次更新服务端相关文件

内容过多本次略

本次更新后台管理相关文件

内容过多本次略

本次数据库结构改动

内容过多本次略

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/177066.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【移远QuecPython】EC800M物联网开发板的UART串口配置

【移远QuecPython】EC800M物联网开发板的UART串口配置 文章目录 UART初始化UART读写写数据轮询读取中断读取 串口测试附录&#xff1a;列表的赋值类型和py打包列表赋值BUG复现代码改进优化总结 py打包 UART初始化 UART库&#xff1a; from machine import UART引脚和UART对应…

请问嵌入式行业会变得和java一样卷死吗?

今日话题&#xff0c;嵌入式行业会变得和java一样卷死吗&#xff1f;嵌入式行业未来不太可能出现像互联网行业那样的内卷化情况。嵌入式开发在制造业等重要第二产业中扮演关键角色&#xff0c;这些行业的稳定性较高&#xff0c;波动较小&#xff0c;因此嵌入式岗位的稳定性相对…

讲述为什么要学习Adobe XD以及 Adobe XD下载安装

首先 我们要了解 Adobe XD 是个什么东西 XD是Adobe公司专门开发出来面向交互、界面设计的矢量绘图工具。 然后是 他可以做什么&#xff1f; 最基本的 可以做UI界面设置 所有 手机 平板 电脑等设备的UI界面 我们都可以通过XD完成 还有就是原型设置 我们可以做各种界面图 还有…

智能视频监控平台EasyCVR出现偶发通道在线,但是无法播放的情况要怎么解决?

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同&#xff0c;支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。流媒体视频平台EasyCVR拓展性强&#xff0c;视频能力丰富&#xff0c;具体可实现视频监控直播、视频轮播、视频录像、云存储…

HNU-编译原理-讨论课1

讨论课安排&#xff1a;2次4学时&#xff0c;分别完成四大主题讨论 分组&#xff1a;每个班分为8组&#xff0c;每组4~5人&#xff0c;自选组长1人 要求和说明&#xff1a; 以小组为单位上台报告&#xff1b;每次每组汇报2个小主题&#xff0c;每组按要求在2个小主题中各选1…

JS逆向爬虫---请求参数加密① 【某度翻译】

接口定位 抓包输入翻译关键词 全局搜索关键词,定位到接口https://fanyi.baidu.com/v2transapi 全局搜索sign 多次尝试定位变化参数sign 断点调试b函数 复制整个function&#xff0c;并测试函数运行结果。 需要把function改写成如下的数据&#xff1a; function(t) {var o…

泛微e-office download.php任意文件

0x01 应用介绍 泛微e-office系统是标准、易用、快速部署上线的专业协同OA软件,国内协同OA办公领域领导品牌,致力于为企业用户提供专业OA办公系统、移动OA应用等协同OA整体解决方案 0x02 影响版本及语法特征 泛微e-offcie9 fofa&#xff1a;app”泛微-EOffice” && b…

九、W5100S/W5500+RP2040树莓派Pico<SNTP 获取网络时间>

文章目录 1 前言2 协议简介2.1 什么是SNTP2.2 SNTP的优点2.3 SNTP原理2.4 应用场景 3 WIZnet以太网芯片4 SNTP网络设置示例概述以及使用4.1 流程图4.2 准备工作核心4.3 连接方式4.4 主要代码概述4.5 结果演示 5 注意事项6 相关链接 1 前言 随着科技的不断进步和应用需求的不断变…

【音视频 | wav】wav音频文件格式详解——包含RIFF规范、完整的各个块解析、PCM转wav代码

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

【数据结构】堆的实现

大小堆的概念 将根节点最大的堆叫做最大堆或大根堆&#xff0c;根节点最小的堆叫做最小堆或小根堆。 堆的接口函数 void HeapInit(Heap*st);//堆的初始化 void swap(int* str1, int* str2);//交换两个数据 void Adjustup(int* a, int child);//向上调整 void HeapPush(Heap* …

写在2023末,很庆幸自己入了软件测试这行...

为什么会学习软件测试&#xff1f; 已经28岁了&#xff0c;算一下快过去3年了&#xff0c;刚毕业那会工作了一年&#xff0c;因为自己当时很迷茫&#xff08;觉得自己挺废的&#xff09;&#xff0c;所以就没去工作就一直在家&#xff0c;家里固定每个月给点生活费&#xff0c…

微信小程序:两层循环的练习,两层循环显示循环图片大图(大图显示、多层循环)

效果 代码分析 外层循环 外层循环的框架 <view wx:for"{{info}}" wx:key"index"></view> wx:for"{{info}}"&#xff1a;这里wx:for指令用于指定要遍历的数据源&#xff0c;即info数组。当遍历开始时&#xff0c;会依次将数组中的每…

Mac 上安装 Emscripten

背景&#xff1a;Web 端需要使用已有的 C 库&#xff0c;需要将 C 项目编译成 WebAssembly(.wasm) 供 js 调用。 Emscripten 可以将 C 编译成 .wasm 一、下载源码 # 下载 emsdk 源码 git clone https://github.com/emscripten-core/emsdk.git# 下载完成后进入到 emsdk 项目根…

GZ035 5G组网与运维赛题第9套

2023年全国职业院校技能大赛 GZ035 5G组网与运维赛项&#xff08;高职组&#xff09; 赛题第9套 一、竞赛须知 1.竞赛内容分布 竞赛模块1--5G公共网络规划部署与开通&#xff08;35分&#xff09; 子任务1&#xff1a;5G公共网络部署与调试&#xff08;15分&#xff09; 子…

汽车EDI:福特Ford EDI项目案例

项目背景 福特&#xff08;Ford&#xff09;是世界著名的汽车品牌&#xff0c;为美国福特汽车公司&#xff08;Ford Motor Company&#xff09;旗下的众多品牌之一。此前的文章福特FORD EDI需求分析中&#xff0c;我们已经了解了福特Ford EDI 的大致需求&#xff0c;本文将会介…

C++核心编程---友元

目录 友元 友元的关键字 friend 友元的三种实现方式 1. 全局函数做友元 2. 类做友元 3. 成员函数做友元 友元 生活中你的家有客厅(Public)&#xff0c;有你的卧室(Private) 客厅所有来的客人都可以进去&#xff0c;但是你的卧室是私有的&#xff0c;也就是说只有你能进…

修复国产电脑麒麟系统开机出现initramfs 问题

目录预览 一、问题描述二、原因分析三、解决方案四、知识点呀initramfsBusyBox 五、参考链接 一、问题描述 国产麒麟系统出现 initramfs 模式 二、原因分析 一般在拷贝卡顿过程【强制关机】或者电【脑异常断电】的情况下概率性导致系统分区损坏&#xff0c;重启后大概率就会进…

⾯向对象编程:封装数据和⾏为、定义交互协议、扩展与复⽤ - GO语言从入门到实战

⾯向对象编程&#xff1a;封装数据和⾏为、定义交互协议、扩展与复⽤ - GO语言从入门到实战 一、封装数据和⾏为 结构体定义 定义了一个名为Structural的结构体。结构体是一种用户自定义的数据类型&#xff0c;可以包含不同类型的字段&#xff08;成员变量&#xff09;。 与…

150行代码实现一个极简的Canvas多功能画板

目录 1.前言2.多功能画板的实现2.1 画板初始化2.2 画笔2.3 橡皮擦2.4 清屏2.5 前进和后退 3.小结 1.前言 HTML5提供的Canvas标签能实现很多有趣的效果&#xff0c;本文就来分享一下如何使用Canvas来实现一个极简的多功能画板。先来看效果&#xff1a; 主要实现以下功能&…

深度学习之基于Pytorch卷积神经网络的图像分类系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介二、功能三、图像分类系统四. 总结 一项目简介 基于PyTorch卷积神经网络的图像分类系统是一种应用深度学习技术来实现图像分类任务的系统。本摘要将对该系统…