123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193 |
- import os
- import requests
- import json
- from flask import Flask,request,redirect
- from flask_cors import CORS
- app = Flask(__name__,static_folder="static")
- CORS(app, resources=r'/*')
- # 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": "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()
- # # 3.切换小程序环境
- # # -------- 飞书 --------
- # # 1.获取签名
- # # token = tenant_access_token_by_feishu()
- # # 2.获取imgKey
- # # img_key = upload_img_by_feishu(token)
- # # 3.飞书发送消息
- # # send_msg_by_feishu(token,img_key)
- @app.route('/')
- def func():
-
- return 'Welcome to auto-mini-program-build-preview server. only can run on MacOS.'
-
- # @app.route('/send',methods=['POST'])
- # def send():
- # form_webhook_url = request.form["webrhook_url"]
- # form_branch = request.form["branch"]
- # form_name = request.form["name"]
- # res = {"code":0,"msg":'发送成功'}
- # res = {"code":1,"msg":''}
-
- # return request.form
- @app.route("/getBranch")
- def get_branch():
- # 查看所有分支
- command_str= (
- "cd longVideoFactory;"
- "git branch -a;"
- )
- f_read = os.popen(command_str).read()
- branch_list = []
- for item in f_read.split():
- if "->" not in item and "origin/master" not in item and "HEAD" not in item and "*" not in item:
- branch_list.append(item.replace("remotes/origin/",""))
- res = {"code":0,"data":branch_list}
- return res
- if __name__ == '__main__':
- app.run(host='0.0.0.0', port=7777, debug=False)
- # 修改环境文件
- def edit_mode_by_file(project,mode):
- path = os.path.join(current_path,"longVideoFactory/dist/"+project+"/network/volatileConfig.js")
- file_lines = []
- with open(path,"r") as f:
- for item in f.readlines():
- if "export const currentMode" in item:
- item = "export const currentMode = MODE."+mode+" \n"
- file_lines.append(item)
- f.close()
-
- with open(path,"w") as f2:
- f2.writelines(file_lines)
- f2.close()
- # edit_mode_by_file("vlog")
|