同城头条  >  技术分享  >  如何给脚本增加卡密验证功能,权朗网络验证对接教程
如何给脚本增加卡密验证功能,权朗网络验证对接教程
2023年06月16日 17:30   浏览:2677   来源:seoIT技术

之前给大家分享过如何对接泡椒云给自己的脚本增加卡密验证功能,可以看之前分享的文章《如何对接泡椒云,给你的Auto.js脚本增加卡密验证功能?详细教程》

今天站长给大家分享另一个给脚本增加卡密验证功能的平台对接:权朗网络验证对接。对接增加卡密的好处我就不多说了,可以给脚本添加:天卡、周卡、月卡、季卡、年卡等更好的销售。废话不多说,直接进入今天的主题:

1、如果你还没注册权朗网络验证平台,你需要注册一个备用:http://zwk365.com/625t4aGW6b8yFrvs

2、在写脚本前,先准备好DeveloperID、ApiPassword、SoftwareName这三个参数的值,后面脚本中要用到。

(1)获取你自己的DeveloperID,就在你的头像下面那串数字,如图。
如何给脚本增加卡密验证功能

(2)然后在左侧菜单栏找到【设置】,点进去,右上角的【接口安全密码】就是ApiPassword,如图。
如何给脚本增加卡密验证功能

(3)然后在左侧菜单里找到【软件】,点进去,创建一个软件,软件名称随便取一个,记下来就行了,这里的软件名就是SoftwareName,如图。
如何给脚本增加卡密验证功能

(4)CDK的值就是从你脚本ui控件中输入获取的,是脚本使用者输入的卡密。

2、在你的脚本代码里面集成如下代码:

//本地存储空间 对象

var LocalStorage = storages.create("QQ_1537957569");

 

//--------------------作者/软件信息------------------------

//开发者ID  (后台 左上角头像下方的ID)

var DeveloperID = "";

//API 密码 (后台 设置中的 接口安全密码)

var ApiPassword = "";

//软件名称

var SoftwareName = "";

//卡密

var CDK = "";

//--------------------------------------------

 

 

//------------------------测试--------------------

/**

 * 测试 测试 测试 测试 测试 测试

 */

threads.start(function() {

  CDKLogin();

});

 

//--------------------------------------------

 

/**

 * CDK登陆

 */

function CDKLogin() {

  //退出上一次的Needle

  var logoutResult = LogoutNeedle();

  console.log(logoutResult[1]);

  var loginResult = SendQLRequest(

    "apiv3/card_login",

    "card=" + CDK + "&software=" + SoftwareName

  );

 

  if (loginResult[0]) {

    var successData = loginResult[1];

    var endTime = successData["endtime"];

    var lessTime = successData["less_time"];

    var needle = successData["needle"];

 

    PutSt("oldNeedle", needle); //存储本次 的Needle

 

    console.log(needle + "登陆成功");

    threads.start(function() {

      SendHeartbeat(needle);

    });

  } else {

    var failResult = loginResult[1];

    console.warn("CDKLogin FailMsg:" + failResult);

    console.warn("所有线程已经停止!");

    threads.shutDownAll(); //停止所有线程

  }

}

 

/**

 * 退出上一次的Needle

 */

function LogoutNeedle() {

  var oldNeedle = GetSt("oldNeedle", "");

 

  if (oldNeedle != "") {

    var logoutResult = SendQLRequest(

      "apiv3/card_logout",

      "card=" + CDK + "&needle=" + oldNeedle

    );

    if (logoutResult[0]) {

      return [true, oldNeedle + " 退出成功!"];

    } else {

      return [false, oldNeedle & " 退出失败!"];

    }

  } else {

    return [true, "上次无存储的Needle"];

  }

}

 

/**

 * 卡密心跳

 * @param {string} cdkNeedle

 */

function SendHeartbeat(cdkNeedle) {

  do {

    var heartbeatResult = SendQLRequest(

      "apiv3/card_ping",

      "card=" + CDK + "&software=" + SoftwareName + "&needle=" + cdkNeedle

    );

 

    if (heartbeatResult[0]) {

      var successData = heartbeatResult[1];

 

      var endTime = successData["endtime"];

 

      var lessTime = successData["less_time"];

      console.warn("心跳正常. 剩余时间:" + lessTime);

    

      sleep(5 * 60 * 1000); //休息5分钟

    } else {

      var failResult = heartbeatResult[1];

 

      console.warn("Heartbeat FailMsg:" + failResult);

      console.warn("所有线程已经停止!");

      threads.shutDownAll(); //停止所有线程

    }

  } while (true);

}

 

/**

 * 访问权朗api

 * @param {string}} api

 * @param {string} apiParams

 */

function SendQLRequest(api, apiParams) {

  var qlHostArray = [

    "https://napi.2cccc.cc/",

    "https://api2.2cccc.cc/",

    "https://api3.2cccc.cc/"

  ];

  var connectTimes = 0;

  var taoBaoTimeStamp = "";

 

  do {

    connectTimes = connectTimes + 1;

 

    taoBaoTimeStamp = http

      .get("http://api.m.taobao.com/rest/api3.do?api=mtop.common.getTimestamp")

      .body.string();

 

    if (connectTimes > 10) {

      console.log("淘宝时间戳超时");

      return [false, "连接淘宝时间戳服务器失败"];

    }

  } while (taoBaoTimeStamp.substring(2, 5) != "api");

 

  taoBaoTimeStamp = JSON.parse(taoBaoTimeStamp);

  var timeStamp = taoBaoTimeStamp["data"]["t"].substring(0, 10);

  var sign = HexMd5(ApiPassword + "" + timeStamp);

  var common_params =

    "center_id=" + DeveloperID + "&timestamp=" + timeStamp + "&sign=" + sign;

  connectTimes = 0;

  var qlResult = "";

 

  do {

    connectTimes = connectTimes + 1;

 

    qlResult = http

      .get(

        qlHostArray[Math.floor(Math.random() * (3 - 0) + 0)] +

          api +

          "?" +

          common_params +

          "&" +

          apiParams

      )

      .body.string();

 

    if (connectTimes > 10) {

      return [false, "权朗回执超时"];

    }

  } while (qlResult.substring(2, 6) != "code");

 

  qlResult = JSON.parse(qlResult);

 

  if (qlResult["code"] == "1") {

    if (

      HexMd5(qlResult["timestamp"] + ApiPassword).toUpperCase() ==

        qlResult["sign"].toUpperCase() &&

      Math.abs(timeStamp - qlResult["timestamp"]) < 700

    ) {

      return [true, qlResult["data"]];

    } else {

      return [false, "请检查API密码是否填写正确"];

    }

  } else {

    return [false, qlResult["msg"]];

  }

}

 

//--------Helper---------

 

/**

 * 判断是否 不是 空

 * @param {any}} content 内容

 */

function IsNotNullOrEmpty(content) {

  return (

    content != null &&

    content != undefined &&

    content != "" &&

    content != " " &&

    content != "  "

  );

}

 

/**

 * 存储空间 存入 键值数据

 * @param {string} key 键名

 * @param {any} value 值

 */

function PutSt(key, value) {

  //   cw(key + " : " + value);

  if (IsNotNullOrEmpty(value)) {

    LocalStorage.put(key, value);

  } else {

    //cw("key:" + key + "----> value为空,跳过保存");

  }

}

 

/**

 * 获取 存储控件中的 数据

 * @param {string} key 键名

 * @param {any} defaultValue 默认值

 */

function GetSt(key, defaultValue) {

  var data = LocalStorage.get(key);

  // cw(key + " : " + data);

  if (IsNotNullOrEmpty(data)) {

    return data;

  } else {

    if (defaultValue == undefined) {

      defaultValue = "";

    }

    //cw(key + " : 返回默认值->>" + defaultValue);

    return defaultValue;

  }

}

//-------------------------------------

 

//-------MD5---------------------

//(autojs 调用java 的MD5方法有bug, 生成出来的是错误的结果.所以用 下面的js md5)

/**

 * 16进制MD5(常用)

 * @param {any} s

 */

function HexMd5(s) {

  return binl2hex(core_md5(str2binl(s), s.length * chrsz));

}

function B64Md5(s) {

  return binl2str(core_md5(str2binl(s), s.length * chrsz));

}

function StrMd5(key, data) {

  return binl2hex(core_hmac_md5(key, data));

}

function HexHmacMd5(key, data) {

  return binl2hex(core_hmac_md5(key, data));

}

function B64HmacMd5(key, data) {

  return binl2b64(core_hmac_md5(key, data));

}

function StrHmacMd5(key, data) {

  return binl2str(core_hmac_md5(key, data));

}

 

var hexcase = 0;

var b64pad = "";

var chrsz = 8;

function md5_vm_test() {

  return hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72";

}

function core_md5(x, len) {

  x[len >> 5] |= 0x80 << len % 32;

  x[(((len + 64) >>> 9) << 4) + 14] = len;

  var a = 1732584193;

  var b = -271733879;

  var c = -1732584194;

  var d = 271733878;

  for (var i = 0; i < x.length; i += 16) {

    var olda = a;

    var oldb = b;

    var oldc = c;

    var oldd = d;

    a = md5_ff(a, b, c, d, x[i + 0], 7, -680876936);

    d = md5_ff(d, a, b, c, x[i + 1], 12, -389564586);

    c = md5_ff(c, d, a, b, x[i + 2], 17, 606105819);

    b = md5_ff(b, c, d, a, x[i + 3], 22, -1044525330);

    a = md5_ff(a, b, c, d, x[i + 4], 7, -176418897);

    d = md5_ff(d, a, b, c, x[i + 5], 12, 1200080426);

    c = md5_ff(c, d, a, b, x[i + 6], 17, -1473231341);

    b = md5_ff(b, c, d, a, x[i + 7], 22, -45705983);

    a = md5_ff(a, b, c, d, x[i + 8], 7, 1770035416);

    d = md5_ff(d, a, b, c, x[i + 9], 12, -1958414417);

    c = md5_ff(c, d, a, b, x[i + 10], 17, -42063);

    b = md5_ff(b, c, d, a, x[i + 11], 22, -1990404162);

    a = md5_ff(a, b, c, d, x[i + 12], 7, 1804603682);

    d = md5_ff(d, a, b, c, x[i + 13], 12, -40341101);

    c = md5_ff(c, d, a, b, x[i + 14], 17, -1502002290);

    b = md5_ff(b, c, d, a, x[i + 15], 22, 1236535329);

    a = md5_gg(a, b, c, d, x[i + 1], 5, -165796510);

    d = md5_gg(d, a, b, c, x[i + 6], 9, -1069501632);

    c = md5_gg(c, d, a, b, x[i + 11], 14, 643717713);

    b = md5_gg(b, c, d, a, x[i + 0], 20, -373897302);

    a = md5_gg(a, b, c, d, x[i + 5], 5, -701558691);

    d = md5_gg(d, a, b, c, x[i + 10], 9, 38016083);

    c = md5_gg(c, d, a, b, x[i + 15], 14, -660478335);

    b = md5_gg(b, c, d, a, x[i + 4], 20, -405537848);

    a = md5_gg(a, b, c, d, x[i + 9], 5, 568446438);

    d = md5_gg(d, a, b, c, x[i + 14], 9, -1019803690);

    c = md5_gg(c, d, a, b, x[i + 3], 14, -187363961);

    b = md5_gg(b, c, d, a, x[i + 8], 20, 1163531501);

    a = md5_gg(a, b, c, d, x[i + 13], 5, -1444681467);

    d = md5_gg(d, a, b, c, x[i + 2], 9, -51403784);

    c = md5_gg(c, d, a, b, x[i + 7], 14, 1735328473);

    b = md5_gg(b, c, d, a, x[i + 12], 20, -1926607734);

    a = md5_hh(a, b, c, d, x[i + 5], 4, -378558);

    d = md5_hh(d, a, b, c, x[i + 8], 11, -2022574463);

    c = md5_hh(c, d, a, b, x[i + 11], 16, 1839030562);

    b = md5_hh(b, c, d, a, x[i + 14], 23, -35309556);

    a = md5_hh(a, b, c, d, x[i + 1], 4, -1530992060);

    d = md5_hh(d, a, b, c, x[i + 4], 11, 1272893353);

    c = md5_hh(c, d, a, b, x[i + 7], 16, -155497632);

    b = md5_hh(b, c, d, a, x[i + 10], 23, -1094730640);

    a = md5_hh(a, b, c, d, x[i + 13], 4, 681279174);

    d = md5_hh(d, a, b, c, x[i + 0], 11, -358537222);

    c = md5_hh(c, d, a, b, x[i + 3], 16, -722521979);

    b = md5_hh(b, c, d, a, x[i + 6], 23, 76029189);

    a = md5_hh(a, b, c, d, x[i + 9], 4, -640364487);

    d = md5_hh(d, a, b, c, x[i + 12], 11, -421815835);

    c = md5_hh(c, d, a, b, x[i + 15], 16, 530742520);

    b = md5_hh(b, c, d, a, x[i + 2], 23, -995338651);

    a = md5_ii(a, b, c, d, x[i + 0], 6, -198630844);

    d = md5_ii(d, a, b, c, x[i + 7], 10, 1126891415);

    c = md5_ii(c, d, a, b, x[i + 14], 15, -1416354905);

    b = md5_ii(b, c, d, a, x[i + 5], 21, -57434055);

    a = md5_ii(a, b, c, d, x[i + 12], 6, 1700485571);

    d = md5_ii(d, a, b, c, x[i + 3], 10, -1894986606);

    c = md5_ii(c, d, a, b, x[i + 10], 15, -1051523);

    b = md5_ii(b, c, d, a, x[i + 1], 21, -2054922799);

    a = md5_ii(a, b, c, d, x[i + 8], 6, 1873313359);

    d = md5_ii(d, a, b, c, x[i + 15], 10, -30611744);

    c = md5_ii(c, d, a, b, x[i + 6], 15, -1560198380);

    b = md5_ii(b, c, d, a, x[i + 13], 21, 1309151649);

    a = md5_ii(a, b, c, d, x[i + 4], 6, -145523070);

    d = md5_ii(d, a, b, c, x[i + 11], 10, -1120210379);

    c = md5_ii(c, d, a, b, x[i + 2], 15, 718787259);

    b = md5_ii(b, c, d, a, x[i + 9], 21, -343485551);

    a = safe_add(a, olda);

    b = safe_add(b, oldb);

    c = safe_add(c, oldc);

    d = safe_add(d, oldd);

  }

  return Array(a, b, c, d);

}

function md5_cmn(q, a, b, x, s, t) {

  return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b);

}

function md5_ff(a, b, c, d, x, s, t) {

  return md5_cmn((b & c) | (~b & d), a, b, x, s, t);

}

function md5_gg(a, b, c, d, x, s, t) {

  return md5_cmn((b & d) | (c & ~d), a, b, x, s, t);

}

function md5_hh(a, b, c, d, x, s, t) {

  return md5_cmn(b ^ c ^ d, a, b, x, s, t);

}

function md5_ii(a, b, c, d, x, s, t) {

  return md5_cmn(c ^ (b | ~d), a, b, x, s, t);

}

function core_hmac_md5(key, data) {

  var bkey = str2binl(key);

  if (bkey.length > 16) bkey = core_md5(bkey, key.length * chrsz);

  var ipad = Array(16),

    opad = Array(16);

  for (var i = 0; i < 16; i++) {

    ipad[i] = bkey[i] ^ 0x36363636;

    opad[i] = bkey[i] ^ 0x5c5c5c5c;

  }

  var hash = core_md5(ipad.concat(str2binl(data)), 512 + data.length * chrsz);

  return core_md5(opad.concat(hash), 512 + 128);

}

function safe_add(x, y) {

  var lsw = (x & 0xffff) + (y & 0xffff);

  var msw = (x >> 16) + (y >> 16) + (lsw >> 16);

  return (msw << 16) | (lsw & 0xffff);

}

function bit_rol(num, cnt) {

  return (num << cnt) | (num >>> (32 - cnt));

}

function str2binl(str) {

  var bin = Array();

  var mask = (1 << chrsz) - 1;

  for (var i = 0; i < str.length * chrsz; i += chrsz)

    bin[i >> 5] |= (str.charCodeAt(i / chrsz) & mask) << i % 32;

  return bin;

}

function binl2str(bin) {

  var str = "";

  var mask = (1 << chrsz) - 1;

  for (var i = 0; i < bin.length * 32; i += chrsz)

    str += String.fromCharCode((bin[i >> 5] >>> i % 32) & mask);

  return str;

}

function binl2hex(binarray) {

  var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";

  var str = "";

  for (var i = 0; i < binarray.length * 4; i++) {

    str +=

      hex_tab.charAt((binarray[i >> 2] >> ((i % 4) * 8 + 4)) & 0xf) +

      hex_tab.charAt((binarray[i >> 2] >> ((i % 4) * 8)) & 0xf);

  }

  return str;

}

function binl2b64(binarray) {

  var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";

  var str = "";

  for (var i = 0; i < binarray.length * 4; i += 3) {

    var triplet =

      (((binarray[i >> 2] >> (8 * (i % 4))) & 0xff) << 16) |

      (((binarray[(i + 1) >> 2] >> (8 * ((i + 1) % 4))) & 0xff) << 8) |

      ((binarray[(i + 2) >> 2] >> (8 * ((i + 2) % 4))) & 0xff);

    for (var j = 0; j < 4; j++) {

      if (i * 8 + j * 6 > binarray.length * 32) str += b64pad;

      else str += tab.charAt((triplet >> (6 * (3 - j))) & 0x3f);

    }

  }

  return str;

}


头条号
seoIT技术
介绍
推荐头条
Keywords" 仪陇网、仪陇生活网、专注仪陇本地信息真实传递_仪陇网d-sj.cn/学法减分好助理答题神器一扫就出答案、学法减分好助理扫一扫知道答案app、学法减分好助理考试题库、学法减分好助理20道题模拟考试、学法减分好助理可以减多少分?、学法减分好助理拍照搜题 秒出答案免费、学法减分好助理拍照搜题、学法减分好助理拍照搜题 秒出答案、学法减分好助理可以申请几次?、学法减分好助理题库最新版、仪陇生活网、仪陇生活网招聘、仪陇招聘驾驶员、仪陇新政有哪些厂还在招工、仪陇人才网、仪陇在线、仪陇新政最新急招聘58同城、仪陇新政哪有做兼职的、仪陇县招聘信息最新招聘仪陇生活网招聘、仪陇招聘网最新招聘信息、仪陇生活网二手房、仪陇生活网最新消息、仪陇生活网门面转让、仪陇生活网住房出租最新消息、仪陇生活网发布了信息如何取消、四川仪陇生活网、仪陇人才招聘信息生活网、仪陇生活网、仪陇生活网招聘、仪陇招聘网最新招聘信息、仪陇生活网最新消息、仪陇生活网门面转让、仪陇生活网二手房、仪陇生活网住房出租最新消息、仪陇生活网最新招聘暑假工、四川仪陇生活网、仪陇手机生活网、仪陇招聘网最新招聘信息、仪陇招聘驾驶员、仪陇县租房信息、仪陇新政招聘网最新招聘、仪陇找工作、仪陇最新招聘、仪陇生活网招聘、仪陇人才网、仪陇招聘信息招聘仪陇招聘信息信息、仪陇招聘c1驾照、仪陇房价、四川仪陇县房价多少钱一平方米、仪陇县房价现在是多少、仪陇房产网、仪陇新政房价多少钱一平米、仪陇新政房价、仪陇房价为什么这么高、仪陇房价多少钱一平方、仪陇房价如何走、仪陇房价为什么这么高2019、仪陇新闻网、仪陇新闻网头条、仪陇新闻最新消息今天、仪陇新闻网今日新闻、仪陇新闻直播、仪陇新闻网丁强、仪陇新闻网直播视频、仪陇新闻视频、仪陇新闻综合频道直播、仪陇广告公司、仪陇广告语、仪陇金山广告、仪陇驾校、仪陇驾校报名费用、仪陇驾校C1多少费用、仪陇驾校88队哪个教练好、仪陇驾校在什么地方、仪陇驾校科目一考试、仪陇驾校学费、仪陇驾校科一早上笫一堂几点、仪陇驾校蒲、仪陇坤安驾校、仪陇工厂招聘、仪陇工厂有拿回家干的活吗?、仪陇新政工厂招聘、仪陇新政招聘信息工厂、仪陇家电维修、仪陇家电回收、仪陇家电清洗、仪陇电脑维修哪家好、仪陇电脑城在哪里、仪陇电脑销售在什么地方、仪陇电脑回收、仪陇电脑培训、仪陇电脑商家、壹家电脑维修、仪陇二手家具市场、仪陇家具城、仪陇家具厂、仪陇家具维修师傅、仪陇家具定制、仪陇家具厂网上程、仪陇家具市场、仪陇家具城在哪里、仪陇二手家具回收、南充仪陇二手家具市场、四川仪陇房产信息网、仪陇马鞍房价、广西桂林房价、仪陇一中录取分数线2021、仪陇翰林锦府、仪陇金城二手房的房价、仪陇房价为什么这么高、仪陇新政租房最新消息、仪陇县金城镇房价下跌、仪陇县招聘信息最新招聘、仪陇房产网、仪陇河西工业区招聘、仪陇门面出租、四川仪陇黑老大周超、仪陇县金城镇二手房最新消息、仪陇新政本地招聘启事、四川仪陇新镇最新招聘、仪陇县找工作生活网、如何自学电脑维修、娄星区关家垴附近电脑维修、恒达行家维修培训怎么样、珠海唐家电脑维修、台式机维修去哪家好、笔记本维修哪家好、仪陇电脑维修哪家好、电脑维修公司哪家好、秀洲区电脑维修哪家好、仪陇新政本地招聘启事、仪陇县金城镇二手房最新消息、仪陇招聘网最新招聘信息、仪陇新政有哪些厂还在招工、仪陇县河西工业区招工、南部人才网、四川仪陇黑老大周超、仪陇新政哪有做兼职的、四川仪陇新镇最新招聘、长津湖电影、长津湖电影时间多长、长津湖电影完整版免费观看、长津湖电影观后感、长津湖电影完整版免费观看HD、长津湖电影完整版免费观看2021、长津湖电影完整版免费观看网站、长津湖电影观后感500字、长津湖电影票多少钱一张、长津湖电影票购买、长津湖成影史历史片票房冠军、长津湖电影完整版免费观看、长津湖3个冰雕连仅2人生还、长津湖战役、长津湖2021免费完整版观看、长津湖票房破30亿、长津湖作文、长津湖观后感、长津湖手抄报、长津湖观后感10篇、刷手机下拉示选上海百首网络、刷手机下拉述约上海百首网络、刷手机下拉安选上海百首网络、刷手机下拉尚选上海百首网络、刷手机下拉安信上海百首网络、苹果手机下拉菜单、华为手机不能下拉、手机下拉功能在哪里设置、手机下拉设置在哪里设置、手机不能下拉通知栏、仪陇天气、仪陇房产网新楼盘、仪陇县楼盘房价最新消息、仪陇县、仪陇天气预报15天、仪陇县房价、仪陇招聘网最新招聘信息、仪陇属于四川哪个市、仪陇县金城镇、仪陇网、仪陇房产网新楼盘、仪陇县招聘网、仪陇网上在逃人员、仪陇网吧多久开业、仪陇网约车平台、仪陇网红地、仪陇网吧、仪陇网吧开门了吗、仪陇网络电视台、仪陇生活网、仪陇生活网招聘、仪陇生活网最新招聘信息、仪陇生活网最新消息、仪陇生活网门面转让、仪陇生活网二手房、仪陇生活网发布了信息如何取消、四川仪陇生活网、仪陇手机生活网、仪陇人才招聘信息生活网、仪陇丁家大院、仪陇森家环保、仪陇县房价、仪陇二手房、仪陇二手房出售信息、仪陇房产查询系统、仪陇房子出售、仪陇房子能不能买、仪陇房子贵、仪陇房子还会拆迁、仪陇房子出租、仪陇首座房子好不好、仪陇房产网新楼盘、仪陇房产网、仪陇房产备案查询、仪陇房产信息网、仪陇房产查询系统、仪陇房产管理局官网、仪陇房产交易网、仪陇房产价格、仪陇房产中介、仪陇房产局、仪陇河西工业区有些什么厂、仪陇县河西工业区招工、仪陇河西工业园2020招聘、仪陇河西电子厂招聘信息、仪陇河西招聘驾驶员、仪陇河西大华宝公学、仪陇河西工业区有哪些制衣厂、仪陇河西工业园、仪陇河西工业区电子厂、仪陇河西工业区灯泡厂、薇仪陇之家、薇仪陇生活网新政房价、仪陇新政房价、仪陇新政二手房出售、仪陇新政楼盘、仪陇在线、仪陇生活网、仪陇生活网是大家了解仪陇的资讯窗口,同时也是仪陇人的网上家园,为大家提供免费查询发布仪陇便民生活信息,是仪陇地区综合信息门户网站!

Copyright ©2021 仪陇家园同城网--版权所有   蜀ICP备2022002889号-1