123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- // pages/testQQ/testQQ.js
- import md5 from "./md5";
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- nvabarData: {
- showCapsule: 1,
- title: '授权页',
- callback: () => {
- console.log("返回界面3:");
- }
- },
- // qrcodeUrl: "https://music-play.oss-cn-shenzhen.aliyuncs.com/device/20250328100356565128956.png",
- qrcodeUrl: "",
- },
- _goBack() {
- console.log("返回界面5", constant.routePath.index);
- this.callback();
- },
- callback() {
- // 重置小程序界面到首页
- console.log("返回界面4", constant.routePath.index);
- const pages = getCurrentPages();
- const prevPage = pages[pages.length - 2];
- // 修改授权
- prevPage.getAuthStatus();
- constant.routeUtil.goBack();
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: function (options) {
- // https://y.qq.com/m/unionlogin/dist/index.html?appId=2&encryptString=%7B%22response_type%22%3A%22code%22%2C%22state%22%3A%22123456%22%7D&packageName=com.tencent.qqmusic.api.demo&callbackUrl=https%3a%2f%2fwww.example.com&changeLogin=0&needNotifyErr=0
- let url = options.url;
- // let callbackUrl = `http://testweb.radio1964.com/pages/ximalaya/index`;
- // // 将response_type、state等组装成json格式,得到encryptString字段,需要对encryptString做一次urlencode
- // var encryptString = encodeURIComponent(
- // JSON.stringify({
- // response_type: "code",
- // state: Date.now().toString,
- // callbackUrl: callbackUrl
- // })
- // );
- // // 2000000454
- // console.log("解密:", encryptString)
- // 从 options 中获取传入的 url 参数
- // var baseUrl = getApp().globalData.baseUrl + "/web";
- // const qqUrl = options.param;
- // http://testweb.radio1964.com/pages/ximalaya/index?ximalayaAccessToken=a87c56fb4e2c914cfeebca611a7f6998&ximalayaUid=511052575&ximalayaRefreshToken=5fcf78529bc2bc0e440dfdc17e3fbe9a&ximalayaExpiresIn=7200#deviceid=MW-SR2(4GWIFI):AIrSMArT145060808230
- // let qqUrl = "https://y.qq.com/iot_auth/?a=2000000454&c=auh-OMPRpkBvrnUa61LjvuKu"
- // let qqUrl = `https://y.qq.com/m/unionlogin/dist/index.html?appId=${this.data.QQ_MUSIC_APP_ID}&encryptString=${encryptString}&packageName=${this.data.QQ_DEV_NAME}&changeLogin=1&callbackUrl=${callbackUrl}&needNotifyErr=1&authForce=0&loginType=weixin`;
- // https://y.qq.com/m/unionlogin/dist/index.html?appId=120&encryptString=%7B%22response_type%22%3A%22code%22%7D&packageName=猫王妙播&changeLogin=0&callbackUrl=${callbackUrl}&needNotifyErr=0
- // let qqUrl = `https://y.qq.com/m/unionlogin/dist/index.html?appId=2&encryptString=%7B%22response_type%22%3A%22code%22%2C%22state%22%3A%22123456%22%7D&packageName=com.tencent.qqmusic.api.demo&callbackUrl=${callbackUrl}&changeLogin=0&needNotifyErr=1`
- // https://y.qq.com/m/unionlogin/dist/index.html?appId=120&encryptString=%7B%22response_type%22%3A%22code%22%2C%22state%22%3A%22123456%22%7D&packageName=com.Muzen.MaoKingRadioPlayer&changeLogin=0&callbackUrl=https%3a%2f%2fwww.example.com&needNotifyErr=0
- // https://y.qq.com/m/unionlogin/dist/index.html?appId=2&encryptString=%7B%22response_type%22%3A%22code%22%2C%22state%22%3A%22123456%22%7D&packageName=com.tencent.qqmusic.api.demo&callbackUrl=https%3a%2f%2fwww.example.com&changeLogin=0&needNotifyErr=0
- // let qqUrl = "https://m.ximalaya.com/login?hide_third_login=null&fromUri=https%3A%2F%2Fapi.ximalaya.com%2Foauth2%2Fv2%2Fauthorize%3Fclient_id%3Db55fe439798052676e61fbf0f0f649b7%26response_type%3Dcode%26redirect_uri%3Dhttps://api.ximalaya.com/elderly-ximalayaos-api/openapi-fmxos/callback/oauth2/get_access_token%26device_id%3DMW-SR2(4GWIFI):AIrSMArT145060808230%26client_os_type%3D3%26state%3D1.0.0_47.107.237.154_c65af766a9744b6098c3aec86187023c_3_http://testweb.radio1964.com/pages/ximalaya/index_deviceid=MW-SR2(4GWIFI):AIrSMArT145060808230_null"
- //
- // let qqUrl = "https://y.qq.com/m/unionlogin/dist/index.html?appId=xx&encryptString=xx&packageName=xx&callbackUrl=xx&changeLogin=xx&needNotifyErr=xx"
- //
- // const url = options.param;
- // http://testweb.radio1964.com/pages/
- // http://192.168.198.116:1024/callback/ximalaya/reportAuthInfo
- // https://o3tapi.radio1964.com/callback/ximalaya/reportAuthInfo
- // wx.showModal({
- // title: '复制打开浏览器',
- // content: '',
- // complete: (res) => {
- // if (res.cancel) {
- // }
- // if (res.confirm) {
- // wx.setClipboardData({
- // data: qqUrl,
- // })
- // }
- // }
- // })
- url = decodeURIComponent(url);
- console.log("打开授权页:", url)
- // https://m.ximalaya.com/login?hide_third_login=null&fromUri=https%3A%2F%2Fapi.ximalaya.com%2Foauth2%2Fv2%2Fauthorize%3Fclient_id%3Db55fe439798052676e61fbf0f0f649b7%26response_type%3Dcode%26redirect_uri%3Dhttps://api.ximalaya.com/elderly-ximalayaos-api/openapi-fmxos/callback/oauth2/get_access_token%26device_id%3DMW-2AXD:AIrSMArTd031105fe3c0%26client_os_type%3D3%26state%3D1.0.0_47.107.237.154_c65af766a9744b6098c3aec86187023c_3_http://testweb.radio1964.com/pages/ximalaya/index_deviceid=MW-2AXD:AIrSMArTd031105fe3c0_null
- // http://testweb.radio1964.com/pages/ximalaya/index_deviceid=MW-2AXD:AIrSMArTd031105fe3c0_null
- url = url.replace("http://testweb.radio1964.com/", "http://192.168.198.116:1024/");
- console.log("打开授权页2:", url)
- this.setData({
- qrcodeUrl: url
- });
- },
- handleWebviewMessage(e) {
- // e.detail.data 是网页 postMessage 发送的数据数组
- console.log('收到 web-view 消息:', e);
- var that = this;
- const msgData = e.detail.data[0]; // 消息数据
- if (msgData.channel === "webChannel") {
- console.log(" 收到 webChannel 消息:", msgData.content);
- }
- var channel = e.detail.message;
- switch (channel) {
- case "webChannel":
- // message=====?name=authXmlyWeb&code=1====webChannel
- var msg = message.message;
- var params = JSON.parse(msg);
- var channelName = params["name"] ?? "";
- // var externParams = params["externParams"] ?? {};
- if (channelName === "authXmlyWeb") {
- var code = params["code"] ?? 0;
- // 授权成功
- wx.showToast({
- title: code === 1 ? '授权成功' : '授权失败,请稍后再试',
- icon: code === 1 ? 'success' : 'fail'
- });
- const pages = getCurrentPages();
- const prevPage = pages[pages.length - 2];
- // 修改授权
- prevPage.setData({
- isAuthXmly: code === 1,
- });
- }
- default:
- break;
- }
- // 可以根据需要处理消息
- },
- })
|