二维码
()
| 152 | |
| 153 | // 二维码 |
| 154 | func (this *SettingController) Qrcode() { |
| 155 | |
| 156 | if this.Ctx.Input.IsPost() { |
| 157 | file, moreFile, err := this.GetFile("qrcode") |
| 158 | alipay := true |
| 159 | if this.GetString("paytype") == "wxpay" { |
| 160 | alipay = false |
| 161 | } |
| 162 | if err != nil { |
| 163 | beego.Error(err.Error()) |
| 164 | this.JsonResult(500, "读取文件异常") |
| 165 | } |
| 166 | defer file.Close() |
| 167 | ext := filepath.Ext(moreFile.Filename) |
| 168 | |
| 169 | if !strings.EqualFold(ext, ".png") && !strings.EqualFold(ext, ".jpg") && !strings.EqualFold(ext, ".gif") && !strings.EqualFold(ext, ".jpeg") { |
| 170 | this.JsonResult(500, "不支持的图片格式") |
| 171 | } |
| 172 | |
| 173 | savePath := fmt.Sprintf("uploads/qrcode/%v/%v%v", this.Member.MemberId, time.Now().Unix(), ext) |
| 174 | os.MkdirAll(filepath.Dir(savePath), 0777) |
| 175 | if err = this.SaveToFile("qrcode", savePath); err != nil { |
| 176 | this.JsonResult(1, "二维码保存失败", savePath) |
| 177 | } |
| 178 | url := "" |
| 179 | switch utils.StoreType { |
| 180 | case utils.StoreOss: |
| 181 | if err := store.ModelStoreOss.MoveToOss(savePath, savePath, true, false); err != nil { |
| 182 | beego.Error(err.Error()) |
| 183 | } else { |
| 184 | url = strings.TrimRight(beego.AppConfig.String("oss::Domain"), "/ ") + "/" + savePath |
| 185 | } |
| 186 | case utils.StoreLocal: |
| 187 | if err := store.ModelStoreLocal.MoveToStore(savePath, savePath); err != nil { |
| 188 | beego.Error(err.Error()) |
| 189 | } else { |
| 190 | url = "/" + savePath |
| 191 | } |
| 192 | } |
| 193 | |
| 194 | var member models.Member |
| 195 | o := orm.NewOrm() |
| 196 | o.QueryTable("md_members").Filter("member_id", this.Member.MemberId).Filter("member_id", this.Member.MemberId).One(&member, "member_id", "wxpay", "alipay") |
| 197 | if member.MemberId > 0 { |
| 198 | dels := []string{} |
| 199 | |
| 200 | if alipay { |
| 201 | dels = append(dels, member.Alipay) |
| 202 | member.Alipay = savePath |
| 203 | } else { |
| 204 | dels = append(dels, member.Wxpay) |
| 205 | member.Wxpay = savePath |
| 206 | } |
| 207 | if _, err := o.Update(&member, "wxpay", "alipay"); err == nil { |
| 208 | switch utils.StoreType { |
| 209 | case utils.StoreOss: |
| 210 | go store.ModelStoreOss.DelFromOss(dels...) |
| 211 | case utils.StoreLocal: |
nothing calls this directly
no test coverage detected