|  | @@ -0,0 +1,135 @@
 | 
	
		
			
				|  |  | +import os
 | 
	
		
			
				|  |  | +import requests
 | 
	
		
			
				|  |  | +import json
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +# current_path
 | 
	
		
			
				|  |  | +current_path = os.getcwd()
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +# 1.小程序打包
 | 
	
		
			
				|  |  | +def build_mini_program():
 | 
	
		
			
				|  |  | +    command_str = (
 | 
	
		
			
				|  |  | +    "git clone https://git.yishihui.com/weapp/longVideoFactory.git;"
 | 
	
		
			
				|  |  | +    "cd longVideoFactory;"
 | 
	
		
			
				|  |  | +    "git pull;"
 | 
	
		
			
				|  |  | +    "git checkout dev;"
 | 
	
		
			
				|  |  | +    "git pull;"
 | 
	
		
			
				|  |  | +    "n 8;"
 | 
	
		
			
				|  |  | +    "cnpm install && npm install ;"
 | 
	
		
			
				|  |  | +    "npm run build && npm run build:other;"
 | 
	
		
			
				|  |  | +    )
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    if os.system(command_str) == 0:
 | 
	
		
			
				|  |  | +        print("1.打包成功")
 | 
	
		
			
				|  |  | +        # create_preview()
 | 
	
		
			
				|  |  | +    else:
 | 
	
		
			
				|  |  | +        print("1.打包失败")
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +# 2.微信编译图片
 | 
	
		
			
				|  |  | +def create_preview():
 | 
	
		
			
				|  |  | +    # 小程序 cli path for mac
 | 
	
		
			
				|  |  | +    wx_cli ="/Applications/wechatwebdevtools.app/Contents/MacOS/cli"
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    dist_path =  os.path.join(current_path,'longVideoFactory/dist/vlog')
 | 
	
		
			
				|  |  | +    code_img_path =  os.path.join(current_path,'1.png')
 | 
	
		
			
				|  |  | +    f_read = os.popen(wx_cli+" preview  --project "+dist_path+" --qr-output "+code_img_path+" --qr-format image").read()
 | 
	
		
			
				|  |  | +    if "[error]" in f_read:
 | 
	
		
			
				|  |  | +        print(f_read)
 | 
	
		
			
				|  |  | +    else:
 | 
	
		
			
				|  |  | +        print("2.微信小程序编译成功")
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +# create_preview()
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +# https://open.feishu.cn/open-apis/bot/v2/hook/a924b6a5-86ef-4c76-a7e4-eb42056f70cc
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +def upload_img_by_feishu(token):
 | 
	
		
			
				|  |  | +    key = ""
 | 
	
		
			
				|  |  | +    url = "https://open.feishu.cn/open-apis/im/v1/images"
 | 
	
		
			
				|  |  | +    files = {
 | 
	
		
			
				|  |  | +        "image_type":(None,"message"),
 | 
	
		
			
				|  |  | +        "image":('1.png',open(os.path.join(current_path,"1.png"),"rb"),"image/png")
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    headers = {
 | 
	
		
			
				|  |  | +        "Authorization":"Bearer "+token,
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    res = requests.post(url,headers=headers,files=files,verify = False).json()
 | 
	
		
			
				|  |  | +    if res["code"] == 0:
 | 
	
		
			
				|  |  | +        key = res["data"]["image_key"]
 | 
	
		
			
				|  |  | +    else:
 | 
	
		
			
				|  |  | +        print("飞书上传图片失败")
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +    return key
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +def tenant_access_token_by_feishu():
 | 
	
		
			
				|  |  | +    token = ""
 | 
	
		
			
				|  |  | +    url = "https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal"
 | 
	
		
			
				|  |  | +    params = {
 | 
	
		
			
				|  |  | +        "app_id":"cli_a1ec07458838d00c",
 | 
	
		
			
				|  |  | +        "app_secret":"Ngm0kfaLkZnpM2T2DH7L8cM5hdAqY0hI"
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    res = requests.post(url,data=params,verify = False).json()
 | 
	
		
			
				|  |  | +    if res["code"] == 0:
 | 
	
		
			
				|  |  | +        token = res["tenant_access_token"]
 | 
	
		
			
				|  |  | +    else:
 | 
	
		
			
				|  |  | +        print("获取飞书签名失败")
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    return token
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +def send_msg_by_feishu(token,img_key):
 | 
	
		
			
				|  |  | +    # webhook
 | 
	
		
			
				|  |  | +    webhook_url = "https://open.feishu.cn/open-apis/bot/v2/hook/a924b6a5-86ef-4c76-a7e4-eb42056f70cc"
 | 
	
		
			
				|  |  | +    headers = {
 | 
	
		
			
				|  |  | +        "Authorization":"Bearer "+token,
 | 
	
		
			
				|  |  | +        "Content-Type": "application/json;charset=UTF-8"
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    params = {
 | 
	
		
			
				|  |  | +        "msg_type": "post",
 | 
	
		
			
				|  |  | +        "content": {
 | 
	
		
			
				|  |  | +            "post": {
 | 
	
		
			
				|  |  | +            "zh_cn": {
 | 
	
		
			
				|  |  | +                "title": "Vlog小程序预览码",
 | 
	
		
			
				|  |  | +                "content": [
 | 
	
		
			
				|  |  | +                    # [
 | 
	
		
			
				|  |  | +                    #     {
 | 
	
		
			
				|  |  | +                    #         "tag": "text",
 | 
	
		
			
				|  |  | +                    #         "text": "第二行 :"
 | 
	
		
			
				|  |  | +                    #     },
 | 
	
		
			
				|  |  | +                    #     {
 | 
	
		
			
				|  |  | +                    #         "tag": "text",
 | 
	
		
			
				|  |  | +                    #         "text": "文本测试"
 | 
	
		
			
				|  |  | +                    #     }
 | 
	
		
			
				|  |  | +                    # ],
 | 
	
		
			
				|  |  | +                    [
 | 
	
		
			
				|  |  | +                        {
 | 
	
		
			
				|  |  | +                            "tag": "img",
 | 
	
		
			
				|  |  | +                            "image_key": "img_v2_223c3413-488a-4af6-bd36-6563a9ef185g",
 | 
	
		
			
				|  |  | +                            "width": 500,
 | 
	
		
			
				|  |  | +                            "height": 500
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                    ]]
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    res = requests.post(webhook_url,headers=headers,data=json.dumps(params),verify = False).json()
 | 
	
		
			
				|  |  | +    if res["StatusCode"] == 0:
 | 
	
		
			
				|  |  | +        print("飞书消息发送成功")
 | 
	
		
			
				|  |  | +    else:
 | 
	
		
			
				|  |  | +        print("飞书消息发送失败")
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +# ------- 微信打包 ------
 | 
	
		
			
				|  |  | +# 1.小程序打包
 | 
	
		
			
				|  |  | +build_mini_program()
 | 
	
		
			
				|  |  | +# 2.微信编译图片
 | 
	
		
			
				|  |  | +create_preview()
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +# -------- 飞书 --------
 | 
	
		
			
				|  |  | +# 1.获取签名 
 | 
	
		
			
				|  |  | +token = tenant_access_token_by_feishu()
 | 
	
		
			
				|  |  | +# 2.获取imgKey
 | 
	
		
			
				|  |  | +img_key = upload_img_by_feishu(token)
 | 
	
		
			
				|  |  | +# 3.飞书发送消息
 | 
	
		
			
				|  |  | +send_msg_by_feishu(token,img_key)
 |