WeChat Mini Program Ecology 15: una forma de enviar WeChat Mini Programs para su revisión en lotes

navegación del artículo

Ecología del Mini Programa WeChat 1- Conozca los Mini Programas
Ecología del Mini Programa WeChat 2- Cree un Mini Programa
WeChat Ecología del Mini Programa WeChat 3- Diseño del proceso de inicio de sesión del Mini Programa
WeChat Ecología del Mini Programa WeChat 4- Escanee el código QR ordinario para ingresar al Mini Programa y abra el mensaje corto Enlace al miniprograma
WeChat Miniprograma Ecología 5-Cuenta oficial de WeChat Escanee el código QR para iniciar sesión en la página web de la PC
WeChat Miniprograma Ecología 6-Inicio de sesión de autorización de cuenta oficial de WeChat (aplicable a los miniprogramas H5)
WeChat Miniprograma Ecología 7 -Configuración de cuenta oficial de WeChat Lista blanca de IP
Ecología del miniprograma de WeChat 8- Basado en weixin-java-mp para realizar el mensaje de respuesta pasiva de la cuenta pública de WeChat
Ecología del miniprograma de WeChat 9- Introducción del mecanismo unionId de la plataforma abierta de WeChat
Ecología del miniprograma de WeChat 10- WeChat falla de verificación de token de cuenta pública Ecología del miniprograma
WeChat Los códigos QR 11-one son compatibles con WeChat, DingTalk y Alipay al mismo tiempo. ecología 13-Menú personalizado de cuenta pública de WeChat, configuración de menú personalizada WeChat Mini Program Ecology 14-Lanzamiento de mini programas WeChat Mini Program Ecology 15- Una forma de enviar WeChat Mini Programs para su revisión en lotes



¡Hola a todos! Soy Sum Mo, un granjero de código de bajo nivel de primera línea. Por lo general, me gusta estudiar y pensar en algunos problemas relacionados con la técnica y organizarlos en artículos. Estoy limitado a mi nivel. Si hay expresiones inapropiadas en los artículos y códigos, no dude en aclararme.

¡El siguiente es el texto de los "Artículos de la Serie de Ecología del Mini Programa WeChat"!

fondo de demanda

Somos un proveedor de servicios de programas pequeños que brinda servicios SaaS. Solicitaremos un programa pequeño exclusivo para cada cliente, y hasta ahora hay casi 30 de ellos. Dado que no se ha utilizado la "Plataforma abierta de WeChat", es muy doloroso para nosotros actualizar la versión cada vez, y tenemos que lanzar más de 30 programas pequeños a la vez.
Cada applet requiere el siguiente proceso:

La revisión de cada pequeño programa debe hacerse de esta manera, lo cual es demasiado engorroso e ineficiente, pero como programador, solo tengo la autoridad de desarrollo de pequeños programas, por lo que solo puedo minimizar la operación manual y reemplazarla con scripts.
El script actual puede cargar el código especificado en la plataforma pública de WeChat del subprograma especificado, y los pasos de envío para revisión -> liberación deben completarse con la ayuda del asistente del subprograma.

Notas de implementación

Preparar materiales

Pasos de implementación

El primer paso es abrir las herramientas de desarrollo de WeChat -> configuración -> configuración de seguridad para abrir el puerto de servicio

El segundo paso, el script de ejecución central upload.js

El contenido del código es el siguiente:

//依赖包,执行cmd命令
const cp = require("child_process");
//依赖包,修改文件内容
const fs = require("fs");

//获取微信开发者工具的cli指令(Mac)
const cli = "/Applications/wechatwebdevtools.app/Contents/MacOS/cli";
//获取微信开发者工具的cli指令(Windows)
//const cli = "开发工具安装位置/cli.bat";

//当前小程序项目地址(替换成自己的)
const projectDir =
  "/xxx/xxx/xxx/";

//定义当前版本号
const VERSION = "1.2.9";
//定义当前版本代码的说明
const UPDATE_MESSAGE = "活动";

//定义当前需要上传多少小程序
const list = [{
    
    
  appId: "appId1",
  appName: "小程序名称1",
}, {
    
    
  appId: "appId2",
  appName: "小程序名称2",
}];

//窗口执行命令工具方法
function exec(cmdStr) {
    
    
  return new Promise((resolve, reject) => {
    
    
    cp.exec(cmdStr, function (err, stdout, stderr) {
    
    
      console.log(err, stdout, stderr);
      if (err) {
    
    
        reject(err);
      } else {
    
    
        resolve(stdout);
      }
    });
  });
}

//更新project.config.json文件中的appId方法
function updateAppId(appId) {
    
    
  return new Promise((resolve, reject) => {
    
    
    try {
    
    
      const projectPath = `${
      
      projectDir}project.config.json`;
      let data = fs.readFileSync(projectPath, "utf8");
      let jsonData = JSON.parse(data);
      jsonData.setting.appid = appId;
      jsonData.appid = appId;
      fs.writeFileSync(projectPath, JSON.stringify(jsonData, "", 2));
      console.log(jsonData);
      resolve();
    } catch (e) {
    
    
      reject(e);
      console.error("json error", e);
    }
  });
}

//主方法,for循环执行上传操作
async function main() {
    
    
  console.log("准备工作、检查是否已经登录工具")
  const result1 = await exec(`${
      
      cli} islogin`)
  console.log(result1)

  console.log("准备工作、打开指定项目")
  const result2 = await exec(`${
      
      cli} open --project ${
      
      projectDir}`)
  console.log(result2)

  for (let index = 0; index < list.length; index++) {
    
    
    const item = list[index];
    console.log(`开始执行小程序:${
      
      item.appId}的代码upload操作`)

    console.log("第一步、自动预览")
    const result3 = await exec(`${
      
      cli} auto-preview --project ${
      
      projectDir}`)
    console.log(result3)

    console.log("第二步、更新project.config.json文件中的appId")
    const result4 = await updateAppId(item.appId);
    console.log(result4)

    console.log("第三步、上传代码审核")
    const result5 = await exec(`${
      
      cli} upload --project ${
      
      projectDir} -v ${
      
      VERSION} -d ${
      
      UPDATE_MESSAGE}`);
    console.log(result5)

    console.log(`执行小程序:${
      
      item.appId}的代码upload操作结束!`)
  }
  console.log("上传结束、关闭开发者工具")
  const result6 = await exec(`${
      
      cli} quit`);
  console.log(result6)
}

//执行命令
main();

La lógica central de este script es usar el comando cli para controlar la herramienta de desarrollo de WeChat, recorrer cada subprograma que debe enviarse para su revisión, enviar el código en el directorio especificado a la plataforma pública especificada del subprograma y convertir esta versión en una versión de desarrollo.

El tercer paso, ejecutar el comando.

node 'upload.js'

Resultados de la

El cuarto paso, el código de la versión de desarrollo ha sido enviado

(Se puede ver en el lado de la PC)

(Se puede ver con el asistente del subprograma WeChat)

Esta versión 1.2.9 es la que probé y envié, y puede ver que se envió el código.

Paso 5: El Mini Program Assistant envía el Mini Program para su revisión

El Mini Program Assistant también es un Mini Program de WeChat, solo busque directamente

Haga clic para entrar en el asistente de applet

Después de hacer clic en la versión que acaba de cargar, puede enviarla directamente para su revisión.

Con respecto a los resultados de la auditoría, solo debe prestar atención a la "Plataforma pública de WeChat", y los resultados se enviarán automáticamente

en conclusión

De hecho, la plataforma abierta de WeChat es una buena herramienta, pero desafortunadamente no la usamos bien en la etapa inicial, lo que provocó que una gran cantidad de programas pequeños no estuvieran vinculados a ella, y no se pudo encontrar el administrador del programa pequeño. si quisiéramos enlazarlo más tarde. Hay más de una forma de usar scripts. La plataforma pública de WeChat proporciona un archivo clave de un pequeño programa, a través del cual se pueden llamar algunas interfaces y también se puede realizar el envío por lotes. Pero sigue siendo la razón por la que ahora, la adquisición de esta clave requiere que el administrador del applet escanee el código, y ya no puedo ser contactado.
Aunque el método anterior aún requiere carne humana para operar el asistente de subprogramas, el envío de código ya puede ser automatizado.Si el asistente de subprogramas abre algunas interfaces más tarde, también podría aprovecharlo, lo que también puede ahorrar mucho tiempo.

Supongo que te gusta

Origin blog.csdn.net/weixin_33005117/article/details/131639107
Recomendado
Clasificación