这个订阅地址是不会变的,你自己获取一次写在你程序后台就行了,他就算订阅到期你再续费,这个订阅地址也不会变,除非你手动去后台点重置订阅地址。
第二中程序获取的话你可以先选中这个一键订阅元素 getEventListeners($0) 然后拉到他的click事件,
最终有个FunctionLocation 功能定位参数,成功定位到代码段 umi.js?v=1.5.5.1646764814759:formatted 获取到代码段
- class p extends s.a.Component {
- render() {
- var e = this.props.subscribeUrl
- , t = [];
- return (Object(c["g"])() || Object(c["h"])()) && (t.push({
- title: "Shadowrocket",
- href: "shadowrocket://add/sub://" + window.btoa(e + "&flag=shadowrocket").replace(/+/g, "-").replace(///g, "_").replace(/=+$/, "") + "?remark=" + window.settings.title
- }),
- t.push({
- title: "QuantumultX",
- href: "quantumult-x:///update-configuration?remote-resource=" + encodeURI(JSON.stringify({
- server_remote: [e + ", tag=" + window.settings.title]
- }))
- }),
- t.push({
- title: "Surge",
- href: "surge:///install-config?url=" + encodeURIComponent(e) + "&name=" + window.settings.title
- }),
- t.push({
- title: "Stash",
- href: "stash://install-config?url=" + encodeURIComponent(e) + "&name=" + window.settings.title
- })),
- Object(c["i"])() && t.push({
- title: "ClashX",
- href: "clash://install-config?url=" + encodeURIComponent(e) + "&name=" + window.settings.title
- }),
- Object(c["l"])() && t.push({
- title: "Clash",
- href: "clash://install-config?url=" + encodeURIComponent(e) + "&name=" + window.settings.title
- }),
- Object(c["e"])() && (t.push({
- title: "Clash For Android",
- href: "clash://install-config?url=" + encodeURIComponent(e) + "&name=" + window.settings.title
- }),
- t.push({
- title: "Surfboard",
- href: "surge:///install-config?url=" + encodeURIComponent(e) + "&name=" + window.settings.title
- })),
- s.a.createElement(s.a.Fragment, null, t.length > 0 ? s.a.createElement(r["a"], {
- trigger: ["click"],
- overlay: s.a.createElement(o["a"], null, s.a.createElement(o["a"].Item, {
- key: "0",
- onClick: ()=>{
- u()(this.props.subscribeUrl),
- a["a"].success(Object(f["formatMessage"])({
- id: "u590du5236u6210u529f"
- }))
- }
- }, s.a.createElement("a", null, s.a.createElement("i", {
- className: "fa fa-copy mr-2"
- }), Object(f["formatMessage"])({
- id: "u590du5236u8ba2u9605u5730u5740"
- }))), t.map(e=>{
- return s.a.createElement(o["a"].Item, {
- key: Math.random(),
- onClick: ()=>{
- window.location.href = e.href
- }
- }, s.a.createElement("a", null, s.a.createElement("i", {
- className: "fa fa-share mr-2"
- }), Object(f["formatMessage"])({
- id: "u5bfcu5165u5230"
- }), " ", e.title))
- }
- ))
- }, s.a.createElement("a", {
- className: "btn btn-sm btn-primary btn-rounded px-3 mr-1 my-1",
- href: "javascript:void(0);"
- }, s.a.createElement("i", {
- className: "fa fa-rss mr-1"
- }), Object(f["formatMessage"])({
- id: "u4e00u952eu8ba2u9605"
- }))) : s.a.createElement("a", {
- className: "btn btn-sm btn-primary btn-rounded px-3 mr-1 my-1",
- href: "javascript:void(0);",
- onClick: ()=>{
- u()(this.props.subscribeUrl),
- a["a"].success(Object(f["formatMessage"])({
- id: "u590du5236u6210u529f"
- }))
- }
- }, s.a.createElement("i", {
- className: "fa fa-copy mr-1"
- }), Object(f["formatMessage"])({
- id: "u590du5236u8ba2u9605"
- })))
- }
- }
- },
复制代码
接下来不需要我教你了吧? 小伙子技术太烂了,建议去重学JavaScript |